"reportInvalidScopeDisables": true,
"reportNeedlessDisables": true,
"rules": {
+ "selector-class-pattern": [
+ "^([a-z][a-z0-9]*(-[a-z0-9]+)*:)?([a-z][a-z0-9]*)(-[a-z0-9]+)*$",
+ { "message": "Expected class selector \"%s\" to be kebab-case (with optional breakpoint prefix)" }
+ ],
"order/order": [
[
{ "type": "at-rule", "name": "use" },
@layer layout {
.container,
.container-fluid,
- .container-2xl,
- .container-xl,
- .container-lg,
- .container-md,
- .container-sm {
+ .\32 xl\:container,
+ .xl\:container,
+ .lg\:container,
+ .md\:container,
+ .sm\:container {
--bs-gutter-x: 1.5rem;
--bs-gutter-y: 0;
width: 100%;
margin-inline: auto;
}
@media (width >= 576px) {
- .container-sm, .container {
+ .sm\:container, .container {
max-width: 540px;
}
}
@media (width >= 768px) {
- .container-md, .container-sm, .container {
+ .md\:container, .sm\:container, .container {
max-width: 720px;
}
}
@media (width >= 1024px) {
- .container-lg, .container-md, .container-sm, .container {
+ .lg\:container, .md\:container, .sm\:container, .container {
max-width: 960px;
}
}
@media (width >= 1280px) {
- .container-xl, .container-lg, .container-md, .container-sm, .container {
+ .xl\:container, .lg\:container, .md\:container, .sm\:container, .container {
max-width: 1200px;
}
}
@media (width >= 1536px) {
- .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {
+ .\32 xl\:container, .xl\:container, .lg\:container, .md\:container, .sm\:container, .container {
max-width: 1440px;
}
}
--bs-gutter-y: 3rem;
}
@media (width >= 576px) {
- .col-sm {
+ .sm\:col {
flex: 1 0 0;
}
- .row-cols-sm-auto > * {
+ .sm\:row-cols-auto > * {
flex: 0 0 auto;
width: auto;
}
- .row-cols-sm-1 > * {
+ .sm\:row-cols-1 > * {
flex: 0 0 auto;
width: 100%;
}
- .row-cols-sm-2 > * {
+ .sm\:row-cols-2 > * {
flex: 0 0 auto;
width: 50%;
}
- .row-cols-sm-3 > * {
+ .sm\:row-cols-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .row-cols-sm-4 > * {
+ .sm\:row-cols-4 > * {
flex: 0 0 auto;
width: 25%;
}
- .row-cols-sm-5 > * {
+ .sm\:row-cols-5 > * {
flex: 0 0 auto;
width: 20%;
}
- .row-cols-sm-6 > * {
+ .sm\:row-cols-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-sm-auto {
+ .sm\:col-auto {
flex: 0 0 auto;
width: auto;
}
- .col-sm-1 {
+ .sm\:col-1 {
flex: 0 0 auto;
width: 8.3333333333%;
}
- .col-sm-2 {
+ .sm\:col-2 {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-sm-3 {
+ .sm\:col-3 {
flex: 0 0 auto;
width: 25%;
}
- .col-sm-4 {
+ .sm\:col-4 {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .col-sm-5 {
+ .sm\:col-5 {
flex: 0 0 auto;
width: 41.6666666667%;
}
- .col-sm-6 {
+ .sm\:col-6 {
flex: 0 0 auto;
width: 50%;
}
- .col-sm-7 {
+ .sm\:col-7 {
flex: 0 0 auto;
width: 58.3333333333%;
}
- .col-sm-8 {
+ .sm\:col-8 {
flex: 0 0 auto;
width: 66.6666666667%;
}
- .col-sm-9 {
+ .sm\:col-9 {
flex: 0 0 auto;
width: 75%;
}
- .col-sm-10 {
+ .sm\:col-10 {
flex: 0 0 auto;
width: 83.3333333333%;
}
- .col-sm-11 {
+ .sm\:col-11 {
flex: 0 0 auto;
width: 91.6666666667%;
}
- .col-sm-12 {
+ .sm\:col-12 {
flex: 0 0 auto;
width: 100%;
}
- .offset-sm-0 {
+ .sm\:offset-0 {
margin-inline-start: 0;
}
- .offset-sm-1 {
+ .sm\:offset-1 {
margin-inline-start: 8.3333333333%;
}
- .offset-sm-2 {
+ .sm\:offset-2 {
margin-inline-start: 16.6666666667%;
}
- .offset-sm-3 {
+ .sm\:offset-3 {
margin-inline-start: 25%;
}
- .offset-sm-4 {
+ .sm\:offset-4 {
margin-inline-start: 33.3333333333%;
}
- .offset-sm-5 {
+ .sm\:offset-5 {
margin-inline-start: 41.6666666667%;
}
- .offset-sm-6 {
+ .sm\:offset-6 {
margin-inline-start: 50%;
}
- .offset-sm-7 {
+ .sm\:offset-7 {
margin-inline-start: 58.3333333333%;
}
- .offset-sm-8 {
+ .sm\:offset-8 {
margin-inline-start: 66.6666666667%;
}
- .offset-sm-9 {
+ .sm\:offset-9 {
margin-inline-start: 75%;
}
- .offset-sm-10 {
+ .sm\:offset-10 {
margin-inline-start: 83.3333333333%;
}
- .offset-sm-11 {
+ .sm\:offset-11 {
margin-inline-start: 91.6666666667%;
}
- .g-sm-0,
- .gx-sm-0 {
+ .sm\:g-0,
+ .sm\:gx-0 {
--bs-gutter-x: 0;
}
- .g-sm-0,
- .gy-sm-0 {
+ .sm\:g-0,
+ .sm\:gy-0 {
--bs-gutter-y: 0;
}
- .g-sm-1,
- .gx-sm-1 {
+ .sm\:g-1,
+ .sm\:gx-1 {
--bs-gutter-x: 0.25rem;
}
- .g-sm-1,
- .gy-sm-1 {
+ .sm\:g-1,
+ .sm\:gy-1 {
--bs-gutter-y: 0.25rem;
}
- .g-sm-2,
- .gx-sm-2 {
+ .sm\:g-2,
+ .sm\:gx-2 {
--bs-gutter-x: 0.5rem;
}
- .g-sm-2,
- .gy-sm-2 {
+ .sm\:g-2,
+ .sm\:gy-2 {
--bs-gutter-y: 0.5rem;
}
- .g-sm-3,
- .gx-sm-3 {
+ .sm\:g-3,
+ .sm\:gx-3 {
--bs-gutter-x: 1rem;
}
- .g-sm-3,
- .gy-sm-3 {
+ .sm\:g-3,
+ .sm\:gy-3 {
--bs-gutter-y: 1rem;
}
- .g-sm-4,
- .gx-sm-4 {
+ .sm\:g-4,
+ .sm\:gx-4 {
--bs-gutter-x: 1.5rem;
}
- .g-sm-4,
- .gy-sm-4 {
+ .sm\:g-4,
+ .sm\:gy-4 {
--bs-gutter-y: 1.5rem;
}
- .g-sm-5,
- .gx-sm-5 {
+ .sm\:g-5,
+ .sm\:gx-5 {
--bs-gutter-x: 3rem;
}
- .g-sm-5,
- .gy-sm-5 {
+ .sm\:g-5,
+ .sm\:gy-5 {
--bs-gutter-y: 3rem;
}
}
@media (width >= 768px) {
- .col-md {
+ .md\:col {
flex: 1 0 0;
}
- .row-cols-md-auto > * {
+ .md\:row-cols-auto > * {
flex: 0 0 auto;
width: auto;
}
- .row-cols-md-1 > * {
+ .md\:row-cols-1 > * {
flex: 0 0 auto;
width: 100%;
}
- .row-cols-md-2 > * {
+ .md\:row-cols-2 > * {
flex: 0 0 auto;
width: 50%;
}
- .row-cols-md-3 > * {
+ .md\:row-cols-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .row-cols-md-4 > * {
+ .md\:row-cols-4 > * {
flex: 0 0 auto;
width: 25%;
}
- .row-cols-md-5 > * {
+ .md\:row-cols-5 > * {
flex: 0 0 auto;
width: 20%;
}
- .row-cols-md-6 > * {
+ .md\:row-cols-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-md-auto {
+ .md\:col-auto {
flex: 0 0 auto;
width: auto;
}
- .col-md-1 {
+ .md\:col-1 {
flex: 0 0 auto;
width: 8.3333333333%;
}
- .col-md-2 {
+ .md\:col-2 {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-md-3 {
+ .md\:col-3 {
flex: 0 0 auto;
width: 25%;
}
- .col-md-4 {
+ .md\:col-4 {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .col-md-5 {
+ .md\:col-5 {
flex: 0 0 auto;
width: 41.6666666667%;
}
- .col-md-6 {
+ .md\:col-6 {
flex: 0 0 auto;
width: 50%;
}
- .col-md-7 {
+ .md\:col-7 {
flex: 0 0 auto;
width: 58.3333333333%;
}
- .col-md-8 {
+ .md\:col-8 {
flex: 0 0 auto;
width: 66.6666666667%;
}
- .col-md-9 {
+ .md\:col-9 {
flex: 0 0 auto;
width: 75%;
}
- .col-md-10 {
+ .md\:col-10 {
flex: 0 0 auto;
width: 83.3333333333%;
}
- .col-md-11 {
+ .md\:col-11 {
flex: 0 0 auto;
width: 91.6666666667%;
}
- .col-md-12 {
+ .md\:col-12 {
flex: 0 0 auto;
width: 100%;
}
- .offset-md-0 {
+ .md\:offset-0 {
margin-inline-start: 0;
}
- .offset-md-1 {
+ .md\:offset-1 {
margin-inline-start: 8.3333333333%;
}
- .offset-md-2 {
+ .md\:offset-2 {
margin-inline-start: 16.6666666667%;
}
- .offset-md-3 {
+ .md\:offset-3 {
margin-inline-start: 25%;
}
- .offset-md-4 {
+ .md\:offset-4 {
margin-inline-start: 33.3333333333%;
}
- .offset-md-5 {
+ .md\:offset-5 {
margin-inline-start: 41.6666666667%;
}
- .offset-md-6 {
+ .md\:offset-6 {
margin-inline-start: 50%;
}
- .offset-md-7 {
+ .md\:offset-7 {
margin-inline-start: 58.3333333333%;
}
- .offset-md-8 {
+ .md\:offset-8 {
margin-inline-start: 66.6666666667%;
}
- .offset-md-9 {
+ .md\:offset-9 {
margin-inline-start: 75%;
}
- .offset-md-10 {
+ .md\:offset-10 {
margin-inline-start: 83.3333333333%;
}
- .offset-md-11 {
+ .md\:offset-11 {
margin-inline-start: 91.6666666667%;
}
- .g-md-0,
- .gx-md-0 {
+ .md\:g-0,
+ .md\:gx-0 {
--bs-gutter-x: 0;
}
- .g-md-0,
- .gy-md-0 {
+ .md\:g-0,
+ .md\:gy-0 {
--bs-gutter-y: 0;
}
- .g-md-1,
- .gx-md-1 {
+ .md\:g-1,
+ .md\:gx-1 {
--bs-gutter-x: 0.25rem;
}
- .g-md-1,
- .gy-md-1 {
+ .md\:g-1,
+ .md\:gy-1 {
--bs-gutter-y: 0.25rem;
}
- .g-md-2,
- .gx-md-2 {
+ .md\:g-2,
+ .md\:gx-2 {
--bs-gutter-x: 0.5rem;
}
- .g-md-2,
- .gy-md-2 {
+ .md\:g-2,
+ .md\:gy-2 {
--bs-gutter-y: 0.5rem;
}
- .g-md-3,
- .gx-md-3 {
+ .md\:g-3,
+ .md\:gx-3 {
--bs-gutter-x: 1rem;
}
- .g-md-3,
- .gy-md-3 {
+ .md\:g-3,
+ .md\:gy-3 {
--bs-gutter-y: 1rem;
}
- .g-md-4,
- .gx-md-4 {
+ .md\:g-4,
+ .md\:gx-4 {
--bs-gutter-x: 1.5rem;
}
- .g-md-4,
- .gy-md-4 {
+ .md\:g-4,
+ .md\:gy-4 {
--bs-gutter-y: 1.5rem;
}
- .g-md-5,
- .gx-md-5 {
+ .md\:g-5,
+ .md\:gx-5 {
--bs-gutter-x: 3rem;
}
- .g-md-5,
- .gy-md-5 {
+ .md\:g-5,
+ .md\:gy-5 {
--bs-gutter-y: 3rem;
}
}
@media (width >= 1024px) {
- .col-lg {
+ .lg\:col {
flex: 1 0 0;
}
- .row-cols-lg-auto > * {
+ .lg\:row-cols-auto > * {
flex: 0 0 auto;
width: auto;
}
- .row-cols-lg-1 > * {
+ .lg\:row-cols-1 > * {
flex: 0 0 auto;
width: 100%;
}
- .row-cols-lg-2 > * {
+ .lg\:row-cols-2 > * {
flex: 0 0 auto;
width: 50%;
}
- .row-cols-lg-3 > * {
+ .lg\:row-cols-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .row-cols-lg-4 > * {
+ .lg\:row-cols-4 > * {
flex: 0 0 auto;
width: 25%;
}
- .row-cols-lg-5 > * {
+ .lg\:row-cols-5 > * {
flex: 0 0 auto;
width: 20%;
}
- .row-cols-lg-6 > * {
+ .lg\:row-cols-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-lg-auto {
+ .lg\:col-auto {
flex: 0 0 auto;
width: auto;
}
- .col-lg-1 {
+ .lg\:col-1 {
flex: 0 0 auto;
width: 8.3333333333%;
}
- .col-lg-2 {
+ .lg\:col-2 {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-lg-3 {
+ .lg\:col-3 {
flex: 0 0 auto;
width: 25%;
}
- .col-lg-4 {
+ .lg\:col-4 {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .col-lg-5 {
+ .lg\:col-5 {
flex: 0 0 auto;
width: 41.6666666667%;
}
- .col-lg-6 {
+ .lg\:col-6 {
flex: 0 0 auto;
width: 50%;
}
- .col-lg-7 {
+ .lg\:col-7 {
flex: 0 0 auto;
width: 58.3333333333%;
}
- .col-lg-8 {
+ .lg\:col-8 {
flex: 0 0 auto;
width: 66.6666666667%;
}
- .col-lg-9 {
+ .lg\:col-9 {
flex: 0 0 auto;
width: 75%;
}
- .col-lg-10 {
+ .lg\:col-10 {
flex: 0 0 auto;
width: 83.3333333333%;
}
- .col-lg-11 {
+ .lg\:col-11 {
flex: 0 0 auto;
width: 91.6666666667%;
}
- .col-lg-12 {
+ .lg\:col-12 {
flex: 0 0 auto;
width: 100%;
}
- .offset-lg-0 {
+ .lg\:offset-0 {
margin-inline-start: 0;
}
- .offset-lg-1 {
+ .lg\:offset-1 {
margin-inline-start: 8.3333333333%;
}
- .offset-lg-2 {
+ .lg\:offset-2 {
margin-inline-start: 16.6666666667%;
}
- .offset-lg-3 {
+ .lg\:offset-3 {
margin-inline-start: 25%;
}
- .offset-lg-4 {
+ .lg\:offset-4 {
margin-inline-start: 33.3333333333%;
}
- .offset-lg-5 {
+ .lg\:offset-5 {
margin-inline-start: 41.6666666667%;
}
- .offset-lg-6 {
+ .lg\:offset-6 {
margin-inline-start: 50%;
}
- .offset-lg-7 {
+ .lg\:offset-7 {
margin-inline-start: 58.3333333333%;
}
- .offset-lg-8 {
+ .lg\:offset-8 {
margin-inline-start: 66.6666666667%;
}
- .offset-lg-9 {
+ .lg\:offset-9 {
margin-inline-start: 75%;
}
- .offset-lg-10 {
+ .lg\:offset-10 {
margin-inline-start: 83.3333333333%;
}
- .offset-lg-11 {
+ .lg\:offset-11 {
margin-inline-start: 91.6666666667%;
}
- .g-lg-0,
- .gx-lg-0 {
+ .lg\:g-0,
+ .lg\:gx-0 {
--bs-gutter-x: 0;
}
- .g-lg-0,
- .gy-lg-0 {
+ .lg\:g-0,
+ .lg\:gy-0 {
--bs-gutter-y: 0;
}
- .g-lg-1,
- .gx-lg-1 {
+ .lg\:g-1,
+ .lg\:gx-1 {
--bs-gutter-x: 0.25rem;
}
- .g-lg-1,
- .gy-lg-1 {
+ .lg\:g-1,
+ .lg\:gy-1 {
--bs-gutter-y: 0.25rem;
}
- .g-lg-2,
- .gx-lg-2 {
+ .lg\:g-2,
+ .lg\:gx-2 {
--bs-gutter-x: 0.5rem;
}
- .g-lg-2,
- .gy-lg-2 {
+ .lg\:g-2,
+ .lg\:gy-2 {
--bs-gutter-y: 0.5rem;
}
- .g-lg-3,
- .gx-lg-3 {
+ .lg\:g-3,
+ .lg\:gx-3 {
--bs-gutter-x: 1rem;
}
- .g-lg-3,
- .gy-lg-3 {
+ .lg\:g-3,
+ .lg\:gy-3 {
--bs-gutter-y: 1rem;
}
- .g-lg-4,
- .gx-lg-4 {
+ .lg\:g-4,
+ .lg\:gx-4 {
--bs-gutter-x: 1.5rem;
}
- .g-lg-4,
- .gy-lg-4 {
+ .lg\:g-4,
+ .lg\:gy-4 {
--bs-gutter-y: 1.5rem;
}
- .g-lg-5,
- .gx-lg-5 {
+ .lg\:g-5,
+ .lg\:gx-5 {
--bs-gutter-x: 3rem;
}
- .g-lg-5,
- .gy-lg-5 {
+ .lg\:g-5,
+ .lg\:gy-5 {
--bs-gutter-y: 3rem;
}
}
@media (width >= 1280px) {
- .col-xl {
+ .xl\:col {
flex: 1 0 0;
}
- .row-cols-xl-auto > * {
+ .xl\:row-cols-auto > * {
flex: 0 0 auto;
width: auto;
}
- .row-cols-xl-1 > * {
+ .xl\:row-cols-1 > * {
flex: 0 0 auto;
width: 100%;
}
- .row-cols-xl-2 > * {
+ .xl\:row-cols-2 > * {
flex: 0 0 auto;
width: 50%;
}
- .row-cols-xl-3 > * {
+ .xl\:row-cols-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .row-cols-xl-4 > * {
+ .xl\:row-cols-4 > * {
flex: 0 0 auto;
width: 25%;
}
- .row-cols-xl-5 > * {
+ .xl\:row-cols-5 > * {
flex: 0 0 auto;
width: 20%;
}
- .row-cols-xl-6 > * {
+ .xl\:row-cols-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-xl-auto {
+ .xl\:col-auto {
flex: 0 0 auto;
width: auto;
}
- .col-xl-1 {
+ .xl\:col-1 {
flex: 0 0 auto;
width: 8.3333333333%;
}
- .col-xl-2 {
+ .xl\:col-2 {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-xl-3 {
+ .xl\:col-3 {
flex: 0 0 auto;
width: 25%;
}
- .col-xl-4 {
+ .xl\:col-4 {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .col-xl-5 {
+ .xl\:col-5 {
flex: 0 0 auto;
width: 41.6666666667%;
}
- .col-xl-6 {
+ .xl\:col-6 {
flex: 0 0 auto;
width: 50%;
}
- .col-xl-7 {
+ .xl\:col-7 {
flex: 0 0 auto;
width: 58.3333333333%;
}
- .col-xl-8 {
+ .xl\:col-8 {
flex: 0 0 auto;
width: 66.6666666667%;
}
- .col-xl-9 {
+ .xl\:col-9 {
flex: 0 0 auto;
width: 75%;
}
- .col-xl-10 {
+ .xl\:col-10 {
flex: 0 0 auto;
width: 83.3333333333%;
}
- .col-xl-11 {
+ .xl\:col-11 {
flex: 0 0 auto;
width: 91.6666666667%;
}
- .col-xl-12 {
+ .xl\:col-12 {
flex: 0 0 auto;
width: 100%;
}
- .offset-xl-0 {
+ .xl\:offset-0 {
margin-inline-start: 0;
}
- .offset-xl-1 {
+ .xl\:offset-1 {
margin-inline-start: 8.3333333333%;
}
- .offset-xl-2 {
+ .xl\:offset-2 {
margin-inline-start: 16.6666666667%;
}
- .offset-xl-3 {
+ .xl\:offset-3 {
margin-inline-start: 25%;
}
- .offset-xl-4 {
+ .xl\:offset-4 {
margin-inline-start: 33.3333333333%;
}
- .offset-xl-5 {
+ .xl\:offset-5 {
margin-inline-start: 41.6666666667%;
}
- .offset-xl-6 {
+ .xl\:offset-6 {
margin-inline-start: 50%;
}
- .offset-xl-7 {
+ .xl\:offset-7 {
margin-inline-start: 58.3333333333%;
}
- .offset-xl-8 {
+ .xl\:offset-8 {
margin-inline-start: 66.6666666667%;
}
- .offset-xl-9 {
+ .xl\:offset-9 {
margin-inline-start: 75%;
}
- .offset-xl-10 {
+ .xl\:offset-10 {
margin-inline-start: 83.3333333333%;
}
- .offset-xl-11 {
+ .xl\:offset-11 {
margin-inline-start: 91.6666666667%;
}
- .g-xl-0,
- .gx-xl-0 {
+ .xl\:g-0,
+ .xl\:gx-0 {
--bs-gutter-x: 0;
}
- .g-xl-0,
- .gy-xl-0 {
+ .xl\:g-0,
+ .xl\:gy-0 {
--bs-gutter-y: 0;
}
- .g-xl-1,
- .gx-xl-1 {
+ .xl\:g-1,
+ .xl\:gx-1 {
--bs-gutter-x: 0.25rem;
}
- .g-xl-1,
- .gy-xl-1 {
+ .xl\:g-1,
+ .xl\:gy-1 {
--bs-gutter-y: 0.25rem;
}
- .g-xl-2,
- .gx-xl-2 {
+ .xl\:g-2,
+ .xl\:gx-2 {
--bs-gutter-x: 0.5rem;
}
- .g-xl-2,
- .gy-xl-2 {
+ .xl\:g-2,
+ .xl\:gy-2 {
--bs-gutter-y: 0.5rem;
}
- .g-xl-3,
- .gx-xl-3 {
+ .xl\:g-3,
+ .xl\:gx-3 {
--bs-gutter-x: 1rem;
}
- .g-xl-3,
- .gy-xl-3 {
+ .xl\:g-3,
+ .xl\:gy-3 {
--bs-gutter-y: 1rem;
}
- .g-xl-4,
- .gx-xl-4 {
+ .xl\:g-4,
+ .xl\:gx-4 {
--bs-gutter-x: 1.5rem;
}
- .g-xl-4,
- .gy-xl-4 {
+ .xl\:g-4,
+ .xl\:gy-4 {
--bs-gutter-y: 1.5rem;
}
- .g-xl-5,
- .gx-xl-5 {
+ .xl\:g-5,
+ .xl\:gx-5 {
--bs-gutter-x: 3rem;
}
- .g-xl-5,
- .gy-xl-5 {
+ .xl\:g-5,
+ .xl\:gy-5 {
--bs-gutter-y: 3rem;
}
}
@media (width >= 1536px) {
- .col-2xl {
+ .\32 xl\:col {
flex: 1 0 0;
}
- .row-cols-2xl-auto > * {
+ .\32 xl\:row-cols-auto > * {
flex: 0 0 auto;
width: auto;
}
- .row-cols-2xl-1 > * {
+ .\32 xl\:row-cols-1 > * {
flex: 0 0 auto;
width: 100%;
}
- .row-cols-2xl-2 > * {
+ .\32 xl\:row-cols-2 > * {
flex: 0 0 auto;
width: 50%;
}
- .row-cols-2xl-3 > * {
+ .\32 xl\:row-cols-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .row-cols-2xl-4 > * {
+ .\32 xl\:row-cols-4 > * {
flex: 0 0 auto;
width: 25%;
}
- .row-cols-2xl-5 > * {
+ .\32 xl\:row-cols-5 > * {
flex: 0 0 auto;
width: 20%;
}
- .row-cols-2xl-6 > * {
+ .\32 xl\:row-cols-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-2xl-auto {
+ .\32 xl\:col-auto {
flex: 0 0 auto;
width: auto;
}
- .col-2xl-1 {
+ .\32 xl\:col-1 {
flex: 0 0 auto;
width: 8.3333333333%;
}
- .col-2xl-2 {
+ .\32 xl\:col-2 {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-2xl-3 {
+ .\32 xl\:col-3 {
flex: 0 0 auto;
width: 25%;
}
- .col-2xl-4 {
+ .\32 xl\:col-4 {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .col-2xl-5 {
+ .\32 xl\:col-5 {
flex: 0 0 auto;
width: 41.6666666667%;
}
- .col-2xl-6 {
+ .\32 xl\:col-6 {
flex: 0 0 auto;
width: 50%;
}
- .col-2xl-7 {
+ .\32 xl\:col-7 {
flex: 0 0 auto;
width: 58.3333333333%;
}
- .col-2xl-8 {
+ .\32 xl\:col-8 {
flex: 0 0 auto;
width: 66.6666666667%;
}
- .col-2xl-9 {
+ .\32 xl\:col-9 {
flex: 0 0 auto;
width: 75%;
}
- .col-2xl-10 {
+ .\32 xl\:col-10 {
flex: 0 0 auto;
width: 83.3333333333%;
}
- .col-2xl-11 {
+ .\32 xl\:col-11 {
flex: 0 0 auto;
width: 91.6666666667%;
}
- .col-2xl-12 {
+ .\32 xl\:col-12 {
flex: 0 0 auto;
width: 100%;
}
- .offset-2xl-0 {
+ .\32 xl\:offset-0 {
margin-inline-start: 0;
}
- .offset-2xl-1 {
+ .\32 xl\:offset-1 {
margin-inline-start: 8.3333333333%;
}
- .offset-2xl-2 {
+ .\32 xl\:offset-2 {
margin-inline-start: 16.6666666667%;
}
- .offset-2xl-3 {
+ .\32 xl\:offset-3 {
margin-inline-start: 25%;
}
- .offset-2xl-4 {
+ .\32 xl\:offset-4 {
margin-inline-start: 33.3333333333%;
}
- .offset-2xl-5 {
+ .\32 xl\:offset-5 {
margin-inline-start: 41.6666666667%;
}
- .offset-2xl-6 {
+ .\32 xl\:offset-6 {
margin-inline-start: 50%;
}
- .offset-2xl-7 {
+ .\32 xl\:offset-7 {
margin-inline-start: 58.3333333333%;
}
- .offset-2xl-8 {
+ .\32 xl\:offset-8 {
margin-inline-start: 66.6666666667%;
}
- .offset-2xl-9 {
+ .\32 xl\:offset-9 {
margin-inline-start: 75%;
}
- .offset-2xl-10 {
+ .\32 xl\:offset-10 {
margin-inline-start: 83.3333333333%;
}
- .offset-2xl-11 {
+ .\32 xl\:offset-11 {
margin-inline-start: 91.6666666667%;
}
- .g-2xl-0,
- .gx-2xl-0 {
+ .\32 xl\:g-0,
+ .\32 xl\:gx-0 {
--bs-gutter-x: 0;
}
- .g-2xl-0,
- .gy-2xl-0 {
+ .\32 xl\:g-0,
+ .\32 xl\:gy-0 {
--bs-gutter-y: 0;
}
- .g-2xl-1,
- .gx-2xl-1 {
+ .\32 xl\:g-1,
+ .\32 xl\:gx-1 {
--bs-gutter-x: 0.25rem;
}
- .g-2xl-1,
- .gy-2xl-1 {
+ .\32 xl\:g-1,
+ .\32 xl\:gy-1 {
--bs-gutter-y: 0.25rem;
}
- .g-2xl-2,
- .gx-2xl-2 {
+ .\32 xl\:g-2,
+ .\32 xl\:gx-2 {
--bs-gutter-x: 0.5rem;
}
- .g-2xl-2,
- .gy-2xl-2 {
+ .\32 xl\:g-2,
+ .\32 xl\:gy-2 {
--bs-gutter-y: 0.5rem;
}
- .g-2xl-3,
- .gx-2xl-3 {
+ .\32 xl\:g-3,
+ .\32 xl\:gx-3 {
--bs-gutter-x: 1rem;
}
- .g-2xl-3,
- .gy-2xl-3 {
+ .\32 xl\:g-3,
+ .\32 xl\:gy-3 {
--bs-gutter-y: 1rem;
}
- .g-2xl-4,
- .gx-2xl-4 {
+ .\32 xl\:g-4,
+ .\32 xl\:gx-4 {
--bs-gutter-x: 1.5rem;
}
- .g-2xl-4,
- .gy-2xl-4 {
+ .\32 xl\:g-4,
+ .\32 xl\:gy-4 {
--bs-gutter-y: 1.5rem;
}
- .g-2xl-5,
- .gx-2xl-5 {
+ .\32 xl\:g-5,
+ .\32 xl\:gx-5 {
--bs-gutter-x: 3rem;
}
- .g-2xl-5,
- .gy-2xl-5 {
+ .\32 xl\:g-5,
+ .\32 xl\:gy-5 {
--bs-gutter-y: 3rem;
}
}
grid-column-start: 11;
}
@media (width >= 576px) {
- .g-col-sm-1 {
+ .sm\:g-col-1 {
grid-column: auto/span 1;
}
- .g-col-sm-2 {
+ .sm\:g-col-2 {
grid-column: auto/span 2;
}
- .g-col-sm-3 {
+ .sm\:g-col-3 {
grid-column: auto/span 3;
}
- .g-col-sm-4 {
+ .sm\:g-col-4 {
grid-column: auto/span 4;
}
- .g-col-sm-5 {
+ .sm\:g-col-5 {
grid-column: auto/span 5;
}
- .g-col-sm-6 {
+ .sm\:g-col-6 {
grid-column: auto/span 6;
}
- .g-col-sm-7 {
+ .sm\:g-col-7 {
grid-column: auto/span 7;
}
- .g-col-sm-8 {
+ .sm\:g-col-8 {
grid-column: auto/span 8;
}
- .g-col-sm-9 {
+ .sm\:g-col-9 {
grid-column: auto/span 9;
}
- .g-col-sm-10 {
+ .sm\:g-col-10 {
grid-column: auto/span 10;
}
- .g-col-sm-11 {
+ .sm\:g-col-11 {
grid-column: auto/span 11;
}
- .g-col-sm-12 {
+ .sm\:g-col-12 {
grid-column: auto/span 12;
}
- .g-start-sm-1 {
+ .sm\:g-start-1 {
grid-column-start: 1;
}
- .g-start-sm-2 {
+ .sm\:g-start-2 {
grid-column-start: 2;
}
- .g-start-sm-3 {
+ .sm\:g-start-3 {
grid-column-start: 3;
}
- .g-start-sm-4 {
+ .sm\:g-start-4 {
grid-column-start: 4;
}
- .g-start-sm-5 {
+ .sm\:g-start-5 {
grid-column-start: 5;
}
- .g-start-sm-6 {
+ .sm\:g-start-6 {
grid-column-start: 6;
}
- .g-start-sm-7 {
+ .sm\:g-start-7 {
grid-column-start: 7;
}
- .g-start-sm-8 {
+ .sm\:g-start-8 {
grid-column-start: 8;
}
- .g-start-sm-9 {
+ .sm\:g-start-9 {
grid-column-start: 9;
}
- .g-start-sm-10 {
+ .sm\:g-start-10 {
grid-column-start: 10;
}
- .g-start-sm-11 {
+ .sm\:g-start-11 {
grid-column-start: 11;
}
}
@media (width >= 768px) {
- .g-col-md-1 {
+ .md\:g-col-1 {
grid-column: auto/span 1;
}
- .g-col-md-2 {
+ .md\:g-col-2 {
grid-column: auto/span 2;
}
- .g-col-md-3 {
+ .md\:g-col-3 {
grid-column: auto/span 3;
}
- .g-col-md-4 {
+ .md\:g-col-4 {
grid-column: auto/span 4;
}
- .g-col-md-5 {
+ .md\:g-col-5 {
grid-column: auto/span 5;
}
- .g-col-md-6 {
+ .md\:g-col-6 {
grid-column: auto/span 6;
}
- .g-col-md-7 {
+ .md\:g-col-7 {
grid-column: auto/span 7;
}
- .g-col-md-8 {
+ .md\:g-col-8 {
grid-column: auto/span 8;
}
- .g-col-md-9 {
+ .md\:g-col-9 {
grid-column: auto/span 9;
}
- .g-col-md-10 {
+ .md\:g-col-10 {
grid-column: auto/span 10;
}
- .g-col-md-11 {
+ .md\:g-col-11 {
grid-column: auto/span 11;
}
- .g-col-md-12 {
+ .md\:g-col-12 {
grid-column: auto/span 12;
}
- .g-start-md-1 {
+ .md\:g-start-1 {
grid-column-start: 1;
}
- .g-start-md-2 {
+ .md\:g-start-2 {
grid-column-start: 2;
}
- .g-start-md-3 {
+ .md\:g-start-3 {
grid-column-start: 3;
}
- .g-start-md-4 {
+ .md\:g-start-4 {
grid-column-start: 4;
}
- .g-start-md-5 {
+ .md\:g-start-5 {
grid-column-start: 5;
}
- .g-start-md-6 {
+ .md\:g-start-6 {
grid-column-start: 6;
}
- .g-start-md-7 {
+ .md\:g-start-7 {
grid-column-start: 7;
}
- .g-start-md-8 {
+ .md\:g-start-8 {
grid-column-start: 8;
}
- .g-start-md-9 {
+ .md\:g-start-9 {
grid-column-start: 9;
}
- .g-start-md-10 {
+ .md\:g-start-10 {
grid-column-start: 10;
}
- .g-start-md-11 {
+ .md\:g-start-11 {
grid-column-start: 11;
}
}
@media (width >= 1024px) {
- .g-col-lg-1 {
+ .lg\:g-col-1 {
grid-column: auto/span 1;
}
- .g-col-lg-2 {
+ .lg\:g-col-2 {
grid-column: auto/span 2;
}
- .g-col-lg-3 {
+ .lg\:g-col-3 {
grid-column: auto/span 3;
}
- .g-col-lg-4 {
+ .lg\:g-col-4 {
grid-column: auto/span 4;
}
- .g-col-lg-5 {
+ .lg\:g-col-5 {
grid-column: auto/span 5;
}
- .g-col-lg-6 {
+ .lg\:g-col-6 {
grid-column: auto/span 6;
}
- .g-col-lg-7 {
+ .lg\:g-col-7 {
grid-column: auto/span 7;
}
- .g-col-lg-8 {
+ .lg\:g-col-8 {
grid-column: auto/span 8;
}
- .g-col-lg-9 {
+ .lg\:g-col-9 {
grid-column: auto/span 9;
}
- .g-col-lg-10 {
+ .lg\:g-col-10 {
grid-column: auto/span 10;
}
- .g-col-lg-11 {
+ .lg\:g-col-11 {
grid-column: auto/span 11;
}
- .g-col-lg-12 {
+ .lg\:g-col-12 {
grid-column: auto/span 12;
}
- .g-start-lg-1 {
+ .lg\:g-start-1 {
grid-column-start: 1;
}
- .g-start-lg-2 {
+ .lg\:g-start-2 {
grid-column-start: 2;
}
- .g-start-lg-3 {
+ .lg\:g-start-3 {
grid-column-start: 3;
}
- .g-start-lg-4 {
+ .lg\:g-start-4 {
grid-column-start: 4;
}
- .g-start-lg-5 {
+ .lg\:g-start-5 {
grid-column-start: 5;
}
- .g-start-lg-6 {
+ .lg\:g-start-6 {
grid-column-start: 6;
}
- .g-start-lg-7 {
+ .lg\:g-start-7 {
grid-column-start: 7;
}
- .g-start-lg-8 {
+ .lg\:g-start-8 {
grid-column-start: 8;
}
- .g-start-lg-9 {
+ .lg\:g-start-9 {
grid-column-start: 9;
}
- .g-start-lg-10 {
+ .lg\:g-start-10 {
grid-column-start: 10;
}
- .g-start-lg-11 {
+ .lg\:g-start-11 {
grid-column-start: 11;
}
}
@media (width >= 1280px) {
- .g-col-xl-1 {
+ .xl\:g-col-1 {
grid-column: auto/span 1;
}
- .g-col-xl-2 {
+ .xl\:g-col-2 {
grid-column: auto/span 2;
}
- .g-col-xl-3 {
+ .xl\:g-col-3 {
grid-column: auto/span 3;
}
- .g-col-xl-4 {
+ .xl\:g-col-4 {
grid-column: auto/span 4;
}
- .g-col-xl-5 {
+ .xl\:g-col-5 {
grid-column: auto/span 5;
}
- .g-col-xl-6 {
+ .xl\:g-col-6 {
grid-column: auto/span 6;
}
- .g-col-xl-7 {
+ .xl\:g-col-7 {
grid-column: auto/span 7;
}
- .g-col-xl-8 {
+ .xl\:g-col-8 {
grid-column: auto/span 8;
}
- .g-col-xl-9 {
+ .xl\:g-col-9 {
grid-column: auto/span 9;
}
- .g-col-xl-10 {
+ .xl\:g-col-10 {
grid-column: auto/span 10;
}
- .g-col-xl-11 {
+ .xl\:g-col-11 {
grid-column: auto/span 11;
}
- .g-col-xl-12 {
+ .xl\:g-col-12 {
grid-column: auto/span 12;
}
- .g-start-xl-1 {
+ .xl\:g-start-1 {
grid-column-start: 1;
}
- .g-start-xl-2 {
+ .xl\:g-start-2 {
grid-column-start: 2;
}
- .g-start-xl-3 {
+ .xl\:g-start-3 {
grid-column-start: 3;
}
- .g-start-xl-4 {
+ .xl\:g-start-4 {
grid-column-start: 4;
}
- .g-start-xl-5 {
+ .xl\:g-start-5 {
grid-column-start: 5;
}
- .g-start-xl-6 {
+ .xl\:g-start-6 {
grid-column-start: 6;
}
- .g-start-xl-7 {
+ .xl\:g-start-7 {
grid-column-start: 7;
}
- .g-start-xl-8 {
+ .xl\:g-start-8 {
grid-column-start: 8;
}
- .g-start-xl-9 {
+ .xl\:g-start-9 {
grid-column-start: 9;
}
- .g-start-xl-10 {
+ .xl\:g-start-10 {
grid-column-start: 10;
}
- .g-start-xl-11 {
+ .xl\:g-start-11 {
grid-column-start: 11;
}
}
@media (width >= 1536px) {
- .g-col-2xl-1 {
+ .\32 xl\:g-col-1 {
grid-column: auto/span 1;
}
- .g-col-2xl-2 {
+ .\32 xl\:g-col-2 {
grid-column: auto/span 2;
}
- .g-col-2xl-3 {
+ .\32 xl\:g-col-3 {
grid-column: auto/span 3;
}
- .g-col-2xl-4 {
+ .\32 xl\:g-col-4 {
grid-column: auto/span 4;
}
- .g-col-2xl-5 {
+ .\32 xl\:g-col-5 {
grid-column: auto/span 5;
}
- .g-col-2xl-6 {
+ .\32 xl\:g-col-6 {
grid-column: auto/span 6;
}
- .g-col-2xl-7 {
+ .\32 xl\:g-col-7 {
grid-column: auto/span 7;
}
- .g-col-2xl-8 {
+ .\32 xl\:g-col-8 {
grid-column: auto/span 8;
}
- .g-col-2xl-9 {
+ .\32 xl\:g-col-9 {
grid-column: auto/span 9;
}
- .g-col-2xl-10 {
+ .\32 xl\:g-col-10 {
grid-column: auto/span 10;
}
- .g-col-2xl-11 {
+ .\32 xl\:g-col-11 {
grid-column: auto/span 11;
}
- .g-col-2xl-12 {
+ .\32 xl\:g-col-12 {
grid-column: auto/span 12;
}
- .g-start-2xl-1 {
+ .\32 xl\:g-start-1 {
grid-column-start: 1;
}
- .g-start-2xl-2 {
+ .\32 xl\:g-start-2 {
grid-column-start: 2;
}
- .g-start-2xl-3 {
+ .\32 xl\:g-start-3 {
grid-column-start: 3;
}
- .g-start-2xl-4 {
+ .\32 xl\:g-start-4 {
grid-column-start: 4;
}
- .g-start-2xl-5 {
+ .\32 xl\:g-start-5 {
grid-column-start: 5;
}
- .g-start-2xl-6 {
+ .\32 xl\:g-start-6 {
grid-column-start: 6;
}
- .g-start-2xl-7 {
+ .\32 xl\:g-start-7 {
grid-column-start: 7;
}
- .g-start-2xl-8 {
+ .\32 xl\:g-start-8 {
grid-column-start: 8;
}
- .g-start-2xl-9 {
+ .\32 xl\:g-start-9 {
grid-column-start: 9;
}
- .g-start-2xl-10 {
+ .\32 xl\:g-start-10 {
grid-column-start: 10;
}
- .g-start-2xl-11 {
+ .\32 xl\:g-start-11 {
grid-column-start: 11;
}
}
column-gap: 3rem;
}
@media (width >= 576px) {
- .d-sm-inline {
+ .sm\:d-inline {
display: inline;
}
- .d-sm-inline-block {
+ .sm\:d-inline-block {
display: inline-block;
}
- .d-sm-block {
+ .sm\:d-block {
display: block;
}
- .d-sm-grid {
+ .sm\:d-grid {
display: grid;
}
- .d-sm-inline-grid {
+ .sm\:d-inline-grid {
display: inline-grid;
}
- .d-sm-table {
+ .sm\:d-table {
display: table;
}
- .d-sm-table-row {
+ .sm\:d-table-row {
display: table-row;
}
- .d-sm-table-cell {
+ .sm\:d-table-cell {
display: table-cell;
}
- .d-sm-flex {
+ .sm\:d-flex {
display: flex;
}
- .d-sm-inline-flex {
+ .sm\:d-inline-flex {
display: inline-flex;
}
- .d-sm-contents {
+ .sm\:d-contents {
display: contents;
}
- .d-sm-flow-root {
+ .sm\:d-flow-root {
display: flow-root;
}
- .d-sm-none {
+ .sm\:d-none {
display: none;
}
- .flex-sm-fill {
+ .sm\:flex-fill {
flex: 1 1 auto;
}
- .flex-sm-row {
+ .sm\:flex-row {
flex-direction: row;
}
- .flex-sm-column {
+ .sm\:flex-column {
flex-direction: column;
}
- .flex-sm-row-reverse {
+ .sm\:flex-row-reverse {
flex-direction: row-reverse;
}
- .flex-sm-column-reverse {
+ .sm\:flex-column-reverse {
flex-direction: column-reverse;
}
- .flex-sm-grow-0 {
+ .sm\:flex-grow-0 {
flex-grow: 0;
}
- .flex-sm-grow-1 {
+ .sm\:flex-grow-1 {
flex-grow: 1;
}
- .flex-sm-shrink-0 {
+ .sm\:flex-shrink-0 {
flex-shrink: 0;
}
- .flex-sm-shrink-1 {
+ .sm\:flex-shrink-1 {
flex-shrink: 1;
}
- .flex-sm-wrap {
+ .sm\:flex-wrap {
flex-wrap: wrap;
}
- .flex-sm-nowrap {
+ .sm\:flex-nowrap {
flex-wrap: nowrap;
}
- .flex-sm-wrap-reverse {
+ .sm\:flex-wrap-reverse {
flex-wrap: wrap-reverse;
}
- .justify-content-sm-start {
+ .sm\:justify-content-start {
justify-content: flex-start;
}
- .justify-content-sm-end {
+ .sm\:justify-content-end {
justify-content: flex-end;
}
- .justify-content-sm-center {
+ .sm\:justify-content-center {
justify-content: center;
}
- .justify-content-sm-between {
+ .sm\:justify-content-between {
justify-content: space-between;
}
- .justify-content-sm-around {
+ .sm\:justify-content-around {
justify-content: space-around;
}
- .justify-content-sm-evenly {
+ .sm\:justify-content-evenly {
justify-content: space-evenly;
}
- .justify-items-sm-start {
+ .sm\:justify-items-start {
justify-items: start;
}
- .justify-items-sm-end {
+ .sm\:justify-items-end {
justify-items: end;
}
- .justify-items-sm-center {
+ .sm\:justify-items-center {
justify-items: center;
}
- .justify-items-sm-stretch {
+ .sm\:justify-items-stretch {
justify-items: stretch;
}
- .align-items-sm-start {
+ .sm\:align-items-start {
align-items: flex-start;
}
- .align-items-sm-end {
+ .sm\:align-items-end {
align-items: flex-end;
}
- .align-items-sm-center {
+ .sm\:align-items-center {
align-items: center;
}
- .align-items-sm-baseline {
+ .sm\:align-items-baseline {
align-items: baseline;
}
- .align-items-sm-stretch {
+ .sm\:align-items-stretch {
align-items: stretch;
}
- .align-content-sm-start {
+ .sm\:align-content-start {
align-content: flex-start;
}
- .align-content-sm-end {
+ .sm\:align-content-end {
align-content: flex-end;
}
- .align-content-sm-center {
+ .sm\:align-content-center {
align-content: center;
}
- .align-content-sm-between {
+ .sm\:align-content-between {
align-content: space-between;
}
- .align-content-sm-around {
+ .sm\:align-content-around {
align-content: space-around;
}
- .align-content-sm-stretch {
+ .sm\:align-content-stretch {
align-content: stretch;
}
- .align-self-sm-auto {
+ .sm\:align-self-auto {
align-self: auto;
}
- .align-self-sm-start {
+ .sm\:align-self-start {
align-self: flex-start;
}
- .align-self-sm-end {
+ .sm\:align-self-end {
align-self: flex-end;
}
- .align-self-sm-center {
+ .sm\:align-self-center {
align-self: center;
}
- .align-self-sm-baseline {
+ .sm\:align-self-baseline {
align-self: baseline;
}
- .align-self-sm-stretch {
+ .sm\:align-self-stretch {
align-self: stretch;
}
- .place-items-sm-start {
+ .sm\:place-items-start {
place-items: start;
}
- .place-items-sm-end {
+ .sm\:place-items-end {
place-items: end;
}
- .place-items-sm-center {
+ .sm\:place-items-center {
place-items: center;
}
- .place-items-sm-stretch {
+ .sm\:place-items-stretch {
place-items: stretch;
}
- .grid-cols-sm-2 {
+ .sm\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
- .grid-cols-sm-3 {
+ .sm\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
- .grid-cols-sm-4 {
+ .sm\:grid-cols-4 {
grid-template-columns: repeat(4, 1fr);
}
- .grid-cols-sm-6 {
+ .sm\:grid-cols-6 {
grid-template-columns: repeat(6, 1fr);
}
- .grid-cols-sm-fill {
+ .sm\:grid-cols-fill {
grid-column: 1 / -1;
}
- .grid-auto-flow-sm-row {
+ .sm\:grid-auto-flow-row {
grid-auto-flow: row;
}
- .grid-auto-flow-sm-column {
+ .sm\:grid-auto-flow-column {
grid-auto-flow: column;
}
- .grid-auto-flow-sm-dense {
+ .sm\:grid-auto-flow-dense {
grid-auto-flow: dense;
}
- .order-sm-first {
+ .sm\:order-first {
order: -1;
}
- .order-sm-0 {
+ .sm\:order-0 {
order: 0;
}
- .order-sm-1 {
+ .sm\:order-1 {
order: 1;
}
- .order-sm-2 {
+ .sm\:order-2 {
order: 2;
}
- .order-sm-3 {
+ .sm\:order-3 {
order: 3;
}
- .order-sm-4 {
+ .sm\:order-4 {
order: 4;
}
- .order-sm-5 {
+ .sm\:order-5 {
order: 5;
}
- .order-sm-last {
+ .sm\:order-last {
order: 6;
}
- .m-sm-0 {
+ .sm\:m-0 {
margin: 0;
}
- .m-sm-1 {
+ .sm\:m-1 {
margin: 0.25rem;
}
- .m-sm-2 {
+ .sm\:m-2 {
margin: 0.5rem;
}
- .m-sm-3 {
+ .sm\:m-3 {
margin: 1rem;
}
- .m-sm-4 {
+ .sm\:m-4 {
margin: 1.5rem;
}
- .m-sm-5 {
+ .sm\:m-5 {
margin: 3rem;
}
- .m-sm-auto {
+ .sm\:m-auto {
margin: auto;
}
- .mx-sm-0 {
+ .sm\:mx-0 {
margin-inline: 0;
}
- .mx-sm-1 {
+ .sm\:mx-1 {
margin-inline: 0.25rem;
}
- .mx-sm-2 {
+ .sm\:mx-2 {
margin-inline: 0.5rem;
}
- .mx-sm-3 {
+ .sm\:mx-3 {
margin-inline: 1rem;
}
- .mx-sm-4 {
+ .sm\:mx-4 {
margin-inline: 1.5rem;
}
- .mx-sm-5 {
+ .sm\:mx-5 {
margin-inline: 3rem;
}
- .mx-sm-auto {
+ .sm\:mx-auto {
margin-inline: auto;
}
- .my-sm-0 {
+ .sm\:my-0 {
margin-block: 0;
}
- .my-sm-1 {
+ .sm\:my-1 {
margin-block: 0.25rem;
}
- .my-sm-2 {
+ .sm\:my-2 {
margin-block: 0.5rem;
}
- .my-sm-3 {
+ .sm\:my-3 {
margin-block: 1rem;
}
- .my-sm-4 {
+ .sm\:my-4 {
margin-block: 1.5rem;
}
- .my-sm-5 {
+ .sm\:my-5 {
margin-block: 3rem;
}
- .my-sm-auto {
+ .sm\:my-auto {
margin-block: auto;
}
- .mt-sm-0 {
+ .sm\:mt-0 {
margin-block-start: 0;
}
- .mt-sm-1 {
+ .sm\:mt-1 {
margin-block-start: 0.25rem;
}
- .mt-sm-2 {
+ .sm\:mt-2 {
margin-block-start: 0.5rem;
}
- .mt-sm-3 {
+ .sm\:mt-3 {
margin-block-start: 1rem;
}
- .mt-sm-4 {
+ .sm\:mt-4 {
margin-block-start: 1.5rem;
}
- .mt-sm-5 {
+ .sm\:mt-5 {
margin-block-start: 3rem;
}
- .mt-sm-auto {
+ .sm\:mt-auto {
margin-block-start: auto;
}
- .me-sm-0 {
+ .sm\:me-0 {
margin-inline-end: 0;
}
- .me-sm-1 {
+ .sm\:me-1 {
margin-inline-end: 0.25rem;
}
- .me-sm-2 {
+ .sm\:me-2 {
margin-inline-end: 0.5rem;
}
- .me-sm-3 {
+ .sm\:me-3 {
margin-inline-end: 1rem;
}
- .me-sm-4 {
+ .sm\:me-4 {
margin-inline-end: 1.5rem;
}
- .me-sm-5 {
+ .sm\:me-5 {
margin-inline-end: 3rem;
}
- .me-sm-auto {
+ .sm\:me-auto {
margin-inline-end: auto;
}
- .mb-sm-0 {
+ .sm\:mb-0 {
margin-block-end: 0;
}
- .mb-sm-1 {
+ .sm\:mb-1 {
margin-block-end: 0.25rem;
}
- .mb-sm-2 {
+ .sm\:mb-2 {
margin-block-end: 0.5rem;
}
- .mb-sm-3 {
+ .sm\:mb-3 {
margin-block-end: 1rem;
}
- .mb-sm-4 {
+ .sm\:mb-4 {
margin-block-end: 1.5rem;
}
- .mb-sm-5 {
+ .sm\:mb-5 {
margin-block-end: 3rem;
}
- .mb-sm-auto {
+ .sm\:mb-auto {
margin-block-end: auto;
}
- .ms-sm-0 {
+ .sm\:ms-0 {
margin-inline-start: 0;
}
- .ms-sm-1 {
+ .sm\:ms-1 {
margin-inline-start: 0.25rem;
}
- .ms-sm-2 {
+ .sm\:ms-2 {
margin-inline-start: 0.5rem;
}
- .ms-sm-3 {
+ .sm\:ms-3 {
margin-inline-start: 1rem;
}
- .ms-sm-4 {
+ .sm\:ms-4 {
margin-inline-start: 1.5rem;
}
- .ms-sm-5 {
+ .sm\:ms-5 {
margin-inline-start: 3rem;
}
- .ms-sm--1 {
+ .sm\:ms--1 {
margin-inline-start: -0.25rem;
}
- .ms-sm--2 {
+ .sm\:ms--2 {
margin-inline-start: -0.5rem;
}
- .ms-sm-auto {
+ .sm\:ms-auto {
margin-inline-start: auto;
}
- .p-sm-0 {
+ .sm\:p-0 {
padding: 0;
}
- .p-sm-1 {
+ .sm\:p-1 {
padding: 0.25rem;
}
- .p-sm-2 {
+ .sm\:p-2 {
padding: 0.5rem;
}
- .p-sm-3 {
+ .sm\:p-3 {
padding: 1rem;
}
- .p-sm-4 {
+ .sm\:p-4 {
padding: 1.5rem;
}
- .p-sm-5 {
+ .sm\:p-5 {
padding: 3rem;
}
- .px-sm-0 {
+ .sm\:px-0 {
padding-inline: 0;
}
- .px-sm-1 {
+ .sm\:px-1 {
padding-inline: 0.25rem;
}
- .px-sm-2 {
+ .sm\:px-2 {
padding-inline: 0.5rem;
}
- .px-sm-3 {
+ .sm\:px-3 {
padding-inline: 1rem;
}
- .px-sm-4 {
+ .sm\:px-4 {
padding-inline: 1.5rem;
}
- .px-sm-5 {
+ .sm\:px-5 {
padding-inline: 3rem;
}
- .py-sm-0 {
+ .sm\:py-0 {
padding-block: 0;
}
- .py-sm-1 {
+ .sm\:py-1 {
padding-block: 0.25rem;
}
- .py-sm-2 {
+ .sm\:py-2 {
padding-block: 0.5rem;
}
- .py-sm-3 {
+ .sm\:py-3 {
padding-block: 1rem;
}
- .py-sm-4 {
+ .sm\:py-4 {
padding-block: 1.5rem;
}
- .py-sm-5 {
+ .sm\:py-5 {
padding-block: 3rem;
}
- .pt-sm-0 {
+ .sm\:pt-0 {
padding-block-start: 0;
}
- .pt-sm-1 {
+ .sm\:pt-1 {
padding-block-start: 0.25rem;
}
- .pt-sm-2 {
+ .sm\:pt-2 {
padding-block-start: 0.5rem;
}
- .pt-sm-3 {
+ .sm\:pt-3 {
padding-block-start: 1rem;
}
- .pt-sm-4 {
+ .sm\:pt-4 {
padding-block-start: 1.5rem;
}
- .pt-sm-5 {
+ .sm\:pt-5 {
padding-block-start: 3rem;
}
- .pe-sm-0 {
+ .sm\:pe-0 {
padding-inline-end: 0;
}
- .pe-sm-1 {
+ .sm\:pe-1 {
padding-inline-end: 0.25rem;
}
- .pe-sm-2 {
+ .sm\:pe-2 {
padding-inline-end: 0.5rem;
}
- .pe-sm-3 {
+ .sm\:pe-3 {
padding-inline-end: 1rem;
}
- .pe-sm-4 {
+ .sm\:pe-4 {
padding-inline-end: 1.5rem;
}
- .pe-sm-5 {
+ .sm\:pe-5 {
padding-inline-end: 3rem;
}
- .pb-sm-0 {
+ .sm\:pb-0 {
padding-block-end: 0;
}
- .pb-sm-1 {
+ .sm\:pb-1 {
padding-block-end: 0.25rem;
}
- .pb-sm-2 {
+ .sm\:pb-2 {
padding-block-end: 0.5rem;
}
- .pb-sm-3 {
+ .sm\:pb-3 {
padding-block-end: 1rem;
}
- .pb-sm-4 {
+ .sm\:pb-4 {
padding-block-end: 1.5rem;
}
- .pb-sm-5 {
+ .sm\:pb-5 {
padding-block-end: 3rem;
}
- .ps-sm-0 {
+ .sm\:ps-0 {
padding-inline-start: 0;
}
- .ps-sm-1 {
+ .sm\:ps-1 {
padding-inline-start: 0.25rem;
}
- .ps-sm-2 {
+ .sm\:ps-2 {
padding-inline-start: 0.5rem;
}
- .ps-sm-3 {
+ .sm\:ps-3 {
padding-inline-start: 1rem;
}
- .ps-sm-4 {
+ .sm\:ps-4 {
padding-inline-start: 1.5rem;
}
- .ps-sm-5 {
+ .sm\:ps-5 {
padding-inline-start: 3rem;
}
- .gap-sm-0 {
+ .sm\:gap-0 {
gap: 0;
}
- .gap-sm-1 {
+ .sm\:gap-1 {
gap: 0.25rem;
}
- .gap-sm-2 {
+ .sm\:gap-2 {
gap: 0.5rem;
}
- .gap-sm-3 {
+ .sm\:gap-3 {
gap: 1rem;
}
- .gap-sm-4 {
+ .sm\:gap-4 {
gap: 1.5rem;
}
- .gap-sm-5 {
+ .sm\:gap-5 {
gap: 3rem;
}
- .row-gap-sm-0 {
+ .sm\:row-gap-0 {
row-gap: 0;
}
- .row-gap-sm-1 {
+ .sm\:row-gap-1 {
row-gap: 0.25rem;
}
- .row-gap-sm-2 {
+ .sm\:row-gap-2 {
row-gap: 0.5rem;
}
- .row-gap-sm-3 {
+ .sm\:row-gap-3 {
row-gap: 1rem;
}
- .row-gap-sm-4 {
+ .sm\:row-gap-4 {
row-gap: 1.5rem;
}
- .row-gap-sm-5 {
+ .sm\:row-gap-5 {
row-gap: 3rem;
}
- .column-gap-sm-0 {
+ .sm\:column-gap-0 {
-moz-column-gap: 0;
column-gap: 0;
}
- .column-gap-sm-1 {
+ .sm\:column-gap-1 {
-moz-column-gap: 0.25rem;
column-gap: 0.25rem;
}
- .column-gap-sm-2 {
+ .sm\:column-gap-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
- .column-gap-sm-3 {
+ .sm\:column-gap-3 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
- .column-gap-sm-4 {
+ .sm\:column-gap-4 {
-moz-column-gap: 1.5rem;
column-gap: 1.5rem;
}
- .column-gap-sm-5 {
+ .sm\:column-gap-5 {
-moz-column-gap: 3rem;
column-gap: 3rem;
}
}
@media (width >= 768px) {
- .d-md-inline {
+ .md\:d-inline {
display: inline;
}
- .d-md-inline-block {
+ .md\:d-inline-block {
display: inline-block;
}
- .d-md-block {
+ .md\:d-block {
display: block;
}
- .d-md-grid {
+ .md\:d-grid {
display: grid;
}
- .d-md-inline-grid {
+ .md\:d-inline-grid {
display: inline-grid;
}
- .d-md-table {
+ .md\:d-table {
display: table;
}
- .d-md-table-row {
+ .md\:d-table-row {
display: table-row;
}
- .d-md-table-cell {
+ .md\:d-table-cell {
display: table-cell;
}
- .d-md-flex {
+ .md\:d-flex {
display: flex;
}
- .d-md-inline-flex {
+ .md\:d-inline-flex {
display: inline-flex;
}
- .d-md-contents {
+ .md\:d-contents {
display: contents;
}
- .d-md-flow-root {
+ .md\:d-flow-root {
display: flow-root;
}
- .d-md-none {
+ .md\:d-none {
display: none;
}
- .flex-md-fill {
+ .md\:flex-fill {
flex: 1 1 auto;
}
- .flex-md-row {
+ .md\:flex-row {
flex-direction: row;
}
- .flex-md-column {
+ .md\:flex-column {
flex-direction: column;
}
- .flex-md-row-reverse {
+ .md\:flex-row-reverse {
flex-direction: row-reverse;
}
- .flex-md-column-reverse {
+ .md\:flex-column-reverse {
flex-direction: column-reverse;
}
- .flex-md-grow-0 {
+ .md\:flex-grow-0 {
flex-grow: 0;
}
- .flex-md-grow-1 {
+ .md\:flex-grow-1 {
flex-grow: 1;
}
- .flex-md-shrink-0 {
+ .md\:flex-shrink-0 {
flex-shrink: 0;
}
- .flex-md-shrink-1 {
+ .md\:flex-shrink-1 {
flex-shrink: 1;
}
- .flex-md-wrap {
+ .md\:flex-wrap {
flex-wrap: wrap;
}
- .flex-md-nowrap {
+ .md\:flex-nowrap {
flex-wrap: nowrap;
}
- .flex-md-wrap-reverse {
+ .md\:flex-wrap-reverse {
flex-wrap: wrap-reverse;
}
- .justify-content-md-start {
+ .md\:justify-content-start {
justify-content: flex-start;
}
- .justify-content-md-end {
+ .md\:justify-content-end {
justify-content: flex-end;
}
- .justify-content-md-center {
+ .md\:justify-content-center {
justify-content: center;
}
- .justify-content-md-between {
+ .md\:justify-content-between {
justify-content: space-between;
}
- .justify-content-md-around {
+ .md\:justify-content-around {
justify-content: space-around;
}
- .justify-content-md-evenly {
+ .md\:justify-content-evenly {
justify-content: space-evenly;
}
- .justify-items-md-start {
+ .md\:justify-items-start {
justify-items: start;
}
- .justify-items-md-end {
+ .md\:justify-items-end {
justify-items: end;
}
- .justify-items-md-center {
+ .md\:justify-items-center {
justify-items: center;
}
- .justify-items-md-stretch {
+ .md\:justify-items-stretch {
justify-items: stretch;
}
- .align-items-md-start {
+ .md\:align-items-start {
align-items: flex-start;
}
- .align-items-md-end {
+ .md\:align-items-end {
align-items: flex-end;
}
- .align-items-md-center {
+ .md\:align-items-center {
align-items: center;
}
- .align-items-md-baseline {
+ .md\:align-items-baseline {
align-items: baseline;
}
- .align-items-md-stretch {
+ .md\:align-items-stretch {
align-items: stretch;
}
- .align-content-md-start {
+ .md\:align-content-start {
align-content: flex-start;
}
- .align-content-md-end {
+ .md\:align-content-end {
align-content: flex-end;
}
- .align-content-md-center {
+ .md\:align-content-center {
align-content: center;
}
- .align-content-md-between {
+ .md\:align-content-between {
align-content: space-between;
}
- .align-content-md-around {
+ .md\:align-content-around {
align-content: space-around;
}
- .align-content-md-stretch {
+ .md\:align-content-stretch {
align-content: stretch;
}
- .align-self-md-auto {
+ .md\:align-self-auto {
align-self: auto;
}
- .align-self-md-start {
+ .md\:align-self-start {
align-self: flex-start;
}
- .align-self-md-end {
+ .md\:align-self-end {
align-self: flex-end;
}
- .align-self-md-center {
+ .md\:align-self-center {
align-self: center;
}
- .align-self-md-baseline {
+ .md\:align-self-baseline {
align-self: baseline;
}
- .align-self-md-stretch {
+ .md\:align-self-stretch {
align-self: stretch;
}
- .place-items-md-start {
+ .md\:place-items-start {
place-items: start;
}
- .place-items-md-end {
+ .md\:place-items-end {
place-items: end;
}
- .place-items-md-center {
+ .md\:place-items-center {
place-items: center;
}
- .place-items-md-stretch {
+ .md\:place-items-stretch {
place-items: stretch;
}
- .grid-cols-md-2 {
+ .md\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
- .grid-cols-md-3 {
+ .md\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
- .grid-cols-md-4 {
+ .md\:grid-cols-4 {
grid-template-columns: repeat(4, 1fr);
}
- .grid-cols-md-6 {
+ .md\:grid-cols-6 {
grid-template-columns: repeat(6, 1fr);
}
- .grid-cols-md-fill {
+ .md\:grid-cols-fill {
grid-column: 1 / -1;
}
- .grid-auto-flow-md-row {
+ .md\:grid-auto-flow-row {
grid-auto-flow: row;
}
- .grid-auto-flow-md-column {
+ .md\:grid-auto-flow-column {
grid-auto-flow: column;
}
- .grid-auto-flow-md-dense {
+ .md\:grid-auto-flow-dense {
grid-auto-flow: dense;
}
- .order-md-first {
+ .md\:order-first {
order: -1;
}
- .order-md-0 {
+ .md\:order-0 {
order: 0;
}
- .order-md-1 {
+ .md\:order-1 {
order: 1;
}
- .order-md-2 {
+ .md\:order-2 {
order: 2;
}
- .order-md-3 {
+ .md\:order-3 {
order: 3;
}
- .order-md-4 {
+ .md\:order-4 {
order: 4;
}
- .order-md-5 {
+ .md\:order-5 {
order: 5;
}
- .order-md-last {
+ .md\:order-last {
order: 6;
}
- .m-md-0 {
+ .md\:m-0 {
margin: 0;
}
- .m-md-1 {
+ .md\:m-1 {
margin: 0.25rem;
}
- .m-md-2 {
+ .md\:m-2 {
margin: 0.5rem;
}
- .m-md-3 {
+ .md\:m-3 {
margin: 1rem;
}
- .m-md-4 {
+ .md\:m-4 {
margin: 1.5rem;
}
- .m-md-5 {
+ .md\:m-5 {
margin: 3rem;
}
- .m-md-auto {
+ .md\:m-auto {
margin: auto;
}
- .mx-md-0 {
+ .md\:mx-0 {
margin-inline: 0;
}
- .mx-md-1 {
+ .md\:mx-1 {
margin-inline: 0.25rem;
}
- .mx-md-2 {
+ .md\:mx-2 {
margin-inline: 0.5rem;
}
- .mx-md-3 {
+ .md\:mx-3 {
margin-inline: 1rem;
}
- .mx-md-4 {
+ .md\:mx-4 {
margin-inline: 1.5rem;
}
- .mx-md-5 {
+ .md\:mx-5 {
margin-inline: 3rem;
}
- .mx-md-auto {
+ .md\:mx-auto {
margin-inline: auto;
}
- .my-md-0 {
+ .md\:my-0 {
margin-block: 0;
}
- .my-md-1 {
+ .md\:my-1 {
margin-block: 0.25rem;
}
- .my-md-2 {
+ .md\:my-2 {
margin-block: 0.5rem;
}
- .my-md-3 {
+ .md\:my-3 {
margin-block: 1rem;
}
- .my-md-4 {
+ .md\:my-4 {
margin-block: 1.5rem;
}
- .my-md-5 {
+ .md\:my-5 {
margin-block: 3rem;
}
- .my-md-auto {
+ .md\:my-auto {
margin-block: auto;
}
- .mt-md-0 {
+ .md\:mt-0 {
margin-block-start: 0;
}
- .mt-md-1 {
+ .md\:mt-1 {
margin-block-start: 0.25rem;
}
- .mt-md-2 {
+ .md\:mt-2 {
margin-block-start: 0.5rem;
}
- .mt-md-3 {
+ .md\:mt-3 {
margin-block-start: 1rem;
}
- .mt-md-4 {
+ .md\:mt-4 {
margin-block-start: 1.5rem;
}
- .mt-md-5 {
+ .md\:mt-5 {
margin-block-start: 3rem;
}
- .mt-md-auto {
+ .md\:mt-auto {
margin-block-start: auto;
}
- .me-md-0 {
+ .md\:me-0 {
margin-inline-end: 0;
}
- .me-md-1 {
+ .md\:me-1 {
margin-inline-end: 0.25rem;
}
- .me-md-2 {
+ .md\:me-2 {
margin-inline-end: 0.5rem;
}
- .me-md-3 {
+ .md\:me-3 {
margin-inline-end: 1rem;
}
- .me-md-4 {
+ .md\:me-4 {
margin-inline-end: 1.5rem;
}
- .me-md-5 {
+ .md\:me-5 {
margin-inline-end: 3rem;
}
- .me-md-auto {
+ .md\:me-auto {
margin-inline-end: auto;
}
- .mb-md-0 {
+ .md\:mb-0 {
margin-block-end: 0;
}
- .mb-md-1 {
+ .md\:mb-1 {
margin-block-end: 0.25rem;
}
- .mb-md-2 {
+ .md\:mb-2 {
margin-block-end: 0.5rem;
}
- .mb-md-3 {
+ .md\:mb-3 {
margin-block-end: 1rem;
}
- .mb-md-4 {
+ .md\:mb-4 {
margin-block-end: 1.5rem;
}
- .mb-md-5 {
+ .md\:mb-5 {
margin-block-end: 3rem;
}
- .mb-md-auto {
+ .md\:mb-auto {
margin-block-end: auto;
}
- .ms-md-0 {
+ .md\:ms-0 {
margin-inline-start: 0;
}
- .ms-md-1 {
+ .md\:ms-1 {
margin-inline-start: 0.25rem;
}
- .ms-md-2 {
+ .md\:ms-2 {
margin-inline-start: 0.5rem;
}
- .ms-md-3 {
+ .md\:ms-3 {
margin-inline-start: 1rem;
}
- .ms-md-4 {
+ .md\:ms-4 {
margin-inline-start: 1.5rem;
}
- .ms-md-5 {
+ .md\:ms-5 {
margin-inline-start: 3rem;
}
- .ms-md--1 {
+ .md\:ms--1 {
margin-inline-start: -0.25rem;
}
- .ms-md--2 {
+ .md\:ms--2 {
margin-inline-start: -0.5rem;
}
- .ms-md-auto {
+ .md\:ms-auto {
margin-inline-start: auto;
}
- .p-md-0 {
+ .md\:p-0 {
padding: 0;
}
- .p-md-1 {
+ .md\:p-1 {
padding: 0.25rem;
}
- .p-md-2 {
+ .md\:p-2 {
padding: 0.5rem;
}
- .p-md-3 {
+ .md\:p-3 {
padding: 1rem;
}
- .p-md-4 {
+ .md\:p-4 {
padding: 1.5rem;
}
- .p-md-5 {
+ .md\:p-5 {
padding: 3rem;
}
- .px-md-0 {
+ .md\:px-0 {
padding-inline: 0;
}
- .px-md-1 {
+ .md\:px-1 {
padding-inline: 0.25rem;
}
- .px-md-2 {
+ .md\:px-2 {
padding-inline: 0.5rem;
}
- .px-md-3 {
+ .md\:px-3 {
padding-inline: 1rem;
}
- .px-md-4 {
+ .md\:px-4 {
padding-inline: 1.5rem;
}
- .px-md-5 {
+ .md\:px-5 {
padding-inline: 3rem;
}
- .py-md-0 {
+ .md\:py-0 {
padding-block: 0;
}
- .py-md-1 {
+ .md\:py-1 {
padding-block: 0.25rem;
}
- .py-md-2 {
+ .md\:py-2 {
padding-block: 0.5rem;
}
- .py-md-3 {
+ .md\:py-3 {
padding-block: 1rem;
}
- .py-md-4 {
+ .md\:py-4 {
padding-block: 1.5rem;
}
- .py-md-5 {
+ .md\:py-5 {
padding-block: 3rem;
}
- .pt-md-0 {
+ .md\:pt-0 {
padding-block-start: 0;
}
- .pt-md-1 {
+ .md\:pt-1 {
padding-block-start: 0.25rem;
}
- .pt-md-2 {
+ .md\:pt-2 {
padding-block-start: 0.5rem;
}
- .pt-md-3 {
+ .md\:pt-3 {
padding-block-start: 1rem;
}
- .pt-md-4 {
+ .md\:pt-4 {
padding-block-start: 1.5rem;
}
- .pt-md-5 {
+ .md\:pt-5 {
padding-block-start: 3rem;
}
- .pe-md-0 {
+ .md\:pe-0 {
padding-inline-end: 0;
}
- .pe-md-1 {
+ .md\:pe-1 {
padding-inline-end: 0.25rem;
}
- .pe-md-2 {
+ .md\:pe-2 {
padding-inline-end: 0.5rem;
}
- .pe-md-3 {
+ .md\:pe-3 {
padding-inline-end: 1rem;
}
- .pe-md-4 {
+ .md\:pe-4 {
padding-inline-end: 1.5rem;
}
- .pe-md-5 {
+ .md\:pe-5 {
padding-inline-end: 3rem;
}
- .pb-md-0 {
+ .md\:pb-0 {
padding-block-end: 0;
}
- .pb-md-1 {
+ .md\:pb-1 {
padding-block-end: 0.25rem;
}
- .pb-md-2 {
+ .md\:pb-2 {
padding-block-end: 0.5rem;
}
- .pb-md-3 {
+ .md\:pb-3 {
padding-block-end: 1rem;
}
- .pb-md-4 {
+ .md\:pb-4 {
padding-block-end: 1.5rem;
}
- .pb-md-5 {
+ .md\:pb-5 {
padding-block-end: 3rem;
}
- .ps-md-0 {
+ .md\:ps-0 {
padding-inline-start: 0;
}
- .ps-md-1 {
+ .md\:ps-1 {
padding-inline-start: 0.25rem;
}
- .ps-md-2 {
+ .md\:ps-2 {
padding-inline-start: 0.5rem;
}
- .ps-md-3 {
+ .md\:ps-3 {
padding-inline-start: 1rem;
}
- .ps-md-4 {
+ .md\:ps-4 {
padding-inline-start: 1.5rem;
}
- .ps-md-5 {
+ .md\:ps-5 {
padding-inline-start: 3rem;
}
- .gap-md-0 {
+ .md\:gap-0 {
gap: 0;
}
- .gap-md-1 {
+ .md\:gap-1 {
gap: 0.25rem;
}
- .gap-md-2 {
+ .md\:gap-2 {
gap: 0.5rem;
}
- .gap-md-3 {
+ .md\:gap-3 {
gap: 1rem;
}
- .gap-md-4 {
+ .md\:gap-4 {
gap: 1.5rem;
}
- .gap-md-5 {
+ .md\:gap-5 {
gap: 3rem;
}
- .row-gap-md-0 {
+ .md\:row-gap-0 {
row-gap: 0;
}
- .row-gap-md-1 {
+ .md\:row-gap-1 {
row-gap: 0.25rem;
}
- .row-gap-md-2 {
+ .md\:row-gap-2 {
row-gap: 0.5rem;
}
- .row-gap-md-3 {
+ .md\:row-gap-3 {
row-gap: 1rem;
}
- .row-gap-md-4 {
+ .md\:row-gap-4 {
row-gap: 1.5rem;
}
- .row-gap-md-5 {
+ .md\:row-gap-5 {
row-gap: 3rem;
}
- .column-gap-md-0 {
+ .md\:column-gap-0 {
-moz-column-gap: 0;
column-gap: 0;
}
- .column-gap-md-1 {
+ .md\:column-gap-1 {
-moz-column-gap: 0.25rem;
column-gap: 0.25rem;
}
- .column-gap-md-2 {
+ .md\:column-gap-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
- .column-gap-md-3 {
+ .md\:column-gap-3 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
- .column-gap-md-4 {
+ .md\:column-gap-4 {
-moz-column-gap: 1.5rem;
column-gap: 1.5rem;
}
- .column-gap-md-5 {
+ .md\:column-gap-5 {
-moz-column-gap: 3rem;
column-gap: 3rem;
}
}
@media (width >= 1024px) {
- .d-lg-inline {
+ .lg\:d-inline {
display: inline;
}
- .d-lg-inline-block {
+ .lg\:d-inline-block {
display: inline-block;
}
- .d-lg-block {
+ .lg\:d-block {
display: block;
}
- .d-lg-grid {
+ .lg\:d-grid {
display: grid;
}
- .d-lg-inline-grid {
+ .lg\:d-inline-grid {
display: inline-grid;
}
- .d-lg-table {
+ .lg\:d-table {
display: table;
}
- .d-lg-table-row {
+ .lg\:d-table-row {
display: table-row;
}
- .d-lg-table-cell {
+ .lg\:d-table-cell {
display: table-cell;
}
- .d-lg-flex {
+ .lg\:d-flex {
display: flex;
}
- .d-lg-inline-flex {
+ .lg\:d-inline-flex {
display: inline-flex;
}
- .d-lg-contents {
+ .lg\:d-contents {
display: contents;
}
- .d-lg-flow-root {
+ .lg\:d-flow-root {
display: flow-root;
}
- .d-lg-none {
+ .lg\:d-none {
display: none;
}
- .flex-lg-fill {
+ .lg\:flex-fill {
flex: 1 1 auto;
}
- .flex-lg-row {
+ .lg\:flex-row {
flex-direction: row;
}
- .flex-lg-column {
+ .lg\:flex-column {
flex-direction: column;
}
- .flex-lg-row-reverse {
+ .lg\:flex-row-reverse {
flex-direction: row-reverse;
}
- .flex-lg-column-reverse {
+ .lg\:flex-column-reverse {
flex-direction: column-reverse;
}
- .flex-lg-grow-0 {
+ .lg\:flex-grow-0 {
flex-grow: 0;
}
- .flex-lg-grow-1 {
+ .lg\:flex-grow-1 {
flex-grow: 1;
}
- .flex-lg-shrink-0 {
+ .lg\:flex-shrink-0 {
flex-shrink: 0;
}
- .flex-lg-shrink-1 {
+ .lg\:flex-shrink-1 {
flex-shrink: 1;
}
- .flex-lg-wrap {
+ .lg\:flex-wrap {
flex-wrap: wrap;
}
- .flex-lg-nowrap {
+ .lg\:flex-nowrap {
flex-wrap: nowrap;
}
- .flex-lg-wrap-reverse {
+ .lg\:flex-wrap-reverse {
flex-wrap: wrap-reverse;
}
- .justify-content-lg-start {
+ .lg\:justify-content-start {
justify-content: flex-start;
}
- .justify-content-lg-end {
+ .lg\:justify-content-end {
justify-content: flex-end;
}
- .justify-content-lg-center {
+ .lg\:justify-content-center {
justify-content: center;
}
- .justify-content-lg-between {
+ .lg\:justify-content-between {
justify-content: space-between;
}
- .justify-content-lg-around {
+ .lg\:justify-content-around {
justify-content: space-around;
}
- .justify-content-lg-evenly {
+ .lg\:justify-content-evenly {
justify-content: space-evenly;
}
- .justify-items-lg-start {
+ .lg\:justify-items-start {
justify-items: start;
}
- .justify-items-lg-end {
+ .lg\:justify-items-end {
justify-items: end;
}
- .justify-items-lg-center {
+ .lg\:justify-items-center {
justify-items: center;
}
- .justify-items-lg-stretch {
+ .lg\:justify-items-stretch {
justify-items: stretch;
}
- .align-items-lg-start {
+ .lg\:align-items-start {
align-items: flex-start;
}
- .align-items-lg-end {
+ .lg\:align-items-end {
align-items: flex-end;
}
- .align-items-lg-center {
+ .lg\:align-items-center {
align-items: center;
}
- .align-items-lg-baseline {
+ .lg\:align-items-baseline {
align-items: baseline;
}
- .align-items-lg-stretch {
+ .lg\:align-items-stretch {
align-items: stretch;
}
- .align-content-lg-start {
+ .lg\:align-content-start {
align-content: flex-start;
}
- .align-content-lg-end {
+ .lg\:align-content-end {
align-content: flex-end;
}
- .align-content-lg-center {
+ .lg\:align-content-center {
align-content: center;
}
- .align-content-lg-between {
+ .lg\:align-content-between {
align-content: space-between;
}
- .align-content-lg-around {
+ .lg\:align-content-around {
align-content: space-around;
}
- .align-content-lg-stretch {
+ .lg\:align-content-stretch {
align-content: stretch;
}
- .align-self-lg-auto {
+ .lg\:align-self-auto {
align-self: auto;
}
- .align-self-lg-start {
+ .lg\:align-self-start {
align-self: flex-start;
}
- .align-self-lg-end {
+ .lg\:align-self-end {
align-self: flex-end;
}
- .align-self-lg-center {
+ .lg\:align-self-center {
align-self: center;
}
- .align-self-lg-baseline {
+ .lg\:align-self-baseline {
align-self: baseline;
}
- .align-self-lg-stretch {
+ .lg\:align-self-stretch {
align-self: stretch;
}
- .place-items-lg-start {
+ .lg\:place-items-start {
place-items: start;
}
- .place-items-lg-end {
+ .lg\:place-items-end {
place-items: end;
}
- .place-items-lg-center {
+ .lg\:place-items-center {
place-items: center;
}
- .place-items-lg-stretch {
+ .lg\:place-items-stretch {
place-items: stretch;
}
- .grid-cols-lg-2 {
+ .lg\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
- .grid-cols-lg-3 {
+ .lg\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
- .grid-cols-lg-4 {
+ .lg\:grid-cols-4 {
grid-template-columns: repeat(4, 1fr);
}
- .grid-cols-lg-6 {
+ .lg\:grid-cols-6 {
grid-template-columns: repeat(6, 1fr);
}
- .grid-cols-lg-fill {
+ .lg\:grid-cols-fill {
grid-column: 1 / -1;
}
- .grid-auto-flow-lg-row {
+ .lg\:grid-auto-flow-row {
grid-auto-flow: row;
}
- .grid-auto-flow-lg-column {
+ .lg\:grid-auto-flow-column {
grid-auto-flow: column;
}
- .grid-auto-flow-lg-dense {
+ .lg\:grid-auto-flow-dense {
grid-auto-flow: dense;
}
- .order-lg-first {
+ .lg\:order-first {
order: -1;
}
- .order-lg-0 {
+ .lg\:order-0 {
order: 0;
}
- .order-lg-1 {
+ .lg\:order-1 {
order: 1;
}
- .order-lg-2 {
+ .lg\:order-2 {
order: 2;
}
- .order-lg-3 {
+ .lg\:order-3 {
order: 3;
}
- .order-lg-4 {
+ .lg\:order-4 {
order: 4;
}
- .order-lg-5 {
+ .lg\:order-5 {
order: 5;
}
- .order-lg-last {
+ .lg\:order-last {
order: 6;
}
- .m-lg-0 {
+ .lg\:m-0 {
margin: 0;
}
- .m-lg-1 {
+ .lg\:m-1 {
margin: 0.25rem;
}
- .m-lg-2 {
+ .lg\:m-2 {
margin: 0.5rem;
}
- .m-lg-3 {
+ .lg\:m-3 {
margin: 1rem;
}
- .m-lg-4 {
+ .lg\:m-4 {
margin: 1.5rem;
}
- .m-lg-5 {
+ .lg\:m-5 {
margin: 3rem;
}
- .m-lg-auto {
+ .lg\:m-auto {
margin: auto;
}
- .mx-lg-0 {
+ .lg\:mx-0 {
margin-inline: 0;
}
- .mx-lg-1 {
+ .lg\:mx-1 {
margin-inline: 0.25rem;
}
- .mx-lg-2 {
+ .lg\:mx-2 {
margin-inline: 0.5rem;
}
- .mx-lg-3 {
+ .lg\:mx-3 {
margin-inline: 1rem;
}
- .mx-lg-4 {
+ .lg\:mx-4 {
margin-inline: 1.5rem;
}
- .mx-lg-5 {
+ .lg\:mx-5 {
margin-inline: 3rem;
}
- .mx-lg-auto {
+ .lg\:mx-auto {
margin-inline: auto;
}
- .my-lg-0 {
+ .lg\:my-0 {
margin-block: 0;
}
- .my-lg-1 {
+ .lg\:my-1 {
margin-block: 0.25rem;
}
- .my-lg-2 {
+ .lg\:my-2 {
margin-block: 0.5rem;
}
- .my-lg-3 {
+ .lg\:my-3 {
margin-block: 1rem;
}
- .my-lg-4 {
+ .lg\:my-4 {
margin-block: 1.5rem;
}
- .my-lg-5 {
+ .lg\:my-5 {
margin-block: 3rem;
}
- .my-lg-auto {
+ .lg\:my-auto {
margin-block: auto;
}
- .mt-lg-0 {
+ .lg\:mt-0 {
margin-block-start: 0;
}
- .mt-lg-1 {
+ .lg\:mt-1 {
margin-block-start: 0.25rem;
}
- .mt-lg-2 {
+ .lg\:mt-2 {
margin-block-start: 0.5rem;
}
- .mt-lg-3 {
+ .lg\:mt-3 {
margin-block-start: 1rem;
}
- .mt-lg-4 {
+ .lg\:mt-4 {
margin-block-start: 1.5rem;
}
- .mt-lg-5 {
+ .lg\:mt-5 {
margin-block-start: 3rem;
}
- .mt-lg-auto {
+ .lg\:mt-auto {
margin-block-start: auto;
}
- .me-lg-0 {
+ .lg\:me-0 {
margin-inline-end: 0;
}
- .me-lg-1 {
+ .lg\:me-1 {
margin-inline-end: 0.25rem;
}
- .me-lg-2 {
+ .lg\:me-2 {
margin-inline-end: 0.5rem;
}
- .me-lg-3 {
+ .lg\:me-3 {
margin-inline-end: 1rem;
}
- .me-lg-4 {
+ .lg\:me-4 {
margin-inline-end: 1.5rem;
}
- .me-lg-5 {
+ .lg\:me-5 {
margin-inline-end: 3rem;
}
- .me-lg-auto {
+ .lg\:me-auto {
margin-inline-end: auto;
}
- .mb-lg-0 {
+ .lg\:mb-0 {
margin-block-end: 0;
}
- .mb-lg-1 {
+ .lg\:mb-1 {
margin-block-end: 0.25rem;
}
- .mb-lg-2 {
+ .lg\:mb-2 {
margin-block-end: 0.5rem;
}
- .mb-lg-3 {
+ .lg\:mb-3 {
margin-block-end: 1rem;
}
- .mb-lg-4 {
+ .lg\:mb-4 {
margin-block-end: 1.5rem;
}
- .mb-lg-5 {
+ .lg\:mb-5 {
margin-block-end: 3rem;
}
- .mb-lg-auto {
+ .lg\:mb-auto {
margin-block-end: auto;
}
- .ms-lg-0 {
+ .lg\:ms-0 {
margin-inline-start: 0;
}
- .ms-lg-1 {
+ .lg\:ms-1 {
margin-inline-start: 0.25rem;
}
- .ms-lg-2 {
+ .lg\:ms-2 {
margin-inline-start: 0.5rem;
}
- .ms-lg-3 {
+ .lg\:ms-3 {
margin-inline-start: 1rem;
}
- .ms-lg-4 {
+ .lg\:ms-4 {
margin-inline-start: 1.5rem;
}
- .ms-lg-5 {
+ .lg\:ms-5 {
margin-inline-start: 3rem;
}
- .ms-lg--1 {
+ .lg\:ms--1 {
margin-inline-start: -0.25rem;
}
- .ms-lg--2 {
+ .lg\:ms--2 {
margin-inline-start: -0.5rem;
}
- .ms-lg-auto {
+ .lg\:ms-auto {
margin-inline-start: auto;
}
- .p-lg-0 {
+ .lg\:p-0 {
padding: 0;
}
- .p-lg-1 {
+ .lg\:p-1 {
padding: 0.25rem;
}
- .p-lg-2 {
+ .lg\:p-2 {
padding: 0.5rem;
}
- .p-lg-3 {
+ .lg\:p-3 {
padding: 1rem;
}
- .p-lg-4 {
+ .lg\:p-4 {
padding: 1.5rem;
}
- .p-lg-5 {
+ .lg\:p-5 {
padding: 3rem;
}
- .px-lg-0 {
+ .lg\:px-0 {
padding-inline: 0;
}
- .px-lg-1 {
+ .lg\:px-1 {
padding-inline: 0.25rem;
}
- .px-lg-2 {
+ .lg\:px-2 {
padding-inline: 0.5rem;
}
- .px-lg-3 {
+ .lg\:px-3 {
padding-inline: 1rem;
}
- .px-lg-4 {
+ .lg\:px-4 {
padding-inline: 1.5rem;
}
- .px-lg-5 {
+ .lg\:px-5 {
padding-inline: 3rem;
}
- .py-lg-0 {
+ .lg\:py-0 {
padding-block: 0;
}
- .py-lg-1 {
+ .lg\:py-1 {
padding-block: 0.25rem;
}
- .py-lg-2 {
+ .lg\:py-2 {
padding-block: 0.5rem;
}
- .py-lg-3 {
+ .lg\:py-3 {
padding-block: 1rem;
}
- .py-lg-4 {
+ .lg\:py-4 {
padding-block: 1.5rem;
}
- .py-lg-5 {
+ .lg\:py-5 {
padding-block: 3rem;
}
- .pt-lg-0 {
+ .lg\:pt-0 {
padding-block-start: 0;
}
- .pt-lg-1 {
+ .lg\:pt-1 {
padding-block-start: 0.25rem;
}
- .pt-lg-2 {
+ .lg\:pt-2 {
padding-block-start: 0.5rem;
}
- .pt-lg-3 {
+ .lg\:pt-3 {
padding-block-start: 1rem;
}
- .pt-lg-4 {
+ .lg\:pt-4 {
padding-block-start: 1.5rem;
}
- .pt-lg-5 {
+ .lg\:pt-5 {
padding-block-start: 3rem;
}
- .pe-lg-0 {
+ .lg\:pe-0 {
padding-inline-end: 0;
}
- .pe-lg-1 {
+ .lg\:pe-1 {
padding-inline-end: 0.25rem;
}
- .pe-lg-2 {
+ .lg\:pe-2 {
padding-inline-end: 0.5rem;
}
- .pe-lg-3 {
+ .lg\:pe-3 {
padding-inline-end: 1rem;
}
- .pe-lg-4 {
+ .lg\:pe-4 {
padding-inline-end: 1.5rem;
}
- .pe-lg-5 {
+ .lg\:pe-5 {
padding-inline-end: 3rem;
}
- .pb-lg-0 {
+ .lg\:pb-0 {
padding-block-end: 0;
}
- .pb-lg-1 {
+ .lg\:pb-1 {
padding-block-end: 0.25rem;
}
- .pb-lg-2 {
+ .lg\:pb-2 {
padding-block-end: 0.5rem;
}
- .pb-lg-3 {
+ .lg\:pb-3 {
padding-block-end: 1rem;
}
- .pb-lg-4 {
+ .lg\:pb-4 {
padding-block-end: 1.5rem;
}
- .pb-lg-5 {
+ .lg\:pb-5 {
padding-block-end: 3rem;
}
- .ps-lg-0 {
+ .lg\:ps-0 {
padding-inline-start: 0;
}
- .ps-lg-1 {
+ .lg\:ps-1 {
padding-inline-start: 0.25rem;
}
- .ps-lg-2 {
+ .lg\:ps-2 {
padding-inline-start: 0.5rem;
}
- .ps-lg-3 {
+ .lg\:ps-3 {
padding-inline-start: 1rem;
}
- .ps-lg-4 {
+ .lg\:ps-4 {
padding-inline-start: 1.5rem;
}
- .ps-lg-5 {
+ .lg\:ps-5 {
padding-inline-start: 3rem;
}
- .gap-lg-0 {
+ .lg\:gap-0 {
gap: 0;
}
- .gap-lg-1 {
+ .lg\:gap-1 {
gap: 0.25rem;
}
- .gap-lg-2 {
+ .lg\:gap-2 {
gap: 0.5rem;
}
- .gap-lg-3 {
+ .lg\:gap-3 {
gap: 1rem;
}
- .gap-lg-4 {
+ .lg\:gap-4 {
gap: 1.5rem;
}
- .gap-lg-5 {
+ .lg\:gap-5 {
gap: 3rem;
}
- .row-gap-lg-0 {
+ .lg\:row-gap-0 {
row-gap: 0;
}
- .row-gap-lg-1 {
+ .lg\:row-gap-1 {
row-gap: 0.25rem;
}
- .row-gap-lg-2 {
+ .lg\:row-gap-2 {
row-gap: 0.5rem;
}
- .row-gap-lg-3 {
+ .lg\:row-gap-3 {
row-gap: 1rem;
}
- .row-gap-lg-4 {
+ .lg\:row-gap-4 {
row-gap: 1.5rem;
}
- .row-gap-lg-5 {
+ .lg\:row-gap-5 {
row-gap: 3rem;
}
- .column-gap-lg-0 {
+ .lg\:column-gap-0 {
-moz-column-gap: 0;
column-gap: 0;
}
- .column-gap-lg-1 {
+ .lg\:column-gap-1 {
-moz-column-gap: 0.25rem;
column-gap: 0.25rem;
}
- .column-gap-lg-2 {
+ .lg\:column-gap-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
- .column-gap-lg-3 {
+ .lg\:column-gap-3 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
- .column-gap-lg-4 {
+ .lg\:column-gap-4 {
-moz-column-gap: 1.5rem;
column-gap: 1.5rem;
}
- .column-gap-lg-5 {
+ .lg\:column-gap-5 {
-moz-column-gap: 3rem;
column-gap: 3rem;
}
}
@media (width >= 1280px) {
- .d-xl-inline {
+ .xl\:d-inline {
display: inline;
}
- .d-xl-inline-block {
+ .xl\:d-inline-block {
display: inline-block;
}
- .d-xl-block {
+ .xl\:d-block {
display: block;
}
- .d-xl-grid {
+ .xl\:d-grid {
display: grid;
}
- .d-xl-inline-grid {
+ .xl\:d-inline-grid {
display: inline-grid;
}
- .d-xl-table {
+ .xl\:d-table {
display: table;
}
- .d-xl-table-row {
+ .xl\:d-table-row {
display: table-row;
}
- .d-xl-table-cell {
+ .xl\:d-table-cell {
display: table-cell;
}
- .d-xl-flex {
+ .xl\:d-flex {
display: flex;
}
- .d-xl-inline-flex {
+ .xl\:d-inline-flex {
display: inline-flex;
}
- .d-xl-contents {
+ .xl\:d-contents {
display: contents;
}
- .d-xl-flow-root {
+ .xl\:d-flow-root {
display: flow-root;
}
- .d-xl-none {
+ .xl\:d-none {
display: none;
}
- .flex-xl-fill {
+ .xl\:flex-fill {
flex: 1 1 auto;
}
- .flex-xl-row {
+ .xl\:flex-row {
flex-direction: row;
}
- .flex-xl-column {
+ .xl\:flex-column {
flex-direction: column;
}
- .flex-xl-row-reverse {
+ .xl\:flex-row-reverse {
flex-direction: row-reverse;
}
- .flex-xl-column-reverse {
+ .xl\:flex-column-reverse {
flex-direction: column-reverse;
}
- .flex-xl-grow-0 {
+ .xl\:flex-grow-0 {
flex-grow: 0;
}
- .flex-xl-grow-1 {
+ .xl\:flex-grow-1 {
flex-grow: 1;
}
- .flex-xl-shrink-0 {
+ .xl\:flex-shrink-0 {
flex-shrink: 0;
}
- .flex-xl-shrink-1 {
+ .xl\:flex-shrink-1 {
flex-shrink: 1;
}
- .flex-xl-wrap {
+ .xl\:flex-wrap {
flex-wrap: wrap;
}
- .flex-xl-nowrap {
+ .xl\:flex-nowrap {
flex-wrap: nowrap;
}
- .flex-xl-wrap-reverse {
+ .xl\:flex-wrap-reverse {
flex-wrap: wrap-reverse;
}
- .justify-content-xl-start {
+ .xl\:justify-content-start {
justify-content: flex-start;
}
- .justify-content-xl-end {
+ .xl\:justify-content-end {
justify-content: flex-end;
}
- .justify-content-xl-center {
+ .xl\:justify-content-center {
justify-content: center;
}
- .justify-content-xl-between {
+ .xl\:justify-content-between {
justify-content: space-between;
}
- .justify-content-xl-around {
+ .xl\:justify-content-around {
justify-content: space-around;
}
- .justify-content-xl-evenly {
+ .xl\:justify-content-evenly {
justify-content: space-evenly;
}
- .justify-items-xl-start {
+ .xl\:justify-items-start {
justify-items: start;
}
- .justify-items-xl-end {
+ .xl\:justify-items-end {
justify-items: end;
}
- .justify-items-xl-center {
+ .xl\:justify-items-center {
justify-items: center;
}
- .justify-items-xl-stretch {
+ .xl\:justify-items-stretch {
justify-items: stretch;
}
- .align-items-xl-start {
+ .xl\:align-items-start {
align-items: flex-start;
}
- .align-items-xl-end {
+ .xl\:align-items-end {
align-items: flex-end;
}
- .align-items-xl-center {
+ .xl\:align-items-center {
align-items: center;
}
- .align-items-xl-baseline {
+ .xl\:align-items-baseline {
align-items: baseline;
}
- .align-items-xl-stretch {
+ .xl\:align-items-stretch {
align-items: stretch;
}
- .align-content-xl-start {
+ .xl\:align-content-start {
align-content: flex-start;
}
- .align-content-xl-end {
+ .xl\:align-content-end {
align-content: flex-end;
}
- .align-content-xl-center {
+ .xl\:align-content-center {
align-content: center;
}
- .align-content-xl-between {
+ .xl\:align-content-between {
align-content: space-between;
}
- .align-content-xl-around {
+ .xl\:align-content-around {
align-content: space-around;
}
- .align-content-xl-stretch {
+ .xl\:align-content-stretch {
align-content: stretch;
}
- .align-self-xl-auto {
+ .xl\:align-self-auto {
align-self: auto;
}
- .align-self-xl-start {
+ .xl\:align-self-start {
align-self: flex-start;
}
- .align-self-xl-end {
+ .xl\:align-self-end {
align-self: flex-end;
}
- .align-self-xl-center {
+ .xl\:align-self-center {
align-self: center;
}
- .align-self-xl-baseline {
+ .xl\:align-self-baseline {
align-self: baseline;
}
- .align-self-xl-stretch {
+ .xl\:align-self-stretch {
align-self: stretch;
}
- .place-items-xl-start {
+ .xl\:place-items-start {
place-items: start;
}
- .place-items-xl-end {
+ .xl\:place-items-end {
place-items: end;
}
- .place-items-xl-center {
+ .xl\:place-items-center {
place-items: center;
}
- .place-items-xl-stretch {
+ .xl\:place-items-stretch {
place-items: stretch;
}
- .grid-cols-xl-2 {
+ .xl\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
- .grid-cols-xl-3 {
+ .xl\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
- .grid-cols-xl-4 {
+ .xl\:grid-cols-4 {
grid-template-columns: repeat(4, 1fr);
}
- .grid-cols-xl-6 {
+ .xl\:grid-cols-6 {
grid-template-columns: repeat(6, 1fr);
}
- .grid-cols-xl-fill {
+ .xl\:grid-cols-fill {
grid-column: 1 / -1;
}
- .grid-auto-flow-xl-row {
+ .xl\:grid-auto-flow-row {
grid-auto-flow: row;
}
- .grid-auto-flow-xl-column {
+ .xl\:grid-auto-flow-column {
grid-auto-flow: column;
}
- .grid-auto-flow-xl-dense {
+ .xl\:grid-auto-flow-dense {
grid-auto-flow: dense;
}
- .order-xl-first {
+ .xl\:order-first {
order: -1;
}
- .order-xl-0 {
+ .xl\:order-0 {
order: 0;
}
- .order-xl-1 {
+ .xl\:order-1 {
order: 1;
}
- .order-xl-2 {
+ .xl\:order-2 {
order: 2;
}
- .order-xl-3 {
+ .xl\:order-3 {
order: 3;
}
- .order-xl-4 {
+ .xl\:order-4 {
order: 4;
}
- .order-xl-5 {
+ .xl\:order-5 {
order: 5;
}
- .order-xl-last {
+ .xl\:order-last {
order: 6;
}
- .m-xl-0 {
+ .xl\:m-0 {
margin: 0;
}
- .m-xl-1 {
+ .xl\:m-1 {
margin: 0.25rem;
}
- .m-xl-2 {
+ .xl\:m-2 {
margin: 0.5rem;
}
- .m-xl-3 {
+ .xl\:m-3 {
margin: 1rem;
}
- .m-xl-4 {
+ .xl\:m-4 {
margin: 1.5rem;
}
- .m-xl-5 {
+ .xl\:m-5 {
margin: 3rem;
}
- .m-xl-auto {
+ .xl\:m-auto {
margin: auto;
}
- .mx-xl-0 {
+ .xl\:mx-0 {
margin-inline: 0;
}
- .mx-xl-1 {
+ .xl\:mx-1 {
margin-inline: 0.25rem;
}
- .mx-xl-2 {
+ .xl\:mx-2 {
margin-inline: 0.5rem;
}
- .mx-xl-3 {
+ .xl\:mx-3 {
margin-inline: 1rem;
}
- .mx-xl-4 {
+ .xl\:mx-4 {
margin-inline: 1.5rem;
}
- .mx-xl-5 {
+ .xl\:mx-5 {
margin-inline: 3rem;
}
- .mx-xl-auto {
+ .xl\:mx-auto {
margin-inline: auto;
}
- .my-xl-0 {
+ .xl\:my-0 {
margin-block: 0;
}
- .my-xl-1 {
+ .xl\:my-1 {
margin-block: 0.25rem;
}
- .my-xl-2 {
+ .xl\:my-2 {
margin-block: 0.5rem;
}
- .my-xl-3 {
+ .xl\:my-3 {
margin-block: 1rem;
}
- .my-xl-4 {
+ .xl\:my-4 {
margin-block: 1.5rem;
}
- .my-xl-5 {
+ .xl\:my-5 {
margin-block: 3rem;
}
- .my-xl-auto {
+ .xl\:my-auto {
margin-block: auto;
}
- .mt-xl-0 {
+ .xl\:mt-0 {
margin-block-start: 0;
}
- .mt-xl-1 {
+ .xl\:mt-1 {
margin-block-start: 0.25rem;
}
- .mt-xl-2 {
+ .xl\:mt-2 {
margin-block-start: 0.5rem;
}
- .mt-xl-3 {
+ .xl\:mt-3 {
margin-block-start: 1rem;
}
- .mt-xl-4 {
+ .xl\:mt-4 {
margin-block-start: 1.5rem;
}
- .mt-xl-5 {
+ .xl\:mt-5 {
margin-block-start: 3rem;
}
- .mt-xl-auto {
+ .xl\:mt-auto {
margin-block-start: auto;
}
- .me-xl-0 {
+ .xl\:me-0 {
margin-inline-end: 0;
}
- .me-xl-1 {
+ .xl\:me-1 {
margin-inline-end: 0.25rem;
}
- .me-xl-2 {
+ .xl\:me-2 {
margin-inline-end: 0.5rem;
}
- .me-xl-3 {
+ .xl\:me-3 {
margin-inline-end: 1rem;
}
- .me-xl-4 {
+ .xl\:me-4 {
margin-inline-end: 1.5rem;
}
- .me-xl-5 {
+ .xl\:me-5 {
margin-inline-end: 3rem;
}
- .me-xl-auto {
+ .xl\:me-auto {
margin-inline-end: auto;
}
- .mb-xl-0 {
+ .xl\:mb-0 {
margin-block-end: 0;
}
- .mb-xl-1 {
+ .xl\:mb-1 {
margin-block-end: 0.25rem;
}
- .mb-xl-2 {
+ .xl\:mb-2 {
margin-block-end: 0.5rem;
}
- .mb-xl-3 {
+ .xl\:mb-3 {
margin-block-end: 1rem;
}
- .mb-xl-4 {
+ .xl\:mb-4 {
margin-block-end: 1.5rem;
}
- .mb-xl-5 {
+ .xl\:mb-5 {
margin-block-end: 3rem;
}
- .mb-xl-auto {
+ .xl\:mb-auto {
margin-block-end: auto;
}
- .ms-xl-0 {
+ .xl\:ms-0 {
margin-inline-start: 0;
}
- .ms-xl-1 {
+ .xl\:ms-1 {
margin-inline-start: 0.25rem;
}
- .ms-xl-2 {
+ .xl\:ms-2 {
margin-inline-start: 0.5rem;
}
- .ms-xl-3 {
+ .xl\:ms-3 {
margin-inline-start: 1rem;
}
- .ms-xl-4 {
+ .xl\:ms-4 {
margin-inline-start: 1.5rem;
}
- .ms-xl-5 {
+ .xl\:ms-5 {
margin-inline-start: 3rem;
}
- .ms-xl--1 {
+ .xl\:ms--1 {
margin-inline-start: -0.25rem;
}
- .ms-xl--2 {
+ .xl\:ms--2 {
margin-inline-start: -0.5rem;
}
- .ms-xl-auto {
+ .xl\:ms-auto {
margin-inline-start: auto;
}
- .p-xl-0 {
+ .xl\:p-0 {
padding: 0;
}
- .p-xl-1 {
+ .xl\:p-1 {
padding: 0.25rem;
}
- .p-xl-2 {
+ .xl\:p-2 {
padding: 0.5rem;
}
- .p-xl-3 {
+ .xl\:p-3 {
padding: 1rem;
}
- .p-xl-4 {
+ .xl\:p-4 {
padding: 1.5rem;
}
- .p-xl-5 {
+ .xl\:p-5 {
padding: 3rem;
}
- .px-xl-0 {
+ .xl\:px-0 {
padding-inline: 0;
}
- .px-xl-1 {
+ .xl\:px-1 {
padding-inline: 0.25rem;
}
- .px-xl-2 {
+ .xl\:px-2 {
padding-inline: 0.5rem;
}
- .px-xl-3 {
+ .xl\:px-3 {
padding-inline: 1rem;
}
- .px-xl-4 {
+ .xl\:px-4 {
padding-inline: 1.5rem;
}
- .px-xl-5 {
+ .xl\:px-5 {
padding-inline: 3rem;
}
- .py-xl-0 {
+ .xl\:py-0 {
padding-block: 0;
}
- .py-xl-1 {
+ .xl\:py-1 {
padding-block: 0.25rem;
}
- .py-xl-2 {
+ .xl\:py-2 {
padding-block: 0.5rem;
}
- .py-xl-3 {
+ .xl\:py-3 {
padding-block: 1rem;
}
- .py-xl-4 {
+ .xl\:py-4 {
padding-block: 1.5rem;
}
- .py-xl-5 {
+ .xl\:py-5 {
padding-block: 3rem;
}
- .pt-xl-0 {
+ .xl\:pt-0 {
padding-block-start: 0;
}
- .pt-xl-1 {
+ .xl\:pt-1 {
padding-block-start: 0.25rem;
}
- .pt-xl-2 {
+ .xl\:pt-2 {
padding-block-start: 0.5rem;
}
- .pt-xl-3 {
+ .xl\:pt-3 {
padding-block-start: 1rem;
}
- .pt-xl-4 {
+ .xl\:pt-4 {
padding-block-start: 1.5rem;
}
- .pt-xl-5 {
+ .xl\:pt-5 {
padding-block-start: 3rem;
}
- .pe-xl-0 {
+ .xl\:pe-0 {
padding-inline-end: 0;
}
- .pe-xl-1 {
+ .xl\:pe-1 {
padding-inline-end: 0.25rem;
}
- .pe-xl-2 {
+ .xl\:pe-2 {
padding-inline-end: 0.5rem;
}
- .pe-xl-3 {
+ .xl\:pe-3 {
padding-inline-end: 1rem;
}
- .pe-xl-4 {
+ .xl\:pe-4 {
padding-inline-end: 1.5rem;
}
- .pe-xl-5 {
+ .xl\:pe-5 {
padding-inline-end: 3rem;
}
- .pb-xl-0 {
+ .xl\:pb-0 {
padding-block-end: 0;
}
- .pb-xl-1 {
+ .xl\:pb-1 {
padding-block-end: 0.25rem;
}
- .pb-xl-2 {
+ .xl\:pb-2 {
padding-block-end: 0.5rem;
}
- .pb-xl-3 {
+ .xl\:pb-3 {
padding-block-end: 1rem;
}
- .pb-xl-4 {
+ .xl\:pb-4 {
padding-block-end: 1.5rem;
}
- .pb-xl-5 {
+ .xl\:pb-5 {
padding-block-end: 3rem;
}
- .ps-xl-0 {
+ .xl\:ps-0 {
padding-inline-start: 0;
}
- .ps-xl-1 {
+ .xl\:ps-1 {
padding-inline-start: 0.25rem;
}
- .ps-xl-2 {
+ .xl\:ps-2 {
padding-inline-start: 0.5rem;
}
- .ps-xl-3 {
+ .xl\:ps-3 {
padding-inline-start: 1rem;
}
- .ps-xl-4 {
+ .xl\:ps-4 {
padding-inline-start: 1.5rem;
}
- .ps-xl-5 {
+ .xl\:ps-5 {
padding-inline-start: 3rem;
}
- .gap-xl-0 {
+ .xl\:gap-0 {
gap: 0;
}
- .gap-xl-1 {
+ .xl\:gap-1 {
gap: 0.25rem;
}
- .gap-xl-2 {
+ .xl\:gap-2 {
gap: 0.5rem;
}
- .gap-xl-3 {
+ .xl\:gap-3 {
gap: 1rem;
}
- .gap-xl-4 {
+ .xl\:gap-4 {
gap: 1.5rem;
}
- .gap-xl-5 {
+ .xl\:gap-5 {
gap: 3rem;
}
- .row-gap-xl-0 {
+ .xl\:row-gap-0 {
row-gap: 0;
}
- .row-gap-xl-1 {
+ .xl\:row-gap-1 {
row-gap: 0.25rem;
}
- .row-gap-xl-2 {
+ .xl\:row-gap-2 {
row-gap: 0.5rem;
}
- .row-gap-xl-3 {
+ .xl\:row-gap-3 {
row-gap: 1rem;
}
- .row-gap-xl-4 {
+ .xl\:row-gap-4 {
row-gap: 1.5rem;
}
- .row-gap-xl-5 {
+ .xl\:row-gap-5 {
row-gap: 3rem;
}
- .column-gap-xl-0 {
+ .xl\:column-gap-0 {
-moz-column-gap: 0;
column-gap: 0;
}
- .column-gap-xl-1 {
+ .xl\:column-gap-1 {
-moz-column-gap: 0.25rem;
column-gap: 0.25rem;
}
- .column-gap-xl-2 {
+ .xl\:column-gap-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
- .column-gap-xl-3 {
+ .xl\:column-gap-3 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
- .column-gap-xl-4 {
+ .xl\:column-gap-4 {
-moz-column-gap: 1.5rem;
column-gap: 1.5rem;
}
- .column-gap-xl-5 {
+ .xl\:column-gap-5 {
-moz-column-gap: 3rem;
column-gap: 3rem;
}
}
@media (width >= 1536px) {
- .d-2xl-inline {
+ .\32 xl\:d-inline {
display: inline;
}
- .d-2xl-inline-block {
+ .\32 xl\:d-inline-block {
display: inline-block;
}
- .d-2xl-block {
+ .\32 xl\:d-block {
display: block;
}
- .d-2xl-grid {
+ .\32 xl\:d-grid {
display: grid;
}
- .d-2xl-inline-grid {
+ .\32 xl\:d-inline-grid {
display: inline-grid;
}
- .d-2xl-table {
+ .\32 xl\:d-table {
display: table;
}
- .d-2xl-table-row {
+ .\32 xl\:d-table-row {
display: table-row;
}
- .d-2xl-table-cell {
+ .\32 xl\:d-table-cell {
display: table-cell;
}
- .d-2xl-flex {
+ .\32 xl\:d-flex {
display: flex;
}
- .d-2xl-inline-flex {
+ .\32 xl\:d-inline-flex {
display: inline-flex;
}
- .d-2xl-contents {
+ .\32 xl\:d-contents {
display: contents;
}
- .d-2xl-flow-root {
+ .\32 xl\:d-flow-root {
display: flow-root;
}
- .d-2xl-none {
+ .\32 xl\:d-none {
display: none;
}
- .flex-2xl-fill {
+ .\32 xl\:flex-fill {
flex: 1 1 auto;
}
- .flex-2xl-row {
+ .\32 xl\:flex-row {
flex-direction: row;
}
- .flex-2xl-column {
+ .\32 xl\:flex-column {
flex-direction: column;
}
- .flex-2xl-row-reverse {
+ .\32 xl\:flex-row-reverse {
flex-direction: row-reverse;
}
- .flex-2xl-column-reverse {
+ .\32 xl\:flex-column-reverse {
flex-direction: column-reverse;
}
- .flex-2xl-grow-0 {
+ .\32 xl\:flex-grow-0 {
flex-grow: 0;
}
- .flex-2xl-grow-1 {
+ .\32 xl\:flex-grow-1 {
flex-grow: 1;
}
- .flex-2xl-shrink-0 {
+ .\32 xl\:flex-shrink-0 {
flex-shrink: 0;
}
- .flex-2xl-shrink-1 {
+ .\32 xl\:flex-shrink-1 {
flex-shrink: 1;
}
- .flex-2xl-wrap {
+ .\32 xl\:flex-wrap {
flex-wrap: wrap;
}
- .flex-2xl-nowrap {
+ .\32 xl\:flex-nowrap {
flex-wrap: nowrap;
}
- .flex-2xl-wrap-reverse {
+ .\32 xl\:flex-wrap-reverse {
flex-wrap: wrap-reverse;
}
- .justify-content-2xl-start {
+ .\32 xl\:justify-content-start {
justify-content: flex-start;
}
- .justify-content-2xl-end {
+ .\32 xl\:justify-content-end {
justify-content: flex-end;
}
- .justify-content-2xl-center {
+ .\32 xl\:justify-content-center {
justify-content: center;
}
- .justify-content-2xl-between {
+ .\32 xl\:justify-content-between {
justify-content: space-between;
}
- .justify-content-2xl-around {
+ .\32 xl\:justify-content-around {
justify-content: space-around;
}
- .justify-content-2xl-evenly {
+ .\32 xl\:justify-content-evenly {
justify-content: space-evenly;
}
- .justify-items-2xl-start {
+ .\32 xl\:justify-items-start {
justify-items: start;
}
- .justify-items-2xl-end {
+ .\32 xl\:justify-items-end {
justify-items: end;
}
- .justify-items-2xl-center {
+ .\32 xl\:justify-items-center {
justify-items: center;
}
- .justify-items-2xl-stretch {
+ .\32 xl\:justify-items-stretch {
justify-items: stretch;
}
- .align-items-2xl-start {
+ .\32 xl\:align-items-start {
align-items: flex-start;
}
- .align-items-2xl-end {
+ .\32 xl\:align-items-end {
align-items: flex-end;
}
- .align-items-2xl-center {
+ .\32 xl\:align-items-center {
align-items: center;
}
- .align-items-2xl-baseline {
+ .\32 xl\:align-items-baseline {
align-items: baseline;
}
- .align-items-2xl-stretch {
+ .\32 xl\:align-items-stretch {
align-items: stretch;
}
- .align-content-2xl-start {
+ .\32 xl\:align-content-start {
align-content: flex-start;
}
- .align-content-2xl-end {
+ .\32 xl\:align-content-end {
align-content: flex-end;
}
- .align-content-2xl-center {
+ .\32 xl\:align-content-center {
align-content: center;
}
- .align-content-2xl-between {
+ .\32 xl\:align-content-between {
align-content: space-between;
}
- .align-content-2xl-around {
+ .\32 xl\:align-content-around {
align-content: space-around;
}
- .align-content-2xl-stretch {
+ .\32 xl\:align-content-stretch {
align-content: stretch;
}
- .align-self-2xl-auto {
+ .\32 xl\:align-self-auto {
align-self: auto;
}
- .align-self-2xl-start {
+ .\32 xl\:align-self-start {
align-self: flex-start;
}
- .align-self-2xl-end {
+ .\32 xl\:align-self-end {
align-self: flex-end;
}
- .align-self-2xl-center {
+ .\32 xl\:align-self-center {
align-self: center;
}
- .align-self-2xl-baseline {
+ .\32 xl\:align-self-baseline {
align-self: baseline;
}
- .align-self-2xl-stretch {
+ .\32 xl\:align-self-stretch {
align-self: stretch;
}
- .place-items-2xl-start {
+ .\32 xl\:place-items-start {
place-items: start;
}
- .place-items-2xl-end {
+ .\32 xl\:place-items-end {
place-items: end;
}
- .place-items-2xl-center {
+ .\32 xl\:place-items-center {
place-items: center;
}
- .place-items-2xl-stretch {
+ .\32 xl\:place-items-stretch {
place-items: stretch;
}
- .grid-cols-2xl-2 {
+ .\32 xl\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
- .grid-cols-2xl-3 {
+ .\32 xl\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
- .grid-cols-2xl-4 {
+ .\32 xl\:grid-cols-4 {
grid-template-columns: repeat(4, 1fr);
}
- .grid-cols-2xl-6 {
+ .\32 xl\:grid-cols-6 {
grid-template-columns: repeat(6, 1fr);
}
- .grid-cols-2xl-fill {
+ .\32 xl\:grid-cols-fill {
grid-column: 1 / -1;
}
- .grid-auto-flow-2xl-row {
+ .\32 xl\:grid-auto-flow-row {
grid-auto-flow: row;
}
- .grid-auto-flow-2xl-column {
+ .\32 xl\:grid-auto-flow-column {
grid-auto-flow: column;
}
- .grid-auto-flow-2xl-dense {
+ .\32 xl\:grid-auto-flow-dense {
grid-auto-flow: dense;
}
- .order-2xl-first {
+ .\32 xl\:order-first {
order: -1;
}
- .order-2xl-0 {
+ .\32 xl\:order-0 {
order: 0;
}
- .order-2xl-1 {
+ .\32 xl\:order-1 {
order: 1;
}
- .order-2xl-2 {
+ .\32 xl\:order-2 {
order: 2;
}
- .order-2xl-3 {
+ .\32 xl\:order-3 {
order: 3;
}
- .order-2xl-4 {
+ .\32 xl\:order-4 {
order: 4;
}
- .order-2xl-5 {
+ .\32 xl\:order-5 {
order: 5;
}
- .order-2xl-last {
+ .\32 xl\:order-last {
order: 6;
}
- .m-2xl-0 {
+ .\32 xl\:m-0 {
margin: 0;
}
- .m-2xl-1 {
+ .\32 xl\:m-1 {
margin: 0.25rem;
}
- .m-2xl-2 {
+ .\32 xl\:m-2 {
margin: 0.5rem;
}
- .m-2xl-3 {
+ .\32 xl\:m-3 {
margin: 1rem;
}
- .m-2xl-4 {
+ .\32 xl\:m-4 {
margin: 1.5rem;
}
- .m-2xl-5 {
+ .\32 xl\:m-5 {
margin: 3rem;
}
- .m-2xl-auto {
+ .\32 xl\:m-auto {
margin: auto;
}
- .mx-2xl-0 {
+ .\32 xl\:mx-0 {
margin-inline: 0;
}
- .mx-2xl-1 {
+ .\32 xl\:mx-1 {
margin-inline: 0.25rem;
}
- .mx-2xl-2 {
+ .\32 xl\:mx-2 {
margin-inline: 0.5rem;
}
- .mx-2xl-3 {
+ .\32 xl\:mx-3 {
margin-inline: 1rem;
}
- .mx-2xl-4 {
+ .\32 xl\:mx-4 {
margin-inline: 1.5rem;
}
- .mx-2xl-5 {
+ .\32 xl\:mx-5 {
margin-inline: 3rem;
}
- .mx-2xl-auto {
+ .\32 xl\:mx-auto {
margin-inline: auto;
}
- .my-2xl-0 {
+ .\32 xl\:my-0 {
margin-block: 0;
}
- .my-2xl-1 {
+ .\32 xl\:my-1 {
margin-block: 0.25rem;
}
- .my-2xl-2 {
+ .\32 xl\:my-2 {
margin-block: 0.5rem;
}
- .my-2xl-3 {
+ .\32 xl\:my-3 {
margin-block: 1rem;
}
- .my-2xl-4 {
+ .\32 xl\:my-4 {
margin-block: 1.5rem;
}
- .my-2xl-5 {
+ .\32 xl\:my-5 {
margin-block: 3rem;
}
- .my-2xl-auto {
+ .\32 xl\:my-auto {
margin-block: auto;
}
- .mt-2xl-0 {
+ .\32 xl\:mt-0 {
margin-block-start: 0;
}
- .mt-2xl-1 {
+ .\32 xl\:mt-1 {
margin-block-start: 0.25rem;
}
- .mt-2xl-2 {
+ .\32 xl\:mt-2 {
margin-block-start: 0.5rem;
}
- .mt-2xl-3 {
+ .\32 xl\:mt-3 {
margin-block-start: 1rem;
}
- .mt-2xl-4 {
+ .\32 xl\:mt-4 {
margin-block-start: 1.5rem;
}
- .mt-2xl-5 {
+ .\32 xl\:mt-5 {
margin-block-start: 3rem;
}
- .mt-2xl-auto {
+ .\32 xl\:mt-auto {
margin-block-start: auto;
}
- .me-2xl-0 {
+ .\32 xl\:me-0 {
margin-inline-end: 0;
}
- .me-2xl-1 {
+ .\32 xl\:me-1 {
margin-inline-end: 0.25rem;
}
- .me-2xl-2 {
+ .\32 xl\:me-2 {
margin-inline-end: 0.5rem;
}
- .me-2xl-3 {
+ .\32 xl\:me-3 {
margin-inline-end: 1rem;
}
- .me-2xl-4 {
+ .\32 xl\:me-4 {
margin-inline-end: 1.5rem;
}
- .me-2xl-5 {
+ .\32 xl\:me-5 {
margin-inline-end: 3rem;
}
- .me-2xl-auto {
+ .\32 xl\:me-auto {
margin-inline-end: auto;
}
- .mb-2xl-0 {
+ .\32 xl\:mb-0 {
margin-block-end: 0;
}
- .mb-2xl-1 {
+ .\32 xl\:mb-1 {
margin-block-end: 0.25rem;
}
- .mb-2xl-2 {
+ .\32 xl\:mb-2 {
margin-block-end: 0.5rem;
}
- .mb-2xl-3 {
+ .\32 xl\:mb-3 {
margin-block-end: 1rem;
}
- .mb-2xl-4 {
+ .\32 xl\:mb-4 {
margin-block-end: 1.5rem;
}
- .mb-2xl-5 {
+ .\32 xl\:mb-5 {
margin-block-end: 3rem;
}
- .mb-2xl-auto {
+ .\32 xl\:mb-auto {
margin-block-end: auto;
}
- .ms-2xl-0 {
+ .\32 xl\:ms-0 {
margin-inline-start: 0;
}
- .ms-2xl-1 {
+ .\32 xl\:ms-1 {
margin-inline-start: 0.25rem;
}
- .ms-2xl-2 {
+ .\32 xl\:ms-2 {
margin-inline-start: 0.5rem;
}
- .ms-2xl-3 {
+ .\32 xl\:ms-3 {
margin-inline-start: 1rem;
}
- .ms-2xl-4 {
+ .\32 xl\:ms-4 {
margin-inline-start: 1.5rem;
}
- .ms-2xl-5 {
+ .\32 xl\:ms-5 {
margin-inline-start: 3rem;
}
- .ms-2xl--1 {
+ .\32 xl\:ms--1 {
margin-inline-start: -0.25rem;
}
- .ms-2xl--2 {
+ .\32 xl\:ms--2 {
margin-inline-start: -0.5rem;
}
- .ms-2xl-auto {
+ .\32 xl\:ms-auto {
margin-inline-start: auto;
}
- .p-2xl-0 {
+ .\32 xl\:p-0 {
padding: 0;
}
- .p-2xl-1 {
+ .\32 xl\:p-1 {
padding: 0.25rem;
}
- .p-2xl-2 {
+ .\32 xl\:p-2 {
padding: 0.5rem;
}
- .p-2xl-3 {
+ .\32 xl\:p-3 {
padding: 1rem;
}
- .p-2xl-4 {
+ .\32 xl\:p-4 {
padding: 1.5rem;
}
- .p-2xl-5 {
+ .\32 xl\:p-5 {
padding: 3rem;
}
- .px-2xl-0 {
+ .\32 xl\:px-0 {
padding-inline: 0;
}
- .px-2xl-1 {
+ .\32 xl\:px-1 {
padding-inline: 0.25rem;
}
- .px-2xl-2 {
+ .\32 xl\:px-2 {
padding-inline: 0.5rem;
}
- .px-2xl-3 {
+ .\32 xl\:px-3 {
padding-inline: 1rem;
}
- .px-2xl-4 {
+ .\32 xl\:px-4 {
padding-inline: 1.5rem;
}
- .px-2xl-5 {
+ .\32 xl\:px-5 {
padding-inline: 3rem;
}
- .py-2xl-0 {
+ .\32 xl\:py-0 {
padding-block: 0;
}
- .py-2xl-1 {
+ .\32 xl\:py-1 {
padding-block: 0.25rem;
}
- .py-2xl-2 {
+ .\32 xl\:py-2 {
padding-block: 0.5rem;
}
- .py-2xl-3 {
+ .\32 xl\:py-3 {
padding-block: 1rem;
}
- .py-2xl-4 {
+ .\32 xl\:py-4 {
padding-block: 1.5rem;
}
- .py-2xl-5 {
+ .\32 xl\:py-5 {
padding-block: 3rem;
}
- .pt-2xl-0 {
+ .\32 xl\:pt-0 {
padding-block-start: 0;
}
- .pt-2xl-1 {
+ .\32 xl\:pt-1 {
padding-block-start: 0.25rem;
}
- .pt-2xl-2 {
+ .\32 xl\:pt-2 {
padding-block-start: 0.5rem;
}
- .pt-2xl-3 {
+ .\32 xl\:pt-3 {
padding-block-start: 1rem;
}
- .pt-2xl-4 {
+ .\32 xl\:pt-4 {
padding-block-start: 1.5rem;
}
- .pt-2xl-5 {
+ .\32 xl\:pt-5 {
padding-block-start: 3rem;
}
- .pe-2xl-0 {
+ .\32 xl\:pe-0 {
padding-inline-end: 0;
}
- .pe-2xl-1 {
+ .\32 xl\:pe-1 {
padding-inline-end: 0.25rem;
}
- .pe-2xl-2 {
+ .\32 xl\:pe-2 {
padding-inline-end: 0.5rem;
}
- .pe-2xl-3 {
+ .\32 xl\:pe-3 {
padding-inline-end: 1rem;
}
- .pe-2xl-4 {
+ .\32 xl\:pe-4 {
padding-inline-end: 1.5rem;
}
- .pe-2xl-5 {
+ .\32 xl\:pe-5 {
padding-inline-end: 3rem;
}
- .pb-2xl-0 {
+ .\32 xl\:pb-0 {
padding-block-end: 0;
}
- .pb-2xl-1 {
+ .\32 xl\:pb-1 {
padding-block-end: 0.25rem;
}
- .pb-2xl-2 {
+ .\32 xl\:pb-2 {
padding-block-end: 0.5rem;
}
- .pb-2xl-3 {
+ .\32 xl\:pb-3 {
padding-block-end: 1rem;
}
- .pb-2xl-4 {
+ .\32 xl\:pb-4 {
padding-block-end: 1.5rem;
}
- .pb-2xl-5 {
+ .\32 xl\:pb-5 {
padding-block-end: 3rem;
}
- .ps-2xl-0 {
+ .\32 xl\:ps-0 {
padding-inline-start: 0;
}
- .ps-2xl-1 {
+ .\32 xl\:ps-1 {
padding-inline-start: 0.25rem;
}
- .ps-2xl-2 {
+ .\32 xl\:ps-2 {
padding-inline-start: 0.5rem;
}
- .ps-2xl-3 {
+ .\32 xl\:ps-3 {
padding-inline-start: 1rem;
}
- .ps-2xl-4 {
+ .\32 xl\:ps-4 {
padding-inline-start: 1.5rem;
}
- .ps-2xl-5 {
+ .\32 xl\:ps-5 {
padding-inline-start: 3rem;
}
- .gap-2xl-0 {
+ .\32 xl\:gap-0 {
gap: 0;
}
- .gap-2xl-1 {
+ .\32 xl\:gap-1 {
gap: 0.25rem;
}
- .gap-2xl-2 {
+ .\32 xl\:gap-2 {
gap: 0.5rem;
}
- .gap-2xl-3 {
+ .\32 xl\:gap-3 {
gap: 1rem;
}
- .gap-2xl-4 {
+ .\32 xl\:gap-4 {
gap: 1.5rem;
}
- .gap-2xl-5 {
+ .\32 xl\:gap-5 {
gap: 3rem;
}
- .row-gap-2xl-0 {
+ .\32 xl\:row-gap-0 {
row-gap: 0;
}
- .row-gap-2xl-1 {
+ .\32 xl\:row-gap-1 {
row-gap: 0.25rem;
}
- .row-gap-2xl-2 {
+ .\32 xl\:row-gap-2 {
row-gap: 0.5rem;
}
- .row-gap-2xl-3 {
+ .\32 xl\:row-gap-3 {
row-gap: 1rem;
}
- .row-gap-2xl-4 {
+ .\32 xl\:row-gap-4 {
row-gap: 1.5rem;
}
- .row-gap-2xl-5 {
+ .\32 xl\:row-gap-5 {
row-gap: 3rem;
}
- .column-gap-2xl-0 {
+ .\32 xl\:column-gap-0 {
-moz-column-gap: 0;
column-gap: 0;
}
- .column-gap-2xl-1 {
+ .\32 xl\:column-gap-1 {
-moz-column-gap: 0.25rem;
column-gap: 0.25rem;
}
- .column-gap-2xl-2 {
+ .\32 xl\:column-gap-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
- .column-gap-2xl-3 {
+ .\32 xl\:column-gap-3 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
- .column-gap-2xl-4 {
+ .\32 xl\:column-gap-4 {
-moz-column-gap: 1.5rem;
column-gap: 1.5rem;
}
- .column-gap-2xl-5 {
+ .\32 xl\:column-gap-5 {
-moz-column-gap: 3rem;
column-gap: 3rem;
}
-{"version":3,"sources":["../../scss/_banner.scss","../../scss/layout/_containers.scss","bootstrap-grid.css","../../scss/layout/_breakpoints.scss","../../scss/_config.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss","../../scss/bootstrap-grid.scss"],"names":[],"mappings":"AAEA;;;;GAAA;ACcA;EAGI;;;;;;;IAVF,qBAAA;IACA,gBAAA;IACA,WAAA;IACA,8CAAA;IACA,mBAAA;ECKA;ECuFE;IFtEI;MACE,gBGgFa;IF9FnB;EACF;ECkFE;IFtEI;MACE,gBGgFa;IFzFnB;EACF;EC6EE;IFtEI;MACE,gBGgFa;IFpFnB;EACF;ECwEE;IFtEI;MACE,iBGgFa;IF/EnB;EACF;ECmEE;IFtEI;MACE,iBGgFa;IF1EnB;EACF;AACF;AGtCA;EAEI;ICGF,qBAAA;IACA,gBAAA;IACA,aAAA;IACA,eAAA;IAEA,8CAAA;IACA,yCAAA;EJoCA;EG1CI;ICgBJ,cAAA;IACA,WAAA;IACA,eAAA;IACA,8CAAA;IACA,8BAAA;EJ6BA;EImBI;IACE,WAAA;EJjBN;EIoBI;IArCJ,cAAA;IACA,WAAA;EJoBA;EILA;IACE,cAAA;IACA,WAAA;EJOF;EITA;IACE,cAAA;IACA,UAAA;EJWF;EIbA;IACE,cAAA;IACA,qBAAA;EJeF;EIjBA;IACE,cAAA;IACA,UAAA;EJmBF;EIrBA;IACE,cAAA;IACA,UAAA;EJuBF;EIzBA;IACE,cAAA;IACA,qBAAA;EJ2BF;EIII;IAjDJ,cAAA;IACA,WAAA;EJgDA;EIMQ;IAjEN,cAAA;IACA,oBAAA;EJ8DF;EIEQ;IAjEN,cAAA;IACA,qBAAA;EJkEF;EIFQ;IAjEN,cAAA;IACA,UAAA;EJsEF;EINQ;IAjEN,cAAA;IACA,qBAAA;EJ0EF;EIVQ;IAjEN,cAAA;IACA,qBAAA;EJ8EF;EIdQ;IAjEN,cAAA;IACA,UAAA;EJkFF;EIlBQ;IAjEN,cAAA;IACA,qBAAA;EJsFF;EItBQ;IAjEN,cAAA;IACA,qBAAA;EJ0FF;EI1BQ;IAjEN,cAAA;IACA,UAAA;EJ8FF;EI9BQ;IAjEN,cAAA;IACA,qBAAA;EJkGF;EIlCQ;IAjEN,cAAA;IACA,qBAAA;EJsGF;EItCQ;IAjEN,cAAA;IACA,WAAA;EJ0GF;EIlCU;IAxDV,kCAAA;EJ6FA;EIrCU;IAxDV,mCAAA;EJgGA;EIxCU;IAxDV,wBAAA;EJmGA;EI3CU;IAxDV,mCAAA;EJsGA;EI9CU;IAxDV,mCAAA;EJyGA;EIjDU;IAxDV,wBAAA;EJ4GA;EIpDU;IAxDV,mCAAA;EJ+GA;EIvDU;IAxDV,mCAAA;EJkHA;EI1DU;IAxDV,wBAAA;EJqHA;EI7DU;IAxDV,mCAAA;EJwHA;EIhEU;IAxDV,mCAAA;EJ2HA;EIxDM;;IAEE,gBAAA;EJ0DR;EIvDM;;IAEE,gBAAA;EJyDR;EIhEM;;IAEE,sBAAA;EJkER;EI/DM;;IAEE,sBAAA;EJiER;EIxEM;;IAEE,qBAAA;EJ0ER;EIvEM;;IAEE,qBAAA;EJyER;EIhFM;;IAEE,mBAAA;EJkFR;EI/EM;;IAEE,mBAAA;EJiFR;EIxFM;;IAEE,qBAAA;EJ0FR;EIvFM;;IAEE,qBAAA;EJyFR;EIhGM;;IAEE,mBAAA;EJkGR;EI/FM;;IAEE,mBAAA;EJiGR;ECvHE;IG1BE;MACE,WAAA;IJoJJ;IIjJE;MArCJ,cAAA;MACA,WAAA;IJyLE;II1KF;MACE,cAAA;MACA,WAAA;IJ4KA;II9KF;MACE,cAAA;MACA,UAAA;IJgLA;IIlLF;MACE,cAAA;MACA,qBAAA;IJoLA;IItLF;MACE,cAAA;MACA,UAAA;IJwLA;II1LF;MACE,cAAA;MACA,UAAA;IJ4LA;II9LF;MACE,cAAA;MACA,qBAAA;IJgMA;IIjKE;MAjDJ,cAAA;MACA,WAAA;IJqNE;II/JM;MAjEN,cAAA;MACA,oBAAA;IJmOA;IInKM;MAjEN,cAAA;MACA,qBAAA;IJuOA;IIvKM;MAjEN,cAAA;MACA,UAAA;IJ2OA;II3KM;MAjEN,cAAA;MACA,qBAAA;IJ+OA;II/KM;MAjEN,cAAA;MACA,qBAAA;IJmPA;IInLM;MAjEN,cAAA;MACA,UAAA;IJuPA;IIvLM;MAjEN,cAAA;MACA,qBAAA;IJ2PA;II3LM;MAjEN,cAAA;MACA,qBAAA;IJ+PA;II/LM;MAjEN,cAAA;MACA,UAAA;IJmQA;IInMM;MAjEN,cAAA;MACA,qBAAA;IJuQA;IIvMM;MAjEN,cAAA;MACA,qBAAA;IJ2QA;II3MM;MAjEN,cAAA;MACA,WAAA;IJ+QA;IIvMQ;MAxDV,sBAAA;IJkQE;II1MQ;MAxDV,kCAAA;IJqQE;II7MQ;MAxDV,mCAAA;IJwQE;IIhNQ;MAxDV,wBAAA;IJ2QE;IInNQ;MAxDV,mCAAA;IJ8QE;IItNQ;MAxDV,mCAAA;IJiRE;IIzNQ;MAxDV,wBAAA;IJoRE;II5NQ;MAxDV,mCAAA;IJuRE;II/NQ;MAxDV,mCAAA;IJ0RE;IIlOQ;MAxDV,wBAAA;IJ6RE;IIrOQ;MAxDV,mCAAA;IJgSE;IIxOQ;MAxDV,mCAAA;IJmSE;IIhOI;;MAEE,gBAAA;IJkON;II/NI;;MAEE,gBAAA;IJiON;IIxOI;;MAEE,sBAAA;IJ0ON;IIvOI;;MAEE,sBAAA;IJyON;IIhPI;;MAEE,qBAAA;IJkPN;II/OI;;MAEE,qBAAA;IJiPN;IIxPI;;MAEE,mBAAA;IJ0PN;IIvPI;;MAEE,mBAAA;IJyPN;IIhQI;;MAEE,qBAAA;IJkQN;II/PI;;MAEE,qBAAA;IJiQN;IIxQI;;MAEE,mBAAA;IJ0QN;IIvQI;;MAEE,mBAAA;IJyQN;EACF;EChSE;IG1BE;MACE,WAAA;IJ6TJ;II1TE;MArCJ,cAAA;MACA,WAAA;IJkWE;IInVF;MACE,cAAA;MACA,WAAA;IJqVA;IIvVF;MACE,cAAA;MACA,UAAA;IJyVA;II3VF;MACE,cAAA;MACA,qBAAA;IJ6VA;II/VF;MACE,cAAA;MACA,UAAA;IJiWA;IInWF;MACE,cAAA;MACA,UAAA;IJqWA;IIvWF;MACE,cAAA;MACA,qBAAA;IJyWA;II1UE;MAjDJ,cAAA;MACA,WAAA;IJ8XE;IIxUM;MAjEN,cAAA;MACA,oBAAA;IJ4YA;II5UM;MAjEN,cAAA;MACA,qBAAA;IJgZA;IIhVM;MAjEN,cAAA;MACA,UAAA;IJoZA;IIpVM;MAjEN,cAAA;MACA,qBAAA;IJwZA;IIxVM;MAjEN,cAAA;MACA,qBAAA;IJ4ZA;II5VM;MAjEN,cAAA;MACA,UAAA;IJgaA;IIhWM;MAjEN,cAAA;MACA,qBAAA;IJoaA;IIpWM;MAjEN,cAAA;MACA,qBAAA;IJwaA;IIxWM;MAjEN,cAAA;MACA,UAAA;IJ4aA;II5WM;MAjEN,cAAA;MACA,qBAAA;IJgbA;IIhXM;MAjEN,cAAA;MACA,qBAAA;IJobA;IIpXM;MAjEN,cAAA;MACA,WAAA;IJwbA;IIhXQ;MAxDV,sBAAA;IJ2aE;IInXQ;MAxDV,kCAAA;IJ8aE;IItXQ;MAxDV,mCAAA;IJibE;IIzXQ;MAxDV,wBAAA;IJobE;II5XQ;MAxDV,mCAAA;IJubE;II/XQ;MAxDV,mCAAA;IJ0bE;IIlYQ;MAxDV,wBAAA;IJ6bE;IIrYQ;MAxDV,mCAAA;IJgcE;IIxYQ;MAxDV,mCAAA;IJmcE;II3YQ;MAxDV,wBAAA;IJscE;II9YQ;MAxDV,mCAAA;IJycE;IIjZQ;MAxDV,mCAAA;IJ4cE;IIzYI;;MAEE,gBAAA;IJ2YN;IIxYI;;MAEE,gBAAA;IJ0YN;IIjZI;;MAEE,sBAAA;IJmZN;IIhZI;;MAEE,sBAAA;IJkZN;IIzZI;;MAEE,qBAAA;IJ2ZN;IIxZI;;MAEE,qBAAA;IJ0ZN;IIjaI;;MAEE,mBAAA;IJmaN;IIhaI;;MAEE,mBAAA;IJkaN;IIzaI;;MAEE,qBAAA;IJ2aN;IIxaI;;MAEE,qBAAA;IJ0aN;IIjbI;;MAEE,mBAAA;IJmbN;IIhbI;;MAEE,mBAAA;IJkbN;EACF;ECzcE;IG1BE;MACE,WAAA;IJseJ;IIneE;MArCJ,cAAA;MACA,WAAA;IJ2gBE;II5fF;MACE,cAAA;MACA,WAAA;IJ8fA;IIhgBF;MACE,cAAA;MACA,UAAA;IJkgBA;IIpgBF;MACE,cAAA;MACA,qBAAA;IJsgBA;IIxgBF;MACE,cAAA;MACA,UAAA;IJ0gBA;II5gBF;MACE,cAAA;MACA,UAAA;IJ8gBA;IIhhBF;MACE,cAAA;MACA,qBAAA;IJkhBA;IInfE;MAjDJ,cAAA;MACA,WAAA;IJuiBE;IIjfM;MAjEN,cAAA;MACA,oBAAA;IJqjBA;IIrfM;MAjEN,cAAA;MACA,qBAAA;IJyjBA;IIzfM;MAjEN,cAAA;MACA,UAAA;IJ6jBA;II7fM;MAjEN,cAAA;MACA,qBAAA;IJikBA;IIjgBM;MAjEN,cAAA;MACA,qBAAA;IJqkBA;IIrgBM;MAjEN,cAAA;MACA,UAAA;IJykBA;IIzgBM;MAjEN,cAAA;MACA,qBAAA;IJ6kBA;II7gBM;MAjEN,cAAA;MACA,qBAAA;IJilBA;IIjhBM;MAjEN,cAAA;MACA,UAAA;IJqlBA;IIrhBM;MAjEN,cAAA;MACA,qBAAA;IJylBA;IIzhBM;MAjEN,cAAA;MACA,qBAAA;IJ6lBA;II7hBM;MAjEN,cAAA;MACA,WAAA;IJimBA;IIzhBQ;MAxDV,sBAAA;IJolBE;II5hBQ;MAxDV,kCAAA;IJulBE;II/hBQ;MAxDV,mCAAA;IJ0lBE;IIliBQ;MAxDV,wBAAA;IJ6lBE;IIriBQ;MAxDV,mCAAA;IJgmBE;IIxiBQ;MAxDV,mCAAA;IJmmBE;II3iBQ;MAxDV,wBAAA;IJsmBE;II9iBQ;MAxDV,mCAAA;IJymBE;IIjjBQ;MAxDV,mCAAA;IJ4mBE;IIpjBQ;MAxDV,wBAAA;IJ+mBE;IIvjBQ;MAxDV,mCAAA;IJknBE;II1jBQ;MAxDV,mCAAA;IJqnBE;IIljBI;;MAEE,gBAAA;IJojBN;IIjjBI;;MAEE,gBAAA;IJmjBN;II1jBI;;MAEE,sBAAA;IJ4jBN;IIzjBI;;MAEE,sBAAA;IJ2jBN;IIlkBI;;MAEE,qBAAA;IJokBN;IIjkBI;;MAEE,qBAAA;IJmkBN;II1kBI;;MAEE,mBAAA;IJ4kBN;IIzkBI;;MAEE,mBAAA;IJ2kBN;IIllBI;;MAEE,qBAAA;IJolBN;IIjlBI;;MAEE,qBAAA;IJmlBN;II1lBI;;MAEE,mBAAA;IJ4lBN;IIzlBI;;MAEE,mBAAA;IJ2lBN;EACF;EClnBE;IG1BE;MACE,WAAA;IJ+oBJ;II5oBE;MArCJ,cAAA;MACA,WAAA;IJorBE;IIrqBF;MACE,cAAA;MACA,WAAA;IJuqBA;IIzqBF;MACE,cAAA;MACA,UAAA;IJ2qBA;II7qBF;MACE,cAAA;MACA,qBAAA;IJ+qBA;IIjrBF;MACE,cAAA;MACA,UAAA;IJmrBA;IIrrBF;MACE,cAAA;MACA,UAAA;IJurBA;IIzrBF;MACE,cAAA;MACA,qBAAA;IJ2rBA;II5pBE;MAjDJ,cAAA;MACA,WAAA;IJgtBE;II1pBM;MAjEN,cAAA;MACA,oBAAA;IJ8tBA;II9pBM;MAjEN,cAAA;MACA,qBAAA;IJkuBA;IIlqBM;MAjEN,cAAA;MACA,UAAA;IJsuBA;IItqBM;MAjEN,cAAA;MACA,qBAAA;IJ0uBA;II1qBM;MAjEN,cAAA;MACA,qBAAA;IJ8uBA;II9qBM;MAjEN,cAAA;MACA,UAAA;IJkvBA;IIlrBM;MAjEN,cAAA;MACA,qBAAA;IJsvBA;IItrBM;MAjEN,cAAA;MACA,qBAAA;IJ0vBA;II1rBM;MAjEN,cAAA;MACA,UAAA;IJ8vBA;II9rBM;MAjEN,cAAA;MACA,qBAAA;IJkwBA;IIlsBM;MAjEN,cAAA;MACA,qBAAA;IJswBA;IItsBM;MAjEN,cAAA;MACA,WAAA;IJ0wBA;IIlsBQ;MAxDV,sBAAA;IJ6vBE;IIrsBQ;MAxDV,kCAAA;IJgwBE;IIxsBQ;MAxDV,mCAAA;IJmwBE;II3sBQ;MAxDV,wBAAA;IJswBE;II9sBQ;MAxDV,mCAAA;IJywBE;IIjtBQ;MAxDV,mCAAA;IJ4wBE;IIptBQ;MAxDV,wBAAA;IJ+wBE;IIvtBQ;MAxDV,mCAAA;IJkxBE;II1tBQ;MAxDV,mCAAA;IJqxBE;II7tBQ;MAxDV,wBAAA;IJwxBE;IIhuBQ;MAxDV,mCAAA;IJ2xBE;IInuBQ;MAxDV,mCAAA;IJ8xBE;II3tBI;;MAEE,gBAAA;IJ6tBN;II1tBI;;MAEE,gBAAA;IJ4tBN;IInuBI;;MAEE,sBAAA;IJquBN;IIluBI;;MAEE,sBAAA;IJouBN;II3uBI;;MAEE,qBAAA;IJ6uBN;II1uBI;;MAEE,qBAAA;IJ4uBN;IInvBI;;MAEE,mBAAA;IJqvBN;IIlvBI;;MAEE,mBAAA;IJovBN;II3vBI;;MAEE,qBAAA;IJ6vBN;II1vBI;;MAEE,qBAAA;IJ4vBN;IInwBI;;MAEE,mBAAA;IJqwBN;IIlwBI;;MAEE,mBAAA;IJowBN;EACF;EC3xBE;IG1BE;MACE,WAAA;IJwzBJ;IIrzBE;MArCJ,cAAA;MACA,WAAA;IJ61BE;II90BF;MACE,cAAA;MACA,WAAA;IJg1BA;IIl1BF;MACE,cAAA;MACA,UAAA;IJo1BA;IIt1BF;MACE,cAAA;MACA,qBAAA;IJw1BA;II11BF;MACE,cAAA;MACA,UAAA;IJ41BA;II91BF;MACE,cAAA;MACA,UAAA;IJg2BA;IIl2BF;MACE,cAAA;MACA,qBAAA;IJo2BA;IIr0BE;MAjDJ,cAAA;MACA,WAAA;IJy3BE;IIn0BM;MAjEN,cAAA;MACA,oBAAA;IJu4BA;IIv0BM;MAjEN,cAAA;MACA,qBAAA;IJ24BA;II30BM;MAjEN,cAAA;MACA,UAAA;IJ+4BA;II/0BM;MAjEN,cAAA;MACA,qBAAA;IJm5BA;IIn1BM;MAjEN,cAAA;MACA,qBAAA;IJu5BA;IIv1BM;MAjEN,cAAA;MACA,UAAA;IJ25BA;II31BM;MAjEN,cAAA;MACA,qBAAA;IJ+5BA;II/1BM;MAjEN,cAAA;MACA,qBAAA;IJm6BA;IIn2BM;MAjEN,cAAA;MACA,UAAA;IJu6BA;IIv2BM;MAjEN,cAAA;MACA,qBAAA;IJ26BA;II32BM;MAjEN,cAAA;MACA,qBAAA;IJ+6BA;II/2BM;MAjEN,cAAA;MACA,WAAA;IJm7BA;II32BQ;MAxDV,sBAAA;IJs6BE;II92BQ;MAxDV,kCAAA;IJy6BE;IIj3BQ;MAxDV,mCAAA;IJ46BE;IIp3BQ;MAxDV,wBAAA;IJ+6BE;IIv3BQ;MAxDV,mCAAA;IJk7BE;II13BQ;MAxDV,mCAAA;IJq7BE;II73BQ;MAxDV,wBAAA;IJw7BE;IIh4BQ;MAxDV,mCAAA;IJ27BE;IIn4BQ;MAxDV,mCAAA;IJ87BE;IIt4BQ;MAxDV,wBAAA;IJi8BE;IIz4BQ;MAxDV,mCAAA;IJo8BE;II54BQ;MAxDV,mCAAA;IJu8BE;IIp4BI;;MAEE,gBAAA;IJs4BN;IIn4BI;;MAEE,gBAAA;IJq4BN;II54BI;;MAEE,sBAAA;IJ84BN;II34BI;;MAEE,sBAAA;IJ64BN;IIp5BI;;MAEE,qBAAA;IJs5BN;IIn5BI;;MAEE,qBAAA;IJq5BN;II55BI;;MAEE,mBAAA;IJ85BN;II35BI;;MAEE,mBAAA;IJ65BN;IIp6BI;;MAEE,qBAAA;IJs6BN;IIn6BI;;MAEE,qBAAA;IJq6BN;II56BI;;MAEE,mBAAA;IJ86BN;II36BI;;MAEE,mBAAA;IJ66BN;EACF;EGzhCE;IACE,gBAAA;IACA,YAAA;IACA,gBAAA;IAEA,aAAA;IACA,+CAAA;IACA,qDAAA;IACA,kBAAA;EH0hCJ;EIz6BQ;IACE,wBAAA;EJ26BV;EI56BQ;IACE,wBAAA;EJ86BV;EI/6BQ;IACE,wBAAA;EJi7BV;EIl7BQ;IACE,wBAAA;EJo7BV;EIr7BQ;IACE,wBAAA;EJu7BV;EIx7BQ;IACE,wBAAA;EJ07BV;EI37BQ;IACE,wBAAA;EJ67BV;EI97BQ;IACE,wBAAA;EJg8BV;EIj8BQ;IACE,wBAAA;EJm8BV;EIp8BQ;IACE,yBAAA;EJs8BV;EIv8BQ;IACE,yBAAA;EJy8BV;EI18BQ;IACE,yBAAA;EJ48BV;EIr8BQ;IACE,oBAFS;EJy8BnB;EIx8BQ;IACE,oBAFS;EJ48BnB;EI38BQ;IACE,oBAFS;EJ+8BnB;EI98BQ;IACE,oBAFS;EJk9BnB;EIj9BQ;IACE,oBAFS;EJq9BnB;EIp9BQ;IACE,oBAFS;EJw9BnB;EIv9BQ;IACE,oBAFS;EJ29BnB;EI19BQ;IACE,oBAFS;EJ89BnB;EI79BQ;IACE,oBAFS;EJi+BnB;EIh+BQ;IACE,qBAFS;EJo+BnB;EIn+BQ;IACE,qBAFS;EJu+BnB;EClhCE;IGoCM;MACE,wBAAA;IJi/BR;IIl/BM;MACE,wBAAA;IJo/BR;IIr/BM;MACE,wBAAA;IJu/BR;IIx/BM;MACE,wBAAA;IJ0/BR;II3/BM;MACE,wBAAA;IJ6/BR;II9/BM;MACE,wBAAA;IJggCR;IIjgCM;MACE,wBAAA;IJmgCR;IIpgCM;MACE,wBAAA;IJsgCR;IIvgCM;MACE,wBAAA;IJygCR;II1gCM;MACE,yBAAA;IJ4gCR;II7gCM;MACE,yBAAA;IJ+gCR;IIhhCM;MACE,yBAAA;IJkhCR;II3gCM;MACE,oBAFS;IJ+gCjB;II9gCM;MACE,oBAFS;IJkhCjB;IIjhCM;MACE,oBAFS;IJqhCjB;IIphCM;MACE,oBAFS;IJwhCjB;IIvhCM;MACE,oBAFS;IJ2hCjB;II1hCM;MACE,oBAFS;IJ8hCjB;II7hCM;MACE,oBAFS;IJiiCjB;IIhiCM;MACE,oBAFS;IJoiCjB;IIniCM;MACE,oBAFS;IJuiCjB;IItiCM;MACE,qBAFS;IJ0iCjB;IIziCM;MACE,qBAFS;IJ6iCjB;EACF;ECzlCE;IGoCM;MACE,wBAAA;IJwjCR;IIzjCM;MACE,wBAAA;IJ2jCR;II5jCM;MACE,wBAAA;IJ8jCR;II/jCM;MACE,wBAAA;IJikCR;IIlkCM;MACE,wBAAA;IJokCR;IIrkCM;MACE,wBAAA;IJukCR;IIxkCM;MACE,wBAAA;IJ0kCR;II3kCM;MACE,wBAAA;IJ6kCR;II9kCM;MACE,wBAAA;IJglCR;IIjlCM;MACE,yBAAA;IJmlCR;IIplCM;MACE,yBAAA;IJslCR;IIvlCM;MACE,yBAAA;IJylCR;IIllCM;MACE,oBAFS;IJslCjB;IIrlCM;MACE,oBAFS;IJylCjB;IIxlCM;MACE,oBAFS;IJ4lCjB;II3lCM;MACE,oBAFS;IJ+lCjB;II9lCM;MACE,oBAFS;IJkmCjB;IIjmCM;MACE,oBAFS;IJqmCjB;IIpmCM;MACE,oBAFS;IJwmCjB;IIvmCM;MACE,oBAFS;IJ2mCjB;II1mCM;MACE,oBAFS;IJ8mCjB;II7mCM;MACE,qBAFS;IJinCjB;IIhnCM;MACE,qBAFS;IJonCjB;EACF;EChqCE;IGoCM;MACE,wBAAA;IJ+nCR;IIhoCM;MACE,wBAAA;IJkoCR;IInoCM;MACE,wBAAA;IJqoCR;IItoCM;MACE,wBAAA;IJwoCR;IIzoCM;MACE,wBAAA;IJ2oCR;II5oCM;MACE,wBAAA;IJ8oCR;II/oCM;MACE,wBAAA;IJipCR;IIlpCM;MACE,wBAAA;IJopCR;IIrpCM;MACE,wBAAA;IJupCR;IIxpCM;MACE,yBAAA;IJ0pCR;II3pCM;MACE,yBAAA;IJ6pCR;II9pCM;MACE,yBAAA;IJgqCR;IIzpCM;MACE,oBAFS;IJ6pCjB;II5pCM;MACE,oBAFS;IJgqCjB;II/pCM;MACE,oBAFS;IJmqCjB;IIlqCM;MACE,oBAFS;IJsqCjB;IIrqCM;MACE,oBAFS;IJyqCjB;IIxqCM;MACE,oBAFS;IJ4qCjB;II3qCM;MACE,oBAFS;IJ+qCjB;II9qCM;MACE,oBAFS;IJkrCjB;IIjrCM;MACE,oBAFS;IJqrCjB;IIprCM;MACE,qBAFS;IJwrCjB;IIvrCM;MACE,qBAFS;IJ2rCjB;EACF;ECvuCE;IGoCM;MACE,wBAAA;IJssCR;IIvsCM;MACE,wBAAA;IJysCR;II1sCM;MACE,wBAAA;IJ4sCR;II7sCM;MACE,wBAAA;IJ+sCR;IIhtCM;MACE,wBAAA;IJktCR;IIntCM;MACE,wBAAA;IJqtCR;IIttCM;MACE,wBAAA;IJwtCR;IIztCM;MACE,wBAAA;IJ2tCR;II5tCM;MACE,wBAAA;IJ8tCR;II/tCM;MACE,yBAAA;IJiuCR;IIluCM;MACE,yBAAA;IJouCR;IIruCM;MACE,yBAAA;IJuuCR;IIhuCM;MACE,oBAFS;IJouCjB;IInuCM;MACE,oBAFS;IJuuCjB;IItuCM;MACE,oBAFS;IJ0uCjB;IIzuCM;MACE,oBAFS;IJ6uCjB;II5uCM;MACE,oBAFS;IJgvCjB;II/uCM;MACE,oBAFS;IJmvCjB;IIlvCM;MACE,oBAFS;IJsvCjB;IIrvCM;MACE,oBAFS;IJyvCjB;IIxvCM;MACE,oBAFS;IJ4vCjB;II3vCM;MACE,qBAFS;IJ+vCjB;II9vCM;MACE,qBAFS;IJkwCjB;EACF;EC9yCE;IGoCM;MACE,wBAAA;IJ6wCR;II9wCM;MACE,wBAAA;IJgxCR;IIjxCM;MACE,wBAAA;IJmxCR;IIpxCM;MACE,wBAAA;IJsxCR;IIvxCM;MACE,wBAAA;IJyxCR;II1xCM;MACE,wBAAA;IJ4xCR;II7xCM;MACE,wBAAA;IJ+xCR;IIhyCM;MACE,wBAAA;IJkyCR;IInyCM;MACE,wBAAA;IJqyCR;IItyCM;MACE,yBAAA;IJwyCR;IIzyCM;MACE,yBAAA;IJ2yCR;II5yCM;MACE,yBAAA;IJ8yCR;IIvyCM;MACE,oBAFS;IJ2yCjB;II1yCM;MACE,oBAFS;IJ8yCjB;II7yCM;MACE,oBAFS;IJizCjB;IIhzCM;MACE,oBAFS;IJozCjB;IInzCM;MACE,oBAFS;IJuzCjB;IItzCM;MACE,oBAFS;IJ0zCjB;IIzzCM;MACE,oBAFS;IJ6zCjB;II5zCM;MACE,oBAFS;IJg0CjB;II/zCM;MACE,oBAFS;IJm0CjB;IIl0CM;MACE,qBAFS;IJs0CjB;IIr0CM;MACE,qBAFS;IJy0CjB;EACF;EG17CA;IACE,8BAAA;EH47CF;EGz7CA;IACE,gBAAA;IAEA,aAAA;IACA,uDAAA;IACA,mBAAA;IACA,kBAAA;EH07CF;AACF;AKl+CA;ECyMI;IApII,eA+CO;ENk3Cb;EM7xCE;IApII,qBA+CO;ENq3Cb;EMhyCE;IApII,cA+CO;ENw3Cb;EMnyCE;IApII,aA+CO;EN23Cb;EMtyCE;IApII,oBA+CO;EN83Cb;EMzyCE;IApII,cA+CO;ENi4Cb;EM5yCE;IApII,kBA+CO;ENo4Cb;EM/yCE;IApII,mBA+CO;ENu4Cb;EMlzCE;IApII,aA+CO;EN04Cb;EMrzCE;IApII,oBA+CO;EN64Cb;EMxzCE;IApII,iBA+CO;ENg5Cb;EM3zCE;IApII,kBA+CO;ENm5Cb;EM9zCE;IApII,aA+CO;ENs5Cb;EMj0CE;IApII,cA0CG;EN85CT;EMp0CE;IApII,mBA+CO;EN45Cb;EMv0CE;IApII,sBA+CO;EN+5Cb;EM10CE;IApII,2BA+CO;ENk6Cb;EM70CE;IApII,8BA+CO;ENq6Cb;EMh1CE;IApII,YA0CG;EN66CT;EMn1CE;IApII,YA0CG;ENg7CT;EMt1CE;IApII,cA0CG;ENm7CT;EMz1CE;IApII,cA0CG;ENs7CT;EM51CE;IApII,eA+CO;ENo7Cb;EM/1CE;IApII,iBA+CO;ENu7Cb;EMl2CE;IApII,uBA+CO;EN07Cb;EMr2CE;IApII,2BA0CG;ENk8CT;EMx2CE;IApII,yBA0CG;ENq8CT;EM32CE;IApII,uBA0CG;ENw8CT;EM92CE;IApII,8BA0CG;EN28CT;EMj3CE;IApII,6BA0CG;EN88CT;EMp3CE;IApII,6BA0CG;ENi9CT;EMv3CE;IApII,oBA0CG;ENo9CT;EM13CE;IApII,kBA0CG;ENu9CT;EM73CE;IApII,qBA0CG;EN09CT;EMh4CE;IApII,sBA0CG;EN69CT;EMn4CE;IApII,uBA0CG;ENg+CT;EMt4CE;IApII,qBA0CG;ENm+CT;EMz4CE;IApII,mBA0CG;ENs+CT;EM54CE;IApII,qBA0CG;ENy+CT;EM/4CE;IApII,oBA0CG;EN4+CT;EMl5CE;IApII,yBA0CG;EN++CT;EMr5CE;IApII,uBA0CG;ENk/CT;EMx5CE;IApII,qBA0CG;ENq/CT;EM35CE;IApII,4BA0CG;ENw/CT;EM95CE;IApII,2BA0CG;EN2/CT;EMj6CE;IApII,sBA0CG;EN8/CT;EMp6CE;IApII,gBA0CG;ENigDT;EMv6CE;IApII,sBA0CG;ENogDT;EM16CE;IApII,oBA0CG;ENugDT;EM76CE;IApII,kBA0CG;EN0gDT;EMh7CE;IApII,oBA0CG;EN6gDT;EMn7CE;IApII,mBA0CG;ENghDT;EMt7CE;IApII,kBA0CG;ENmhDT;EMz7CE;IApII,gBA0CG;ENshDT;EM57CE;IApII,mBA0CG;ENyhDT;EM/7CE;IApII,oBA0CG;EN4hDT;EMl8CE;IApII,qCA0CG;EN+hDT;EMr8CE;IApII,qCA0CG;ENkiDT;EMx8CE;IApII,qCA0CG;ENqiDT;EM38CE;IApII,qCA0CG;ENwiDT;EM98CE;IApII,mBA0CG;EN2iDT;EMj9CE;IApII,mBA+CO;ENyiDb;EMp9CE;IApII,sBA+CO;EN4iDb;EMv9CE;IApII,qBA+CO;EN+iDb;EM19CE;IApII,SA0CG;ENujDT;EM79CE;IApII,QA0CG;EN0jDT;EMh+CE;IApII,QA0CG;EN6jDT;EMn+CE;IApII,QA0CG;ENgkDT;EMt+CE;IApII,QA0CG;ENmkDT;EMz+CE;IApII,QA0CG;ENskDT;EM5+CE;IApII,QA0CG;ENykDT;EM/+CE;IApII,QA0CG;EN4kDT;EMl/CE;IApII,SA0CG;EN+kDT;EMr/CE;IApII,eA0CG;ENklDT;EMx/CE;IApII,cA0CG;ENqlDT;EM3/CE;IApII,YA0CG;ENwlDT;EM9/CE;IApII,cA0CG;EN2lDT;EMjgDE;IApII,YA0CG;EN8lDT;EMpgDE;IApII,YA0CG;ENimDT;EMvgDE;IApII,gBA0CG;ENomDT;EM1gDE;IApII,sBA0CG;ENumDT;EM7gDE;IApII,qBA0CG;EN0mDT;EMhhDE;IApII,mBA0CG;EN6mDT;EMnhDE;IApII,qBA0CG;ENgnDT;EMthDE;IApII,mBA0CG;ENmnDT;EMzhDE;IApII,mBA0CG;ENsnDT;EM5hDE;IApII,eA0CG;ENynDT;EM/hDE;IApII,qBA0CG;EN4nDT;EMliDE;IApII,oBA0CG;EN+nDT;EMriDE;IApII,kBA0CG;ENkoDT;EMxiDE;IApII,oBA0CG;ENqoDT;EM3iDE;IApII,kBA0CG;ENwoDT;EM9iDE;IApII,kBA0CG;EN2oDT;EMjjDE;IApII,qBA0CG;EN8oDT;EMpjDE;IApII,2BA0CG;ENipDT;EMvjDE;IApII,0BA0CG;ENopDT;EM1jDE;IApII,wBA0CG;ENupDT;EM7jDE;IApII,0BA0CG;EN0pDT;EMhkDE;IApII,wBA0CG;EN6pDT;EMnkDE;IApII,wBA0CG;ENgqDT;EMtkDE;IApII,oBA0CG;ENmqDT;EMzkDE;IApII,0BA0CG;ENsqDT;EM5kDE;IApII,yBA0CG;ENyqDT;EM/kDE;IApII,uBA0CG;EN4qDT;EMllDE;IApII,yBA0CG;EN+qDT;EMrlDE;IApII,uBA0CG;ENkrDT;EMxlDE;IApII,uBA0CG;ENqrDT;EM3lDE;IApII,mBA0CG;ENwrDT;EM9lDE;IApII,yBA0CG;EN2rDT;EMjmDE;IApII,wBA0CG;EN8rDT;EMpmDE;IApII,sBA0CG;ENisDT;EMvmDE;IApII,wBA0CG;ENosDT;EM1mDE;IApII,sBA0CG;ENusDT;EM7mDE;IApII,sBA0CG;EN0sDT;EMhnDE;IApII,sBA0CG;EN6sDT;EMnnDE;IApII,4BA0CG;ENgtDT;EMtnDE;IApII,2BA0CG;ENmtDT;EMznDE;IApII,yBA0CG;ENstDT;EM5nDE;IApII,2BA0CG;ENytDT;EM/nDE;IApII,yBA0CG;EN4tDT;EMloDE;IApII,6BA0CG;EN+tDT;EMroDE;IApII,4BA0CG;ENkuDT;EMxoDE;IApII,yBA0CG;ENquDT;EM3oDE;IApII,UA0CG;ENwuDT;EM9oDE;IApII,gBA0CG;EN2uDT;EMjpDE;IApII,eA0CG;EN8uDT;EMppDE;IApII,aA0CG;ENivDT;EMvpDE;IApII,eA0CG;ENovDT;EM1pDE;IApII,aA0CG;ENuvDT;EM7pDE;IApII,iBA0CG;EN0vDT;EMhqDE;IApII,uBA0CG;EN6vDT;EMnqDE;IApII,sBA0CG;ENgwDT;EMtqDE;IApII,oBA0CG;ENmwDT;EMzqDE;IApII,sBA0CG;ENswDT;EM5qDE;IApII,oBA0CG;ENywDT;EM/qDE;IApII,gBA0CG;EN4wDT;EMlrDE;IApII,sBA0CG;EN+wDT;EMrrDE;IApII,qBA0CG;ENkxDT;EMxrDE;IApII,mBA0CG;ENqxDT;EM3rDE;IApII,qBA0CG;ENwxDT;EM9rDE;IApII,mBA0CG;EN2xDT;EMjsDE;IApII,sBA0CG;EN8xDT;EMpsDE;IApII,4BA0CG;ENiyDT;EMvsDE;IApII,2BA0CG;ENoyDT;EM1sDE;IApII,yBA0CG;ENuyDT;EM7sDE;IApII,2BA0CG;EN0yDT;EMhtDE;IApII,yBA0CG;EN6yDT;EMntDE;IApII,qBA0CG;ENgzDT;EMttDE;IApII,2BA0CG;ENmzDT;EMztDE;IApII,0BA0CG;ENszDT;EM5tDE;IApII,wBA0CG;ENyzDT;EM/tDE;IApII,0BA0CG;EN4zDT;EMluDE;IApII,wBA0CG;EN+zDT;EMruDE;IApII,oBA0CG;ENk0DT;EMxuDE;IApII,0BA0CG;ENq0DT;EM3uDE;IApII,yBA0CG;ENw0DT;EM9uDE;IApII,uBA0CG;EN20DT;EMjvDE;IApII,yBA0CG;EN80DT;EMpvDE;IApII,uBA0CG;ENi1DT;EMvvDE;IApII,uBA0CG;ENo1DT;EM1vDE;IApII,6BA0CG;ENu1DT;EM7vDE;IApII,4BA0CG;EN01DT;EMhwDE;IApII,0BA0CG;EN61DT;EMnwDE;IApII,4BA0CG;ENg2DT;EMtwDE;IApII,0BA0CG;ENm2DT;EMzwDE;IApII,MA0CG;ENs2DT;EM5wDE;IApII,YA0CG;ENy2DT;EM/wDE;IApII,WA0CG;EN42DT;EMlxDE;IApII,SA0CG;EN+2DT;EMrxDE;IApII,WA0CG;ENk3DT;EMxxDE;IApII,SA0CG;ENq3DT;EM3xDE;IApII,UA0CG;ENw3DT;EM9xDE;IApII,gBA0CG;EN23DT;EMjyDE;IApII,eA0CG;EN83DT;EMpyDE;IApII,aA0CG;ENi4DT;EMvyDE;IApII,eA0CG;ENo4DT;EM1yDE;IApII,aA0CG;ENu4DT;EM7yDE;IApII,kBA0CG;IA1CH,aA0CG;EN04DT;EMhzDE;IApII,wBA0CG;IA1CH,mBA0CG;EN64DT;EMnzDE;IApII,uBA0CG;IA1CH,kBA0CG;ENg5DT;EMtzDE;IApII,qBA0CG;IA1CH,gBA0CG;ENm5DT;EMzzDE;IApII,uBA0CG;IA1CH,kBA0CG;ENs5DT;EM5zDE;IApII,qBA0CG;IA1CH,gBA0CG;ENy5DT;ECt6DE;IKuGA;MApII,eA+CO;INw5DX;IMn0DA;MApII,qBA+CO;IN25DX;IMt0DA;MApII,cA+CO;IN85DX;IMz0DA;MApII,aA+CO;INi6DX;IM50DA;MApII,oBA+CO;INo6DX;IM/0DA;MApII,cA+CO;INu6DX;IMl1DA;MApII,kBA+CO;IN06DX;IMr1DA;MApII,mBA+CO;IN66DX;IMx1DA;MApII,aA+CO;INg7DX;IM31DA;MApII,oBA+CO;INm7DX;IM91DA;MApII,iBA+CO;INs7DX;IMj2DA;MApII,kBA+CO;INy7DX;IMp2DA;MApII,aA+CO;IN47DX;IMv2DA;MApII,cA0CG;INo8DP;IM12DA;MApII,mBA+CO;INk8DX;IM72DA;MApII,sBA+CO;INq8DX;IMh3DA;MApII,2BA+CO;INw8DX;IMn3DA;MApII,8BA+CO;IN28DX;IMt3DA;MApII,YA0CG;INm9DP;IMz3DA;MApII,YA0CG;INs9DP;IM53DA;MApII,cA0CG;INy9DP;IM/3DA;MApII,cA0CG;IN49DP;IMl4DA;MApII,eA+CO;IN09DX;IMr4DA;MApII,iBA+CO;IN69DX;IMx4DA;MApII,uBA+CO;INg+DX;IM34DA;MApII,2BA0CG;INw+DP;IM94DA;MApII,yBA0CG;IN2+DP;IMj5DA;MApII,uBA0CG;IN8+DP;IMp5DA;MApII,8BA0CG;INi/DP;IMv5DA;MApII,6BA0CG;INo/DP;IM15DA;MApII,6BA0CG;INu/DP;IM75DA;MApII,oBA0CG;IN0/DP;IMh6DA;MApII,kBA0CG;IN6/DP;IMn6DA;MApII,qBA0CG;INggEP;IMt6DA;MApII,sBA0CG;INmgEP;IMz6DA;MApII,uBA0CG;INsgEP;IM56DA;MApII,qBA0CG;INygEP;IM/6DA;MApII,mBA0CG;IN4gEP;IMl7DA;MApII,qBA0CG;IN+gEP;IMr7DA;MApII,oBA0CG;INkhEP;IMx7DA;MApII,yBA0CG;INqhEP;IM37DA;MApII,uBA0CG;INwhEP;IM97DA;MApII,qBA0CG;IN2hEP;IMj8DA;MApII,4BA0CG;IN8hEP;IMp8DA;MApII,2BA0CG;INiiEP;IMv8DA;MApII,sBA0CG;INoiEP;IM18DA;MApII,gBA0CG;INuiEP;IM78DA;MApII,sBA0CG;IN0iEP;IMh9DA;MApII,oBA0CG;IN6iEP;IMn9DA;MApII,kBA0CG;INgjEP;IMt9DA;MApII,oBA0CG;INmjEP;IMz9DA;MApII,mBA0CG;INsjEP;IM59DA;MApII,kBA0CG;INyjEP;IM/9DA;MApII,gBA0CG;IN4jEP;IMl+DA;MApII,mBA0CG;IN+jEP;IMr+DA;MApII,oBA0CG;INkkEP;IMx+DA;MApII,qCA0CG;INqkEP;IM3+DA;MApII,qCA0CG;INwkEP;IM9+DA;MApII,qCA0CG;IN2kEP;IMj/DA;MApII,qCA0CG;IN8kEP;IMp/DA;MApII,mBA0CG;INilEP;IMv/DA;MApII,mBA+CO;IN+kEX;IM1/DA;MApII,sBA+CO;INklEX;IM7/DA;MApII,qBA+CO;INqlEX;IMhgEA;MApII,SA0CG;IN6lEP;IMngEA;MApII,QA0CG;INgmEP;IMtgEA;MApII,QA0CG;INmmEP;IMzgEA;MApII,QA0CG;INsmEP;IM5gEA;MApII,QA0CG;INymEP;IM/gEA;MApII,QA0CG;IN4mEP;IMlhEA;MApII,QA0CG;IN+mEP;IMrhEA;MApII,QA0CG;INknEP;IMxhEA;MApII,SA0CG;INqnEP;IM3hEA;MApII,eA0CG;INwnEP;IM9hEA;MApII,cA0CG;IN2nEP;IMjiEA;MApII,YA0CG;IN8nEP;IMpiEA;MApII,cA0CG;INioEP;IMviEA;MApII,YA0CG;INooEP;IM1iEA;MApII,YA0CG;INuoEP;IM7iEA;MApII,gBA0CG;IN0oEP;IMhjEA;MApII,sBA0CG;IN6oEP;IMnjEA;MApII,qBA0CG;INgpEP;IMtjEA;MApII,mBA0CG;INmpEP;IMzjEA;MApII,qBA0CG;INspEP;IM5jEA;MApII,mBA0CG;INypEP;IM/jEA;MApII,mBA0CG;IN4pEP;IMlkEA;MApII,eA0CG;IN+pEP;IMrkEA;MApII,qBA0CG;INkqEP;IMxkEA;MApII,oBA0CG;INqqEP;IM3kEA;MApII,kBA0CG;INwqEP;IM9kEA;MApII,oBA0CG;IN2qEP;IMjlEA;MApII,kBA0CG;IN8qEP;IMplEA;MApII,kBA0CG;INirEP;IMvlEA;MApII,qBA0CG;INorEP;IM1lEA;MApII,2BA0CG;INurEP;IM7lEA;MApII,0BA0CG;IN0rEP;IMhmEA;MApII,wBA0CG;IN6rEP;IMnmEA;MApII,0BA0CG;INgsEP;IMtmEA;MApII,wBA0CG;INmsEP;IMzmEA;MApII,wBA0CG;INssEP;IM5mEA;MApII,oBA0CG;INysEP;IM/mEA;MApII,0BA0CG;IN4sEP;IMlnEA;MApII,yBA0CG;IN+sEP;IMrnEA;MApII,uBA0CG;INktEP;IMxnEA;MApII,yBA0CG;INqtEP;IM3nEA;MApII,uBA0CG;INwtEP;IM9nEA;MApII,uBA0CG;IN2tEP;IMjoEA;MApII,mBA0CG;IN8tEP;IMpoEA;MApII,yBA0CG;INiuEP;IMvoEA;MApII,wBA0CG;INouEP;IM1oEA;MApII,sBA0CG;INuuEP;IM7oEA;MApII,wBA0CG;IN0uEP;IMhpEA;MApII,sBA0CG;IN6uEP;IMnpEA;MApII,sBA0CG;INgvEP;IMtpEA;MApII,sBA0CG;INmvEP;IMzpEA;MApII,4BA0CG;INsvEP;IM5pEA;MApII,2BA0CG;INyvEP;IM/pEA;MApII,yBA0CG;IN4vEP;IMlqEA;MApII,2BA0CG;IN+vEP;IMrqEA;MApII,yBA0CG;INkwEP;IMxqEA;MApII,6BA0CG;INqwEP;IM3qEA;MApII,4BA0CG;INwwEP;IM9qEA;MApII,yBA0CG;IN2wEP;IMjrEA;MApII,UA0CG;IN8wEP;IMprEA;MApII,gBA0CG;INixEP;IMvrEA;MApII,eA0CG;INoxEP;IM1rEA;MApII,aA0CG;INuxEP;IM7rEA;MApII,eA0CG;IN0xEP;IMhsEA;MApII,aA0CG;IN6xEP;IMnsEA;MApII,iBA0CG;INgyEP;IMtsEA;MApII,uBA0CG;INmyEP;IMzsEA;MApII,sBA0CG;INsyEP;IM5sEA;MApII,oBA0CG;INyyEP;IM/sEA;MApII,sBA0CG;IN4yEP;IMltEA;MApII,oBA0CG;IN+yEP;IMrtEA;MApII,gBA0CG;INkzEP;IMxtEA;MApII,sBA0CG;INqzEP;IM3tEA;MApII,qBA0CG;INwzEP;IM9tEA;MApII,mBA0CG;IN2zEP;IMjuEA;MApII,qBA0CG;IN8zEP;IMpuEA;MApII,mBA0CG;INi0EP;IMvuEA;MApII,sBA0CG;INo0EP;IM1uEA;MApII,4BA0CG;INu0EP;IM7uEA;MApII,2BA0CG;IN00EP;IMhvEA;MApII,yBA0CG;IN60EP;IMnvEA;MApII,2BA0CG;INg1EP;IMtvEA;MApII,yBA0CG;INm1EP;IMzvEA;MApII,qBA0CG;INs1EP;IM5vEA;MApII,2BA0CG;INy1EP;IM/vEA;MApII,0BA0CG;IN41EP;IMlwEA;MApII,wBA0CG;IN+1EP;IMrwEA;MApII,0BA0CG;INk2EP;IMxwEA;MApII,wBA0CG;INq2EP;IM3wEA;MApII,oBA0CG;INw2EP;IM9wEA;MApII,0BA0CG;IN22EP;IMjxEA;MApII,yBA0CG;IN82EP;IMpxEA;MApII,uBA0CG;INi3EP;IMvxEA;MApII,yBA0CG;INo3EP;IM1xEA;MApII,uBA0CG;INu3EP;IM7xEA;MApII,uBA0CG;IN03EP;IMhyEA;MApII,6BA0CG;IN63EP;IMnyEA;MApII,4BA0CG;INg4EP;IMtyEA;MApII,0BA0CG;INm4EP;IMzyEA;MApII,4BA0CG;INs4EP;IM5yEA;MApII,0BA0CG;INy4EP;IM/yEA;MApII,MA0CG;IN44EP;IMlzEA;MApII,YA0CG;IN+4EP;IMrzEA;MApII,WA0CG;INk5EP;IMxzEA;MApII,SA0CG;INq5EP;IM3zEA;MApII,WA0CG;INw5EP;IM9zEA;MApII,SA0CG;IN25EP;IMj0EA;MApII,UA0CG;IN85EP;IMp0EA;MApII,gBA0CG;INi6EP;IMv0EA;MApII,eA0CG;INo6EP;IM10EA;MApII,aA0CG;INu6EP;IM70EA;MApII,eA0CG;IN06EP;IMh1EA;MApII,aA0CG;IN66EP;IMn1EA;MApII,kBA0CG;MA1CH,aA0CG;INg7EP;IMt1EA;MApII,wBA0CG;MA1CH,mBA0CG;INm7EP;IMz1EA;MApII,uBA0CG;MA1CH,kBA0CG;INs7EP;IM51EA;MApII,qBA0CG;MA1CH,gBA0CG;INy7EP;IM/1EA;MApII,uBA0CG;MA1CH,kBA0CG;IN47EP;IMl2EA;MApII,qBA0CG;MA1CH,gBA0CG;IN+7EP;EACF;EC78EE;IKuGA;MApII,eA+CO;IN+7EX;IM12EA;MApII,qBA+CO;INk8EX;IM72EA;MApII,cA+CO;INq8EX;IMh3EA;MApII,aA+CO;INw8EX;IMn3EA;MApII,oBA+CO;IN28EX;IMt3EA;MApII,cA+CO;IN88EX;IMz3EA;MApII,kBA+CO;INi9EX;IM53EA;MApII,mBA+CO;INo9EX;IM/3EA;MApII,aA+CO;INu9EX;IMl4EA;MApII,oBA+CO;IN09EX;IMr4EA;MApII,iBA+CO;IN69EX;IMx4EA;MApII,kBA+CO;INg+EX;IM34EA;MApII,aA+CO;INm+EX;IM94EA;MApII,cA0CG;IN2+EP;IMj5EA;MApII,mBA+CO;INy+EX;IMp5EA;MApII,sBA+CO;IN4+EX;IMv5EA;MApII,2BA+CO;IN++EX;IM15EA;MApII,8BA+CO;INk/EX;IM75EA;MApII,YA0CG;IN0/EP;IMh6EA;MApII,YA0CG;IN6/EP;IMn6EA;MApII,cA0CG;INggFP;IMt6EA;MApII,cA0CG;INmgFP;IMz6EA;MApII,eA+CO;INigFX;IM56EA;MApII,iBA+CO;INogFX;IM/6EA;MApII,uBA+CO;INugFX;IMl7EA;MApII,2BA0CG;IN+gFP;IMr7EA;MApII,yBA0CG;INkhFP;IMx7EA;MApII,uBA0CG;INqhFP;IM37EA;MApII,8BA0CG;INwhFP;IM97EA;MApII,6BA0CG;IN2hFP;IMj8EA;MApII,6BA0CG;IN8hFP;IMp8EA;MApII,oBA0CG;INiiFP;IMv8EA;MApII,kBA0CG;INoiFP;IM18EA;MApII,qBA0CG;INuiFP;IM78EA;MApII,sBA0CG;IN0iFP;IMh9EA;MApII,uBA0CG;IN6iFP;IMn9EA;MApII,qBA0CG;INgjFP;IMt9EA;MApII,mBA0CG;INmjFP;IMz9EA;MApII,qBA0CG;INsjFP;IM59EA;MApII,oBA0CG;INyjFP;IM/9EA;MApII,yBA0CG;IN4jFP;IMl+EA;MApII,uBA0CG;IN+jFP;IMr+EA;MApII,qBA0CG;INkkFP;IMx+EA;MApII,4BA0CG;INqkFP;IM3+EA;MApII,2BA0CG;INwkFP;IM9+EA;MApII,sBA0CG;IN2kFP;IMj/EA;MApII,gBA0CG;IN8kFP;IMp/EA;MApII,sBA0CG;INilFP;IMv/EA;MApII,oBA0CG;INolFP;IM1/EA;MApII,kBA0CG;INulFP;IM7/EA;MApII,oBA0CG;IN0lFP;IMhgFA;MApII,mBA0CG;IN6lFP;IMngFA;MApII,kBA0CG;INgmFP;IMtgFA;MApII,gBA0CG;INmmFP;IMzgFA;MApII,mBA0CG;INsmFP;IM5gFA;MApII,oBA0CG;INymFP;IM/gFA;MApII,qCA0CG;IN4mFP;IMlhFA;MApII,qCA0CG;IN+mFP;IMrhFA;MApII,qCA0CG;INknFP;IMxhFA;MApII,qCA0CG;INqnFP;IM3hFA;MApII,mBA0CG;INwnFP;IM9hFA;MApII,mBA+CO;INsnFX;IMjiFA;MApII,sBA+CO;INynFX;IMpiFA;MApII,qBA+CO;IN4nFX;IMviFA;MApII,SA0CG;INooFP;IM1iFA;MApII,QA0CG;INuoFP;IM7iFA;MApII,QA0CG;IN0oFP;IMhjFA;MApII,QA0CG;IN6oFP;IMnjFA;MApII,QA0CG;INgpFP;IMtjFA;MApII,QA0CG;INmpFP;IMzjFA;MApII,QA0CG;INspFP;IM5jFA;MApII,QA0CG;INypFP;IM/jFA;MApII,SA0CG;IN4pFP;IMlkFA;MApII,eA0CG;IN+pFP;IMrkFA;MApII,cA0CG;INkqFP;IMxkFA;MApII,YA0CG;INqqFP;IM3kFA;MApII,cA0CG;INwqFP;IM9kFA;MApII,YA0CG;IN2qFP;IMjlFA;MApII,YA0CG;IN8qFP;IMplFA;MApII,gBA0CG;INirFP;IMvlFA;MApII,sBA0CG;INorFP;IM1lFA;MApII,qBA0CG;INurFP;IM7lFA;MApII,mBA0CG;IN0rFP;IMhmFA;MApII,qBA0CG;IN6rFP;IMnmFA;MApII,mBA0CG;INgsFP;IMtmFA;MApII,mBA0CG;INmsFP;IMzmFA;MApII,eA0CG;INssFP;IM5mFA;MApII,qBA0CG;INysFP;IM/mFA;MApII,oBA0CG;IN4sFP;IMlnFA;MApII,kBA0CG;IN+sFP;IMrnFA;MApII,oBA0CG;INktFP;IMxnFA;MApII,kBA0CG;INqtFP;IM3nFA;MApII,kBA0CG;INwtFP;IM9nFA;MApII,qBA0CG;IN2tFP;IMjoFA;MApII,2BA0CG;IN8tFP;IMpoFA;MApII,0BA0CG;INiuFP;IMvoFA;MApII,wBA0CG;INouFP;IM1oFA;MApII,0BA0CG;INuuFP;IM7oFA;MApII,wBA0CG;IN0uFP;IMhpFA;MApII,wBA0CG;IN6uFP;IMnpFA;MApII,oBA0CG;INgvFP;IMtpFA;MApII,0BA0CG;INmvFP;IMzpFA;MApII,yBA0CG;INsvFP;IM5pFA;MApII,uBA0CG;INyvFP;IM/pFA;MApII,yBA0CG;IN4vFP;IMlqFA;MApII,uBA0CG;IN+vFP;IMrqFA;MApII,uBA0CG;INkwFP;IMxqFA;MApII,mBA0CG;INqwFP;IM3qFA;MApII,yBA0CG;INwwFP;IM9qFA;MApII,wBA0CG;IN2wFP;IMjrFA;MApII,sBA0CG;IN8wFP;IMprFA;MApII,wBA0CG;INixFP;IMvrFA;MApII,sBA0CG;INoxFP;IM1rFA;MApII,sBA0CG;INuxFP;IM7rFA;MApII,sBA0CG;IN0xFP;IMhsFA;MApII,4BA0CG;IN6xFP;IMnsFA;MApII,2BA0CG;INgyFP;IMtsFA;MApII,yBA0CG;INmyFP;IMzsFA;MApII,2BA0CG;INsyFP;IM5sFA;MApII,yBA0CG;INyyFP;IM/sFA;MApII,6BA0CG;IN4yFP;IMltFA;MApII,4BA0CG;IN+yFP;IMrtFA;MApII,yBA0CG;INkzFP;IMxtFA;MApII,UA0CG;INqzFP;IM3tFA;MApII,gBA0CG;INwzFP;IM9tFA;MApII,eA0CG;IN2zFP;IMjuFA;MApII,aA0CG;IN8zFP;IMpuFA;MApII,eA0CG;INi0FP;IMvuFA;MApII,aA0CG;INo0FP;IM1uFA;MApII,iBA0CG;INu0FP;IM7uFA;MApII,uBA0CG;IN00FP;IMhvFA;MApII,sBA0CG;IN60FP;IMnvFA;MApII,oBA0CG;INg1FP;IMtvFA;MApII,sBA0CG;INm1FP;IMzvFA;MApII,oBA0CG;INs1FP;IM5vFA;MApII,gBA0CG;INy1FP;IM/vFA;MApII,sBA0CG;IN41FP;IMlwFA;MApII,qBA0CG;IN+1FP;IMrwFA;MApII,mBA0CG;INk2FP;IMxwFA;MApII,qBA0CG;INq2FP;IM3wFA;MApII,mBA0CG;INw2FP;IM9wFA;MApII,sBA0CG;IN22FP;IMjxFA;MApII,4BA0CG;IN82FP;IMpxFA;MApII,2BA0CG;INi3FP;IMvxFA;MApII,yBA0CG;INo3FP;IM1xFA;MApII,2BA0CG;INu3FP;IM7xFA;MApII,yBA0CG;IN03FP;IMhyFA;MApII,qBA0CG;IN63FP;IMnyFA;MApII,2BA0CG;INg4FP;IMtyFA;MApII,0BA0CG;INm4FP;IMzyFA;MApII,wBA0CG;INs4FP;IM5yFA;MApII,0BA0CG;INy4FP;IM/yFA;MApII,wBA0CG;IN44FP;IMlzFA;MApII,oBA0CG;IN+4FP;IMrzFA;MApII,0BA0CG;INk5FP;IMxzFA;MApII,yBA0CG;INq5FP;IM3zFA;MApII,uBA0CG;INw5FP;IM9zFA;MApII,yBA0CG;IN25FP;IMj0FA;MApII,uBA0CG;IN85FP;IMp0FA;MApII,uBA0CG;INi6FP;IMv0FA;MApII,6BA0CG;INo6FP;IM10FA;MApII,4BA0CG;INu6FP;IM70FA;MApII,0BA0CG;IN06FP;IMh1FA;MApII,4BA0CG;IN66FP;IMn1FA;MApII,0BA0CG;INg7FP;IMt1FA;MApII,MA0CG;INm7FP;IMz1FA;MApII,YA0CG;INs7FP;IM51FA;MApII,WA0CG;INy7FP;IM/1FA;MApII,SA0CG;IN47FP;IMl2FA;MApII,WA0CG;IN+7FP;IMr2FA;MApII,SA0CG;INk8FP;IMx2FA;MApII,UA0CG;INq8FP;IM32FA;MApII,gBA0CG;INw8FP;IM92FA;MApII,eA0CG;IN28FP;IMj3FA;MApII,aA0CG;IN88FP;IMp3FA;MApII,eA0CG;INi9FP;IMv3FA;MApII,aA0CG;INo9FP;IM13FA;MApII,kBA0CG;MA1CH,aA0CG;INu9FP;IM73FA;MApII,wBA0CG;MA1CH,mBA0CG;IN09FP;IMh4FA;MApII,uBA0CG;MA1CH,kBA0CG;IN69FP;IMn4FA;MApII,qBA0CG;MA1CH,gBA0CG;INg+FP;IMt4FA;MApII,uBA0CG;MA1CH,kBA0CG;INm+FP;IMz4FA;MApII,qBA0CG;MA1CH,gBA0CG;INs+FP;EACF;ECp/FE;IKuGA;MApII,eA+CO;INs+FX;IMj5FA;MApII,qBA+CO;INy+FX;IMp5FA;MApII,cA+CO;IN4+FX;IMv5FA;MApII,aA+CO;IN++FX;IM15FA;MApII,oBA+CO;INk/FX;IM75FA;MApII,cA+CO;INq/FX;IMh6FA;MApII,kBA+CO;INw/FX;IMn6FA;MApII,mBA+CO;IN2/FX;IMt6FA;MApII,aA+CO;IN8/FX;IMz6FA;MApII,oBA+CO;INigGX;IM56FA;MApII,iBA+CO;INogGX;IM/6FA;MApII,kBA+CO;INugGX;IMl7FA;MApII,aA+CO;IN0gGX;IMr7FA;MApII,cA0CG;INkhGP;IMx7FA;MApII,mBA+CO;INghGX;IM37FA;MApII,sBA+CO;INmhGX;IM97FA;MApII,2BA+CO;INshGX;IMj8FA;MApII,8BA+CO;INyhGX;IMp8FA;MApII,YA0CG;INiiGP;IMv8FA;MApII,YA0CG;INoiGP;IM18FA;MApII,cA0CG;INuiGP;IM78FA;MApII,cA0CG;IN0iGP;IMh9FA;MApII,eA+CO;INwiGX;IMn9FA;MApII,iBA+CO;IN2iGX;IMt9FA;MApII,uBA+CO;IN8iGX;IMz9FA;MApII,2BA0CG;INsjGP;IM59FA;MApII,yBA0CG;INyjGP;IM/9FA;MApII,uBA0CG;IN4jGP;IMl+FA;MApII,8BA0CG;IN+jGP;IMr+FA;MApII,6BA0CG;INkkGP;IMx+FA;MApII,6BA0CG;INqkGP;IM3+FA;MApII,oBA0CG;INwkGP;IM9+FA;MApII,kBA0CG;IN2kGP;IMj/FA;MApII,qBA0CG;IN8kGP;IMp/FA;MApII,sBA0CG;INilGP;IMv/FA;MApII,uBA0CG;INolGP;IM1/FA;MApII,qBA0CG;INulGP;IM7/FA;MApII,mBA0CG;IN0lGP;IMhgGA;MApII,qBA0CG;IN6lGP;IMngGA;MApII,oBA0CG;INgmGP;IMtgGA;MApII,yBA0CG;INmmGP;IMzgGA;MApII,uBA0CG;INsmGP;IM5gGA;MApII,qBA0CG;INymGP;IM/gGA;MApII,4BA0CG;IN4mGP;IMlhGA;MApII,2BA0CG;IN+mGP;IMrhGA;MApII,sBA0CG;INknGP;IMxhGA;MApII,gBA0CG;INqnGP;IM3hGA;MApII,sBA0CG;INwnGP;IM9hGA;MApII,oBA0CG;IN2nGP;IMjiGA;MApII,kBA0CG;IN8nGP;IMpiGA;MApII,oBA0CG;INioGP;IMviGA;MApII,mBA0CG;INooGP;IM1iGA;MApII,kBA0CG;INuoGP;IM7iGA;MApII,gBA0CG;IN0oGP;IMhjGA;MApII,mBA0CG;IN6oGP;IMnjGA;MApII,oBA0CG;INgpGP;IMtjGA;MApII,qCA0CG;INmpGP;IMzjGA;MApII,qCA0CG;INspGP;IM5jGA;MApII,qCA0CG;INypGP;IM/jGA;MApII,qCA0CG;IN4pGP;IMlkGA;MApII,mBA0CG;IN+pGP;IMrkGA;MApII,mBA+CO;IN6pGX;IMxkGA;MApII,sBA+CO;INgqGX;IM3kGA;MApII,qBA+CO;INmqGX;IM9kGA;MApII,SA0CG;IN2qGP;IMjlGA;MApII,QA0CG;IN8qGP;IMplGA;MApII,QA0CG;INirGP;IMvlGA;MApII,QA0CG;INorGP;IM1lGA;MApII,QA0CG;INurGP;IM7lGA;MApII,QA0CG;IN0rGP;IMhmGA;MApII,QA0CG;IN6rGP;IMnmGA;MApII,QA0CG;INgsGP;IMtmGA;MApII,SA0CG;INmsGP;IMzmGA;MApII,eA0CG;INssGP;IM5mGA;MApII,cA0CG;INysGP;IM/mGA;MApII,YA0CG;IN4sGP;IMlnGA;MApII,cA0CG;IN+sGP;IMrnGA;MApII,YA0CG;INktGP;IMxnGA;MApII,YA0CG;INqtGP;IM3nGA;MApII,gBA0CG;INwtGP;IM9nGA;MApII,sBA0CG;IN2tGP;IMjoGA;MApII,qBA0CG;IN8tGP;IMpoGA;MApII,mBA0CG;INiuGP;IMvoGA;MApII,qBA0CG;INouGP;IM1oGA;MApII,mBA0CG;INuuGP;IM7oGA;MApII,mBA0CG;IN0uGP;IMhpGA;MApII,eA0CG;IN6uGP;IMnpGA;MApII,qBA0CG;INgvGP;IMtpGA;MApII,oBA0CG;INmvGP;IMzpGA;MApII,kBA0CG;INsvGP;IM5pGA;MApII,oBA0CG;INyvGP;IM/pGA;MApII,kBA0CG;IN4vGP;IMlqGA;MApII,kBA0CG;IN+vGP;IMrqGA;MApII,qBA0CG;INkwGP;IMxqGA;MApII,2BA0CG;INqwGP;IM3qGA;MApII,0BA0CG;INwwGP;IM9qGA;MApII,wBA0CG;IN2wGP;IMjrGA;MApII,0BA0CG;IN8wGP;IMprGA;MApII,wBA0CG;INixGP;IMvrGA;MApII,wBA0CG;INoxGP;IM1rGA;MApII,oBA0CG;INuxGP;IM7rGA;MApII,0BA0CG;IN0xGP;IMhsGA;MApII,yBA0CG;IN6xGP;IMnsGA;MApII,uBA0CG;INgyGP;IMtsGA;MApII,yBA0CG;INmyGP;IMzsGA;MApII,uBA0CG;INsyGP;IM5sGA;MApII,uBA0CG;INyyGP;IM/sGA;MApII,mBA0CG;IN4yGP;IMltGA;MApII,yBA0CG;IN+yGP;IMrtGA;MApII,wBA0CG;INkzGP;IMxtGA;MApII,sBA0CG;INqzGP;IM3tGA;MApII,wBA0CG;INwzGP;IM9tGA;MApII,sBA0CG;IN2zGP;IMjuGA;MApII,sBA0CG;IN8zGP;IMpuGA;MApII,sBA0CG;INi0GP;IMvuGA;MApII,4BA0CG;INo0GP;IM1uGA;MApII,2BA0CG;INu0GP;IM7uGA;MApII,yBA0CG;IN00GP;IMhvGA;MApII,2BA0CG;IN60GP;IMnvGA;MApII,yBA0CG;INg1GP;IMtvGA;MApII,6BA0CG;INm1GP;IMzvGA;MApII,4BA0CG;INs1GP;IM5vGA;MApII,yBA0CG;INy1GP;IM/vGA;MApII,UA0CG;IN41GP;IMlwGA;MApII,gBA0CG;IN+1GP;IMrwGA;MApII,eA0CG;INk2GP;IMxwGA;MApII,aA0CG;INq2GP;IM3wGA;MApII,eA0CG;INw2GP;IM9wGA;MApII,aA0CG;IN22GP;IMjxGA;MApII,iBA0CG;IN82GP;IMpxGA;MApII,uBA0CG;INi3GP;IMvxGA;MApII,sBA0CG;INo3GP;IM1xGA;MApII,oBA0CG;INu3GP;IM7xGA;MApII,sBA0CG;IN03GP;IMhyGA;MApII,oBA0CG;IN63GP;IMnyGA;MApII,gBA0CG;INg4GP;IMtyGA;MApII,sBA0CG;INm4GP;IMzyGA;MApII,qBA0CG;INs4GP;IM5yGA;MApII,mBA0CG;INy4GP;IM/yGA;MApII,qBA0CG;IN44GP;IMlzGA;MApII,mBA0CG;IN+4GP;IMrzGA;MApII,sBA0CG;INk5GP;IMxzGA;MApII,4BA0CG;INq5GP;IM3zGA;MApII,2BA0CG;INw5GP;IM9zGA;MApII,yBA0CG;IN25GP;IMj0GA;MApII,2BA0CG;IN85GP;IMp0GA;MApII,yBA0CG;INi6GP;IMv0GA;MApII,qBA0CG;INo6GP;IM10GA;MApII,2BA0CG;INu6GP;IM70GA;MApII,0BA0CG;IN06GP;IMh1GA;MApII,wBA0CG;IN66GP;IMn1GA;MApII,0BA0CG;INg7GP;IMt1GA;MApII,wBA0CG;INm7GP;IMz1GA;MApII,oBA0CG;INs7GP;IM51GA;MApII,0BA0CG;INy7GP;IM/1GA;MApII,yBA0CG;IN47GP;IMl2GA;MApII,uBA0CG;IN+7GP;IMr2GA;MApII,yBA0CG;INk8GP;IMx2GA;MApII,uBA0CG;INq8GP;IM32GA;MApII,uBA0CG;INw8GP;IM92GA;MApII,6BA0CG;IN28GP;IMj3GA;MApII,4BA0CG;IN88GP;IMp3GA;MApII,0BA0CG;INi9GP;IMv3GA;MApII,4BA0CG;INo9GP;IM13GA;MApII,0BA0CG;INu9GP;IM73GA;MApII,MA0CG;IN09GP;IMh4GA;MApII,YA0CG;IN69GP;IMn4GA;MApII,WA0CG;INg+GP;IMt4GA;MApII,SA0CG;INm+GP;IMz4GA;MApII,WA0CG;INs+GP;IM54GA;MApII,SA0CG;INy+GP;IM/4GA;MApII,UA0CG;IN4+GP;IMl5GA;MApII,gBA0CG;IN++GP;IMr5GA;MApII,eA0CG;INk/GP;IMx5GA;MApII,aA0CG;INq/GP;IM35GA;MApII,eA0CG;INw/GP;IM95GA;MApII,aA0CG;IN2/GP;IMj6GA;MApII,kBA0CG;MA1CH,aA0CG;IN8/GP;IMp6GA;MApII,wBA0CG;MA1CH,mBA0CG;INigHP;IMv6GA;MApII,uBA0CG;MA1CH,kBA0CG;INogHP;IM16GA;MApII,qBA0CG;MA1CH,gBA0CG;INugHP;IM76GA;MApII,uBA0CG;MA1CH,kBA0CG;IN0gHP;IMh7GA;MApII,qBA0CG;MA1CH,gBA0CG;IN6gHP;EACF;EC3hHE;IKuGA;MApII,eA+CO;IN6gHX;IMx7GA;MApII,qBA+CO;INghHX;IM37GA;MApII,cA+CO;INmhHX;IM97GA;MApII,aA+CO;INshHX;IMj8GA;MApII,oBA+CO;INyhHX;IMp8GA;MApII,cA+CO;IN4hHX;IMv8GA;MApII,kBA+CO;IN+hHX;IM18GA;MApII,mBA+CO;INkiHX;IM78GA;MApII,aA+CO;INqiHX;IMh9GA;MApII,oBA+CO;INwiHX;IMn9GA;MApII,iBA+CO;IN2iHX;IMt9GA;MApII,kBA+CO;IN8iHX;IMz9GA;MApII,aA+CO;INijHX;IM59GA;MApII,cA0CG;INyjHP;IM/9GA;MApII,mBA+CO;INujHX;IMl+GA;MApII,sBA+CO;IN0jHX;IMr+GA;MApII,2BA+CO;IN6jHX;IMx+GA;MApII,8BA+CO;INgkHX;IM3+GA;MApII,YA0CG;INwkHP;IM9+GA;MApII,YA0CG;IN2kHP;IMj/GA;MApII,cA0CG;IN8kHP;IMp/GA;MApII,cA0CG;INilHP;IMv/GA;MApII,eA+CO;IN+kHX;IM1/GA;MApII,iBA+CO;INklHX;IM7/GA;MApII,uBA+CO;INqlHX;IMhgHA;MApII,2BA0CG;IN6lHP;IMngHA;MApII,yBA0CG;INgmHP;IMtgHA;MApII,uBA0CG;INmmHP;IMzgHA;MApII,8BA0CG;INsmHP;IM5gHA;MApII,6BA0CG;INymHP;IM/gHA;MApII,6BA0CG;IN4mHP;IMlhHA;MApII,oBA0CG;IN+mHP;IMrhHA;MApII,kBA0CG;INknHP;IMxhHA;MApII,qBA0CG;INqnHP;IM3hHA;MApII,sBA0CG;INwnHP;IM9hHA;MApII,uBA0CG;IN2nHP;IMjiHA;MApII,qBA0CG;IN8nHP;IMpiHA;MApII,mBA0CG;INioHP;IMviHA;MApII,qBA0CG;INooHP;IM1iHA;MApII,oBA0CG;INuoHP;IM7iHA;MApII,yBA0CG;IN0oHP;IMhjHA;MApII,uBA0CG;IN6oHP;IMnjHA;MApII,qBA0CG;INgpHP;IMtjHA;MApII,4BA0CG;INmpHP;IMzjHA;MApII,2BA0CG;INspHP;IM5jHA;MApII,sBA0CG;INypHP;IM/jHA;MApII,gBA0CG;IN4pHP;IMlkHA;MApII,sBA0CG;IN+pHP;IMrkHA;MApII,oBA0CG;INkqHP;IMxkHA;MApII,kBA0CG;INqqHP;IM3kHA;MApII,oBA0CG;INwqHP;IM9kHA;MApII,mBA0CG;IN2qHP;IMjlHA;MApII,kBA0CG;IN8qHP;IMplHA;MApII,gBA0CG;INirHP;IMvlHA;MApII,mBA0CG;INorHP;IM1lHA;MApII,oBA0CG;INurHP;IM7lHA;MApII,qCA0CG;IN0rHP;IMhmHA;MApII,qCA0CG;IN6rHP;IMnmHA;MApII,qCA0CG;INgsHP;IMtmHA;MApII,qCA0CG;INmsHP;IMzmHA;MApII,mBA0CG;INssHP;IM5mHA;MApII,mBA+CO;INosHX;IM/mHA;MApII,sBA+CO;INusHX;IMlnHA;MApII,qBA+CO;IN0sHX;IMrnHA;MApII,SA0CG;INktHP;IMxnHA;MApII,QA0CG;INqtHP;IM3nHA;MApII,QA0CG;INwtHP;IM9nHA;MApII,QA0CG;IN2tHP;IMjoHA;MApII,QA0CG;IN8tHP;IMpoHA;MApII,QA0CG;INiuHP;IMvoHA;MApII,QA0CG;INouHP;IM1oHA;MApII,QA0CG;INuuHP;IM7oHA;MApII,SA0CG;IN0uHP;IMhpHA;MApII,eA0CG;IN6uHP;IMnpHA;MApII,cA0CG;INgvHP;IMtpHA;MApII,YA0CG;INmvHP;IMzpHA;MApII,cA0CG;INsvHP;IM5pHA;MApII,YA0CG;INyvHP;IM/pHA;MApII,YA0CG;IN4vHP;IMlqHA;MApII,gBA0CG;IN+vHP;IMrqHA;MApII,sBA0CG;INkwHP;IMxqHA;MApII,qBA0CG;INqwHP;IM3qHA;MApII,mBA0CG;INwwHP;IM9qHA;MApII,qBA0CG;IN2wHP;IMjrHA;MApII,mBA0CG;IN8wHP;IMprHA;MApII,mBA0CG;INixHP;IMvrHA;MApII,eA0CG;INoxHP;IM1rHA;MApII,qBA0CG;INuxHP;IM7rHA;MApII,oBA0CG;IN0xHP;IMhsHA;MApII,kBA0CG;IN6xHP;IMnsHA;MApII,oBA0CG;INgyHP;IMtsHA;MApII,kBA0CG;INmyHP;IMzsHA;MApII,kBA0CG;INsyHP;IM5sHA;MApII,qBA0CG;INyyHP;IM/sHA;MApII,2BA0CG;IN4yHP;IMltHA;MApII,0BA0CG;IN+yHP;IMrtHA;MApII,wBA0CG;INkzHP;IMxtHA;MApII,0BA0CG;INqzHP;IM3tHA;MApII,wBA0CG;INwzHP;IM9tHA;MApII,wBA0CG;IN2zHP;IMjuHA;MApII,oBA0CG;IN8zHP;IMpuHA;MApII,0BA0CG;INi0HP;IMvuHA;MApII,yBA0CG;INo0HP;IM1uHA;MApII,uBA0CG;INu0HP;IM7uHA;MApII,yBA0CG;IN00HP;IMhvHA;MApII,uBA0CG;IN60HP;IMnvHA;MApII,uBA0CG;INg1HP;IMtvHA;MApII,mBA0CG;INm1HP;IMzvHA;MApII,yBA0CG;INs1HP;IM5vHA;MApII,wBA0CG;INy1HP;IM/vHA;MApII,sBA0CG;IN41HP;IMlwHA;MApII,wBA0CG;IN+1HP;IMrwHA;MApII,sBA0CG;INk2HP;IMxwHA;MApII,sBA0CG;INq2HP;IM3wHA;MApII,sBA0CG;INw2HP;IM9wHA;MApII,4BA0CG;IN22HP;IMjxHA;MApII,2BA0CG;IN82HP;IMpxHA;MApII,yBA0CG;INi3HP;IMvxHA;MApII,2BA0CG;INo3HP;IM1xHA;MApII,yBA0CG;INu3HP;IM7xHA;MApII,6BA0CG;IN03HP;IMhyHA;MApII,4BA0CG;IN63HP;IMnyHA;MApII,yBA0CG;INg4HP;IMtyHA;MApII,UA0CG;INm4HP;IMzyHA;MApII,gBA0CG;INs4HP;IM5yHA;MApII,eA0CG;INy4HP;IM/yHA;MApII,aA0CG;IN44HP;IMlzHA;MApII,eA0CG;IN+4HP;IMrzHA;MApII,aA0CG;INk5HP;IMxzHA;MApII,iBA0CG;INq5HP;IM3zHA;MApII,uBA0CG;INw5HP;IM9zHA;MApII,sBA0CG;IN25HP;IMj0HA;MApII,oBA0CG;IN85HP;IMp0HA;MApII,sBA0CG;INi6HP;IMv0HA;MApII,oBA0CG;INo6HP;IM10HA;MApII,gBA0CG;INu6HP;IM70HA;MApII,sBA0CG;IN06HP;IMh1HA;MApII,qBA0CG;IN66HP;IMn1HA;MApII,mBA0CG;INg7HP;IMt1HA;MApII,qBA0CG;INm7HP;IMz1HA;MApII,mBA0CG;INs7HP;IM51HA;MApII,sBA0CG;INy7HP;IM/1HA;MApII,4BA0CG;IN47HP;IMl2HA;MApII,2BA0CG;IN+7HP;IMr2HA;MApII,yBA0CG;INk8HP;IMx2HA;MApII,2BA0CG;INq8HP;IM32HA;MApII,yBA0CG;INw8HP;IM92HA;MApII,qBA0CG;IN28HP;IMj3HA;MApII,2BA0CG;IN88HP;IMp3HA;MApII,0BA0CG;INi9HP;IMv3HA;MApII,wBA0CG;INo9HP;IM13HA;MApII,0BA0CG;INu9HP;IM73HA;MApII,wBA0CG;IN09HP;IMh4HA;MApII,oBA0CG;IN69HP;IMn4HA;MApII,0BA0CG;INg+HP;IMt4HA;MApII,yBA0CG;INm+HP;IMz4HA;MApII,uBA0CG;INs+HP;IM54HA;MApII,yBA0CG;INy+HP;IM/4HA;MApII,uBA0CG;IN4+HP;IMl5HA;MApII,uBA0CG;IN++HP;IMr5HA;MApII,6BA0CG;INk/HP;IMx5HA;MApII,4BA0CG;INq/HP;IM35HA;MApII,0BA0CG;INw/HP;IM95HA;MApII,4BA0CG;IN2/HP;IMj6HA;MApII,0BA0CG;IN8/HP;IMp6HA;MApII,MA0CG;INigIP;IMv6HA;MApII,YA0CG;INogIP;IM16HA;MApII,WA0CG;INugIP;IM76HA;MApII,SA0CG;IN0gIP;IMh7HA;MApII,WA0CG;IN6gIP;IMn7HA;MApII,SA0CG;INghIP;IMt7HA;MApII,UA0CG;INmhIP;IMz7HA;MApII,gBA0CG;INshIP;IM57HA;MApII,eA0CG;INyhIP;IM/7HA;MApII,aA0CG;IN4hIP;IMl8HA;MApII,eA0CG;IN+hIP;IMr8HA;MApII,aA0CG;INkiIP;IMx8HA;MApII,kBA0CG;MA1CH,aA0CG;INqiIP;IM38HA;MApII,wBA0CG;MA1CH,mBA0CG;INwiIP;IM98HA;MApII,uBA0CG;MA1CH,kBA0CG;IN2iIP;IMj9HA;MApII,qBA0CG;MA1CH,gBA0CG;IN8iIP;IMp9HA;MApII,uBA0CG;MA1CH,kBA0CG;INijIP;IMv9HA;MApII,qBA0CG;MA1CH,gBA0CG;INojIP;EACF;EClkIE;IKuGA;MApII,eA+CO;INojIX;IM/9HA;MApII,qBA+CO;INujIX;IMl+HA;MApII,cA+CO;IN0jIX;IMr+HA;MApII,aA+CO;IN6jIX;IMx+HA;MApII,oBA+CO;INgkIX;IM3+HA;MApII,cA+CO;INmkIX;IM9+HA;MApII,kBA+CO;INskIX;IMj/HA;MApII,mBA+CO;INykIX;IMp/HA;MApII,aA+CO;IN4kIX;IMv/HA;MApII,oBA+CO;IN+kIX;IM1/HA;MApII,iBA+CO;INklIX;IM7/HA;MApII,kBA+CO;INqlIX;IMhgIA;MApII,aA+CO;INwlIX;IMngIA;MApII,cA0CG;INgmIP;IMtgIA;MApII,mBA+CO;IN8lIX;IMzgIA;MApII,sBA+CO;INimIX;IM5gIA;MApII,2BA+CO;INomIX;IM/gIA;MApII,8BA+CO;INumIX;IMlhIA;MApII,YA0CG;IN+mIP;IMrhIA;MApII,YA0CG;INknIP;IMxhIA;MApII,cA0CG;INqnIP;IM3hIA;MApII,cA0CG;INwnIP;IM9hIA;MApII,eA+CO;INsnIX;IMjiIA;MApII,iBA+CO;INynIX;IMpiIA;MApII,uBA+CO;IN4nIX;IMviIA;MApII,2BA0CG;INooIP;IM1iIA;MApII,yBA0CG;INuoIP;IM7iIA;MApII,uBA0CG;IN0oIP;IMhjIA;MApII,8BA0CG;IN6oIP;IMnjIA;MApII,6BA0CG;INgpIP;IMtjIA;MApII,6BA0CG;INmpIP;IMzjIA;MApII,oBA0CG;INspIP;IM5jIA;MApII,kBA0CG;INypIP;IM/jIA;MApII,qBA0CG;IN4pIP;IMlkIA;MApII,sBA0CG;IN+pIP;IMrkIA;MApII,uBA0CG;INkqIP;IMxkIA;MApII,qBA0CG;INqqIP;IM3kIA;MApII,mBA0CG;INwqIP;IM9kIA;MApII,qBA0CG;IN2qIP;IMjlIA;MApII,oBA0CG;IN8qIP;IMplIA;MApII,yBA0CG;INirIP;IMvlIA;MApII,uBA0CG;INorIP;IM1lIA;MApII,qBA0CG;INurIP;IM7lIA;MApII,4BA0CG;IN0rIP;IMhmIA;MApII,2BA0CG;IN6rIP;IMnmIA;MApII,sBA0CG;INgsIP;IMtmIA;MApII,gBA0CG;INmsIP;IMzmIA;MApII,sBA0CG;INssIP;IM5mIA;MApII,oBA0CG;INysIP;IM/mIA;MApII,kBA0CG;IN4sIP;IMlnIA;MApII,oBA0CG;IN+sIP;IMrnIA;MApII,mBA0CG;INktIP;IMxnIA;MApII,kBA0CG;INqtIP;IM3nIA;MApII,gBA0CG;INwtIP;IM9nIA;MApII,mBA0CG;IN2tIP;IMjoIA;MApII,oBA0CG;IN8tIP;IMpoIA;MApII,qCA0CG;INiuIP;IMvoIA;MApII,qCA0CG;INouIP;IM1oIA;MApII,qCA0CG;INuuIP;IM7oIA;MApII,qCA0CG;IN0uIP;IMhpIA;MApII,mBA0CG;IN6uIP;IMnpIA;MApII,mBA+CO;IN2uIX;IMtpIA;MApII,sBA+CO;IN8uIX;IMzpIA;MApII,qBA+CO;INivIX;IM5pIA;MApII,SA0CG;INyvIP;IM/pIA;MApII,QA0CG;IN4vIP;IMlqIA;MApII,QA0CG;IN+vIP;IMrqIA;MApII,QA0CG;INkwIP;IMxqIA;MApII,QA0CG;INqwIP;IM3qIA;MApII,QA0CG;INwwIP;IM9qIA;MApII,QA0CG;IN2wIP;IMjrIA;MApII,QA0CG;IN8wIP;IMprIA;MApII,SA0CG;INixIP;IMvrIA;MApII,eA0CG;INoxIP;IM1rIA;MApII,cA0CG;INuxIP;IM7rIA;MApII,YA0CG;IN0xIP;IMhsIA;MApII,cA0CG;IN6xIP;IMnsIA;MApII,YA0CG;INgyIP;IMtsIA;MApII,YA0CG;INmyIP;IMzsIA;MApII,gBA0CG;INsyIP;IM5sIA;MApII,sBA0CG;INyyIP;IM/sIA;MApII,qBA0CG;IN4yIP;IMltIA;MApII,mBA0CG;IN+yIP;IMrtIA;MApII,qBA0CG;INkzIP;IMxtIA;MApII,mBA0CG;INqzIP;IM3tIA;MApII,mBA0CG;INwzIP;IM9tIA;MApII,eA0CG;IN2zIP;IMjuIA;MApII,qBA0CG;IN8zIP;IMpuIA;MApII,oBA0CG;INi0IP;IMvuIA;MApII,kBA0CG;INo0IP;IM1uIA;MApII,oBA0CG;INu0IP;IM7uIA;MApII,kBA0CG;IN00IP;IMhvIA;MApII,kBA0CG;IN60IP;IMnvIA;MApII,qBA0CG;INg1IP;IMtvIA;MApII,2BA0CG;INm1IP;IMzvIA;MApII,0BA0CG;INs1IP;IM5vIA;MApII,wBA0CG;INy1IP;IM/vIA;MApII,0BA0CG;IN41IP;IMlwIA;MApII,wBA0CG;IN+1IP;IMrwIA;MApII,wBA0CG;INk2IP;IMxwIA;MApII,oBA0CG;INq2IP;IM3wIA;MApII,0BA0CG;INw2IP;IM9wIA;MApII,yBA0CG;IN22IP;IMjxIA;MApII,uBA0CG;IN82IP;IMpxIA;MApII,yBA0CG;INi3IP;IMvxIA;MApII,uBA0CG;INo3IP;IM1xIA;MApII,uBA0CG;INu3IP;IM7xIA;MApII,mBA0CG;IN03IP;IMhyIA;MApII,yBA0CG;IN63IP;IMnyIA;MApII,wBA0CG;INg4IP;IMtyIA;MApII,sBA0CG;INm4IP;IMzyIA;MApII,wBA0CG;INs4IP;IM5yIA;MApII,sBA0CG;INy4IP;IM/yIA;MApII,sBA0CG;IN44IP;IMlzIA;MApII,sBA0CG;IN+4IP;IMrzIA;MApII,4BA0CG;INk5IP;IMxzIA;MApII,2BA0CG;INq5IP;IM3zIA;MApII,yBA0CG;INw5IP;IM9zIA;MApII,2BA0CG;IN25IP;IMj0IA;MApII,yBA0CG;IN85IP;IMp0IA;MApII,6BA0CG;INi6IP;IMv0IA;MApII,4BA0CG;INo6IP;IM10IA;MApII,yBA0CG;INu6IP;IM70IA;MApII,UA0CG;IN06IP;IMh1IA;MApII,gBA0CG;IN66IP;IMn1IA;MApII,eA0CG;INg7IP;IMt1IA;MApII,aA0CG;INm7IP;IMz1IA;MApII,eA0CG;INs7IP;IM51IA;MApII,aA0CG;INy7IP;IM/1IA;MApII,iBA0CG;IN47IP;IMl2IA;MApII,uBA0CG;IN+7IP;IMr2IA;MApII,sBA0CG;INk8IP;IMx2IA;MApII,oBA0CG;INq8IP;IM32IA;MApII,sBA0CG;INw8IP;IM92IA;MApII,oBA0CG;IN28IP;IMj3IA;MApII,gBA0CG;IN88IP;IMp3IA;MApII,sBA0CG;INi9IP;IMv3IA;MApII,qBA0CG;INo9IP;IM13IA;MApII,mBA0CG;INu9IP;IM73IA;MApII,qBA0CG;IN09IP;IMh4IA;MApII,mBA0CG;IN69IP;IMn4IA;MApII,sBA0CG;INg+IP;IMt4IA;MApII,4BA0CG;INm+IP;IMz4IA;MApII,2BA0CG;INs+IP;IM54IA;MApII,yBA0CG;INy+IP;IM/4IA;MApII,2BA0CG;IN4+IP;IMl5IA;MApII,yBA0CG;IN++IP;IMr5IA;MApII,qBA0CG;INk/IP;IMx5IA;MApII,2BA0CG;INq/IP;IM35IA;MApII,0BA0CG;INw/IP;IM95IA;MApII,wBA0CG;IN2/IP;IMj6IA;MApII,0BA0CG;IN8/IP;IMp6IA;MApII,wBA0CG;INigJP;IMv6IA;MApII,oBA0CG;INogJP;IM16IA;MApII,0BA0CG;INugJP;IM76IA;MApII,yBA0CG;IN0gJP;IMh7IA;MApII,uBA0CG;IN6gJP;IMn7IA;MApII,yBA0CG;INghJP;IMt7IA;MApII,uBA0CG;INmhJP;IMz7IA;MApII,uBA0CG;INshJP;IM57IA;MApII,6BA0CG;INyhJP;IM/7IA;MApII,4BA0CG;IN4hJP;IMl8IA;MApII,0BA0CG;IN+hJP;IMr8IA;MApII,4BA0CG;INkiJP;IMx8IA;MApII,0BA0CG;INqiJP;IM38IA;MApII,MA0CG;INwiJP;IM98IA;MApII,YA0CG;IN2iJP;IMj9IA;MApII,WA0CG;IN8iJP;IMp9IA;MApII,SA0CG;INijJP;IMv9IA;MApII,WA0CG;INojJP;IM19IA;MApII,SA0CG;INujJP;IM79IA;MApII,UA0CG;IN0jJP;IMh+IA;MApII,gBA0CG;IN6jJP;IMn+IA;MApII,eA0CG;INgkJP;IMt+IA;MApII,aA0CG;INmkJP;IMz+IA;MApII,eA0CG;INskJP;IM5+IA;MApII,aA0CG;INykJP;IM/+IA;MApII,kBA0CG;MA1CH,aA0CG;IN4kJP;IMl/IA;MApII,wBA0CG;MA1CH,mBA0CG;IN+kJP;IMr/IA;MApII,uBA0CG;MA1CH,kBA0CG;INklJP;IMx/IA;MApII,qBA0CG;MA1CH,gBA0CG;INqlJP;IM3/IA;MApII,uBA0CG;MA1CH,kBA0CG;INwlJP;IM9/IA;MApII,qBA0CG;MA1CH,gBA0CG;IN2lJP;EACF;AACF;AOppJA;EAEI,qBAAA;EAAA,yBAAA;EAAA,yBAAA;EAAA,0BAAA;EAAA,0BAAA;EAAA,2BAAA;AP0pJJ","file":"bootstrap-grid.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --gutter-x: #{$gutter};\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * .5);\n margin-inline: auto;\n}\n\n@layer layout {\n @if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $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","/*!\n * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n@layer layout {\n .container,\n .container-fluid,\n .container-2xl,\n .container-xl,\n .container-lg,\n .container-md,\n .container-sm {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-inline: auto;\n }\n @media (width >= 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n }\n @media (width >= 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n }\n @media (width >= 1024px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n }\n @media (width >= 1280px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1200px;\n }\n }\n @media (width >= 1536px) {\n .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1440px;\n }\n }\n}\n@layer layout {\n .row {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-inline: calc(-0.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n }\n .row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-top: var(--gutter-y);\n }\n .col {\n flex: 1 0 0;\n }\n .row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-3 {\n margin-inline-start: 25%;\n }\n .offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-6 {\n margin-inline-start: 50%;\n }\n .offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-9 {\n margin-inline-start: 75%;\n }\n .offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-0,\n .gx-0 {\n --gutter-x: 0;\n }\n .g-0,\n .gy-0 {\n --gutter-y: 0;\n }\n .g-1,\n .gx-1 {\n --gutter-x: 0.25rem;\n }\n .g-1,\n .gy-1 {\n --gutter-y: 0.25rem;\n }\n .g-2,\n .gx-2 {\n --gutter-x: 0.5rem;\n }\n .g-2,\n .gy-2 {\n --gutter-y: 0.5rem;\n }\n .g-3,\n .gx-3 {\n --gutter-x: 1rem;\n }\n .g-3,\n .gy-3 {\n --gutter-y: 1rem;\n }\n .g-4,\n .gx-4 {\n --gutter-x: 1.5rem;\n }\n .g-4,\n .gy-4 {\n --gutter-y: 1.5rem;\n }\n .g-5,\n .gx-5 {\n --gutter-x: 3rem;\n }\n .g-5,\n .gy-5 {\n --gutter-y: 3rem;\n }\n @media (width >= 576px) {\n .col-sm {\n flex: 1 0 0;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-inline-start: 0;\n }\n .offset-sm-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-sm-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-sm-3 {\n margin-inline-start: 25%;\n }\n .offset-sm-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-sm-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-sm-6 {\n margin-inline-start: 50%;\n }\n .offset-sm-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-sm-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-sm-9 {\n margin-inline-start: 75%;\n }\n .offset-sm-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-sm-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 768px) {\n .col-md {\n flex: 1 0 0;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-inline-start: 0;\n }\n .offset-md-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-md-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-md-3 {\n margin-inline-start: 25%;\n }\n .offset-md-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-md-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-md-6 {\n margin-inline-start: 50%;\n }\n .offset-md-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-md-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-md-9 {\n margin-inline-start: 75%;\n }\n .offset-md-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-md-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1024px) {\n .col-lg {\n flex: 1 0 0;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-inline-start: 0;\n }\n .offset-lg-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-lg-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-lg-3 {\n margin-inline-start: 25%;\n }\n .offset-lg-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-lg-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-lg-6 {\n margin-inline-start: 50%;\n }\n .offset-lg-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-lg-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-lg-9 {\n margin-inline-start: 75%;\n }\n .offset-lg-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-lg-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1280px) {\n .col-xl {\n flex: 1 0 0;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-inline-start: 0;\n }\n .offset-xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-xl-3 {\n margin-inline-start: 25%;\n }\n .offset-xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-xl-6 {\n margin-inline-start: 50%;\n }\n .offset-xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-xl-9 {\n margin-inline-start: 75%;\n }\n .offset-xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1536px) {\n .col-2xl {\n flex: 1 0 0;\n }\n .row-cols-2xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-2xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-2xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-2xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-2xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-2xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-2xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-2xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-2xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-2xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-2xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-2xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-2xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-2xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-2xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-2xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-2xl-0 {\n margin-inline-start: 0;\n }\n .offset-2xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-2xl-3 {\n margin-inline-start: 25%;\n }\n .offset-2xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-2xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-2xl-6 {\n margin-inline-start: 50%;\n }\n .offset-2xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-2xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-2xl-9 {\n margin-inline-start: 75%;\n }\n .offset-2xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-2xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-2xl-0,\n .gx-2xl-0 {\n --gutter-x: 0;\n }\n .g-2xl-0,\n .gy-2xl-0 {\n --gutter-y: 0;\n }\n .g-2xl-1,\n .gx-2xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-2xl-1,\n .gy-2xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-2xl-2,\n .gx-2xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-2xl-2,\n .gy-2xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-2xl-3,\n .gx-2xl-3 {\n --gutter-x: 1rem;\n }\n .g-2xl-3,\n .gy-2xl-3 {\n --gutter-y: 1rem;\n }\n .g-2xl-4,\n .gx-2xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-2xl-4,\n .gy-2xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-2xl-5,\n .gx-2xl-5 {\n --gutter-x: 3rem;\n }\n .g-2xl-5,\n .gy-2xl-5 {\n --gutter-y: 3rem;\n }\n }\n .grid {\n --columns: 12;\n --rows: 1;\n --gap: 1.5rem;\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n }\n .g-col-1 {\n grid-column: auto/span 1;\n }\n .g-col-2 {\n grid-column: auto/span 2;\n }\n .g-col-3 {\n grid-column: auto/span 3;\n }\n .g-col-4 {\n grid-column: auto/span 4;\n }\n .g-col-5 {\n grid-column: auto/span 5;\n }\n .g-col-6 {\n grid-column: auto/span 6;\n }\n .g-col-7 {\n grid-column: auto/span 7;\n }\n .g-col-8 {\n grid-column: auto/span 8;\n }\n .g-col-9 {\n grid-column: auto/span 9;\n }\n .g-col-10 {\n grid-column: auto/span 10;\n }\n .g-col-11 {\n grid-column: auto/span 11;\n }\n .g-col-12 {\n grid-column: auto/span 12;\n }\n .g-start-1 {\n grid-column-start: 1;\n }\n .g-start-2 {\n grid-column-start: 2;\n }\n .g-start-3 {\n grid-column-start: 3;\n }\n .g-start-4 {\n grid-column-start: 4;\n }\n .g-start-5 {\n grid-column-start: 5;\n }\n .g-start-6 {\n grid-column-start: 6;\n }\n .g-start-7 {\n grid-column-start: 7;\n }\n .g-start-8 {\n grid-column-start: 8;\n }\n .g-start-9 {\n grid-column-start: 9;\n }\n .g-start-10 {\n grid-column-start: 10;\n }\n .g-start-11 {\n grid-column-start: 11;\n }\n @media (width >= 576px) {\n .g-col-sm-1 {\n grid-column: auto/span 1;\n }\n .g-col-sm-2 {\n grid-column: auto/span 2;\n }\n .g-col-sm-3 {\n grid-column: auto/span 3;\n }\n .g-col-sm-4 {\n grid-column: auto/span 4;\n }\n .g-col-sm-5 {\n grid-column: auto/span 5;\n }\n .g-col-sm-6 {\n grid-column: auto/span 6;\n }\n .g-col-sm-7 {\n grid-column: auto/span 7;\n }\n .g-col-sm-8 {\n grid-column: auto/span 8;\n }\n .g-col-sm-9 {\n grid-column: auto/span 9;\n }\n .g-col-sm-10 {\n grid-column: auto/span 10;\n }\n .g-col-sm-11 {\n grid-column: auto/span 11;\n }\n .g-col-sm-12 {\n grid-column: auto/span 12;\n }\n .g-start-sm-1 {\n grid-column-start: 1;\n }\n .g-start-sm-2 {\n grid-column-start: 2;\n }\n .g-start-sm-3 {\n grid-column-start: 3;\n }\n .g-start-sm-4 {\n grid-column-start: 4;\n }\n .g-start-sm-5 {\n grid-column-start: 5;\n }\n .g-start-sm-6 {\n grid-column-start: 6;\n }\n .g-start-sm-7 {\n grid-column-start: 7;\n }\n .g-start-sm-8 {\n grid-column-start: 8;\n }\n .g-start-sm-9 {\n grid-column-start: 9;\n }\n .g-start-sm-10 {\n grid-column-start: 10;\n }\n .g-start-sm-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 768px) {\n .g-col-md-1 {\n grid-column: auto/span 1;\n }\n .g-col-md-2 {\n grid-column: auto/span 2;\n }\n .g-col-md-3 {\n grid-column: auto/span 3;\n }\n .g-col-md-4 {\n grid-column: auto/span 4;\n }\n .g-col-md-5 {\n grid-column: auto/span 5;\n }\n .g-col-md-6 {\n grid-column: auto/span 6;\n }\n .g-col-md-7 {\n grid-column: auto/span 7;\n }\n .g-col-md-8 {\n grid-column: auto/span 8;\n }\n .g-col-md-9 {\n grid-column: auto/span 9;\n }\n .g-col-md-10 {\n grid-column: auto/span 10;\n }\n .g-col-md-11 {\n grid-column: auto/span 11;\n }\n .g-col-md-12 {\n grid-column: auto/span 12;\n }\n .g-start-md-1 {\n grid-column-start: 1;\n }\n .g-start-md-2 {\n grid-column-start: 2;\n }\n .g-start-md-3 {\n grid-column-start: 3;\n }\n .g-start-md-4 {\n grid-column-start: 4;\n }\n .g-start-md-5 {\n grid-column-start: 5;\n }\n .g-start-md-6 {\n grid-column-start: 6;\n }\n .g-start-md-7 {\n grid-column-start: 7;\n }\n .g-start-md-8 {\n grid-column-start: 8;\n }\n .g-start-md-9 {\n grid-column-start: 9;\n }\n .g-start-md-10 {\n grid-column-start: 10;\n }\n .g-start-md-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1024px) {\n .g-col-lg-1 {\n grid-column: auto/span 1;\n }\n .g-col-lg-2 {\n grid-column: auto/span 2;\n }\n .g-col-lg-3 {\n grid-column: auto/span 3;\n }\n .g-col-lg-4 {\n grid-column: auto/span 4;\n }\n .g-col-lg-5 {\n grid-column: auto/span 5;\n }\n .g-col-lg-6 {\n grid-column: auto/span 6;\n }\n .g-col-lg-7 {\n grid-column: auto/span 7;\n }\n .g-col-lg-8 {\n grid-column: auto/span 8;\n }\n .g-col-lg-9 {\n grid-column: auto/span 9;\n }\n .g-col-lg-10 {\n grid-column: auto/span 10;\n }\n .g-col-lg-11 {\n grid-column: auto/span 11;\n }\n .g-col-lg-12 {\n grid-column: auto/span 12;\n }\n .g-start-lg-1 {\n grid-column-start: 1;\n }\n .g-start-lg-2 {\n grid-column-start: 2;\n }\n .g-start-lg-3 {\n grid-column-start: 3;\n }\n .g-start-lg-4 {\n grid-column-start: 4;\n }\n .g-start-lg-5 {\n grid-column-start: 5;\n }\n .g-start-lg-6 {\n grid-column-start: 6;\n }\n .g-start-lg-7 {\n grid-column-start: 7;\n }\n .g-start-lg-8 {\n grid-column-start: 8;\n }\n .g-start-lg-9 {\n grid-column-start: 9;\n }\n .g-start-lg-10 {\n grid-column-start: 10;\n }\n .g-start-lg-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1280px) {\n .g-col-xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-xl-1 {\n grid-column-start: 1;\n }\n .g-start-xl-2 {\n grid-column-start: 2;\n }\n .g-start-xl-3 {\n grid-column-start: 3;\n }\n .g-start-xl-4 {\n grid-column-start: 4;\n }\n .g-start-xl-5 {\n grid-column-start: 5;\n }\n .g-start-xl-6 {\n grid-column-start: 6;\n }\n .g-start-xl-7 {\n grid-column-start: 7;\n }\n .g-start-xl-8 {\n grid-column-start: 8;\n }\n .g-start-xl-9 {\n grid-column-start: 9;\n }\n .g-start-xl-10 {\n grid-column-start: 10;\n }\n .g-start-xl-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1536px) {\n .g-col-2xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-2xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-2xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-2xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-2xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-2xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-2xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-2xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-2xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-2xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-2xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-2xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-2xl-1 {\n grid-column-start: 1;\n }\n .g-start-2xl-2 {\n grid-column-start: 2;\n }\n .g-start-2xl-3 {\n grid-column-start: 3;\n }\n .g-start-2xl-4 {\n grid-column-start: 4;\n }\n .g-start-2xl-5 {\n grid-column-start: 5;\n }\n .g-start-2xl-6 {\n grid-column-start: 6;\n }\n .g-start-2xl-7 {\n grid-column-start: 7;\n }\n .g-start-2xl-8 {\n grid-column-start: 8;\n }\n .g-start-2xl-9 {\n grid-column-start: 9;\n }\n .g-start-2xl-10 {\n grid-column-start: 10;\n }\n .g-start-2xl-11 {\n grid-column-start: 11;\n }\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-fill {\n --gap: 1.5rem;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n}\n@layer utilities {\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .order-first {\n order: -1;\n }\n .order-0 {\n order: 0;\n }\n .order-1 {\n order: 1;\n }\n .order-2 {\n order: 2;\n }\n .order-3 {\n order: 3;\n }\n .order-4 {\n order: 4;\n }\n .order-5 {\n order: 5;\n }\n .order-last {\n order: 6;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n .gap-0 {\n gap: 0;\n }\n .gap-1 {\n gap: 0.25rem;\n }\n .gap-2 {\n gap: 0.5rem;\n }\n .gap-3 {\n gap: 1rem;\n }\n .gap-4 {\n gap: 1.5rem;\n }\n .gap-5 {\n gap: 3rem;\n }\n .row-gap-0 {\n row-gap: 0;\n }\n .row-gap-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2 {\n row-gap: 0.5rem;\n }\n .row-gap-3 {\n row-gap: 1rem;\n }\n .row-gap-4 {\n row-gap: 1.5rem;\n }\n .row-gap-5 {\n row-gap: 3rem;\n }\n .column-gap-0 {\n column-gap: 0;\n }\n .column-gap-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2 {\n column-gap: 0.5rem;\n }\n .column-gap-3 {\n column-gap: 1rem;\n }\n .column-gap-4 {\n column-gap: 1.5rem;\n }\n .column-gap-5 {\n column-gap: 3rem;\n }\n @media (width >= 576px) {\n .d-sm-inline {\n display: inline;\n }\n .d-sm-inline-block {\n display: inline-block;\n }\n .d-sm-block {\n display: block;\n }\n .d-sm-grid {\n display: grid;\n }\n .d-sm-inline-grid {\n display: inline-grid;\n }\n .d-sm-table {\n display: table;\n }\n .d-sm-table-row {\n display: table-row;\n }\n .d-sm-table-cell {\n display: table-cell;\n }\n .d-sm-flex {\n display: flex;\n }\n .d-sm-inline-flex {\n display: inline-flex;\n }\n .d-sm-contents {\n display: contents;\n }\n .d-sm-flow-root {\n display: flow-root;\n }\n .d-sm-none {\n display: none;\n }\n .flex-sm-fill {\n flex: 1 1 auto;\n }\n .flex-sm-row {\n flex-direction: row;\n }\n .flex-sm-column {\n flex-direction: column;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-sm-grow-0 {\n flex-grow: 0;\n }\n .flex-sm-grow-1 {\n flex-grow: 1;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1;\n }\n .flex-sm-wrap {\n flex-wrap: wrap;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-sm-start {\n justify-content: flex-start;\n }\n .justify-content-sm-end {\n justify-content: flex-end;\n }\n .justify-content-sm-center {\n justify-content: center;\n }\n .justify-content-sm-between {\n justify-content: space-between;\n }\n .justify-content-sm-around {\n justify-content: space-around;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly;\n }\n .justify-items-sm-start {\n justify-items: start;\n }\n .justify-items-sm-end {\n justify-items: end;\n }\n .justify-items-sm-center {\n justify-items: center;\n }\n .justify-items-sm-stretch {\n justify-items: stretch;\n }\n .align-items-sm-start {\n align-items: flex-start;\n }\n .align-items-sm-end {\n align-items: flex-end;\n }\n .align-items-sm-center {\n align-items: center;\n }\n .align-items-sm-baseline {\n align-items: baseline;\n }\n .align-items-sm-stretch {\n align-items: stretch;\n }\n .align-content-sm-start {\n align-content: flex-start;\n }\n .align-content-sm-end {\n align-content: flex-end;\n }\n .align-content-sm-center {\n align-content: center;\n }\n .align-content-sm-between {\n align-content: space-between;\n }\n .align-content-sm-around {\n align-content: space-around;\n }\n .align-content-sm-stretch {\n align-content: stretch;\n }\n .align-self-sm-auto {\n align-self: auto;\n }\n .align-self-sm-start {\n align-self: flex-start;\n }\n .align-self-sm-end {\n align-self: flex-end;\n }\n .align-self-sm-center {\n align-self: center;\n }\n .align-self-sm-baseline {\n align-self: baseline;\n }\n .align-self-sm-stretch {\n align-self: stretch;\n }\n .place-items-sm-start {\n place-items: start;\n }\n .place-items-sm-end {\n place-items: end;\n }\n .place-items-sm-center {\n place-items: center;\n }\n .place-items-sm-stretch {\n place-items: stretch;\n }\n .grid-cols-sm-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-sm-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-sm-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-sm-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-sm-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-sm-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-sm-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-sm-dense {\n grid-auto-flow: dense;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-last {\n order: 6;\n }\n .m-sm-0 {\n margin: 0;\n }\n .m-sm-1 {\n margin: 0.25rem;\n }\n .m-sm-2 {\n margin: 0.5rem;\n }\n .m-sm-3 {\n margin: 1rem;\n }\n .m-sm-4 {\n margin: 1.5rem;\n }\n .m-sm-5 {\n margin: 3rem;\n }\n .m-sm-auto {\n margin: auto;\n }\n .mx-sm-0 {\n margin-inline: 0;\n }\n .mx-sm-1 {\n margin-inline: 0.25rem;\n }\n .mx-sm-2 {\n margin-inline: 0.5rem;\n }\n .mx-sm-3 {\n margin-inline: 1rem;\n }\n .mx-sm-4 {\n margin-inline: 1.5rem;\n }\n .mx-sm-5 {\n margin-inline: 3rem;\n }\n .mx-sm-auto {\n margin-inline: auto;\n }\n .my-sm-0 {\n margin-block: 0;\n }\n .my-sm-1 {\n margin-block: 0.25rem;\n }\n .my-sm-2 {\n margin-block: 0.5rem;\n }\n .my-sm-3 {\n margin-block: 1rem;\n }\n .my-sm-4 {\n margin-block: 1.5rem;\n }\n .my-sm-5 {\n margin-block: 3rem;\n }\n .my-sm-auto {\n margin-block: auto;\n }\n .mt-sm-0 {\n margin-block-start: 0;\n }\n .mt-sm-1 {\n margin-block-start: 0.25rem;\n }\n .mt-sm-2 {\n margin-block-start: 0.5rem;\n }\n .mt-sm-3 {\n margin-block-start: 1rem;\n }\n .mt-sm-4 {\n margin-block-start: 1.5rem;\n }\n .mt-sm-5 {\n margin-block-start: 3rem;\n }\n .mt-sm-auto {\n margin-block-start: auto;\n }\n .me-sm-0 {\n margin-inline-end: 0;\n }\n .me-sm-1 {\n margin-inline-end: 0.25rem;\n }\n .me-sm-2 {\n margin-inline-end: 0.5rem;\n }\n .me-sm-3 {\n margin-inline-end: 1rem;\n }\n .me-sm-4 {\n margin-inline-end: 1.5rem;\n }\n .me-sm-5 {\n margin-inline-end: 3rem;\n }\n .me-sm-auto {\n margin-inline-end: auto;\n }\n .mb-sm-0 {\n margin-block-end: 0;\n }\n .mb-sm-1 {\n margin-block-end: 0.25rem;\n }\n .mb-sm-2 {\n margin-block-end: 0.5rem;\n }\n .mb-sm-3 {\n margin-block-end: 1rem;\n }\n .mb-sm-4 {\n margin-block-end: 1.5rem;\n }\n .mb-sm-5 {\n margin-block-end: 3rem;\n }\n .mb-sm-auto {\n margin-block-end: auto;\n }\n .ms-sm-0 {\n margin-inline-start: 0;\n }\n .ms-sm-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-sm-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-sm-3 {\n margin-inline-start: 1rem;\n }\n .ms-sm-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-sm-5 {\n margin-inline-start: 3rem;\n }\n .ms-sm--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-sm--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-sm-auto {\n margin-inline-start: auto;\n }\n .p-sm-0 {\n padding: 0;\n }\n .p-sm-1 {\n padding: 0.25rem;\n }\n .p-sm-2 {\n padding: 0.5rem;\n }\n .p-sm-3 {\n padding: 1rem;\n }\n .p-sm-4 {\n padding: 1.5rem;\n }\n .p-sm-5 {\n padding: 3rem;\n }\n .px-sm-0 {\n padding-inline: 0;\n }\n .px-sm-1 {\n padding-inline: 0.25rem;\n }\n .px-sm-2 {\n padding-inline: 0.5rem;\n }\n .px-sm-3 {\n padding-inline: 1rem;\n }\n .px-sm-4 {\n padding-inline: 1.5rem;\n }\n .px-sm-5 {\n padding-inline: 3rem;\n }\n .py-sm-0 {\n padding-block: 0;\n }\n .py-sm-1 {\n padding-block: 0.25rem;\n }\n .py-sm-2 {\n padding-block: 0.5rem;\n }\n .py-sm-3 {\n padding-block: 1rem;\n }\n .py-sm-4 {\n padding-block: 1.5rem;\n }\n .py-sm-5 {\n padding-block: 3rem;\n }\n .pt-sm-0 {\n padding-block-start: 0;\n }\n .pt-sm-1 {\n padding-block-start: 0.25rem;\n }\n .pt-sm-2 {\n padding-block-start: 0.5rem;\n }\n .pt-sm-3 {\n padding-block-start: 1rem;\n }\n .pt-sm-4 {\n padding-block-start: 1.5rem;\n }\n .pt-sm-5 {\n padding-block-start: 3rem;\n }\n .pe-sm-0 {\n padding-inline-end: 0;\n }\n .pe-sm-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-sm-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-sm-3 {\n padding-inline-end: 1rem;\n }\n .pe-sm-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-sm-5 {\n padding-inline-end: 3rem;\n }\n .pb-sm-0 {\n padding-block-end: 0;\n }\n .pb-sm-1 {\n padding-block-end: 0.25rem;\n }\n .pb-sm-2 {\n padding-block-end: 0.5rem;\n }\n .pb-sm-3 {\n padding-block-end: 1rem;\n }\n .pb-sm-4 {\n padding-block-end: 1.5rem;\n }\n .pb-sm-5 {\n padding-block-end: 3rem;\n }\n .ps-sm-0 {\n padding-inline-start: 0;\n }\n .ps-sm-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-sm-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-sm-3 {\n padding-inline-start: 1rem;\n }\n .ps-sm-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-sm-5 {\n padding-inline-start: 3rem;\n }\n .gap-sm-0 {\n gap: 0;\n }\n .gap-sm-1 {\n gap: 0.25rem;\n }\n .gap-sm-2 {\n gap: 0.5rem;\n }\n .gap-sm-3 {\n gap: 1rem;\n }\n .gap-sm-4 {\n gap: 1.5rem;\n }\n .gap-sm-5 {\n gap: 3rem;\n }\n .row-gap-sm-0 {\n row-gap: 0;\n }\n .row-gap-sm-1 {\n row-gap: 0.25rem;\n }\n .row-gap-sm-2 {\n row-gap: 0.5rem;\n }\n .row-gap-sm-3 {\n row-gap: 1rem;\n }\n .row-gap-sm-4 {\n row-gap: 1.5rem;\n }\n .row-gap-sm-5 {\n row-gap: 3rem;\n }\n .column-gap-sm-0 {\n column-gap: 0;\n }\n .column-gap-sm-1 {\n column-gap: 0.25rem;\n }\n .column-gap-sm-2 {\n column-gap: 0.5rem;\n }\n .column-gap-sm-3 {\n column-gap: 1rem;\n }\n .column-gap-sm-4 {\n column-gap: 1.5rem;\n }\n .column-gap-sm-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 768px) {\n .d-md-inline {\n display: inline;\n }\n .d-md-inline-block {\n display: inline-block;\n }\n .d-md-block {\n display: block;\n }\n .d-md-grid {\n display: grid;\n }\n .d-md-inline-grid {\n display: inline-grid;\n }\n .d-md-table {\n display: table;\n }\n .d-md-table-row {\n display: table-row;\n }\n .d-md-table-cell {\n display: table-cell;\n }\n .d-md-flex {\n display: flex;\n }\n .d-md-inline-flex {\n display: inline-flex;\n }\n .d-md-contents {\n display: contents;\n }\n .d-md-flow-root {\n display: flow-root;\n }\n .d-md-none {\n display: none;\n }\n .flex-md-fill {\n flex: 1 1 auto;\n }\n .flex-md-row {\n flex-direction: row;\n }\n .flex-md-column {\n flex-direction: column;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-md-grow-0 {\n flex-grow: 0;\n }\n .flex-md-grow-1 {\n flex-grow: 1;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1;\n }\n .flex-md-wrap {\n flex-wrap: wrap;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-md-start {\n justify-content: flex-start;\n }\n .justify-content-md-end {\n justify-content: flex-end;\n }\n .justify-content-md-center {\n justify-content: center;\n }\n .justify-content-md-between {\n justify-content: space-between;\n }\n .justify-content-md-around {\n justify-content: space-around;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly;\n }\n .justify-items-md-start {\n justify-items: start;\n }\n .justify-items-md-end {\n justify-items: end;\n }\n .justify-items-md-center {\n justify-items: center;\n }\n .justify-items-md-stretch {\n justify-items: stretch;\n }\n .align-items-md-start {\n align-items: flex-start;\n }\n .align-items-md-end {\n align-items: flex-end;\n }\n .align-items-md-center {\n align-items: center;\n }\n .align-items-md-baseline {\n align-items: baseline;\n }\n .align-items-md-stretch {\n align-items: stretch;\n }\n .align-content-md-start {\n align-content: flex-start;\n }\n .align-content-md-end {\n align-content: flex-end;\n }\n .align-content-md-center {\n align-content: center;\n }\n .align-content-md-between {\n align-content: space-between;\n }\n .align-content-md-around {\n align-content: space-around;\n }\n .align-content-md-stretch {\n align-content: stretch;\n }\n .align-self-md-auto {\n align-self: auto;\n }\n .align-self-md-start {\n align-self: flex-start;\n }\n .align-self-md-end {\n align-self: flex-end;\n }\n .align-self-md-center {\n align-self: center;\n }\n .align-self-md-baseline {\n align-self: baseline;\n }\n .align-self-md-stretch {\n align-self: stretch;\n }\n .place-items-md-start {\n place-items: start;\n }\n .place-items-md-end {\n place-items: end;\n }\n .place-items-md-center {\n place-items: center;\n }\n .place-items-md-stretch {\n place-items: stretch;\n }\n .grid-cols-md-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-md-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-md-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-md-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-md-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-md-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-md-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-md-dense {\n grid-auto-flow: dense;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-last {\n order: 6;\n }\n .m-md-0 {\n margin: 0;\n }\n .m-md-1 {\n margin: 0.25rem;\n }\n .m-md-2 {\n margin: 0.5rem;\n }\n .m-md-3 {\n margin: 1rem;\n }\n .m-md-4 {\n margin: 1.5rem;\n }\n .m-md-5 {\n margin: 3rem;\n }\n .m-md-auto {\n margin: auto;\n }\n .mx-md-0 {\n margin-inline: 0;\n }\n .mx-md-1 {\n margin-inline: 0.25rem;\n }\n .mx-md-2 {\n margin-inline: 0.5rem;\n }\n .mx-md-3 {\n margin-inline: 1rem;\n }\n .mx-md-4 {\n margin-inline: 1.5rem;\n }\n .mx-md-5 {\n margin-inline: 3rem;\n }\n .mx-md-auto {\n margin-inline: auto;\n }\n .my-md-0 {\n margin-block: 0;\n }\n .my-md-1 {\n margin-block: 0.25rem;\n }\n .my-md-2 {\n margin-block: 0.5rem;\n }\n .my-md-3 {\n margin-block: 1rem;\n }\n .my-md-4 {\n margin-block: 1.5rem;\n }\n .my-md-5 {\n margin-block: 3rem;\n }\n .my-md-auto {\n margin-block: auto;\n }\n .mt-md-0 {\n margin-block-start: 0;\n }\n .mt-md-1 {\n margin-block-start: 0.25rem;\n }\n .mt-md-2 {\n margin-block-start: 0.5rem;\n }\n .mt-md-3 {\n margin-block-start: 1rem;\n }\n .mt-md-4 {\n margin-block-start: 1.5rem;\n }\n .mt-md-5 {\n margin-block-start: 3rem;\n }\n .mt-md-auto {\n margin-block-start: auto;\n }\n .me-md-0 {\n margin-inline-end: 0;\n }\n .me-md-1 {\n margin-inline-end: 0.25rem;\n }\n .me-md-2 {\n margin-inline-end: 0.5rem;\n }\n .me-md-3 {\n margin-inline-end: 1rem;\n }\n .me-md-4 {\n margin-inline-end: 1.5rem;\n }\n .me-md-5 {\n margin-inline-end: 3rem;\n }\n .me-md-auto {\n margin-inline-end: auto;\n }\n .mb-md-0 {\n margin-block-end: 0;\n }\n .mb-md-1 {\n margin-block-end: 0.25rem;\n }\n .mb-md-2 {\n margin-block-end: 0.5rem;\n }\n .mb-md-3 {\n margin-block-end: 1rem;\n }\n .mb-md-4 {\n margin-block-end: 1.5rem;\n }\n .mb-md-5 {\n margin-block-end: 3rem;\n }\n .mb-md-auto {\n margin-block-end: auto;\n }\n .ms-md-0 {\n margin-inline-start: 0;\n }\n .ms-md-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-md-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-md-3 {\n margin-inline-start: 1rem;\n }\n .ms-md-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-md-5 {\n margin-inline-start: 3rem;\n }\n .ms-md--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-md--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-md-auto {\n margin-inline-start: auto;\n }\n .p-md-0 {\n padding: 0;\n }\n .p-md-1 {\n padding: 0.25rem;\n }\n .p-md-2 {\n padding: 0.5rem;\n }\n .p-md-3 {\n padding: 1rem;\n }\n .p-md-4 {\n padding: 1.5rem;\n }\n .p-md-5 {\n padding: 3rem;\n }\n .px-md-0 {\n padding-inline: 0;\n }\n .px-md-1 {\n padding-inline: 0.25rem;\n }\n .px-md-2 {\n padding-inline: 0.5rem;\n }\n .px-md-3 {\n padding-inline: 1rem;\n }\n .px-md-4 {\n padding-inline: 1.5rem;\n }\n .px-md-5 {\n padding-inline: 3rem;\n }\n .py-md-0 {\n padding-block: 0;\n }\n .py-md-1 {\n padding-block: 0.25rem;\n }\n .py-md-2 {\n padding-block: 0.5rem;\n }\n .py-md-3 {\n padding-block: 1rem;\n }\n .py-md-4 {\n padding-block: 1.5rem;\n }\n .py-md-5 {\n padding-block: 3rem;\n }\n .pt-md-0 {\n padding-block-start: 0;\n }\n .pt-md-1 {\n padding-block-start: 0.25rem;\n }\n .pt-md-2 {\n padding-block-start: 0.5rem;\n }\n .pt-md-3 {\n padding-block-start: 1rem;\n }\n .pt-md-4 {\n padding-block-start: 1.5rem;\n }\n .pt-md-5 {\n padding-block-start: 3rem;\n }\n .pe-md-0 {\n padding-inline-end: 0;\n }\n .pe-md-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-md-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-md-3 {\n padding-inline-end: 1rem;\n }\n .pe-md-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-md-5 {\n padding-inline-end: 3rem;\n }\n .pb-md-0 {\n padding-block-end: 0;\n }\n .pb-md-1 {\n padding-block-end: 0.25rem;\n }\n .pb-md-2 {\n padding-block-end: 0.5rem;\n }\n .pb-md-3 {\n padding-block-end: 1rem;\n }\n .pb-md-4 {\n padding-block-end: 1.5rem;\n }\n .pb-md-5 {\n padding-block-end: 3rem;\n }\n .ps-md-0 {\n padding-inline-start: 0;\n }\n .ps-md-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-md-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-md-3 {\n padding-inline-start: 1rem;\n }\n .ps-md-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-md-5 {\n padding-inline-start: 3rem;\n }\n .gap-md-0 {\n gap: 0;\n }\n .gap-md-1 {\n gap: 0.25rem;\n }\n .gap-md-2 {\n gap: 0.5rem;\n }\n .gap-md-3 {\n gap: 1rem;\n }\n .gap-md-4 {\n gap: 1.5rem;\n }\n .gap-md-5 {\n gap: 3rem;\n }\n .row-gap-md-0 {\n row-gap: 0;\n }\n .row-gap-md-1 {\n row-gap: 0.25rem;\n }\n .row-gap-md-2 {\n row-gap: 0.5rem;\n }\n .row-gap-md-3 {\n row-gap: 1rem;\n }\n .row-gap-md-4 {\n row-gap: 1.5rem;\n }\n .row-gap-md-5 {\n row-gap: 3rem;\n }\n .column-gap-md-0 {\n column-gap: 0;\n }\n .column-gap-md-1 {\n column-gap: 0.25rem;\n }\n .column-gap-md-2 {\n column-gap: 0.5rem;\n }\n .column-gap-md-3 {\n column-gap: 1rem;\n }\n .column-gap-md-4 {\n column-gap: 1.5rem;\n }\n .column-gap-md-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 1024px) {\n .d-lg-inline {\n display: inline;\n }\n .d-lg-inline-block {\n display: inline-block;\n }\n .d-lg-block {\n display: block;\n }\n .d-lg-grid {\n display: grid;\n }\n .d-lg-inline-grid {\n display: inline-grid;\n }\n .d-lg-table {\n display: table;\n }\n .d-lg-table-row {\n display: table-row;\n }\n .d-lg-table-cell {\n display: table-cell;\n }\n .d-lg-flex {\n display: flex;\n }\n .d-lg-inline-flex {\n display: inline-flex;\n }\n .d-lg-contents {\n display: contents;\n }\n .d-lg-flow-root {\n display: flow-root;\n }\n .d-lg-none {\n display: none;\n }\n .flex-lg-fill {\n flex: 1 1 auto;\n }\n .flex-lg-row {\n flex-direction: row;\n }\n .flex-lg-column {\n flex-direction: column;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-lg-grow-0 {\n flex-grow: 0;\n }\n .flex-lg-grow-1 {\n flex-grow: 1;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1;\n }\n .flex-lg-wrap {\n flex-wrap: wrap;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-lg-start {\n justify-content: flex-start;\n }\n .justify-content-lg-end {\n justify-content: flex-end;\n }\n .justify-content-lg-center {\n justify-content: center;\n }\n .justify-content-lg-between {\n justify-content: space-between;\n }\n .justify-content-lg-around {\n justify-content: space-around;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly;\n }\n .justify-items-lg-start {\n justify-items: start;\n }\n .justify-items-lg-end {\n justify-items: end;\n }\n .justify-items-lg-center {\n justify-items: center;\n }\n .justify-items-lg-stretch {\n justify-items: stretch;\n }\n .align-items-lg-start {\n align-items: flex-start;\n }\n .align-items-lg-end {\n align-items: flex-end;\n }\n .align-items-lg-center {\n align-items: center;\n }\n .align-items-lg-baseline {\n align-items: baseline;\n }\n .align-items-lg-stretch {\n align-items: stretch;\n }\n .align-content-lg-start {\n align-content: flex-start;\n }\n .align-content-lg-end {\n align-content: flex-end;\n }\n .align-content-lg-center {\n align-content: center;\n }\n .align-content-lg-between {\n align-content: space-between;\n }\n .align-content-lg-around {\n align-content: space-around;\n }\n .align-content-lg-stretch {\n align-content: stretch;\n }\n .align-self-lg-auto {\n align-self: auto;\n }\n .align-self-lg-start {\n align-self: flex-start;\n }\n .align-self-lg-end {\n align-self: flex-end;\n }\n .align-self-lg-center {\n align-self: center;\n }\n .align-self-lg-baseline {\n align-self: baseline;\n }\n .align-self-lg-stretch {\n align-self: stretch;\n }\n .place-items-lg-start {\n place-items: start;\n }\n .place-items-lg-end {\n place-items: end;\n }\n .place-items-lg-center {\n place-items: center;\n }\n .place-items-lg-stretch {\n place-items: stretch;\n }\n .grid-cols-lg-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-lg-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-lg-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-lg-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-lg-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-lg-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-lg-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-lg-dense {\n grid-auto-flow: dense;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-last {\n order: 6;\n }\n .m-lg-0 {\n margin: 0;\n }\n .m-lg-1 {\n margin: 0.25rem;\n }\n .m-lg-2 {\n margin: 0.5rem;\n }\n .m-lg-3 {\n margin: 1rem;\n }\n .m-lg-4 {\n margin: 1.5rem;\n }\n .m-lg-5 {\n margin: 3rem;\n }\n .m-lg-auto {\n margin: auto;\n }\n .mx-lg-0 {\n margin-inline: 0;\n }\n .mx-lg-1 {\n margin-inline: 0.25rem;\n }\n .mx-lg-2 {\n margin-inline: 0.5rem;\n }\n .mx-lg-3 {\n margin-inline: 1rem;\n }\n .mx-lg-4 {\n margin-inline: 1.5rem;\n }\n .mx-lg-5 {\n margin-inline: 3rem;\n }\n .mx-lg-auto {\n margin-inline: auto;\n }\n .my-lg-0 {\n margin-block: 0;\n }\n .my-lg-1 {\n margin-block: 0.25rem;\n }\n .my-lg-2 {\n margin-block: 0.5rem;\n }\n .my-lg-3 {\n margin-block: 1rem;\n }\n .my-lg-4 {\n margin-block: 1.5rem;\n }\n .my-lg-5 {\n margin-block: 3rem;\n }\n .my-lg-auto {\n margin-block: auto;\n }\n .mt-lg-0 {\n margin-block-start: 0;\n }\n .mt-lg-1 {\n margin-block-start: 0.25rem;\n }\n .mt-lg-2 {\n margin-block-start: 0.5rem;\n }\n .mt-lg-3 {\n margin-block-start: 1rem;\n }\n .mt-lg-4 {\n margin-block-start: 1.5rem;\n }\n .mt-lg-5 {\n margin-block-start: 3rem;\n }\n .mt-lg-auto {\n margin-block-start: auto;\n }\n .me-lg-0 {\n margin-inline-end: 0;\n }\n .me-lg-1 {\n margin-inline-end: 0.25rem;\n }\n .me-lg-2 {\n margin-inline-end: 0.5rem;\n }\n .me-lg-3 {\n margin-inline-end: 1rem;\n }\n .me-lg-4 {\n margin-inline-end: 1.5rem;\n }\n .me-lg-5 {\n margin-inline-end: 3rem;\n }\n .me-lg-auto {\n margin-inline-end: auto;\n }\n .mb-lg-0 {\n margin-block-end: 0;\n }\n .mb-lg-1 {\n margin-block-end: 0.25rem;\n }\n .mb-lg-2 {\n margin-block-end: 0.5rem;\n }\n .mb-lg-3 {\n margin-block-end: 1rem;\n }\n .mb-lg-4 {\n margin-block-end: 1.5rem;\n }\n .mb-lg-5 {\n margin-block-end: 3rem;\n }\n .mb-lg-auto {\n margin-block-end: auto;\n }\n .ms-lg-0 {\n margin-inline-start: 0;\n }\n .ms-lg-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-lg-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-lg-3 {\n margin-inline-start: 1rem;\n }\n .ms-lg-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-lg-5 {\n margin-inline-start: 3rem;\n }\n .ms-lg--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-lg--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-lg-auto {\n margin-inline-start: auto;\n }\n .p-lg-0 {\n padding: 0;\n }\n .p-lg-1 {\n padding: 0.25rem;\n }\n .p-lg-2 {\n padding: 0.5rem;\n }\n .p-lg-3 {\n padding: 1rem;\n }\n .p-lg-4 {\n padding: 1.5rem;\n }\n .p-lg-5 {\n padding: 3rem;\n }\n .px-lg-0 {\n padding-inline: 0;\n }\n .px-lg-1 {\n padding-inline: 0.25rem;\n }\n .px-lg-2 {\n padding-inline: 0.5rem;\n }\n .px-lg-3 {\n padding-inline: 1rem;\n }\n .px-lg-4 {\n padding-inline: 1.5rem;\n }\n .px-lg-5 {\n padding-inline: 3rem;\n }\n .py-lg-0 {\n padding-block: 0;\n }\n .py-lg-1 {\n padding-block: 0.25rem;\n }\n .py-lg-2 {\n padding-block: 0.5rem;\n }\n .py-lg-3 {\n padding-block: 1rem;\n }\n .py-lg-4 {\n padding-block: 1.5rem;\n }\n .py-lg-5 {\n padding-block: 3rem;\n }\n .pt-lg-0 {\n padding-block-start: 0;\n }\n .pt-lg-1 {\n padding-block-start: 0.25rem;\n }\n .pt-lg-2 {\n padding-block-start: 0.5rem;\n }\n .pt-lg-3 {\n padding-block-start: 1rem;\n }\n .pt-lg-4 {\n padding-block-start: 1.5rem;\n }\n .pt-lg-5 {\n padding-block-start: 3rem;\n }\n .pe-lg-0 {\n padding-inline-end: 0;\n }\n .pe-lg-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-lg-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-lg-3 {\n padding-inline-end: 1rem;\n }\n .pe-lg-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-lg-5 {\n padding-inline-end: 3rem;\n }\n .pb-lg-0 {\n padding-block-end: 0;\n }\n .pb-lg-1 {\n padding-block-end: 0.25rem;\n }\n .pb-lg-2 {\n padding-block-end: 0.5rem;\n }\n .pb-lg-3 {\n padding-block-end: 1rem;\n }\n .pb-lg-4 {\n padding-block-end: 1.5rem;\n }\n .pb-lg-5 {\n padding-block-end: 3rem;\n }\n .ps-lg-0 {\n padding-inline-start: 0;\n }\n .ps-lg-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-lg-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-lg-3 {\n padding-inline-start: 1rem;\n }\n .ps-lg-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-lg-5 {\n padding-inline-start: 3rem;\n }\n .gap-lg-0 {\n gap: 0;\n }\n .gap-lg-1 {\n gap: 0.25rem;\n }\n .gap-lg-2 {\n gap: 0.5rem;\n }\n .gap-lg-3 {\n gap: 1rem;\n }\n .gap-lg-4 {\n gap: 1.5rem;\n }\n .gap-lg-5 {\n gap: 3rem;\n }\n .row-gap-lg-0 {\n row-gap: 0;\n }\n .row-gap-lg-1 {\n row-gap: 0.25rem;\n }\n .row-gap-lg-2 {\n row-gap: 0.5rem;\n }\n .row-gap-lg-3 {\n row-gap: 1rem;\n }\n .row-gap-lg-4 {\n row-gap: 1.5rem;\n }\n .row-gap-lg-5 {\n row-gap: 3rem;\n }\n .column-gap-lg-0 {\n column-gap: 0;\n }\n .column-gap-lg-1 {\n column-gap: 0.25rem;\n }\n .column-gap-lg-2 {\n column-gap: 0.5rem;\n }\n .column-gap-lg-3 {\n column-gap: 1rem;\n }\n .column-gap-lg-4 {\n column-gap: 1.5rem;\n }\n .column-gap-lg-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 1280px) {\n .d-xl-inline {\n display: inline;\n }\n .d-xl-inline-block {\n display: inline-block;\n }\n .d-xl-block {\n display: block;\n }\n .d-xl-grid {\n display: grid;\n }\n .d-xl-inline-grid {\n display: inline-grid;\n }\n .d-xl-table {\n display: table;\n }\n .d-xl-table-row {\n display: table-row;\n }\n .d-xl-table-cell {\n display: table-cell;\n }\n .d-xl-flex {\n display: flex;\n }\n .d-xl-inline-flex {\n display: inline-flex;\n }\n .d-xl-contents {\n display: contents;\n }\n .d-xl-flow-root {\n display: flow-root;\n }\n .d-xl-none {\n display: none;\n }\n .flex-xl-fill {\n flex: 1 1 auto;\n }\n .flex-xl-row {\n flex-direction: row;\n }\n .flex-xl-column {\n flex-direction: column;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-xl-grow-0 {\n flex-grow: 0;\n }\n .flex-xl-grow-1 {\n flex-grow: 1;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-xl-wrap {\n flex-wrap: wrap;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-xl-start {\n justify-content: flex-start;\n }\n .justify-content-xl-end {\n justify-content: flex-end;\n }\n .justify-content-xl-center {\n justify-content: center;\n }\n .justify-content-xl-between {\n justify-content: space-between;\n }\n .justify-content-xl-around {\n justify-content: space-around;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-xl-start {\n justify-items: start;\n }\n .justify-items-xl-end {\n justify-items: end;\n }\n .justify-items-xl-center {\n justify-items: center;\n }\n .justify-items-xl-stretch {\n justify-items: stretch;\n }\n .align-items-xl-start {\n align-items: flex-start;\n }\n .align-items-xl-end {\n align-items: flex-end;\n }\n .align-items-xl-center {\n align-items: center;\n }\n .align-items-xl-baseline {\n align-items: baseline;\n }\n .align-items-xl-stretch {\n align-items: stretch;\n }\n .align-content-xl-start {\n align-content: flex-start;\n }\n .align-content-xl-end {\n align-content: flex-end;\n }\n .align-content-xl-center {\n align-content: center;\n }\n .align-content-xl-between {\n align-content: space-between;\n }\n .align-content-xl-around {\n align-content: space-around;\n }\n .align-content-xl-stretch {\n align-content: stretch;\n }\n .align-self-xl-auto {\n align-self: auto;\n }\n .align-self-xl-start {\n align-self: flex-start;\n }\n .align-self-xl-end {\n align-self: flex-end;\n }\n .align-self-xl-center {\n align-self: center;\n }\n .align-self-xl-baseline {\n align-self: baseline;\n }\n .align-self-xl-stretch {\n align-self: stretch;\n }\n .place-items-xl-start {\n place-items: start;\n }\n .place-items-xl-end {\n place-items: end;\n }\n .place-items-xl-center {\n place-items: center;\n }\n .place-items-xl-stretch {\n place-items: stretch;\n }\n .grid-cols-xl-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-xl-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-xl-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-xl-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-xl-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-xl-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-xl-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-xl-dense {\n grid-auto-flow: dense;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-last {\n order: 6;\n }\n .m-xl-0 {\n margin: 0;\n }\n .m-xl-1 {\n margin: 0.25rem;\n }\n .m-xl-2 {\n margin: 0.5rem;\n }\n .m-xl-3 {\n margin: 1rem;\n }\n .m-xl-4 {\n margin: 1.5rem;\n }\n .m-xl-5 {\n margin: 3rem;\n }\n .m-xl-auto {\n margin: auto;\n }\n .mx-xl-0 {\n margin-inline: 0;\n }\n .mx-xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-xl-3 {\n margin-inline: 1rem;\n }\n .mx-xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-xl-5 {\n margin-inline: 3rem;\n }\n .mx-xl-auto {\n margin-inline: auto;\n }\n .my-xl-0 {\n margin-block: 0;\n }\n .my-xl-1 {\n margin-block: 0.25rem;\n }\n .my-xl-2 {\n margin-block: 0.5rem;\n }\n .my-xl-3 {\n margin-block: 1rem;\n }\n .my-xl-4 {\n margin-block: 1.5rem;\n }\n .my-xl-5 {\n margin-block: 3rem;\n }\n .my-xl-auto {\n margin-block: auto;\n }\n .mt-xl-0 {\n margin-block-start: 0;\n }\n .mt-xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-xl-3 {\n margin-block-start: 1rem;\n }\n .mt-xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-xl-5 {\n margin-block-start: 3rem;\n }\n .mt-xl-auto {\n margin-block-start: auto;\n }\n .me-xl-0 {\n margin-inline-end: 0;\n }\n .me-xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-xl-3 {\n margin-inline-end: 1rem;\n }\n .me-xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-xl-5 {\n margin-inline-end: 3rem;\n }\n .me-xl-auto {\n margin-inline-end: auto;\n }\n .mb-xl-0 {\n margin-block-end: 0;\n }\n .mb-xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-xl-3 {\n margin-block-end: 1rem;\n }\n .mb-xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-xl-5 {\n margin-block-end: 3rem;\n }\n .mb-xl-auto {\n margin-block-end: auto;\n }\n .ms-xl-0 {\n margin-inline-start: 0;\n }\n .ms-xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-xl-auto {\n margin-inline-start: auto;\n }\n .p-xl-0 {\n padding: 0;\n }\n .p-xl-1 {\n padding: 0.25rem;\n }\n .p-xl-2 {\n padding: 0.5rem;\n }\n .p-xl-3 {\n padding: 1rem;\n }\n .p-xl-4 {\n padding: 1.5rem;\n }\n .p-xl-5 {\n padding: 3rem;\n }\n .px-xl-0 {\n padding-inline: 0;\n }\n .px-xl-1 {\n padding-inline: 0.25rem;\n }\n .px-xl-2 {\n padding-inline: 0.5rem;\n }\n .px-xl-3 {\n padding-inline: 1rem;\n }\n .px-xl-4 {\n padding-inline: 1.5rem;\n }\n .px-xl-5 {\n padding-inline: 3rem;\n }\n .py-xl-0 {\n padding-block: 0;\n }\n .py-xl-1 {\n padding-block: 0.25rem;\n }\n .py-xl-2 {\n padding-block: 0.5rem;\n }\n .py-xl-3 {\n padding-block: 1rem;\n }\n .py-xl-4 {\n padding-block: 1.5rem;\n }\n .py-xl-5 {\n padding-block: 3rem;\n }\n .pt-xl-0 {\n padding-block-start: 0;\n }\n .pt-xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-xl-3 {\n padding-block-start: 1rem;\n }\n .pt-xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-xl-5 {\n padding-block-start: 3rem;\n }\n .pe-xl-0 {\n padding-inline-end: 0;\n }\n .pe-xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-xl-0 {\n padding-block-end: 0;\n }\n .pb-xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-xl-3 {\n padding-block-end: 1rem;\n }\n .pb-xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-xl-5 {\n padding-block-end: 3rem;\n }\n .ps-xl-0 {\n padding-inline-start: 0;\n }\n .ps-xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-xl-5 {\n padding-inline-start: 3rem;\n }\n .gap-xl-0 {\n gap: 0;\n }\n .gap-xl-1 {\n gap: 0.25rem;\n }\n .gap-xl-2 {\n gap: 0.5rem;\n }\n .gap-xl-3 {\n gap: 1rem;\n }\n .gap-xl-4 {\n gap: 1.5rem;\n }\n .gap-xl-5 {\n gap: 3rem;\n }\n .row-gap-xl-0 {\n row-gap: 0;\n }\n .row-gap-xl-1 {\n row-gap: 0.25rem;\n }\n .row-gap-xl-2 {\n row-gap: 0.5rem;\n }\n .row-gap-xl-3 {\n row-gap: 1rem;\n }\n .row-gap-xl-4 {\n row-gap: 1.5rem;\n }\n .row-gap-xl-5 {\n row-gap: 3rem;\n }\n .column-gap-xl-0 {\n column-gap: 0;\n }\n .column-gap-xl-1 {\n column-gap: 0.25rem;\n }\n .column-gap-xl-2 {\n column-gap: 0.5rem;\n }\n .column-gap-xl-3 {\n column-gap: 1rem;\n }\n .column-gap-xl-4 {\n column-gap: 1.5rem;\n }\n .column-gap-xl-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 1536px) {\n .d-2xl-inline {\n display: inline;\n }\n .d-2xl-inline-block {\n display: inline-block;\n }\n .d-2xl-block {\n display: block;\n }\n .d-2xl-grid {\n display: grid;\n }\n .d-2xl-inline-grid {\n display: inline-grid;\n }\n .d-2xl-table {\n display: table;\n }\n .d-2xl-table-row {\n display: table-row;\n }\n .d-2xl-table-cell {\n display: table-cell;\n }\n .d-2xl-flex {\n display: flex;\n }\n .d-2xl-inline-flex {\n display: inline-flex;\n }\n .d-2xl-contents {\n display: contents;\n }\n .d-2xl-flow-root {\n display: flow-root;\n }\n .d-2xl-none {\n display: none;\n }\n .flex-2xl-fill {\n flex: 1 1 auto;\n }\n .flex-2xl-row {\n flex-direction: row;\n }\n .flex-2xl-column {\n flex-direction: column;\n }\n .flex-2xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-2xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-2xl-grow-0 {\n flex-grow: 0;\n }\n .flex-2xl-grow-1 {\n flex-grow: 1;\n }\n .flex-2xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-2xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-2xl-wrap {\n flex-wrap: wrap;\n }\n .flex-2xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-2xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-2xl-start {\n justify-content: flex-start;\n }\n .justify-content-2xl-end {\n justify-content: flex-end;\n }\n .justify-content-2xl-center {\n justify-content: center;\n }\n .justify-content-2xl-between {\n justify-content: space-between;\n }\n .justify-content-2xl-around {\n justify-content: space-around;\n }\n .justify-content-2xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-2xl-start {\n justify-items: start;\n }\n .justify-items-2xl-end {\n justify-items: end;\n }\n .justify-items-2xl-center {\n justify-items: center;\n }\n .justify-items-2xl-stretch {\n justify-items: stretch;\n }\n .align-items-2xl-start {\n align-items: flex-start;\n }\n .align-items-2xl-end {\n align-items: flex-end;\n }\n .align-items-2xl-center {\n align-items: center;\n }\n .align-items-2xl-baseline {\n align-items: baseline;\n }\n .align-items-2xl-stretch {\n align-items: stretch;\n }\n .align-content-2xl-start {\n align-content: flex-start;\n }\n .align-content-2xl-end {\n align-content: flex-end;\n }\n .align-content-2xl-center {\n align-content: center;\n }\n .align-content-2xl-between {\n align-content: space-between;\n }\n .align-content-2xl-around {\n align-content: space-around;\n }\n .align-content-2xl-stretch {\n align-content: stretch;\n }\n .align-self-2xl-auto {\n align-self: auto;\n }\n .align-self-2xl-start {\n align-self: flex-start;\n }\n .align-self-2xl-end {\n align-self: flex-end;\n }\n .align-self-2xl-center {\n align-self: center;\n }\n .align-self-2xl-baseline {\n align-self: baseline;\n }\n .align-self-2xl-stretch {\n align-self: stretch;\n }\n .place-items-2xl-start {\n place-items: start;\n }\n .place-items-2xl-end {\n place-items: end;\n }\n .place-items-2xl-center {\n place-items: center;\n }\n .place-items-2xl-stretch {\n place-items: stretch;\n }\n .grid-cols-2xl-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-2xl-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-2xl-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-2xl-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-2xl-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-2xl-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-2xl-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-2xl-dense {\n grid-auto-flow: dense;\n }\n .order-2xl-first {\n order: -1;\n }\n .order-2xl-0 {\n order: 0;\n }\n .order-2xl-1 {\n order: 1;\n }\n .order-2xl-2 {\n order: 2;\n }\n .order-2xl-3 {\n order: 3;\n }\n .order-2xl-4 {\n order: 4;\n }\n .order-2xl-5 {\n order: 5;\n }\n .order-2xl-last {\n order: 6;\n }\n .m-2xl-0 {\n margin: 0;\n }\n .m-2xl-1 {\n margin: 0.25rem;\n }\n .m-2xl-2 {\n margin: 0.5rem;\n }\n .m-2xl-3 {\n margin: 1rem;\n }\n .m-2xl-4 {\n margin: 1.5rem;\n }\n .m-2xl-5 {\n margin: 3rem;\n }\n .m-2xl-auto {\n margin: auto;\n }\n .mx-2xl-0 {\n margin-inline: 0;\n }\n .mx-2xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-2xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-2xl-3 {\n margin-inline: 1rem;\n }\n .mx-2xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-2xl-5 {\n margin-inline: 3rem;\n }\n .mx-2xl-auto {\n margin-inline: auto;\n }\n .my-2xl-0 {\n margin-block: 0;\n }\n .my-2xl-1 {\n margin-block: 0.25rem;\n }\n .my-2xl-2 {\n margin-block: 0.5rem;\n }\n .my-2xl-3 {\n margin-block: 1rem;\n }\n .my-2xl-4 {\n margin-block: 1.5rem;\n }\n .my-2xl-5 {\n margin-block: 3rem;\n }\n .my-2xl-auto {\n margin-block: auto;\n }\n .mt-2xl-0 {\n margin-block-start: 0;\n }\n .mt-2xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-2xl-3 {\n margin-block-start: 1rem;\n }\n .mt-2xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-2xl-5 {\n margin-block-start: 3rem;\n }\n .mt-2xl-auto {\n margin-block-start: auto;\n }\n .me-2xl-0 {\n margin-inline-end: 0;\n }\n .me-2xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-2xl-3 {\n margin-inline-end: 1rem;\n }\n .me-2xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-2xl-5 {\n margin-inline-end: 3rem;\n }\n .me-2xl-auto {\n margin-inline-end: auto;\n }\n .mb-2xl-0 {\n margin-block-end: 0;\n }\n .mb-2xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-2xl-3 {\n margin-block-end: 1rem;\n }\n .mb-2xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-2xl-5 {\n margin-block-end: 3rem;\n }\n .mb-2xl-auto {\n margin-block-end: auto;\n }\n .ms-2xl-0 {\n margin-inline-start: 0;\n }\n .ms-2xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-2xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-2xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-2xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-2xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-2xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-2xl-auto {\n margin-inline-start: auto;\n }\n .p-2xl-0 {\n padding: 0;\n }\n .p-2xl-1 {\n padding: 0.25rem;\n }\n .p-2xl-2 {\n padding: 0.5rem;\n }\n .p-2xl-3 {\n padding: 1rem;\n }\n .p-2xl-4 {\n padding: 1.5rem;\n }\n .p-2xl-5 {\n padding: 3rem;\n }\n .px-2xl-0 {\n padding-inline: 0;\n }\n .px-2xl-1 {\n padding-inline: 0.25rem;\n }\n .px-2xl-2 {\n padding-inline: 0.5rem;\n }\n .px-2xl-3 {\n padding-inline: 1rem;\n }\n .px-2xl-4 {\n padding-inline: 1.5rem;\n }\n .px-2xl-5 {\n padding-inline: 3rem;\n }\n .py-2xl-0 {\n padding-block: 0;\n }\n .py-2xl-1 {\n padding-block: 0.25rem;\n }\n .py-2xl-2 {\n padding-block: 0.5rem;\n }\n .py-2xl-3 {\n padding-block: 1rem;\n }\n .py-2xl-4 {\n padding-block: 1.5rem;\n }\n .py-2xl-5 {\n padding-block: 3rem;\n }\n .pt-2xl-0 {\n padding-block-start: 0;\n }\n .pt-2xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-2xl-3 {\n padding-block-start: 1rem;\n }\n .pt-2xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-2xl-5 {\n padding-block-start: 3rem;\n }\n .pe-2xl-0 {\n padding-inline-end: 0;\n }\n .pe-2xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-2xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-2xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-2xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-2xl-0 {\n padding-block-end: 0;\n }\n .pb-2xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-2xl-3 {\n padding-block-end: 1rem;\n }\n .pb-2xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-2xl-5 {\n padding-block-end: 3rem;\n }\n .ps-2xl-0 {\n padding-inline-start: 0;\n }\n .ps-2xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-2xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-2xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-2xl-5 {\n padding-inline-start: 3rem;\n }\n .gap-2xl-0 {\n gap: 0;\n }\n .gap-2xl-1 {\n gap: 0.25rem;\n }\n .gap-2xl-2 {\n gap: 0.5rem;\n }\n .gap-2xl-3 {\n gap: 1rem;\n }\n .gap-2xl-4 {\n gap: 1.5rem;\n }\n .gap-2xl-5 {\n gap: 3rem;\n }\n .row-gap-2xl-0 {\n row-gap: 0;\n }\n .row-gap-2xl-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2xl-2 {\n row-gap: 0.5rem;\n }\n .row-gap-2xl-3 {\n row-gap: 1rem;\n }\n .row-gap-2xl-4 {\n row-gap: 1.5rem;\n }\n .row-gap-2xl-5 {\n row-gap: 3rem;\n }\n .column-gap-2xl-0 {\n column-gap: 0;\n }\n .column-gap-2xl-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2xl-2 {\n column-gap: 0.5rem;\n }\n .column-gap-2xl-3 {\n column-gap: 1rem;\n }\n .column-gap-2xl-4 {\n column-gap: 1.5rem;\n }\n .column-gap-2xl-5 {\n column-gap: 3rem;\n }\n }\n}\n:root {\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $breakpoints) {\n @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$name}\");\n}\n\n// Iterate all breakpoints and provide the current name and infix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n @content($breakpoint, $infix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next infix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $infix: breakpoint-infix($next, $breakpoints);\n @content($breakpoint, $next, $infix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $infix) {\n @content($breakpoint, $next, $infix);\n }\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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (width >= $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (width < $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $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 @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n @if meta.type-of($defaults) == \"list\" {\n $map: ();\n @each $key in $defaults {\n $map: map.merge($map, ($key: true));\n }\n $defaults: $map;\n }\n $merged: map.merge($defaults, $overrides);\n @each $key, $value in $merged {\n @if $value == null {\n $merged: map.remove($merged, $key);\n }\n }\n @return $merged;\n}\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n\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\n$negative-spacers: (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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 breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !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\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, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\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// Links\n//\n// Style anchor elements.\n\n$link-decoration: underline !default;\n$link-underline-offset: .2em !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// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n\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$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// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n (\n \"xs\": (\n \"font-size\": .75rem,\n \"line-height\": 1.25\n ),\n \"sm\": (\n \"font-size\": .875rem,\n \"line-height\": 1.5\n ),\n \"md\": (\n \"font-size\": 1rem,\n \"line-height\": 1.5\n ),\n \"lg\": (\n \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n \"line-height\": 1.5\n ),\n \"xl\": (\n \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n \"line-height\": calc(2.5 / 1.75)\n ),\n \"2xl\": (\n \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n \"line-height\": calc(3 / 2.25)\n ),\n \"3xl\": (\n \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n \"line-height\": 1.2\n ),\n \"4xl\": (\n \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n \"line-height\": 1.1\n ),\n \"5xl\": (\n \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n \"line-height\": 1.1\n ),\n \"6xl\": (\n \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n \"line-height\": 1\n ),\n ),\n $font-sizes\n);\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 type-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// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-dialog: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n @if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n\n @include make-grid-columns();\n }\n\n @if $enable-cssgrid {\n .grid {\n --columns: #{$grid-columns};\n --rows: 1;\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n\n }\n\n @include make-cssgrid();\n }\n\n // mdo-do: add to utilities?\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n\n .grid-fill {\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n\n // .g-col-auto {\n // grid-column: auto;\n // }\n\n // mdo-do: add to utilities?\n // .grid-cols-3 {\n // --columns: 3;\n // }\n // .grid-cols-4 {\n // --columns: 4;\n // }\n // .grid-cols-6 {\n // --columns: 6;\n // }\n\n // .grid-full {\n // grid-column: 1 / -1;\n // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n --gutter-x: #{$gutter-x};\n --gutter-y: #{$gutter-y};\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-inline: calc(-.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n // stylelint-disable-next-line scss/at-function-named-arguments\n box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-inline: calc(var(--gutter-x) * .5);\n margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: math.percentage(math.div($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: math.div($size, $columns);\n // stylelint-disable-next-line scss/at-function-named-arguments\n margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0;\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $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 \"../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($breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $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 // 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\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n // Validate required keys\n @if not map.has-key($utility, property) {\n @error \"Utility is missing required `property` key: #{$utility}\";\n }\n @if not map.has-key($utility, values) {\n @error \"Utility is missing required `values` key: #{$utility}\";\n }\n\n // Warn on unknown keys (likely typos)\n $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n @each $key in map.keys($utility) {\n @if not list.index($valid-keys, $key) {\n @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n }\n }\n\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selectorType) {\n @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selectorType != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n }\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n // Calculate infix once, before the loop\n // Note: $infix already includes the leading dash from breakpoint-infix()\n // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n // @debug \"Properties type: #{meta.type-of($properties)}\";\n // @debug \"Properties: #{$properties}\";\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n // For property maps, we need to determine the class from the utility definition\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // Use custom CSS variable name if present, otherwise default to `class`\n // mdo-do: restore?\n // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $infix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n // Use the fallback of the first property if no `class` key is used\n @if $customClass != \"\" {\n $selector: \".#{$customClass + $infix + $customClassModifier}\";\n } @else {\n $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n","@use \"banner\" with (\n $file: \"Grid\"\n);\n\n@use \"config\" as *;\n@use \"functions\" as *;\n\n@forward \"utilities\"; // Make utilities available downstream\n@use \"utilities\" as *; // Bring utilities into the current namespace\n\n@forward \"layout/containers\";\n@forward \"layout/grid\";\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"grid-column-counts\",\n \"grid-columns\",\n \"grid-auto-flow\",\n \"gap\",\n \"row-gap\",\n \"column-gap\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"justify-items\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"place-items\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-end\",\n \"margin-bottom\",\n \"margin-start\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-end\",\n \"negative-margin-bottom\",\n \"negative-margin-start\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-end\",\n \"padding-bottom\",\n \"padding-start\",\n )\n);\n\n// check-unused-imports-disable-next-line — side-effect import: generates utility CSS.\n@use \"utilities/api\";\n\n:root {\n @each $name, $value in $breakpoints {\n --breakpoint-#{$name}: #{$value};\n }\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../scss/_banner.scss","../../scss/layout/_containers.scss","bootstrap-grid.css","../../scss/layout/_breakpoints.scss","../../scss/_config.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss","../../scss/bootstrap-grid.scss"],"names":[],"mappings":"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;EJ+6BV;EIh7BQ;IACE,wBAAA;EJk7BV;EIn7BQ;IACE,wBAAA;EJq7BV;EIt7BQ;IACE,wBAAA;EJw7BV;EIz7BQ;IACE,wBAAA;EJ27BV;EI57BQ;IACE,wBAAA;EJ87BV;EI/7BQ;IACE,wBAAA;EJi8BV;EIl8BQ;IACE,wBAAA;EJo8BV;EIr8BQ;IACE,yBAAA;EJu8BV;EIx8BQ;IACE,yBAAA;EJ08BV;EI38BQ;IACE,yBAAA;EJ68BV;EIt8BQ;IACE,oBAFS;EJ08BnB;EIz8BQ;IACE,oBAFS;EJ68BnB;EI58BQ;IACE,oBAFS;EJg9BnB;EI/8BQ;IACE,oBAFS;EJm9BnB;EIl9BQ;IACE,oBAFS;EJs9BnB;EIr9BQ;IACE,oBAFS;EJy9BnB;EIx9BQ;IACE,oBAFS;EJ49BnB;EI39BQ;IACE,oBAFS;EJ+9BnB;EI99BQ;IACE,oBAFS;EJk+BnB;EIj+BQ;IACE,qBAFS;EJq+BnB;EIp+BQ;IACE,qBAFS;EJw+BnB;EC5/BE;IGaM;MACE,wBAAA;IJk/BR;IIn/BM;MACE,wBAAA;IJq/BR;IIt/BM;MACE,wBAAA;IJw/BR;IIz/BM;MACE,wBAAA;IJ2/BR;II5/BM;MACE,wBAAA;IJ8/BR;II//BM;MACE,wBAAA;IJigCR;IIlgCM;MACE,wBAAA;IJogCR;IIrgCM;MACE,wBAAA;IJugCR;IIxgCM;MACE,wBAAA;IJ0gCR;II3gCM;MACE,yBAAA;IJ6gCR;II9gCM;MACE,yBAAA;IJghCR;IIjhCM;MACE,yBAAA;IJmhCR;II5gCM;MACE,oBAFS;IJghCjB;II/gCM;MACE,oBAFS;IJmhCjB;IIlhCM;MACE,oBAFS;IJshCjB;IIrhCM;MACE,oBAFS;IJyhCjB;IIxhCM;MACE,oBAFS;IJ4hCjB;II3hCM;MACE,oBAFS;IJ+hCjB;II9hCM;MACE,oBAFS;IJkiCjB;IIjiCM;MACE,oBAFS;IJqiCjB;IIpiCM;MACE,oBAFS;IJwiCjB;IIviCM;MACE,qBAFS;IJ2iCjB;II1iCM;MACE,qBAFS;IJ8iCjB;EACF;ECnkCE;IGaM;MACE,wBAAA;IJyjCR;II1jCM;MACE,wBAAA;IJ4jCR;II7jCM;MACE,wBAAA;IJ+jCR;IIhkCM;MACE,wBAAA;IJkkCR;IInkCM;MACE,wBAAA;IJqkCR;IItkCM;MACE,wBAAA;IJwkCR;IIzkCM;MACE,wBAAA;IJ2kCR;II5kCM;MACE,wBAAA;IJ8kCR;II/kCM;MACE,wBAAA;IJilCR;IIllCM;MACE,yBAAA;IJolCR;IIrlCM;MACE,yBAAA;IJulCR;IIxlCM;MACE,yBAAA;IJ0lCR;IInlCM;MACE,oBAFS;IJulCjB;IItlCM;MACE,oBAFS;IJ0lCjB;IIzlCM;MACE,oBAFS;IJ6lCjB;II5lCM;MACE,oBAFS;IJgmCjB;II/lCM;MACE,oBAFS;IJmmCjB;IIlmCM;MACE,oBAFS;IJsmCjB;IIrmCM;MACE,oBAFS;IJymCjB;IIxmCM;MACE,oBAFS;IJ4mCjB;II3mCM;MACE,oBAFS;IJ+mCjB;II9mCM;MACE,qBAFS;IJknCjB;IIjnCM;MACE,qBAFS;IJqnCjB;EACF;EC1oCE;IGaM;MACE,wBAAA;IJgoCR;IIjoCM;MACE,wBAAA;IJmoCR;IIpoCM;MACE,wBAAA;IJsoCR;IIvoCM;MACE,wBAAA;IJyoCR;II1oCM;MACE,wBAAA;IJ4oCR;II7oCM;MACE,wBAAA;IJ+oCR;IIhpCM;MACE,wBAAA;IJkpCR;IInpCM;MACE,wBAAA;IJqpCR;IItpCM;MACE,wBAAA;IJwpCR;IIzpCM;MACE,yBAAA;IJ2pCR;II5pCM;MACE,yBAAA;IJ8pCR;II/pCM;MACE,yBAAA;IJiqCR;II1pCM;MACE,oBAFS;IJ8pCjB;II7pCM;MACE,oBAFS;IJiqCjB;IIhqCM;MACE,oBAFS;IJoqCjB;IInqCM;MACE,oBAFS;IJuqCjB;IItqCM;MACE,oBAFS;IJ0qCjB;IIzqCM;MACE,oBAFS;IJ6qCjB;II5qCM;MACE,oBAFS;IJgrCjB;II/qCM;MACE,oBAFS;IJmrCjB;IIlrCM;MACE,oBAFS;IJsrCjB;IIrrCM;MACE,qBAFS;IJyrCjB;IIxrCM;MACE,qBAFS;IJ4rCjB;EACF;ECjtCE;IGaM;MACE,wBAAA;IJusCR;IIxsCM;MACE,wBAAA;IJ0sCR;II3sCM;MACE,wBAAA;IJ6sCR;II9sCM;MACE,wBAAA;IJgtCR;IIjtCM;MACE,wBAAA;IJmtCR;IIptCM;MACE,wBAAA;IJstCR;IIvtCM;MACE,wBAAA;IJytCR;II1tCM;MACE,wBAAA;IJ4tCR;II7tCM;MACE,wBAAA;IJ+tCR;IIhuCM;MACE,yBAAA;IJkuCR;IInuCM;MACE,yBAAA;IJquCR;IItuCM;MACE,yBAAA;IJwuCR;IIjuCM;MACE,oBAFS;IJquCjB;IIpuCM;MACE,oBAFS;IJwuCjB;IIvuCM;MACE,oBAFS;IJ2uCjB;II1uCM;MACE,oBAFS;IJ8uCjB;II7uCM;MACE,oBAFS;IJivCjB;IIhvCM;MACE,oBAFS;IJovCjB;IInvCM;MACE,oBAFS;IJuvCjB;IItvCM;MACE,oBAFS;IJ0vCjB;IIzvCM;MACE,oBAFS;IJ6vCjB;II5vCM;MACE,qBAFS;IJgwCjB;II/vCM;MACE,qBAFS;IJmwCjB;EACF;ECxxCE;IGaM;MACE,wBAAA;IJ8wCR;II/wCM;MACE,wBAAA;IJixCR;IIlxCM;MACE,wBAAA;IJoxCR;IIrxCM;MACE,wBAAA;IJuxCR;IIxxCM;MACE,wBAAA;IJ0xCR;II3xCM;MACE,wBAAA;IJ6xCR;II9xCM;MACE,wBAAA;IJgyCR;IIjyCM;MACE,wBAAA;IJmyCR;IIpyCM;MACE,wBAAA;IJsyCR;IIvyCM;MACE,yBAAA;IJyyCR;II1yCM;MACE,yBAAA;IJ4yCR;II7yCM;MACE,yBAAA;IJ+yCR;IIxyCM;MACE,oBAFS;IJ4yCjB;II3yCM;MACE,oBAFS;IJ+yCjB;II9yCM;MACE,oBAFS;IJkzCjB;IIjzCM;MACE,oBAFS;IJqzCjB;IIpzCM;MACE,oBAFS;IJwzCjB;IIvzCM;MACE,oBAFS;IJ2zCjB;II1zCM;MACE,oBAFS;IJ8zCjB;II7zCM;MACE,oBAFS;IJi0CjB;IIh0CM;MACE,oBAFS;IJo0CjB;IIn0CM;MACE,qBAFS;IJu0CjB;IIt0CM;MACE,qBAFS;IJ00CjB;EACF;EG17CA;IACE,8BAAA;EH47CF;EGz7CA;IACE,gBAAA;IAEA,aAAA;IACA,uDAAA;IACA,mBAAA;IACA,kBAAA;EH07CF;AACF;AKl+CA;EC6LI;IAxHI,eA+CO;ENk3Cb;EMzyCE;IAxHI,qBA+CO;ENq3Cb;EM5yCE;IAxHI,cA+CO;ENw3Cb;EM/yCE;IAxHI,aA+CO;EN23Cb;EMlzCE;IAxHI,oBA+CO;EN83Cb;EMrzCE;IAxHI,cA+CO;ENi4Cb;EMxzCE;IAxHI,kBA+CO;ENo4Cb;EM3zCE;IAxHI,mBA+CO;ENu4Cb;EM9zCE;IAxHI,aA+CO;EN04Cb;EMj0CE;IAxHI,oBA+CO;EN64Cb;EMp0CE;IAxHI,iBA+CO;ENg5Cb;EMv0CE;IAxHI,kBA+CO;ENm5Cb;EM10CE;IAxHI,aA+CO;ENs5Cb;EM70CE;IAxHI,cA0CG;EN85CT;EMh1CE;IAxHI,mBA+CO;EN45Cb;EMn1CE;IAxHI,sBA+CO;EN+5Cb;EMt1CE;IAxHI,2BA+CO;ENk6Cb;EMz1CE;IAxHI,8BA+CO;ENq6Cb;EM51CE;IAxHI,YA0CG;EN66CT;EM/1CE;IAxHI,YA0CG;ENg7CT;EMl2CE;IAxHI,cA0CG;ENm7CT;EMr2CE;IAxHI,cA0CG;ENs7CT;EMx2CE;IAxHI,eA+CO;ENo7Cb;EM32CE;IAxHI,iBA+CO;ENu7Cb;EM92CE;IAxHI,uBA+CO;EN07Cb;EMj3CE;IAxHI,2BA0CG;ENk8CT;EMp3CE;IAxHI,yBA0CG;ENq8CT;EMv3CE;IAxHI,uBA0CG;ENw8CT;EM13CE;IAxHI,8BA0CG;EN28CT;EM73CE;IAxHI,6BA0CG;EN88CT;EMh4CE;IAxHI,6BA0CG;ENi9CT;EMn4CE;IAxHI,oBA0CG;ENo9CT;EMt4CE;IAxHI,kBA0CG;ENu9CT;EMz4CE;IAxHI,qBA0CG;EN09CT;EM54CE;IAxHI,sBA0CG;EN69CT;EM/4CE;IAxHI,uBA0CG;ENg+CT;EMl5CE;IAxHI,qBA0CG;ENm+CT;EMr5CE;IAxHI,mBA0CG;ENs+CT;EMx5CE;IAxHI,qBA0CG;ENy+CT;EM35CE;IAxHI,oBA0CG;EN4+CT;EM95CE;IAxHI,yBA0CG;EN++CT;EMj6CE;IAxHI,uBA0CG;ENk/CT;EMp6CE;IAxHI,qBA0CG;ENq/CT;EMv6CE;IAxHI,4BA0CG;ENw/CT;EM16CE;IAxHI,2BA0CG;EN2/CT;EM76CE;IAxHI,sBA0CG;EN8/CT;EMh7CE;IAxHI,gBA0CG;ENigDT;EMn7CE;IAxHI,sBA0CG;ENogDT;EMt7CE;IAxHI,oBA0CG;ENugDT;EMz7CE;IAxHI,kBA0CG;EN0gDT;EM57CE;IAxHI,oBA0CG;EN6gDT;EM/7CE;IAxHI,mBA0CG;ENghDT;EMl8CE;IAxHI,kBA0CG;ENmhDT;EMr8CE;IAxHI,gBA0CG;ENshDT;EMx8CE;IAxHI,mBA0CG;ENyhDT;EM38CE;IAxHI,oBA0CG;EN4hDT;EM98CE;IAxHI,qCA0CG;EN+hDT;EMj9CE;IAxHI,qCA0CG;ENkiDT;EMp9CE;IAxHI,qCA0CG;ENqiDT;EMv9CE;IAxHI,qCA0CG;ENwiDT;EM19CE;IAxHI,mBA0CG;EN2iDT;EM79CE;IAxHI,mBA+CO;ENyiDb;EMh+CE;IAxHI,sBA+CO;EN4iDb;EMn+CE;IAxHI,qBA+CO;EN+iDb;EMt+CE;IAxHI,SA0CG;ENujDT;EMz+CE;IAxHI,QA0CG;EN0jDT;EM5+CE;IAxHI,QA0CG;EN6jDT;EM/+CE;IAxHI,QA0CG;ENgkDT;EMl/CE;IAxHI,QA0CG;ENmkDT;EMr/CE;IAxHI,QA0CG;ENskDT;EMx/CE;IAxHI,QA0CG;ENykDT;EM3/CE;IAxHI,QA0CG;EN4kDT;EM9/CE;IAxHI,SA0CG;EN+kDT;EMjgDE;IAxHI,eA0CG;ENklDT;EMpgDE;IAxHI,cA0CG;ENqlDT;EMvgDE;IAxHI,YA0CG;ENwlDT;EM1gDE;IAxHI,cA0CG;EN2lDT;EM7gDE;IAxHI,YA0CG;EN8lDT;EMhhDE;IAxHI,YA0CG;ENimDT;EMnhDE;IAxHI,gBA0CG;ENomDT;EMthDE;IAxHI,sBA0CG;ENumDT;EMzhDE;IAxHI,qBA0CG;EN0mDT;EM5hDE;IAxHI,mBA0CG;EN6mDT;EM/hDE;IAxHI,qBA0CG;ENgnDT;EMliDE;IAxHI,mBA0CG;ENmnDT;EMriDE;IAxHI,mBA0CG;ENsnDT;EMxiDE;IAxHI,eA0CG;ENynDT;EM3iDE;IAxHI,qBA0CG;EN4nDT;EM9iDE;IAxHI,oBA0CG;EN+nDT;EMjjDE;IAxHI,kBA0CG;ENkoDT;EMpjDE;IAxHI,oBA0CG;ENqoDT;EMvjDE;IAxHI,kBA0CG;ENwoDT;EM1jDE;IAxHI,kBA0CG;EN2oDT;EM7jDE;IAxHI,qBA0CG;EN8oDT;EMhkDE;IAxHI,2BA0CG;ENipDT;EMnkDE;IAxHI,0BA0CG;ENopDT;EMtkDE;IAxHI,wBA0CG;ENupDT;EMzkDE;IAxHI,0BA0CG;EN0pDT;EM5kDE;IAxHI,wBA0CG;EN6pDT;EM/kDE;IAxHI,wBA0CG;ENgqDT;EMllDE;IAxHI,oBA0CG;ENmqDT;EMrlDE;IAxHI,0BA0CG;ENsqDT;EMxlDE;IAxHI,yBA0CG;ENyqDT;EM3lDE;IAxHI,uBA0CG;EN4qDT;EM9lDE;IAxHI,yBA0CG;EN+qDT;EMjmDE;IAxHI,uBA0CG;ENkrDT;EMpmDE;IAxHI,uBA0CG;ENqrDT;EMvmDE;IAxHI,mBA0CG;ENwrDT;EM1mDE;IAxHI,yBA0CG;EN2rDT;EM7mDE;IAxHI,wBA0CG;EN8rDT;EMhnDE;IAxHI,sBA0CG;ENisDT;EMnnDE;IAxHI,wBA0CG;ENosDT;EMtnDE;IAxHI,sBA0CG;ENusDT;EMznDE;IAxHI,sBA0CG;EN0sDT;EM5nDE;IAxHI,sBA0CG;EN6sDT;EM/nDE;IAxHI,4BA0CG;ENgtDT;EMloDE;IAxHI,2BA0CG;ENmtDT;EMroDE;IAxHI,yBA0CG;ENstDT;EMxoDE;IAxHI,2BA0CG;ENytDT;EM3oDE;IAxHI,yBA0CG;EN4tDT;EM9oDE;IAxHI,6BA0CG;EN+tDT;EMjpDE;IAxHI,4BA0CG;ENkuDT;EMppDE;IAxHI,yBA0CG;ENquDT;EMvpDE;IAxHI,UA0CG;ENwuDT;EM1pDE;IAxHI,gBA0CG;EN2uDT;EM7pDE;IAxHI,eA0CG;EN8uDT;EMhqDE;IAxHI,aA0CG;ENivDT;EMnqDE;IAxHI,eA0CG;ENovDT;EMtqDE;IAxHI,aA0CG;ENuvDT;EMzqDE;IAxHI,iBA0CG;EN0vDT;EM5qDE;IAxHI,uBA0CG;EN6vDT;EM/qDE;IAxHI,sBA0CG;ENgwDT;EMlrDE;IAxHI,oBA0CG;ENmwDT;EMrrDE;IAxHI,s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A;MAxHI,mBA0CG;IN4gEP;IM97DA;MAxHI,qBA0CG;IN+gEP;IMj8DA;MAxHI,oBA0CG;INkhEP;IMp8DA;MAxHI,yBA0CG;INqhEP;IMv8DA;MAxHI,uBA0CG;INwhEP;IM18DA;MAxHI,qBA0CG;IN2hEP;IM78DA;MAxHI,4BA0CG;IN8hEP;IMh9DA;MAxHI,2BA0CG;INiiEP;IMn9DA;MAxHI,sBA0CG;INoiEP;IMt9DA;MAxHI,gBA0CG;INuiEP;IMz9DA;MAxHI,sBA0CG;IN0iEP;IM59DA;MAxHI,oBA0CG;IN6iEP;IM/9DA;MAxHI,kBA0CG;INgjEP;IMl+DA;MAxHI,oBA0CG;INmjEP;IMr+DA;MAxHI,mBA0CG;INsjEP;IMx+DA;MAxHI,kBA0CG;INyjEP;IM3+DA;MAxHI,gBA0CG;IN4jEP;IM9+DA;MAxHI,mBA0CG;IN+jEP;IMj/DA;MAxHI,oBA0CG;INkkEP;IMp/DA;MAxHI,qCA0CG;INqkEP;IMv/DA;MAxHI,qCA0CG;INwkEP;IM1/DA;MAxHI,qCA0CG;IN2kEP;IM7/DA;MAxHI,qCA0CG;IN8kEP;IMhgEA;MAxHI,mBA0CG;INilEP;IMngEA;MAxHI,mBA+CO;IN+kEX;IMtgEA;MAxHI,sBA+CO;INklEX;IMzgEA;MAxHI,qBA+CO;INqlEX;IM5gEA;MAxHI,SA0CG;IN6lEP;IM/gEA;MAxHI,QA0CG;INgmEP;IMlhEA;MAxHI,QA0CG;INmmEP;IMrhEA;MAxHI,QA0CG;INsmEP;IMxhEA;MAxHI,QA0CG;INymEP;IM3hEA;MAxHI,QA0CG;IN4mEP;IM9hEA;MAxHI,QA0CG;IN+mEP;IMjiEA;MAxHI,QA0CG;INknEP;IMpiEA;MAxHI,SA0CG;INqnEP;IMviEA;MAxHI,eA0CG;INwnEP;IM1iEA;MAxHI,cA0CG;IN2nEP;IM7iEA;MAxHI,YA0CG;IN8nEP;IMhjEA;MAxHI,cA0CG;INioEP;IMnjEA;MAxHI,YA0CG;INooEP;IMtjEA;MAxHI,YA0CG;INuoEP;IMzjEA;MAxHI,gBA0CG;IN0oEP;IM5jEA;MAxHI,sBA0CG;IN6oEP;IM/jEA;MAxHI,qBA0CG;INgpEP;IMlkEA;MAxHI,mBA0CG;INmpEP;IMrkEA;MAxHI,qBA0CG;INspEP;IMxkEA;MAxHI,mBA0CG;INypEP;IM3kEA;MAxHI,mBA0CG;IN4pEP;IM9kEA;MAxHI,eA0CG;IN+pEP;IMjlEA;MAxHI,qBA0CG;INkqEP;IMplEA;MAxHI,oBA0CG;INqqEP;IMvlEA;MAxHI,kBA0CG;INwqEP;IM1lEA;MAxHI,oBA0CG;IN2qEP;IM7lEA;MAxHI,kBA0CG;IN8qEP;IMhmEA;MAxHI,kBA0CG;INirEP;IMnmEA;MAxHI,qBA0CG;INorEP;IMtmEA;MAxHI,2BA0CG;INurEP;IMzmEA;MAxHI,0BA0CG;IN0rEP;IM5mEA;MAxHI,wBA0CG;IN6rEP;IM/mEA;MAxHI,0BA0CG;INgsEP;IMlnEA;MAxHI,wBA0CG;INmsEP;IMrnEA;MAxHI,wBA0CG;INssEP;IMxnEA;MAxHI,oBA0CG;INysEP;IM3nEA;MAxHI,0BA0CG;IN4sEP;IM9nEA;MAxHI,yBA0CG;IN+sEP;IMjoEA;MAxHI,uBA0CG;INktEP;IMpoEA;MAxHI,yBA0CG;INqtEP;IMvoEA;MAxHI,uBA0CG;INwtEP;IM1oEA;MAxHI,uBA0CG;IN2tEP;IM7oEA;MAxHI,mBA0CG;IN8tEP;IMhpEA;MAxHI,yBA0CG;INiuEP;IMnpEA;MAxHI,wBA0CG;INouEP;IMtpEA;MAxHI,sBA0CG;INuuEP;IMzpEA;MAxHI,wBA0CG;IN0uEP;IM5pEA;MAxHI,sBA0CG;IN6uEP;IM/pEA;MAxHI,sBA0CG;INgvEP;IMlqEA;MAxHI,sBA0CG;INmvEP;IMrqEA;MAxHI,4BA0CG;INsvEP;IMxqEA;MAxHI,2BA0CG;INyvEP;IM3qEA;MAxHI,yBA0CG;IN4vEP;IM9qEA;MAxHI,2BA0CG;IN+vEP;IMjrEA;MAxHI,yBA0CG;INkwEP;IMprEA;MAxHI,6BA0CG;INqwEP;IMvrEA;MAxHI,4BA0CG;INwwEP;IM1rEA;MAxHI,yBA0CG;IN2wEP;IM7rEA;MAxHI,UA0CG;IN8wEP;IMhsEA;MAxHI,gBA0CG;INixEP;IMnsEA;MAxHI,eA0CG;INoxEP;IMtsEA;MAxHI,aA0CG;INuxEP;IMzsEA;MAxHI,eA0CG;IN0xEP;IM5sEA;MAxHI,aA0CG;IN6xEP;IM/sEA;MAxHI,iBA0CG;INgyEP;IMltEA;MAxHI,uBA0CG;INmyEP;IMrtEA;MAxHI,sBA0CG;INsyEP;IMxtEA;MAxHI,oBA0CG;INyyEP;IM3tEA;MAxHI,sBA0CG;IN4yEP;IM9tEA;MAxHI,oBA0CG;IN+yEP;IMjuEA;MAxHI,gBA0CG;INkzEP;IMpuEA;MAxHI,sBA0CG;INqzEP;IMvuEA;MAxHI,qBA0CG;INwzEP;IM1uEA;MAxHI,mBA0CG;IN2zEP;IM7uEA;MAxHI,qBA0CG;IN8zEP;IMhvEA;MAxHI,mBA0CG;INi0EP;IMnvEA;MAxHI,sBA0CG;INo0EP;IMtvEA;MAxHI,4BA0CG;INu0EP;IMzvEA;MAxHI,2BA0CG;IN00EP;IM5vEA;MAxHI,yBA0CG;IN60EP;IM/vEA;MAxHI,2BA0CG;INg1EP;IMlwEA;MAxHI,yBA0CG;INm1EP;IMrwEA;MAxHI,qBA0CG;INs1EP;IMxwEA;MAxHI,2BA0CG;INy1EP;IM3wEA;MAxHI,0BA0CG;IN41EP;IM9wEA;MAxHI,wBA0CG;IN+1EP;IMjxEA;MAxHI,0BA0CG;INk2EP;IMpxEA;MAxHI,wBA0CG;INq2EP;IMvxEA;MAxHI,oBA0CG;INw2EP;IM1xEA;MAxHI,0BA0CG;IN22EP;IM7xEA;MAxHI,yBA0CG;IN82EP;IMhyEA;MAxHI,uBA0CG;INi3EP;IMnyEA;MAxHI,yBA0CG;INo3EP;IMtyEA;MAxHI,uBA0CG;INu3EP;IMzyEA;MAxHI,uBA0CG;IN03EP;IM5yEA;MAxHI,6BA0CG;IN63EP;IM/yEA;MAxHI,4BA0CG;INg4EP;IMlzEA;MAxHI,0BA0CG;INm4EP;IMrzEA;MAxHI,4BA0CG;INs4EP;IMxzEA;MAxHI,0BA0CG;INy4EP;IM3zEA;MAxHI,MA0CG;IN44EP;IM9zEA;MAxHI,YA0CG;IN+4EP;IMj0EA;MAxHI,WA0CG;INk5EP;IMp0EA;MAxHI,SA0CG;INq5EP;IMv0EA;MAxHI,WA0CG;INw5EP;IM10EA;MAxHI,SA0CG;IN25EP;IM70EA;MAxHI,UA0CG;IN85EP;IMh1EA;MAxHI,gBA0CG;INi6EP;IMn1EA;MAxHI,eA0CG;INo6EP;IMt1EA;MAxHI,aA0CG;INu6EP;IMz1EA;MAxHI,eA0CG;IN06EP;IM51EA;MAxHI,aA0CG;IN66EP;IM/1EA;MAxHI,kBA0CG;MA1CH,aA0CG;INg7EP;IMl2EA;MAxHI,wBA0CG;MA1CH,mBA0CG;INm7EP;IMr2EA;MAxHI,uBA0CG;MA1CH,kBA0CG;INs7EP;IMx2EA;MAxHI,qBA0CG;MA1CH,gBA0CG;INy7EP;IM32EA;MAxHI,uBA0CG;MA1CH,kBA0CG;IN47EP;IM92EA;MAxHI,qBA0CG;MA1CH,gBA0CG;IN+7EP;EACF;ECv7EE;IKqEA;MAxHI,eA+CO;IN+7EX;IMt3EA;MAxHI,qBA+CO;INk8EX;IMz3EA;MAxHI,cA+CO;INq8EX;IM53EA;MAxHI,aA+CO;INw8EX;IM/3EA;MAxHI,oBA+CO;IN28EX;IMl4EA;MAxHI,cA+CO;IN88EX;IMr4EA;MAxHI,kBA+CO;INi9EX;IMx4EA;MAxHI,mBA+CO;INo9EX;IM34EA;MAxHI,aA+CO;INu9EX;IM94EA;MAxHI,oBA+CO;IN09EX;IMj5EA;MAxHI,iBA+CO;IN69EX;IMp5EA;MAxHI,kBA+CO;INg+EX;IMv5EA;MAxHI,aA+CO;INm+EX;IM15EA;MAxHI,cA0CG;IN2+EP;IM75EA;MAxHI,mBA+CO;INy+EX;IMh6EA;MAxHI,sBA+CO;IN4+EX;IMn6EA;MAxHI,2BA+CO;IN++EX;IMt6EA;MAxHI,8BA+CO;INk/EX;IMz6EA;MAxHI,YA0CG;IN0/EP;IM56EA;MAxHI,YA0CG;IN6/EP;IM/6EA;MAxHI,cA0CG;INggFP;IMl7EA;MAxHI,cA0CG;INmgFP;IMr7EA;MAxHI,eA+CO;INigFX;IMx7EA;MAxHI,iBA+CO;INogFX;IM37EA;MAxHI,uBA+CO;INugFX;IM97EA;MAxHI,2BA0CG;IN+gFP;IMj8EA;MAxHI,yBA0CG;INkhFP;IMp8EA;MAxHI,uBA0CG;INqhFP;IMv8EA;MAxHI,8BA0CG;INwhFP;IM18EA;MAxHI,6BA0CG;IN2hFP;IM78EA;MAxHI,6BA0CG;IN8hFP;IMh9EA;MAxHI,oBA0CG;INiiFP;IMn9EA;MAxHI,kBA0CG;INoiFP;IMt9EA;MAxHI,qBA0CG;INuiFP;IMz9EA;MAxHI,sBA0CG;IN0iFP;IM59EA;MAxHI,uBA0CG;IN6iFP;IM/9EA;MAxHI,qBA0CG;INgjFP;IMl+EA;MAxHI,mBA0CG;INmjFP;IMr+EA;MAxHI,qBA0CG;INsjFP;IMx+EA;MAxHI,oBA0CG;INyjFP;IM3+EA;MAxHI,yBA0CG;IN4jFP;IM9+EA;MAxHI,uBA0CG;IN+jFP;IMj/EA;MAxHI,qBA0CG;INkkFP;IMp/EA;MAxHI,4BA0CG;INqkFP;IMv/EA;MAxHI,2BA0CG;INwkFP;IM1/EA;MAxHI,sBA0CG;IN2kFP;IM7/EA;MAxHI,gBA0CG;IN8kFP;IMhgFA;MAxHI,sBA0CG;INilFP;IMngFA;MAxHI,oBA0CG;INolFP;IMtgFA;MAxHI,kBA0CG;INulFP;IMzgFA;MAxHI,oBA0CG;IN0lFP;IM5gFA;MAxHI,mBA0CG;IN6lFP;IM/gFA;MAxHI,kBA0CG;INgmFP;IMlhFA;MAxHI,gBA0CG;INmmFP;IMrhFA;MAxHI,mBA0CG;INsmFP;IMxhFA;MAxHI,oBA0CG;INymFP;IM3hFA;MAxHI,qCA0CG;IN4mFP;IM9hFA;MAxHI,qCA0CG;IN+mFP;IMjiFA;MAxHI,qCA0CG;INknFP;IMpiFA;MAxHI,qCA0CG;INqnFP;IMviFA;MAxHI,mBA0CG;INwnFP;IM1iFA;MAxHI,mBA+CO;INsnFX;IM7iFA;MAxHI,sBA+CO;INynFX;IMhjFA;MAxHI,qBA+CO;IN4nFX;IMnjFA;MAxHI,SA0CG;INooFP;IMtjFA;MAxHI,QA0CG;INuoFP;IMzjFA;MAxHI,QA0CG;IN0oFP;IM5jFA;MAxHI,QA0CG;IN6oFP;IM/jFA;MAxHI,QA0CG;INgpFP;IMlkFA;MAxHI,QA0CG;INmpFP;IMrkFA;MAxHI,QA0CG;INspFP;IMxkFA;MAxHI,QA0CG;INypFP;IM3kFA;MAxHI,SA0CG;IN4pFP;IM9kFA;MAxHI,eA0CG;IN+pFP;IMjlFA;MAxHI,cA0CG;INkqFP;IMplFA;MAxHI,YA0CG;INqqFP;IMvlFA;MAxHI,cA0CG;INwqFP;IM1lFA;MAxHI,YA0CG;IN2qFP;IM7lFA;MAxHI,YA0CG;IN8qFP;IMhmFA;MAxHI,gBA0CG;INirFP;IMnmFA;MAxHI,sBA0CG;INorFP;IMtmFA;MAxHI,qBA0CG;INurFP;IMzmFA;MAxHI,mBA0CG;IN0rFP;IM5mFA;MAxHI,qBA0CG;IN6rFP;IM/mFA;MAxHI,mBA0CG;INgsFP;IMlnFA;MAxHI,mBA0CG;INmsFP;IMrnFA;MAxHI,eA0CG;INssFP;IMxnFA;MAxHI,qBA0CG;INysFP;IM3nFA;MAxHI,oBA0CG;IN4sFP;IM9nFA;MAxHI,kBA0CG;IN+sFP;IMjoFA;MAxHI,oBA0CG;INktFP;IMpoFA;MAxHI,kBA0CG;INqtFP;IMvoFA;MAxHI,kBA0CG;INwtFP;IM1oFA;MAxHI,qBA0CG;IN2tFP;IM7oFA;MAxHI,2BA0CG;IN8tFP;IMhpFA;MAxHI,0BA0CG;INiuFP;IMnpFA;MAxHI,wBA0CG;INouFP;IMtpFA;MAxHI,0BA0CG;INuuFP;IMzpFA;MAxHI,wBA0CG;IN0uFP;IM5pFA;MAxHI,wBA0CG;IN6uFP;IM/pFA;MAxHI,oBA0CG;INgvFP;IMlqFA;MAxHI,0BA0CG;INmvFP;IMrqFA;MAxHI,yBA0CG;INsvFP;IMxqFA;MAxHI,uBA0CG;INyvFP;IM3qFA;MAxHI,yBA0CG;IN4vFP;IM9qFA;MAxHI,uBA0CG;IN+vFP;IMjrFA;MAxHI,uBA0CG;INkwFP;IMprFA;MAxHI,mBA0CG;INqwFP;IMvrFA;MAxHI,yBA0CG;INwwFP;IM1rFA;MAxHI,wBA0CG;IN2wFP;IM7rFA;MAxHI,sBA0CG;IN8wFP;IMhsFA;MAxHI,wBA0CG;INixFP;IMnsFA;MAxHI,sBA0CG;INoxFP;IMtsFA;MAxHI,sBA0CG;INuxFP;IMzsFA;MAxHI,sBA0CG;IN0xFP;IM5sFA;MAxHI,4BA0CG;IN6xFP;IM/sFA;MAxHI,2BA0CG;INgyFP;IMltFA;MAxHI,yBA0CG;INmyFP;IMrtFA;MAxHI,2BA0CG;INsyFP;IMxtFA;MAxHI,yBA0CG;INyyFP;IM3tFA;MAxHI,6BA0CG;IN4yFP;IM9tFA;MAxHI,4BA0CG;IN+yFP;IMjuFA;MAxHI,yBA0CG;INkzFP;IMpuFA;MAxHI,UA0CG;INqzFP;IMvuFA;MAxHI,gBA0CG;INwzFP;IM1uFA;MAxHI,eA0CG;IN2zFP;IM7uFA;MAxHI,aA0CG;IN8zFP;IMhvFA;MAxHI,eA0CG;INi0FP;IMnvFA;MAxHI,aA0CG;INo0FP;IMtvFA;MAxHI,iBA0CG;INu0FP;IMzvFA;MAxHI,uBA0CG;IN00FP;IM5vFA;MAxHI,sBA0CG;IN60FP;IM/vFA;MAxHI,oBA0CG;INg1FP;IMlwFA;MAxHI,sBA0CG;INm1FP;IMrwFA;MAxHI,oBA0CG;INs1FP;IMxwFA;MAxHI,gBA0CG;INy1FP;IM3wFA;MAxHI,sBA0CG;IN41FP;IM9wFA;MAxHI,qBA0CG;IN+1FP;IMjxFA;MAxHI,mBA0CG;INk2FP;IMpxFA;MAxHI,qBA0CG;INq2FP;IMvxFA;MAxHI,mBA0CG;INw2FP;IM1xFA;MAxHI,sBA0CG;IN22FP;IM7xFA;MAxHI,4BA0CG;IN82FP;IMhyFA;MAxHI,2BA0CG;INi3FP;IMnyFA;MAxHI,yBA0CG;INo3FP;IMtyFA;MAxHI,2BA0CG;INu3FP;IMzyFA;MAxHI,yBA0CG;IN03FP;IM5yFA;MAxHI,qBA0CG;IN63FP;IM/yFA;MAxHI,2BA0CG;INg4FP;IMlzFA;MAxHI,0BA0CG;INm4FP;IMrzFA;MAxHI,wBA0CG;INs4FP;IMxzFA;MAxHI,0BA0CG;INy4FP;IM3zFA;MAxHI,wBA0CG;IN44FP;IM9zFA;MAxHI,oBA0CG;IN+4FP;IMj0FA;MAxHI,0BA0CG;INk5FP;IMp0FA;MAxHI,yBA0CG;INq5FP;IMv0FA;MAxHI,uBA0CG;INw5FP;IM10FA;MAxHI,yBA0CG;IN25FP;IM70FA;MAxHI,uBA0CG;IN85FP;IMh1FA;MAxHI,uBA0CG;INi6FP;IMn1FA;MAxHI,6BA0CG;INo6FP;IMt1FA;MAxHI,4BA0CG;INu6FP;IMz1FA;MAxHI,0BA0CG;IN06FP;IM51FA;MAxHI,4BA0CG;IN66FP;IM/1FA;MAxHI,0BA0CG;INg7FP;IMl2FA;MAxHI,MA0CG;INm7FP;IMr2FA;MAxHI,YA0CG;INs7FP;IMx2FA;MAxHI,WA0CG;INy7FP;IM32FA;MAxHI,SA0CG;IN47FP;IM92FA;MAxHI,WA0CG;IN+7FP;IMj3FA;MAxHI,SA0CG;INk8FP;IMp3FA;MAxHI,UA0CG;INq8FP;IMv3FA;MAxHI,gBA0CG;INw8FP;IM13FA;MAxHI,eA0CG;IN28FP;IM73FA;MAxHI,aA0CG;IN88FP;IMh4FA;MAxHI,eA0CG;INi9FP;IMn4FA;MAxHI,aA0CG;INo9FP;IMt4FA;MAxHI,kBA0CG;MA1CH,aA0CG;INu9FP;IMz4FA;MAxHI,wBA0CG;MA1CH,mBA0CG;IN09FP;IM54FA;MAxHI,uBA0CG;MA1CH,kBA0CG;IN69FP;IM/4FA;MAxHI,qBA0CG;MA1CH,gBA0CG;INg+FP;IMl5FA;MAxHI,uBA0CG;MA1CH,kBA0CG;INm+FP;IMr5FA;MAxHI,qBA0CG;MA1CH,gBA0CG;INs+FP;EACF;EC99FE;IKqEA;MAxHI,eA+CO;INs+FX;IM75FA;MAxHI,qBA+CO;INy+FX;IMh6FA;MAxHI,cA+CO;IN4+FX;IMn6FA;MAxHI,aA+CO;IN++FX;IMt6FA;MAxHI,oBA+CO;INk/FX;IMz6FA;MAxHI,cA+CO;INq/FX;IM56FA;MAxHI,kBA+CO;INw/FX;IM/6FA;MAxHI,mBA+CO;IN2/FX;IMl7FA;MAxHI,aA+CO;IN8/FX;IMr7FA;MAxHI,oBA+CO;INigGX;IMx7FA;MAxHI,iBA+CO;INogGX;IM37FA;MAxHI,kBA+CO;INugGX;IM97FA;MAxHI,aA+CO;IN0gGX;IMj8FA;MAxHI,cA0CG;INkhGP;IMp8FA;MAxHI,mBA+CO;INghGX;IMv8FA;MAxHI,sBA+CO;INmhGX;IM18FA;MAxHI,2BA+CO;INshGX;IM78FA;MAxHI,8BA+CO;INyhGX;IMh9FA;MAxHI,YA0CG;INiiGP;IMn9FA;MAxHI,YA0CG;INoiGP;IMt9FA;MAxHI,cA0CG;INuiGP;IMz9FA;MAxHI,cA0CG;IN0iGP;IM59FA;MAxHI,eA+CO;INwiGX;IM/9FA;MAxHI,iBA+CO;IN2iGX;IMl+FA;MAxHI,uBA+CO;IN8iGX;IMr+FA;MAxHI,2BA0CG;INsjGP;IMx+FA;MAxHI,yBA0CG;INyjGP;IM3+FA;MAxHI,uBA0CG;IN4jGP;IM9+FA;MAxHI,8BA0CG;IN+jGP;IMj/FA;MAxHI,6BA0CG;INkkGP;IMp/FA;MAxHI,6BA0CG;INqkGP;IMv/FA;MAxHI,oBA0CG;INwkGP;IM1/FA;MAxHI,kBA0CG;IN2kGP;IM7/FA;MAxHI,qBA0CG;IN8kGP;IMhgGA;MAxHI,sBA0CG;INilGP;IMngGA;MAxHI,uBA0CG;INolGP;IMtgGA;MAxHI,qBA0CG;INulGP;IMzgGA;MAxHI,mBA0CG;IN0lGP;IM5gGA;MAxHI,qBA0CG;IN6lGP;IM/gGA;MAxHI,oBA0CG;INgmGP;IMlhGA;MAxHI,yBA0CG;INmmGP;IMrhGA;MAxHI,uBA0CG;INsmGP;IMxhGA;MAxHI,qBA0CG;INymGP;IM3hGA;MAxHI,4BA0CG;IN4mGP;IM9hGA;MAxHI,2BA0CG;IN+mGP;IMjiGA;MAxHI,sBA0CG;INknGP;IMpiGA;MAxHI,gBA0CG;INqnGP;IMviGA;MAxHI,sBA0CG;INwnGP;IM1iGA;MAxHI,oBA0CG;IN2nGP;IM7iGA;MAxHI,kBA0CG;IN8nGP;IMhjGA;MAxHI,oBA0CG;INioGP;IMnjGA;MAxHI,mBA0CG;INooGP;IMtjGA;MAxHI,kBA0CG;INuoGP;IMzjGA;MAxHI,gBA0CG;IN0oGP;IM5jGA;MAxHI,mBA0CG;IN6oGP;IM/jGA;MAxHI,oBA0CG;INgpGP;IMlkGA;MAxHI,qCA0CG;INmpGP;IMrkGA;MAxHI,qCA0CG;INspGP;IMxkGA;MAxHI,qCA0CG;INypGP;IM3kGA;MAxHI,qCA0CG;IN4pGP;IM9kGA;MAxHI,mBA0CG;IN+pGP;IMjlGA;MAxHI,mBA+CO;IN6pGX;IMplGA;MAxHI,sBA+CO;INgqGX;IMvlGA;MAxHI,qBA+CO;INmqGX;IM1lGA;MAxHI,SA0CG;IN2qGP;IM7lGA;MAxHI,QA0CG;IN8qGP;IMhmGA;MAxHI,QA0CG;INirGP;IMnmGA;MAxHI,QA0CG;INorGP;IMtmGA;MAxHI,QA0CG;INurGP;IMzmGA;MAxHI,QA0CG;IN0rGP;IM5mGA;MAxHI,QA0CG;IN6rGP;IM/mGA;MAxHI,QA0CG;INgsGP;IMlnGA;MAxHI,SA0CG;INmsGP;IMrnGA;MAxHI,eA0CG;INssGP;IMxnGA;MAxHI,cA0CG;INysGP;IM3nGA;MAxHI,YA0CG;IN4sGP;IM9nGA;MAxHI,cA0CG;IN+sGP;IMjoGA;MAxHI,YA0CG;INktGP;IMpoGA;MAxHI,YA0CG;INqtGP;IMvoGA;MAxHI,gBA0CG;INwtGP;IM1oGA;MAxHI,sBA0CG;IN2tGP;IM7oGA;MAxHI,qBA0CG;IN8tGP;IMhpGA;MAxHI,mBA0CG;INiuGP;IMnpGA;MAxHI,qBA0CG;INouGP;IMtpGA;MAxHI,mBA0CG;INuuGP;IMzpGA;MAxHI,mBA0CG;IN0uGP;IM5pGA;MAxHI,eA0CG;IN6uGP;IM/pGA;MAxHI,qBA0CG;INgvGP;IMlqGA;MAxHI,oBA0CG;INmvGP;IMrqGA;MAxHI,kBA0CG;INsvGP;IMxqGA;MAxHI,oBA0CG;INyvGP;IM3qGA;MAxHI,kBA0CG;IN4vGP;IM9qGA;MAxHI,kBA0CG;IN+vGP;IMjrGA;MAxHI,qBA0CG;INkwGP;IMprGA;MAxHI,2BA0CG;INqwGP;IMvrGA;MAxHI,0BA0CG;INwwGP;IM1rGA;MAxHI,wBA0CG;IN2wGP;IM7rGA;MAxHI,0BA0CG;IN8wGP;IMhsGA;MAxHI,wBA0CG;INixGP;IMnsGA;MAxHI,wBA0CG;INoxGP;IMtsGA;MAxHI,oBA0CG;INuxGP;IMzsGA;MAxHI,0BA0CG;IN0xGP;IM5sGA;MAxHI,yBA0CG;IN6xGP;IM/sGA;MAxHI,uBA0CG;INgyGP;IMltGA;MAxHI,yBA0CG;INmyGP;IMrtGA;MAxHI,uBA0CG;INsyGP;IMxtGA;MAxHI,uBA0CG;INyyGP;IM3tGA;MAxHI,mBA0CG;IN4yGP;IM9tGA;MAxHI,yBA0CG;IN+yGP;IMjuGA;MAxHI,wBA0CG;INkzGP;IMpuGA;MAxHI,sBA0CG;INqzGP;IMvuGA;MAxHI,wBA0CG;INwzGP;IM1uGA;MAxHI,sBA0CG;IN2zGP;IM7uGA;MAxHI,sBA0CG;IN8zGP;IMhvGA;MAxHI,sBA0CG;INi0GP;IMnvGA;MAxHI,4BA0CG;INo0GP;IMtvGA;MAxHI,2BA0CG;INu0GP;IMzvGA;MAxHI,yBA0CG;IN00GP;IM5vGA;MAxHI,2BA0CG;IN60GP;IM/vGA;MAxHI,yBA0CG;INg1GP;IMlwGA;MAxHI,6BA0CG;INm1GP;IMrwGA;MAxHI,4BA0CG;INs1GP;IMxwGA;MAxHI,yBA0CG;INy1GP;IM3wGA;MAxHI,UA0CG;IN41GP;IM9wGA;MAxHI,gBA0CG;IN+1GP;IMjxGA;MAxHI,eA0CG;INk2GP;IMpxGA;MAxHI,aA0CG;INq2GP;IMvxGA;MAxHI,eA0CG;INw2GP;IM1xGA;MAxHI,aA0CG;IN22GP;IM7xGA;MAxHI,iBA0CG;IN82GP;IMhyGA;MAxHI,uBA0CG;INi3GP;IMnyGA;MAxHI,sBA0CG;INo3GP;IMtyGA;MAxHI,oBA0CG;INu3GP;IMzyGA;MAxHI,sBA0CG;IN03GP;IM5yGA;MAxHI,oBA0CG;IN63GP;IM/yGA;MAxHI,gBA0CG;INg4GP;IMlzGA;MAxHI,sBA0CG;INm4GP;IMrzGA;MAxHI,qBA0CG;INs4GP;IMxzGA;MAxHI,mBA0CG;INy4GP;IM3zGA;MAxHI,qBA0CG;IN44GP;IM9zGA;MAxHI,mBA0CG;IN+4GP;IMj0GA;MAxHI,sBA0CG;INk5GP;IMp0GA;MAxHI,4BA0CG;INq5GP;IMv0GA;MAxHI,2BA0CG;INw5GP;IM10GA;MAxHI,yBA0CG;IN25GP;IM70GA;MAxHI,2BA0CG;IN85GP;IMh1GA;MAxHI,yBA0CG;INi6GP;IMn1GA;MAxHI,qBA0CG;INo6GP;IMt1GA;MAxHI,2BA0CG;INu6GP;IMz1GA;MAxHI,0BA0CG;IN06GP;IM51GA;MAxHI,wBA0CG;IN66GP;IM/1GA;MAxHI,0BA0CG;INg7GP;IMl2GA;MAxHI,wBA0CG;INm7GP;IMr2GA;MAxHI,oBA0CG;INs7GP;IMx2GA;MAxHI,0BA0CG;INy7GP;IM32GA;MAxHI,yBA0CG;IN47GP;IM92GA;MAxHI,uBA0CG;IN+7GP;IMj3GA;MAxHI,yBA0CG;INk8GP;IMp3GA;MAxHI,uBA0CG;INq8GP;IMv3GA;MAxHI,uBA0CG;INw8GP;IM13GA;MAxHI,6BA0CG;IN28GP;IM73GA;MAxHI,4BA0CG;IN88GP;IMh4GA;MAxHI,0BA0CG;INi9GP;IMn4GA;MAxHI,4BA0CG;INo9GP;IMt4GA;MAxHI,0BA0CG;INu9GP;IMz4GA;MAxHI,MA0CG;IN09GP;IM54GA;MAxHI,YA0CG;IN69GP;IM/4GA;MAxHI,WA0CG;INg+GP;IMl5GA;MAxHI,SA0CG;INm+GP;IMr5GA;MAxHI,WA0CG;INs+GP;IMx5GA;MAxHI,SA0CG;INy+GP;IM35GA;MAxHI,UA0CG;IN4+GP;IM95GA;MAxHI,gBA0CG;IN++GP;IMj6GA;MAxHI,eA0CG;INk/GP;IMp6GA;MAxHI,aA0CG;INq/GP;IMv6GA;MAxHI,eA0CG;INw/GP;IM16GA;MAxHI,aA0CG;IN2/GP;IM76GA;MAxHI,kBA0CG;MA1CH,aA0CG;IN8/GP;IMh7GA;MAxHI,wBA0CG;MA1CH,mBA0CG;INigHP;IMn7GA;MAxHI,uBA0CG;MA1CH,kBA0CG;INogHP;IMt7GA;MAxHI,qBA0CG;MA1CH,gBA0CG;INugHP;IMz7GA;MAxHI,uBA0CG;MA1CH,kBA0CG;IN0gHP;IM57GA;MAxHI,qBA0CG;MA1CH,gBA0CG;IN6gHP;EACF;ECrgHE;IKqEA;MAxHI,eA+CO;IN6gHX;IMp8GA;MAxHI,qBA+CO;INghHX;IMv8GA;MAxHI,cA+CO;INmhHX;IM18GA;MAxHI,aA+CO;INshHX;IM78GA;MAxHI,oBA+CO;INyhHX;IMh9GA;MAxHI,cA+CO;IN4hHX;IMn9GA;MAxHI,kBA+CO;IN+hHX;IMt9GA;MAxHI,mBA+CO;INkiHX;IMz9GA;MAxHI,aA+CO;INqiHX;IM59GA;MAxHI,oBA+CO;INwiHX;IM/9GA;MAxHI,iBA+CO;IN2iHX;IMl+GA;MAxHI,kBA+CO;IN8iHX;IMr+GA;MAxHI,aA+CO;INijHX;IMx+GA;MAxHI,cA0CG;INyjHP;IM3+GA;MAxHI,mBA+CO;INujHX;IM9+GA;MAxHI,sBA+CO;IN0jHX;IMj/GA;MAxHI,2BA+CO;IN6jHX;IMp/GA;MAxHI,8BA+CO;INgkHX;IMv/GA;MAxHI,YA0CG;INwkHP;IM1/GA;MAxHI,YA0CG;IN2kHP;IM7/GA;MAxHI,cA0CG;IN8kHP;IMhgHA;MAxHI,cA0CG;INilHP;IMngHA;MAxHI,eA+CO;IN+kHX;IMtgHA;MAxHI,iBA+CO;INklHX;IMzgHA;MAxHI,uBA+CO;INqlHX;IM5gHA;MAxHI,2BA0CG;IN6lHP;IM/gHA;MAxHI,yBA0CG;INgmHP;IMlhHA;MAxHI,uBA0CG;INmmHP;IMrhHA;MAxHI,8BA0CG;INsmHP;IMxhHA;MAxHI,6BA0CG;INymHP;IM3hHA;MAxHI,6BA0CG;IN4mHP;IM9hHA;MAxHI,oBA0CG;IN+mHP;IMjiHA;MAxHI,kBA0CG;INknHP;IMpiHA;MAxHI,qBA0CG;INqnHP;IMviHA;MAxHI,sBA0CG;INwnHP;IM1iHA;MAxHI,uBA0CG;IN2nHP;IM7iHA;MAxHI,qBA0CG;IN8nHP;IMhjHA;MAxHI,mBA0CG;INioHP;IMnjHA;MAxHI,qBA0CG;INooHP;IMtjHA;MAxHI,oBA0CG;INuoHP;IMzjHA;MAxHI,yBA0CG;IN0oHP;IM5jHA;MAxHI,uBA0CG;IN6oHP;IM/jHA;MAxHI,qBA0CG;INgpHP;IMlkHA;MAxHI,4BA0CG;INmpHP;IMrkHA;MAxHI,2BA0CG;INspHP;IMxkHA;MAxHI,sBA0CG;INypHP;IM3kHA;MAxHI,gBA0CG;IN4pHP;IM9kHA;MAxHI,sBA0CG;IN+pHP;IMjlHA;MAxHI,oBA0CG;INkqHP;IMplHA;MAxHI,kBA0CG;INqqHP;IMvlHA;MAxHI,oBA0CG;INwqHP;IM1lHA;MAxHI,mBA0CG;IN2qHP;IM7lHA;MAxHI,kBA0CG;IN8qHP;IMhmHA;MAxHI,gBA0CG;INirHP;IMnmHA;MAxHI,mBA0CG;INorHP;IMtmHA;MAxHI,oBA0CG;INurHP;IMzmHA;MAxHI,qCA0CG;IN0rHP;IM5mHA;MAxHI,qCA0CG;IN6rHP;IM/mHA;MAxHI,qCA0CG;INgsHP;IMlnHA;MAxHI,qCA0CG;INmsHP;IMrnHA;MAxHI,mBA0CG;INssHP;IMxnHA;MAxHI,mBA+CO;INosHX;IM3nHA;MAxHI,sBA+CO;INusHX;IM9nHA;MAxHI,qBA+CO;IN0sHX;IMjoHA;MAxHI,SA0CG;INktHP;IMpoHA;MAxHI,QA0CG;INqtHP;IMvoHA;MAxHI,QA0CG;INwtHP;IM1oHA;MAxHI,QA0CG;IN2tHP;IM7oHA;MAxHI,QA0CG;IN8tHP;IMhpHA;MAxHI,QA0CG;INiuHP;IMnpHA;MAxHI,QA0CG;INouHP;IMtpHA;MAxHI,QA0CG;INuuHP;IMzpHA;MAxHI,SA0CG;IN0uHP;IM5pHA;MAxHI,eA0CG;IN6uHP;IM/pHA;MAxHI,cA0CG;INgvHP;IMlqHA;MAxHI,YA0CG;INmvHP;IMrqHA;MAxHI,cA0CG;INsvHP;IMxqHA;MAxHI,YA0CG;INyvHP;IM3qHA;MAxHI,YA0CG;IN4vHP;IM9qHA;MAxHI,gBA0CG;IN+vHP;IMjrHA;MAxHI,sBA0CG;INkwHP;IMprHA;MAxHI,qBA0CG;INqwHP;IMvrHA;MAxHI,mBA0CG;INwwHP;IM1rHA;MAxHI,qBA0CG;IN2wHP;IM7rHA;MAxHI,mBA0CG;IN8wHP;IMhsHA;MAxHI,mBA0CG;INixHP;IMnsHA;MAxHI,eA0CG;INoxHP;IMtsHA;MAxHI,qBA0CG;INuxHP;IMzsHA;MAxHI,oBA0CG;IN0xHP;IM5sHA;MAxHI,kBA0CG;IN6xHP;IM/sHA;MAxHI,oBA0CG;INgyHP;IMltHA;MAxHI,kBA0CG;INmyHP;IMrtHA;MAxHI,kBA0CG;INsyHP;IMxtHA;MAxHI,qBA0CG;INyyHP;IM3tHA;MAxHI,2BA0CG;IN4yHP;IM9tHA;MAxHI,0BA0CG;IN+yHP;IMjuHA;MAxHI,wBA0CG;INkzHP;IMpuHA;MAxHI,0BA0CG;INqzHP;IMvuHA;MAxHI,wBA0CG;INwzHP;IM1uHA;MAxHI,wBA0CG;IN2zHP;IM7uHA;MAxHI,oBA0CG;IN8zHP;IMhvHA;MAxHI,0BA0CG;INi0HP;IMnvHA;MAxHI,yBA0CG;INo0HP;IMtvHA;MAxHI,uBA0CG;INu0HP;IMzvHA;MAxHI,yBA0CG;IN00HP;IM5vHA;MAxHI,uBA0CG;IN60HP;IM/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BA+CO;IN+kIX;IMtgIA;MAxHI,iBA+CO;INklIX;IMzgIA;MAxHI,kBA+CO;INqlIX;IM5gIA;MAxHI,aA+CO;INwlIX;IM/gIA;MAxHI,cA0CG;INgmIP;IMlhIA;MAxHI,mBA+CO;IN8lIX;IMrhIA;MAxHI,sBA+CO;INimIX;IMxhIA;MAxHI,2BA+CO;INomIX;IM3hIA;MAxHI,8BA+CO;INumIX;IM9hIA;MAxHI,YA0CG;IN+mIP;IMjiIA;MAxHI,YA0CG;INknIP;IMpiIA;MAxHI,cA0CG;INqnIP;IMviIA;MAxHI,cA0CG;INwnIP;IM1iIA;MAxHI,eA+CO;INsnIX;IM7iIA;MAxHI,iBA+CO;INynIX;IMhjIA;MAxHI,uBA+CO;IN4nIX;IMnjIA;MAxHI,2BA0CG;INooIP;IMtjIA;MAxHI,yBA0CG;INuoIP;IMzjIA;MAxHI,uBA0CG;IN0oIP;IM5jIA;MAxHI,8BA0CG;IN6oIP;IM/jIA;MAxHI,6BA0CG;INgpIP;IMlkIA;MAxHI,6BA0CG;INmpIP;IMrkIA;MAxHI,oBA0CG;INspIP;IMxkIA;MAxHI,kBA0CG;INypIP;IM3kIA;MAxHI,qBA0CG;IN4pIP;IM9kIA;MAxHI,sBA0CG;IN+pIP;IMjlIA;MAxHI,uBA0CG;INkqIP;IMplIA;MAxHI,qBA0CG;INqqIP;IMvlIA;MAxHI,mBA0CG;INwqIP;IM1lIA;MAxHI,qBA0CG;IN2qIP;IM7lIA;MAxHI,oBA0CG;IN8qIP;IMhmIA;MAxHI,yBA0CG;INirIP;IMnmIA;MAxHI,uBA0CG;INorIP;IMtmIA;MAxHI,qBA0CG;INurIP;IMzmIA;MAxHI,4BA0CG;IN0rIP;IM5mIA;MAxHI,2BA0CG;IN6rIP;IM/mIA;MAxHI,sBA0CG;INgsIP;IMlnIA;MAxHI,gBA0CG;INmsIP;IMrnIA;MAxHI,sBA0CG;INssIP;IMxnIA;MAxHI,oBA0CG;INysIP;IM3nIA;MAxHI,kBA0CG;IN4sIP;IM9nIA;MAxHI,oBA0CG;IN+sIP;IMjoIA;MAxHI,mBA0CG;INktIP;IMpoIA;MAxHI,kBA0CG;INqtIP;IMvoIA;MAxHI,gBA0CG;INwtIP;IM1oIA;MAxHI,mBA0CG;IN2tIP;IM7oIA;MAxHI,oBA0CG;IN8tIP;IMhpIA;MAxHI,qCA0CG;INiuIP;IMnpIA;MAxHI,qCA0CG;INouIP;IMtpIA;MAxHI,qCA0CG;INuuIP;IMzpIA;MAxHI,qCA0CG;IN0uIP;IM5pIA;MAxHI,mBA0CG;IN6uIP;IM/pIA;MAxHI,mBA+CO;IN2uIX;IMlqIA;MAxHI,sBA+CO;IN8uIX;IMrqIA;MAxHI,qBA+CO;INivIX;IMxqIA;MAxHI,SA0CG;INyvIP;IM3qIA;MAxHI,QA0CG;IN4vIP;IM9qIA;MAxHI,QA0CG;IN+vIP;IMjrIA;MAxHI,QA0CG;INkwIP;IMprIA;MAxHI,QA0CG;INqwIP;IMvrIA;MAxHI,QA0CG;INwwIP;IM1rIA;MAxHI,QA0CG;IN2wIP;IM7rIA;MAxHI,QA0CG;IN8wIP;IMhsIA;MAxHI,SA0CG;INixIP;IMnsIA;MAxHI,eA0CG;INoxIP;IMtsIA;MAxHI,cA0CG;INuxIP;IMzsIA;MAxHI,YA0CG;IN0xIP;IM5sIA;MAxHI,cA0CG;IN6xIP;IM/sIA;MAxHI,YA0CG;INgyIP;IMltIA;MAxHI,YA0CG;INmyIP;IMrtIA;MAxHI,gBA0CG;INsyIP;IMxtIA;MAxHI,sBA0CG;INyyIP;IM3tIA;MAxHI,qBA0CG;IN4yIP;IM9tIA;MAxHI,mBA0CG;IN+yIP;IMjuIA;MAxHI,qBA0CG;INkzIP;IMpuIA;MAxHI,mBA0CG;INqzIP;IMvuIA;MAxHI,mBA0CG;INwzIP;IM1uIA;MAxHI,eA0CG;IN2zIP;IM7uIA;MAxHI,qBA0CG;IN8zIP;IMhvIA;MAxHI,oBA0CG;INi0IP;IMnvIA;MAxHI,kBA0CG;INo0IP;IMtvIA;MAxHI,oBA0CG;INu0IP;IMzvIA;MAxHI,kBA0CG;IN00IP;IM5vIA;MAxHI,kBA0CG;IN60IP;IM/vIA;MAxHI,qBA0CG;INg1IP;IMlwIA;MAxHI,2BA0CG;INm1IP;IMrwIA;MAxHI,0BA0CG;INs1IP;IMxwIA;MAxHI,wBA0CG;INy1IP;IM3wIA;MAxHI,0BA0CG;IN41IP;IM9wIA;MAxHI,wBA0CG;IN+1IP;IMjxIA;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","file":"bootstrap-grid.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --gutter-x: #{$gutter};\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * .5);\n margin-inline: auto;\n}\n\n@layer layout {\n @if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .#{breakpoint-prefix($breakpoint, $breakpoints)}container {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $breakpoints {\n @if ($extend-breakpoint) {\n .#{breakpoint-prefix($name, $breakpoints)}container {\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","/*!\n * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n@layer layout {\n .container,\n .container-fluid,\n .\\32 xl\\:container,\n .xl\\:container,\n .lg\\:container,\n .md\\:container,\n .sm\\:container {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-inline: auto;\n }\n @media (width >= 576px) {\n .sm\\:container, .container {\n max-width: 540px;\n }\n }\n @media (width >= 768px) {\n .md\\:container, .sm\\:container, .container {\n max-width: 720px;\n }\n }\n @media (width >= 1024px) {\n .lg\\:container, .md\\:container, .sm\\:container, .container {\n max-width: 960px;\n }\n }\n @media (width >= 1280px) {\n .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n max-width: 1200px;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:container, .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n max-width: 1440px;\n }\n }\n}\n@layer layout {\n .row {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-inline: calc(-0.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n }\n .row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-top: var(--gutter-y);\n }\n .col {\n flex: 1 0 0;\n }\n .row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-3 {\n margin-inline-start: 25%;\n }\n .offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-6 {\n margin-inline-start: 50%;\n }\n .offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-9 {\n margin-inline-start: 75%;\n }\n .offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-0,\n .gx-0 {\n --gutter-x: 0;\n }\n .g-0,\n .gy-0 {\n --gutter-y: 0;\n }\n .g-1,\n .gx-1 {\n --gutter-x: 0.25rem;\n }\n .g-1,\n .gy-1 {\n --gutter-y: 0.25rem;\n }\n .g-2,\n .gx-2 {\n --gutter-x: 0.5rem;\n }\n .g-2,\n .gy-2 {\n --gutter-y: 0.5rem;\n }\n .g-3,\n .gx-3 {\n --gutter-x: 1rem;\n }\n .g-3,\n .gy-3 {\n --gutter-y: 1rem;\n }\n .g-4,\n .gx-4 {\n --gutter-x: 1.5rem;\n }\n .g-4,\n .gy-4 {\n --gutter-y: 1.5rem;\n }\n .g-5,\n .gx-5 {\n --gutter-x: 3rem;\n }\n .g-5,\n .gy-5 {\n --gutter-y: 3rem;\n }\n @media (width >= 576px) {\n .sm\\:col {\n flex: 1 0 0;\n }\n .sm\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .sm\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .sm\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .sm\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .sm\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .sm\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .sm\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .sm\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .sm\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .sm\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .sm\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .sm\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .sm\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .sm\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .sm\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .sm\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .sm\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .sm\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .sm\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .sm\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .sm\\:offset-0 {\n margin-inline-start: 0;\n }\n .sm\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .sm\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .sm\\:offset-3 {\n margin-inline-start: 25%;\n }\n .sm\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .sm\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .sm\\:offset-6 {\n margin-inline-start: 50%;\n }\n .sm\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .sm\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .sm\\:offset-9 {\n margin-inline-start: 75%;\n }\n .sm\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .sm\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .sm\\:g-0,\n .sm\\:gx-0 {\n --gutter-x: 0;\n }\n .sm\\:g-0,\n .sm\\:gy-0 {\n --gutter-y: 0;\n }\n .sm\\:g-1,\n .sm\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .sm\\:g-1,\n .sm\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .sm\\:g-2,\n .sm\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .sm\\:g-2,\n .sm\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .sm\\:g-3,\n .sm\\:gx-3 {\n --gutter-x: 1rem;\n }\n .sm\\:g-3,\n .sm\\:gy-3 {\n --gutter-y: 1rem;\n }\n .sm\\:g-4,\n .sm\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .sm\\:g-4,\n .sm\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .sm\\:g-5,\n .sm\\:gx-5 {\n --gutter-x: 3rem;\n }\n .sm\\:g-5,\n .sm\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 768px) {\n .md\\:col {\n flex: 1 0 0;\n }\n .md\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .md\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .md\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .md\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .md\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .md\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .md\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .md\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .md\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .md\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .md\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .md\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .md\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .md\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .md\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .md\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .md\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .md\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .md\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .md\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .md\\:offset-0 {\n margin-inline-start: 0;\n }\n .md\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .md\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .md\\:offset-3 {\n margin-inline-start: 25%;\n }\n .md\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .md\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .md\\:offset-6 {\n margin-inline-start: 50%;\n }\n .md\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .md\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .md\\:offset-9 {\n margin-inline-start: 75%;\n }\n .md\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .md\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .md\\:g-0,\n .md\\:gx-0 {\n --gutter-x: 0;\n }\n .md\\:g-0,\n .md\\:gy-0 {\n --gutter-y: 0;\n }\n .md\\:g-1,\n .md\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .md\\:g-1,\n .md\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .md\\:g-2,\n .md\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .md\\:g-2,\n .md\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .md\\:g-3,\n .md\\:gx-3 {\n --gutter-x: 1rem;\n }\n .md\\:g-3,\n .md\\:gy-3 {\n --gutter-y: 1rem;\n }\n .md\\:g-4,\n .md\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .md\\:g-4,\n .md\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .md\\:g-5,\n .md\\:gx-5 {\n --gutter-x: 3rem;\n }\n .md\\:g-5,\n .md\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1024px) {\n .lg\\:col {\n flex: 1 0 0;\n }\n .lg\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .lg\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .lg\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .lg\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .lg\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .lg\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .lg\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .lg\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .lg\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .lg\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .lg\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .lg\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .lg\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .lg\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .lg\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .lg\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .lg\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .lg\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .lg\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .lg\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .lg\\:offset-0 {\n margin-inline-start: 0;\n }\n .lg\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .lg\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .lg\\:offset-3 {\n margin-inline-start: 25%;\n }\n .lg\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .lg\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .lg\\:offset-6 {\n margin-inline-start: 50%;\n }\n .lg\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .lg\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .lg\\:offset-9 {\n margin-inline-start: 75%;\n }\n .lg\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .lg\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .lg\\:g-0,\n .lg\\:gx-0 {\n --gutter-x: 0;\n }\n .lg\\:g-0,\n .lg\\:gy-0 {\n --gutter-y: 0;\n }\n .lg\\:g-1,\n .lg\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .lg\\:g-1,\n .lg\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .lg\\:g-2,\n .lg\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .lg\\:g-2,\n .lg\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .lg\\:g-3,\n .lg\\:gx-3 {\n --gutter-x: 1rem;\n }\n .lg\\:g-3,\n .lg\\:gy-3 {\n --gutter-y: 1rem;\n }\n .lg\\:g-4,\n .lg\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .lg\\:g-4,\n .lg\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .lg\\:g-5,\n .lg\\:gx-5 {\n --gutter-x: 3rem;\n }\n .lg\\:g-5,\n .lg\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1280px) {\n .xl\\:col {\n flex: 1 0 0;\n }\n .xl\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .xl\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .xl\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .xl\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .xl\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .xl\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .xl\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .xl\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .xl\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .xl\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .xl\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .xl\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .xl\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .xl\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .xl\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .xl\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .xl\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .xl\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .xl\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .xl\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .xl\\:offset-0 {\n margin-inline-start: 0;\n }\n .xl\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .xl\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .xl\\:offset-3 {\n margin-inline-start: 25%;\n }\n .xl\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .xl\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .xl\\:offset-6 {\n margin-inline-start: 50%;\n }\n .xl\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .xl\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .xl\\:offset-9 {\n margin-inline-start: 75%;\n }\n .xl\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .xl\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .xl\\:g-0,\n .xl\\:gx-0 {\n --gutter-x: 0;\n }\n .xl\\:g-0,\n .xl\\:gy-0 {\n --gutter-y: 0;\n }\n .xl\\:g-1,\n .xl\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .xl\\:g-1,\n .xl\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .xl\\:g-2,\n .xl\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .xl\\:g-2,\n .xl\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .xl\\:g-3,\n .xl\\:gx-3 {\n --gutter-x: 1rem;\n }\n .xl\\:g-3,\n .xl\\:gy-3 {\n --gutter-y: 1rem;\n }\n .xl\\:g-4,\n .xl\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .xl\\:g-4,\n .xl\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .xl\\:g-5,\n .xl\\:gx-5 {\n --gutter-x: 3rem;\n }\n .xl\\:g-5,\n .xl\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:col {\n flex: 1 0 0;\n }\n .\\32 xl\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .\\32 xl\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .\\32 xl\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .\\32 xl\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .\\32 xl\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .\\32 xl\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .\\32 xl\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .\\32 xl\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .\\32 xl\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .\\32 xl\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .\\32 xl\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .\\32 xl\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .\\32 xl\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .\\32 xl\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .\\32 xl\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .\\32 xl\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .\\32 xl\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .\\32 xl\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .\\32 xl\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .\\32 xl\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .\\32 xl\\:offset-0 {\n margin-inline-start: 0;\n }\n .\\32 xl\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .\\32 xl\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .\\32 xl\\:offset-3 {\n margin-inline-start: 25%;\n }\n .\\32 xl\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .\\32 xl\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .\\32 xl\\:offset-6 {\n margin-inline-start: 50%;\n }\n .\\32 xl\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .\\32 xl\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .\\32 xl\\:offset-9 {\n margin-inline-start: 75%;\n }\n .\\32 xl\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .\\32 xl\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .\\32 xl\\:g-0,\n .\\32 xl\\:gx-0 {\n --gutter-x: 0;\n }\n .\\32 xl\\:g-0,\n .\\32 xl\\:gy-0 {\n --gutter-y: 0;\n }\n .\\32 xl\\:g-1,\n .\\32 xl\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .\\32 xl\\:g-1,\n .\\32 xl\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .\\32 xl\\:g-2,\n .\\32 xl\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .\\32 xl\\:g-2,\n .\\32 xl\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .\\32 xl\\:g-3,\n .\\32 xl\\:gx-3 {\n --gutter-x: 1rem;\n }\n .\\32 xl\\:g-3,\n .\\32 xl\\:gy-3 {\n --gutter-y: 1rem;\n }\n .\\32 xl\\:g-4,\n .\\32 xl\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .\\32 xl\\:g-4,\n .\\32 xl\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .\\32 xl\\:g-5,\n .\\32 xl\\:gx-5 {\n --gutter-x: 3rem;\n }\n .\\32 xl\\:g-5,\n .\\32 xl\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n .grid {\n --columns: 12;\n --rows: 1;\n --gap: 1.5rem;\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n }\n .g-col-1 {\n grid-column: auto/span 1;\n }\n .g-col-2 {\n grid-column: auto/span 2;\n }\n .g-col-3 {\n grid-column: auto/span 3;\n }\n .g-col-4 {\n grid-column: auto/span 4;\n }\n .g-col-5 {\n grid-column: auto/span 5;\n }\n .g-col-6 {\n grid-column: auto/span 6;\n }\n .g-col-7 {\n grid-column: auto/span 7;\n }\n .g-col-8 {\n grid-column: auto/span 8;\n }\n .g-col-9 {\n grid-column: auto/span 9;\n }\n .g-col-10 {\n grid-column: auto/span 10;\n }\n .g-col-11 {\n grid-column: auto/span 11;\n }\n .g-col-12 {\n grid-column: auto/span 12;\n }\n .g-start-1 {\n grid-column-start: 1;\n }\n .g-start-2 {\n grid-column-start: 2;\n }\n .g-start-3 {\n grid-column-start: 3;\n }\n .g-start-4 {\n grid-column-start: 4;\n }\n .g-start-5 {\n grid-column-start: 5;\n }\n .g-start-6 {\n grid-column-start: 6;\n }\n .g-start-7 {\n grid-column-start: 7;\n }\n .g-start-8 {\n grid-column-start: 8;\n }\n .g-start-9 {\n grid-column-start: 9;\n }\n .g-start-10 {\n grid-column-start: 10;\n }\n .g-start-11 {\n grid-column-start: 11;\n }\n @media (width >= 576px) {\n .sm\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .sm\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .sm\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .sm\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .sm\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .sm\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .sm\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .sm\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .sm\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .sm\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .sm\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .sm\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .sm\\:g-start-1 {\n grid-column-start: 1;\n }\n .sm\\:g-start-2 {\n grid-column-start: 2;\n }\n .sm\\:g-start-3 {\n grid-column-start: 3;\n }\n .sm\\:g-start-4 {\n grid-column-start: 4;\n }\n .sm\\:g-start-5 {\n grid-column-start: 5;\n }\n .sm\\:g-start-6 {\n grid-column-start: 6;\n }\n .sm\\:g-start-7 {\n grid-column-start: 7;\n }\n .sm\\:g-start-8 {\n grid-column-start: 8;\n }\n .sm\\:g-start-9 {\n grid-column-start: 9;\n }\n .sm\\:g-start-10 {\n grid-column-start: 10;\n }\n .sm\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 768px) {\n .md\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .md\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .md\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .md\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .md\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .md\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .md\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .md\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .md\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .md\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .md\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .md\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .md\\:g-start-1 {\n grid-column-start: 1;\n }\n .md\\:g-start-2 {\n grid-column-start: 2;\n }\n .md\\:g-start-3 {\n grid-column-start: 3;\n }\n .md\\:g-start-4 {\n grid-column-start: 4;\n }\n .md\\:g-start-5 {\n grid-column-start: 5;\n }\n .md\\:g-start-6 {\n grid-column-start: 6;\n }\n .md\\:g-start-7 {\n grid-column-start: 7;\n }\n .md\\:g-start-8 {\n grid-column-start: 8;\n }\n .md\\:g-start-9 {\n grid-column-start: 9;\n }\n .md\\:g-start-10 {\n grid-column-start: 10;\n }\n .md\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1024px) {\n .lg\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .lg\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .lg\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .lg\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .lg\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .lg\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .lg\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .lg\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .lg\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .lg\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .lg\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .lg\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .lg\\:g-start-1 {\n grid-column-start: 1;\n }\n .lg\\:g-start-2 {\n grid-column-start: 2;\n }\n .lg\\:g-start-3 {\n grid-column-start: 3;\n }\n .lg\\:g-start-4 {\n grid-column-start: 4;\n }\n .lg\\:g-start-5 {\n grid-column-start: 5;\n }\n .lg\\:g-start-6 {\n grid-column-start: 6;\n }\n .lg\\:g-start-7 {\n grid-column-start: 7;\n }\n .lg\\:g-start-8 {\n grid-column-start: 8;\n }\n .lg\\:g-start-9 {\n grid-column-start: 9;\n }\n .lg\\:g-start-10 {\n grid-column-start: 10;\n }\n .lg\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1280px) {\n .xl\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .xl\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .xl\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .xl\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .xl\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .xl\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .xl\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .xl\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .xl\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .xl\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .xl\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .xl\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .xl\\:g-start-1 {\n grid-column-start: 1;\n }\n .xl\\:g-start-2 {\n grid-column-start: 2;\n }\n .xl\\:g-start-3 {\n grid-column-start: 3;\n }\n .xl\\:g-start-4 {\n grid-column-start: 4;\n }\n .xl\\:g-start-5 {\n grid-column-start: 5;\n }\n .xl\\:g-start-6 {\n grid-column-start: 6;\n }\n .xl\\:g-start-7 {\n grid-column-start: 7;\n }\n .xl\\:g-start-8 {\n grid-column-start: 8;\n }\n .xl\\:g-start-9 {\n grid-column-start: 9;\n }\n .xl\\:g-start-10 {\n grid-column-start: 10;\n }\n .xl\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .\\32 xl\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .\\32 xl\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .\\32 xl\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .\\32 xl\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .\\32 xl\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .\\32 xl\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .\\32 xl\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .\\32 xl\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .\\32 xl\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .\\32 xl\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .\\32 xl\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .\\32 xl\\:g-start-1 {\n grid-column-start: 1;\n }\n .\\32 xl\\:g-start-2 {\n grid-column-start: 2;\n }\n .\\32 xl\\:g-start-3 {\n grid-column-start: 3;\n }\n .\\32 xl\\:g-start-4 {\n grid-column-start: 4;\n }\n .\\32 xl\\:g-start-5 {\n grid-column-start: 5;\n }\n .\\32 xl\\:g-start-6 {\n grid-column-start: 6;\n }\n .\\32 xl\\:g-start-7 {\n grid-column-start: 7;\n }\n .\\32 xl\\:g-start-8 {\n grid-column-start: 8;\n }\n .\\32 xl\\:g-start-9 {\n grid-column-start: 9;\n }\n .\\32 xl\\:g-start-10 {\n grid-column-start: 10;\n }\n .\\32 xl\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-fill {\n --gap: 1.5rem;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n}\n@layer utilities {\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .order-first {\n order: -1;\n }\n .order-0 {\n order: 0;\n }\n .order-1 {\n order: 1;\n }\n .order-2 {\n order: 2;\n }\n .order-3 {\n order: 3;\n }\n .order-4 {\n order: 4;\n }\n .order-5 {\n order: 5;\n }\n .order-last {\n order: 6;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n .gap-0 {\n gap: 0;\n }\n .gap-1 {\n gap: 0.25rem;\n }\n .gap-2 {\n gap: 0.5rem;\n }\n .gap-3 {\n gap: 1rem;\n }\n .gap-4 {\n gap: 1.5rem;\n }\n .gap-5 {\n gap: 3rem;\n }\n .row-gap-0 {\n row-gap: 0;\n }\n .row-gap-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2 {\n row-gap: 0.5rem;\n }\n .row-gap-3 {\n row-gap: 1rem;\n }\n .row-gap-4 {\n row-gap: 1.5rem;\n }\n .row-gap-5 {\n row-gap: 3rem;\n }\n .column-gap-0 {\n column-gap: 0;\n }\n .column-gap-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2 {\n column-gap: 0.5rem;\n }\n .column-gap-3 {\n column-gap: 1rem;\n }\n .column-gap-4 {\n column-gap: 1.5rem;\n }\n .column-gap-5 {\n column-gap: 3rem;\n }\n @media (width >= 576px) {\n .sm\\:d-inline {\n display: inline;\n }\n .sm\\:d-inline-block {\n display: inline-block;\n }\n .sm\\:d-block {\n display: block;\n }\n .sm\\:d-grid {\n display: grid;\n }\n .sm\\:d-inline-grid {\n display: inline-grid;\n }\n .sm\\:d-table {\n display: table;\n }\n .sm\\:d-table-row {\n display: table-row;\n }\n .sm\\:d-table-cell {\n display: table-cell;\n }\n .sm\\:d-flex {\n display: flex;\n }\n .sm\\:d-inline-flex {\n display: inline-flex;\n }\n .sm\\:d-contents {\n display: contents;\n }\n .sm\\:d-flow-root {\n display: flow-root;\n }\n .sm\\:d-none {\n display: none;\n }\n .sm\\:flex-fill {\n flex: 1 1 auto;\n }\n .sm\\:flex-row {\n flex-direction: row;\n }\n .sm\\:flex-column {\n flex-direction: column;\n }\n .sm\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .sm\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .sm\\:flex-grow-0 {\n flex-grow: 0;\n }\n .sm\\:flex-grow-1 {\n flex-grow: 1;\n }\n .sm\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .sm\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .sm\\:flex-wrap {\n flex-wrap: wrap;\n }\n .sm\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .sm\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .sm\\:justify-content-start {\n justify-content: flex-start;\n }\n .sm\\:justify-content-end {\n justify-content: flex-end;\n }\n .sm\\:justify-content-center {\n justify-content: center;\n }\n .sm\\:justify-content-between {\n justify-content: space-between;\n }\n .sm\\:justify-content-around {\n justify-content: space-around;\n }\n .sm\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .sm\\:justify-items-start {\n justify-items: start;\n }\n .sm\\:justify-items-end {\n justify-items: end;\n }\n .sm\\:justify-items-center {\n justify-items: center;\n }\n .sm\\:justify-items-stretch {\n justify-items: stretch;\n }\n .sm\\:align-items-start {\n align-items: flex-start;\n }\n .sm\\:align-items-end {\n align-items: flex-end;\n }\n .sm\\:align-items-center {\n align-items: center;\n }\n .sm\\:align-items-baseline {\n align-items: baseline;\n }\n .sm\\:align-items-stretch {\n align-items: stretch;\n }\n .sm\\:align-content-start {\n align-content: flex-start;\n }\n .sm\\:align-content-end {\n align-content: flex-end;\n }\n .sm\\:align-content-center {\n align-content: center;\n }\n .sm\\:align-content-between {\n align-content: space-between;\n }\n .sm\\:align-content-around {\n align-content: space-around;\n }\n .sm\\:align-content-stretch {\n align-content: stretch;\n }\n .sm\\:align-self-auto {\n align-self: auto;\n }\n .sm\\:align-self-start {\n align-self: flex-start;\n }\n .sm\\:align-self-end {\n align-self: flex-end;\n }\n .sm\\:align-self-center {\n align-self: center;\n }\n .sm\\:align-self-baseline {\n align-self: baseline;\n }\n .sm\\:align-self-stretch {\n align-self: stretch;\n }\n .sm\\:place-items-start {\n place-items: start;\n }\n .sm\\:place-items-end {\n place-items: end;\n }\n .sm\\:place-items-center {\n place-items: center;\n }\n .sm\\:place-items-stretch {\n place-items: stretch;\n }\n .sm\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .sm\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .sm\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .sm\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .sm\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .sm\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .sm\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .sm\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .sm\\:order-first {\n order: -1;\n }\n .sm\\:order-0 {\n order: 0;\n }\n .sm\\:order-1 {\n order: 1;\n }\n .sm\\:order-2 {\n order: 2;\n }\n .sm\\:order-3 {\n order: 3;\n }\n .sm\\:order-4 {\n order: 4;\n }\n .sm\\:order-5 {\n order: 5;\n }\n .sm\\:order-last {\n order: 6;\n }\n .sm\\:m-0 {\n margin: 0;\n }\n .sm\\:m-1 {\n margin: 0.25rem;\n }\n .sm\\:m-2 {\n margin: 0.5rem;\n }\n .sm\\:m-3 {\n margin: 1rem;\n }\n .sm\\:m-4 {\n margin: 1.5rem;\n }\n .sm\\:m-5 {\n margin: 3rem;\n }\n .sm\\:m-auto {\n margin: auto;\n }\n .sm\\:mx-0 {\n margin-inline: 0;\n }\n .sm\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .sm\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .sm\\:mx-3 {\n margin-inline: 1rem;\n }\n .sm\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .sm\\:mx-5 {\n margin-inline: 3rem;\n }\n .sm\\:mx-auto {\n margin-inline: auto;\n }\n .sm\\:my-0 {\n margin-block: 0;\n }\n .sm\\:my-1 {\n margin-block: 0.25rem;\n }\n .sm\\:my-2 {\n margin-block: 0.5rem;\n }\n .sm\\:my-3 {\n margin-block: 1rem;\n }\n .sm\\:my-4 {\n margin-block: 1.5rem;\n }\n .sm\\:my-5 {\n margin-block: 3rem;\n }\n .sm\\:my-auto {\n margin-block: auto;\n }\n .sm\\:mt-0 {\n margin-block-start: 0;\n }\n .sm\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .sm\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .sm\\:mt-3 {\n margin-block-start: 1rem;\n }\n .sm\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .sm\\:mt-5 {\n margin-block-start: 3rem;\n }\n .sm\\:mt-auto {\n margin-block-start: auto;\n }\n .sm\\:me-0 {\n margin-inline-end: 0;\n }\n .sm\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .sm\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .sm\\:me-3 {\n margin-inline-end: 1rem;\n }\n .sm\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .sm\\:me-5 {\n margin-inline-end: 3rem;\n }\n .sm\\:me-auto {\n margin-inline-end: auto;\n }\n .sm\\:mb-0 {\n margin-block-end: 0;\n }\n .sm\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .sm\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .sm\\:mb-3 {\n margin-block-end: 1rem;\n }\n .sm\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .sm\\:mb-5 {\n margin-block-end: 3rem;\n }\n .sm\\:mb-auto {\n margin-block-end: auto;\n }\n .sm\\:ms-0 {\n margin-inline-start: 0;\n }\n .sm\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .sm\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .sm\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .sm\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .sm\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .sm\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .sm\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .sm\\:ms-auto {\n margin-inline-start: auto;\n }\n .sm\\:p-0 {\n padding: 0;\n }\n .sm\\:p-1 {\n padding: 0.25rem;\n }\n .sm\\:p-2 {\n padding: 0.5rem;\n }\n .sm\\:p-3 {\n padding: 1rem;\n }\n .sm\\:p-4 {\n padding: 1.5rem;\n }\n .sm\\:p-5 {\n padding: 3rem;\n }\n .sm\\:px-0 {\n padding-inline: 0;\n }\n .sm\\:px-1 {\n padding-inline: 0.25rem;\n }\n .sm\\:px-2 {\n padding-inline: 0.5rem;\n }\n .sm\\:px-3 {\n padding-inline: 1rem;\n }\n .sm\\:px-4 {\n padding-inline: 1.5rem;\n }\n .sm\\:px-5 {\n padding-inline: 3rem;\n }\n .sm\\:py-0 {\n padding-block: 0;\n }\n .sm\\:py-1 {\n padding-block: 0.25rem;\n }\n .sm\\:py-2 {\n padding-block: 0.5rem;\n }\n .sm\\:py-3 {\n padding-block: 1rem;\n }\n .sm\\:py-4 {\n padding-block: 1.5rem;\n }\n .sm\\:py-5 {\n padding-block: 3rem;\n }\n .sm\\:pt-0 {\n padding-block-start: 0;\n }\n .sm\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .sm\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .sm\\:pt-3 {\n padding-block-start: 1rem;\n }\n .sm\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .sm\\:pt-5 {\n padding-block-start: 3rem;\n }\n .sm\\:pe-0 {\n padding-inline-end: 0;\n }\n .sm\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .sm\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .sm\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .sm\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .sm\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .sm\\:pb-0 {\n padding-block-end: 0;\n }\n .sm\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .sm\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .sm\\:pb-3 {\n padding-block-end: 1rem;\n }\n .sm\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .sm\\:pb-5 {\n padding-block-end: 3rem;\n }\n .sm\\:ps-0 {\n padding-inline-start: 0;\n }\n .sm\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .sm\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .sm\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .sm\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .sm\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .sm\\:gap-0 {\n gap: 0;\n }\n .sm\\:gap-1 {\n gap: 0.25rem;\n }\n .sm\\:gap-2 {\n gap: 0.5rem;\n }\n .sm\\:gap-3 {\n gap: 1rem;\n }\n .sm\\:gap-4 {\n gap: 1.5rem;\n }\n .sm\\:gap-5 {\n gap: 3rem;\n }\n .sm\\:row-gap-0 {\n row-gap: 0;\n }\n .sm\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .sm\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .sm\\:row-gap-3 {\n row-gap: 1rem;\n }\n .sm\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .sm\\:row-gap-5 {\n row-gap: 3rem;\n }\n .sm\\:column-gap-0 {\n column-gap: 0;\n }\n .sm\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .sm\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .sm\\:column-gap-3 {\n column-gap: 1rem;\n }\n .sm\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .sm\\:column-gap-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 768px) {\n .md\\:d-inline {\n display: inline;\n }\n .md\\:d-inline-block {\n display: inline-block;\n }\n .md\\:d-block {\n display: block;\n }\n .md\\:d-grid {\n display: grid;\n }\n .md\\:d-inline-grid {\n display: inline-grid;\n }\n .md\\:d-table {\n display: table;\n }\n .md\\:d-table-row {\n display: table-row;\n }\n .md\\:d-table-cell {\n display: table-cell;\n }\n .md\\:d-flex {\n display: flex;\n }\n .md\\:d-inline-flex {\n display: inline-flex;\n }\n .md\\:d-contents {\n display: contents;\n }\n .md\\:d-flow-root {\n display: flow-root;\n }\n .md\\:d-none {\n display: none;\n }\n .md\\:flex-fill {\n flex: 1 1 auto;\n }\n .md\\:flex-row {\n flex-direction: row;\n }\n .md\\:flex-column {\n flex-direction: column;\n }\n .md\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .md\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .md\\:flex-grow-0 {\n flex-grow: 0;\n }\n .md\\:flex-grow-1 {\n flex-grow: 1;\n }\n .md\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .md\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .md\\:flex-wrap {\n flex-wrap: wrap;\n }\n .md\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .md\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .md\\:justify-content-start {\n justify-content: flex-start;\n }\n .md\\:justify-content-end {\n justify-content: flex-end;\n }\n .md\\:justify-content-center {\n justify-content: center;\n }\n .md\\:justify-content-between {\n justify-content: space-between;\n }\n .md\\:justify-content-around {\n justify-content: space-around;\n }\n .md\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .md\\:justify-items-start {\n justify-items: start;\n }\n .md\\:justify-items-end {\n justify-items: end;\n }\n .md\\:justify-items-center {\n justify-items: center;\n }\n .md\\:justify-items-stretch {\n justify-items: stretch;\n }\n .md\\:align-items-start {\n align-items: flex-start;\n }\n .md\\:align-items-end {\n align-items: flex-end;\n }\n .md\\:align-items-center {\n align-items: center;\n }\n .md\\:align-items-baseline {\n align-items: baseline;\n }\n .md\\:align-items-stretch {\n align-items: stretch;\n }\n .md\\:align-content-start {\n align-content: flex-start;\n }\n .md\\:align-content-end {\n align-content: flex-end;\n }\n .md\\:align-content-center {\n align-content: center;\n }\n .md\\:align-content-between {\n align-content: space-between;\n }\n .md\\:align-content-around {\n align-content: space-around;\n }\n .md\\:align-content-stretch {\n align-content: stretch;\n }\n .md\\:align-self-auto {\n align-self: auto;\n }\n .md\\:align-self-start {\n align-self: flex-start;\n }\n .md\\:align-self-end {\n align-self: flex-end;\n }\n .md\\:align-self-center {\n align-self: center;\n }\n .md\\:align-self-baseline {\n align-self: baseline;\n }\n .md\\:align-self-stretch {\n align-self: stretch;\n }\n .md\\:place-items-start {\n place-items: start;\n }\n .md\\:place-items-end {\n place-items: end;\n }\n .md\\:place-items-center {\n place-items: center;\n }\n .md\\:place-items-stretch {\n place-items: stretch;\n }\n .md\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .md\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .md\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .md\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .md\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .md\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .md\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .md\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .md\\:order-first {\n order: -1;\n }\n .md\\:order-0 {\n order: 0;\n }\n .md\\:order-1 {\n order: 1;\n }\n .md\\:order-2 {\n order: 2;\n }\n .md\\:order-3 {\n order: 3;\n }\n .md\\:order-4 {\n order: 4;\n }\n .md\\:order-5 {\n order: 5;\n }\n .md\\:order-last {\n order: 6;\n }\n .md\\:m-0 {\n margin: 0;\n }\n .md\\:m-1 {\n margin: 0.25rem;\n }\n .md\\:m-2 {\n margin: 0.5rem;\n }\n .md\\:m-3 {\n margin: 1rem;\n }\n .md\\:m-4 {\n margin: 1.5rem;\n }\n .md\\:m-5 {\n margin: 3rem;\n }\n .md\\:m-auto {\n margin: auto;\n }\n .md\\:mx-0 {\n margin-inline: 0;\n }\n .md\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .md\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .md\\:mx-3 {\n margin-inline: 1rem;\n }\n .md\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .md\\:mx-5 {\n margin-inline: 3rem;\n }\n .md\\:mx-auto {\n margin-inline: auto;\n }\n .md\\:my-0 {\n margin-block: 0;\n }\n .md\\:my-1 {\n margin-block: 0.25rem;\n }\n .md\\:my-2 {\n margin-block: 0.5rem;\n }\n .md\\:my-3 {\n margin-block: 1rem;\n }\n .md\\:my-4 {\n margin-block: 1.5rem;\n }\n .md\\:my-5 {\n margin-block: 3rem;\n }\n .md\\:my-auto {\n margin-block: auto;\n }\n .md\\:mt-0 {\n margin-block-start: 0;\n }\n .md\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .md\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .md\\:mt-3 {\n margin-block-start: 1rem;\n }\n .md\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .md\\:mt-5 {\n margin-block-start: 3rem;\n }\n .md\\:mt-auto {\n margin-block-start: auto;\n }\n .md\\:me-0 {\n margin-inline-end: 0;\n }\n .md\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .md\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .md\\:me-3 {\n margin-inline-end: 1rem;\n }\n .md\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .md\\:me-5 {\n margin-inline-end: 3rem;\n }\n .md\\:me-auto {\n margin-inline-end: auto;\n }\n .md\\:mb-0 {\n margin-block-end: 0;\n }\n .md\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .md\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .md\\:mb-3 {\n margin-block-end: 1rem;\n }\n .md\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .md\\:mb-5 {\n margin-block-end: 3rem;\n }\n .md\\:mb-auto {\n margin-block-end: auto;\n }\n .md\\:ms-0 {\n margin-inline-start: 0;\n }\n .md\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .md\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .md\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .md\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .md\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .md\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .md\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .md\\:ms-auto {\n margin-inline-start: auto;\n }\n .md\\:p-0 {\n padding: 0;\n }\n .md\\:p-1 {\n padding: 0.25rem;\n }\n .md\\:p-2 {\n padding: 0.5rem;\n }\n .md\\:p-3 {\n padding: 1rem;\n }\n .md\\:p-4 {\n padding: 1.5rem;\n }\n .md\\:p-5 {\n padding: 3rem;\n }\n .md\\:px-0 {\n padding-inline: 0;\n }\n .md\\:px-1 {\n padding-inline: 0.25rem;\n }\n .md\\:px-2 {\n padding-inline: 0.5rem;\n }\n .md\\:px-3 {\n padding-inline: 1rem;\n }\n .md\\:px-4 {\n padding-inline: 1.5rem;\n }\n .md\\:px-5 {\n padding-inline: 3rem;\n }\n .md\\:py-0 {\n padding-block: 0;\n }\n .md\\:py-1 {\n padding-block: 0.25rem;\n }\n .md\\:py-2 {\n padding-block: 0.5rem;\n }\n .md\\:py-3 {\n padding-block: 1rem;\n }\n .md\\:py-4 {\n padding-block: 1.5rem;\n }\n .md\\:py-5 {\n padding-block: 3rem;\n }\n .md\\:pt-0 {\n padding-block-start: 0;\n }\n .md\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .md\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .md\\:pt-3 {\n padding-block-start: 1rem;\n }\n .md\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .md\\:pt-5 {\n padding-block-start: 3rem;\n }\n .md\\:pe-0 {\n padding-inline-end: 0;\n }\n .md\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .md\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .md\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .md\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .md\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .md\\:pb-0 {\n padding-block-end: 0;\n }\n .md\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .md\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .md\\:pb-3 {\n padding-block-end: 1rem;\n }\n .md\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .md\\:pb-5 {\n padding-block-end: 3rem;\n }\n .md\\:ps-0 {\n padding-inline-start: 0;\n }\n .md\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .md\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .md\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .md\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .md\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .md\\:gap-0 {\n gap: 0;\n }\n .md\\:gap-1 {\n gap: 0.25rem;\n }\n .md\\:gap-2 {\n gap: 0.5rem;\n }\n .md\\:gap-3 {\n gap: 1rem;\n }\n .md\\:gap-4 {\n gap: 1.5rem;\n }\n .md\\:gap-5 {\n gap: 3rem;\n }\n .md\\:row-gap-0 {\n row-gap: 0;\n }\n .md\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .md\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .md\\:row-gap-3 {\n row-gap: 1rem;\n }\n .md\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .md\\:row-gap-5 {\n row-gap: 3rem;\n }\n .md\\:column-gap-0 {\n column-gap: 0;\n }\n .md\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .md\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .md\\:column-gap-3 {\n column-gap: 1rem;\n }\n .md\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .md\\:column-gap-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 1024px) {\n .lg\\:d-inline {\n display: inline;\n }\n .lg\\:d-inline-block {\n display: inline-block;\n }\n .lg\\:d-block {\n display: block;\n }\n .lg\\:d-grid {\n display: grid;\n }\n .lg\\:d-inline-grid {\n display: inline-grid;\n }\n .lg\\:d-table {\n display: table;\n }\n .lg\\:d-table-row {\n display: table-row;\n }\n .lg\\:d-table-cell {\n display: table-cell;\n }\n .lg\\:d-flex {\n display: flex;\n }\n .lg\\:d-inline-flex {\n display: inline-flex;\n }\n .lg\\:d-contents {\n display: contents;\n }\n .lg\\:d-flow-root {\n display: flow-root;\n }\n .lg\\:d-none {\n display: none;\n }\n .lg\\:flex-fill {\n flex: 1 1 auto;\n }\n .lg\\:flex-row {\n flex-direction: row;\n }\n .lg\\:flex-column {\n flex-direction: column;\n }\n .lg\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .lg\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .lg\\:flex-grow-0 {\n flex-grow: 0;\n }\n .lg\\:flex-grow-1 {\n flex-grow: 1;\n }\n .lg\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .lg\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .lg\\:flex-wrap {\n flex-wrap: wrap;\n }\n .lg\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .lg\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .lg\\:justify-content-start {\n justify-content: flex-start;\n }\n .lg\\:justify-content-end {\n justify-content: flex-end;\n }\n .lg\\:justify-content-center {\n justify-content: center;\n }\n .lg\\:justify-content-between {\n justify-content: space-between;\n }\n .lg\\:justify-content-around {\n justify-content: space-around;\n }\n .lg\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .lg\\:justify-items-start {\n justify-items: start;\n }\n .lg\\:justify-items-end {\n justify-items: end;\n }\n .lg\\:justify-items-center {\n justify-items: center;\n }\n .lg\\:justify-items-stretch {\n justify-items: stretch;\n }\n .lg\\:align-items-start {\n align-items: flex-start;\n }\n .lg\\:align-items-end {\n align-items: flex-end;\n }\n .lg\\:align-items-center {\n align-items: center;\n }\n .lg\\:align-items-baseline {\n align-items: baseline;\n }\n .lg\\:align-items-stretch {\n align-items: stretch;\n }\n .lg\\:align-content-start {\n align-content: flex-start;\n }\n .lg\\:align-content-end {\n align-content: flex-end;\n }\n .lg\\:align-content-center {\n align-content: center;\n }\n .lg\\:align-content-between {\n align-content: space-between;\n }\n .lg\\:align-content-around {\n align-content: space-around;\n }\n .lg\\:align-content-stretch {\n align-content: stretch;\n }\n .lg\\:align-self-auto {\n align-self: auto;\n }\n .lg\\:align-self-start {\n align-self: flex-start;\n }\n .lg\\:align-self-end {\n align-self: flex-end;\n }\n .lg\\:align-self-center {\n align-self: center;\n }\n .lg\\:align-self-baseline {\n align-self: baseline;\n }\n .lg\\:align-self-stretch {\n align-self: stretch;\n }\n .lg\\:place-items-start {\n place-items: start;\n }\n .lg\\:place-items-end {\n place-items: end;\n }\n .lg\\:place-items-center {\n place-items: center;\n }\n .lg\\:place-items-stretch {\n place-items: stretch;\n }\n .lg\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .lg\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .lg\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .lg\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .lg\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .lg\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .lg\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .lg\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .lg\\:order-first {\n order: -1;\n }\n .lg\\:order-0 {\n order: 0;\n }\n .lg\\:order-1 {\n order: 1;\n }\n .lg\\:order-2 {\n order: 2;\n }\n .lg\\:order-3 {\n order: 3;\n }\n .lg\\:order-4 {\n order: 4;\n }\n .lg\\:order-5 {\n order: 5;\n }\n .lg\\:order-last {\n order: 6;\n }\n .lg\\:m-0 {\n margin: 0;\n }\n .lg\\:m-1 {\n margin: 0.25rem;\n }\n .lg\\:m-2 {\n margin: 0.5rem;\n }\n .lg\\:m-3 {\n margin: 1rem;\n }\n .lg\\:m-4 {\n margin: 1.5rem;\n }\n .lg\\:m-5 {\n margin: 3rem;\n }\n .lg\\:m-auto {\n margin: auto;\n }\n .lg\\:mx-0 {\n margin-inline: 0;\n }\n .lg\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .lg\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .lg\\:mx-3 {\n margin-inline: 1rem;\n }\n .lg\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .lg\\:mx-5 {\n margin-inline: 3rem;\n }\n .lg\\:mx-auto {\n margin-inline: auto;\n }\n .lg\\:my-0 {\n margin-block: 0;\n }\n .lg\\:my-1 {\n margin-block: 0.25rem;\n }\n .lg\\:my-2 {\n margin-block: 0.5rem;\n }\n .lg\\:my-3 {\n margin-block: 1rem;\n }\n .lg\\:my-4 {\n margin-block: 1.5rem;\n }\n .lg\\:my-5 {\n margin-block: 3rem;\n }\n .lg\\:my-auto {\n margin-block: auto;\n }\n .lg\\:mt-0 {\n margin-block-start: 0;\n }\n .lg\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .lg\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .lg\\:mt-3 {\n margin-block-start: 1rem;\n }\n .lg\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .lg\\:mt-5 {\n margin-block-start: 3rem;\n }\n .lg\\:mt-auto {\n margin-block-start: auto;\n }\n .lg\\:me-0 {\n margin-inline-end: 0;\n }\n .lg\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .lg\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .lg\\:me-3 {\n margin-inline-end: 1rem;\n }\n .lg\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .lg\\:me-5 {\n margin-inline-end: 3rem;\n }\n .lg\\:me-auto {\n margin-inline-end: auto;\n }\n .lg\\:mb-0 {\n margin-block-end: 0;\n }\n .lg\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .lg\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .lg\\:mb-3 {\n margin-block-end: 1rem;\n }\n .lg\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .lg\\:mb-5 {\n margin-block-end: 3rem;\n }\n .lg\\:mb-auto {\n margin-block-end: auto;\n }\n .lg\\:ms-0 {\n margin-inline-start: 0;\n }\n .lg\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .lg\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .lg\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .lg\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .lg\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .lg\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .lg\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .lg\\:ms-auto {\n margin-inline-start: auto;\n }\n .lg\\:p-0 {\n padding: 0;\n }\n .lg\\:p-1 {\n padding: 0.25rem;\n }\n .lg\\:p-2 {\n padding: 0.5rem;\n }\n .lg\\:p-3 {\n padding: 1rem;\n }\n .lg\\:p-4 {\n padding: 1.5rem;\n }\n .lg\\:p-5 {\n padding: 3rem;\n }\n .lg\\:px-0 {\n padding-inline: 0;\n }\n .lg\\:px-1 {\n padding-inline: 0.25rem;\n }\n .lg\\:px-2 {\n padding-inline: 0.5rem;\n }\n .lg\\:px-3 {\n padding-inline: 1rem;\n }\n .lg\\:px-4 {\n padding-inline: 1.5rem;\n }\n .lg\\:px-5 {\n padding-inline: 3rem;\n }\n .lg\\:py-0 {\n padding-block: 0;\n }\n .lg\\:py-1 {\n padding-block: 0.25rem;\n }\n .lg\\:py-2 {\n padding-block: 0.5rem;\n }\n .lg\\:py-3 {\n padding-block: 1rem;\n }\n .lg\\:py-4 {\n padding-block: 1.5rem;\n }\n .lg\\:py-5 {\n padding-block: 3rem;\n }\n .lg\\:pt-0 {\n padding-block-start: 0;\n }\n .lg\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .lg\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .lg\\:pt-3 {\n padding-block-start: 1rem;\n }\n .lg\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .lg\\:pt-5 {\n padding-block-start: 3rem;\n }\n .lg\\:pe-0 {\n padding-inline-end: 0;\n }\n .lg\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .lg\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .lg\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .lg\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .lg\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .lg\\:pb-0 {\n padding-block-end: 0;\n }\n .lg\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .lg\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .lg\\:pb-3 {\n padding-block-end: 1rem;\n }\n .lg\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .lg\\:pb-5 {\n padding-block-end: 3rem;\n }\n .lg\\:ps-0 {\n padding-inline-start: 0;\n }\n .lg\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .lg\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .lg\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .lg\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .lg\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .lg\\:gap-0 {\n gap: 0;\n }\n .lg\\:gap-1 {\n gap: 0.25rem;\n }\n .lg\\:gap-2 {\n gap: 0.5rem;\n }\n .lg\\:gap-3 {\n gap: 1rem;\n }\n .lg\\:gap-4 {\n gap: 1.5rem;\n }\n .lg\\:gap-5 {\n gap: 3rem;\n }\n .lg\\:row-gap-0 {\n row-gap: 0;\n }\n .lg\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .lg\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .lg\\:row-gap-3 {\n row-gap: 1rem;\n }\n .lg\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .lg\\:row-gap-5 {\n row-gap: 3rem;\n }\n .lg\\:column-gap-0 {\n column-gap: 0;\n }\n .lg\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .lg\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .lg\\:column-gap-3 {\n column-gap: 1rem;\n }\n .lg\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .lg\\:column-gap-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 1280px) {\n .xl\\:d-inline {\n display: inline;\n }\n .xl\\:d-inline-block {\n display: inline-block;\n }\n .xl\\:d-block {\n display: block;\n }\n .xl\\:d-grid {\n display: grid;\n }\n .xl\\:d-inline-grid {\n display: inline-grid;\n }\n .xl\\:d-table {\n display: table;\n }\n .xl\\:d-table-row {\n display: table-row;\n }\n .xl\\:d-table-cell {\n display: table-cell;\n }\n .xl\\:d-flex {\n display: flex;\n }\n .xl\\:d-inline-flex {\n display: inline-flex;\n }\n .xl\\:d-contents {\n display: contents;\n }\n .xl\\:d-flow-root {\n display: flow-root;\n }\n .xl\\:d-none {\n display: none;\n }\n .xl\\:flex-fill {\n flex: 1 1 auto;\n }\n .xl\\:flex-row {\n flex-direction: row;\n }\n .xl\\:flex-column {\n flex-direction: column;\n }\n .xl\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .xl\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .xl\\:flex-grow-0 {\n flex-grow: 0;\n }\n .xl\\:flex-grow-1 {\n flex-grow: 1;\n }\n .xl\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .xl\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .xl\\:flex-wrap {\n flex-wrap: wrap;\n }\n .xl\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .xl\\:justify-content-start {\n justify-content: flex-start;\n }\n .xl\\:justify-content-end {\n justify-content: flex-end;\n }\n .xl\\:justify-content-center {\n justify-content: center;\n }\n .xl\\:justify-content-between {\n justify-content: space-between;\n }\n .xl\\:justify-content-around {\n justify-content: space-around;\n }\n .xl\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .xl\\:justify-items-start {\n justify-items: start;\n }\n .xl\\:justify-items-end {\n justify-items: end;\n }\n .xl\\:justify-items-center {\n justify-items: center;\n }\n .xl\\:justify-items-stretch {\n justify-items: stretch;\n }\n .xl\\:align-items-start {\n align-items: flex-start;\n }\n .xl\\:align-items-end {\n align-items: flex-end;\n }\n .xl\\:align-items-center {\n align-items: center;\n }\n .xl\\:align-items-baseline {\n align-items: baseline;\n }\n .xl\\:align-items-stretch {\n align-items: stretch;\n }\n .xl\\:align-content-start {\n align-content: flex-start;\n }\n .xl\\:align-content-end {\n align-content: flex-end;\n }\n .xl\\:align-content-center {\n align-content: center;\n }\n .xl\\:align-content-between {\n align-content: space-between;\n }\n .xl\\:align-content-around {\n align-content: space-around;\n }\n .xl\\:align-content-stretch {\n align-content: stretch;\n }\n .xl\\:align-self-auto {\n align-self: auto;\n }\n .xl\\:align-self-start {\n align-self: flex-start;\n }\n .xl\\:align-self-end {\n align-self: flex-end;\n }\n .xl\\:align-self-center {\n align-self: center;\n }\n .xl\\:align-self-baseline {\n align-self: baseline;\n }\n .xl\\:align-self-stretch {\n align-self: stretch;\n }\n .xl\\:place-items-start {\n place-items: start;\n }\n .xl\\:place-items-end {\n place-items: end;\n }\n .xl\\:place-items-center {\n place-items: center;\n }\n .xl\\:place-items-stretch {\n place-items: stretch;\n }\n .xl\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .xl\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .xl\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .xl\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .xl\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .xl\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .xl\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .xl\\:order-first {\n order: -1;\n }\n .xl\\:order-0 {\n order: 0;\n }\n .xl\\:order-1 {\n order: 1;\n }\n .xl\\:order-2 {\n order: 2;\n }\n .xl\\:order-3 {\n order: 3;\n }\n .xl\\:order-4 {\n order: 4;\n }\n .xl\\:order-5 {\n order: 5;\n }\n .xl\\:order-last {\n order: 6;\n }\n .xl\\:m-0 {\n margin: 0;\n }\n .xl\\:m-1 {\n margin: 0.25rem;\n }\n .xl\\:m-2 {\n margin: 0.5rem;\n }\n .xl\\:m-3 {\n margin: 1rem;\n }\n .xl\\:m-4 {\n margin: 1.5rem;\n }\n .xl\\:m-5 {\n margin: 3rem;\n }\n .xl\\:m-auto {\n margin: auto;\n }\n .xl\\:mx-0 {\n margin-inline: 0;\n }\n .xl\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .xl\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .xl\\:mx-3 {\n margin-inline: 1rem;\n }\n .xl\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .xl\\:mx-5 {\n margin-inline: 3rem;\n }\n .xl\\:mx-auto {\n margin-inline: auto;\n }\n .xl\\:my-0 {\n margin-block: 0;\n }\n .xl\\:my-1 {\n margin-block: 0.25rem;\n }\n .xl\\:my-2 {\n margin-block: 0.5rem;\n }\n .xl\\:my-3 {\n margin-block: 1rem;\n }\n .xl\\:my-4 {\n margin-block: 1.5rem;\n }\n .xl\\:my-5 {\n margin-block: 3rem;\n }\n .xl\\:my-auto {\n margin-block: auto;\n }\n .xl\\:mt-0 {\n margin-block-start: 0;\n }\n .xl\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .xl\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .xl\\:mt-3 {\n margin-block-start: 1rem;\n }\n .xl\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .xl\\:mt-5 {\n margin-block-start: 3rem;\n }\n .xl\\:mt-auto {\n margin-block-start: auto;\n }\n .xl\\:me-0 {\n margin-inline-end: 0;\n }\n .xl\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .xl\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .xl\\:me-3 {\n margin-inline-end: 1rem;\n }\n .xl\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .xl\\:me-5 {\n margin-inline-end: 3rem;\n }\n .xl\\:me-auto {\n margin-inline-end: auto;\n }\n .xl\\:mb-0 {\n margin-block-end: 0;\n }\n .xl\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .xl\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .xl\\:mb-3 {\n margin-block-end: 1rem;\n }\n .xl\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .xl\\:mb-5 {\n margin-block-end: 3rem;\n }\n .xl\\:mb-auto {\n margin-block-end: auto;\n }\n .xl\\:ms-0 {\n margin-inline-start: 0;\n }\n .xl\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .xl\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .xl\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .xl\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .xl\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .xl\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .xl\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .xl\\:ms-auto {\n margin-inline-start: auto;\n }\n .xl\\:p-0 {\n padding: 0;\n }\n .xl\\:p-1 {\n padding: 0.25rem;\n }\n .xl\\:p-2 {\n padding: 0.5rem;\n }\n .xl\\:p-3 {\n padding: 1rem;\n }\n .xl\\:p-4 {\n padding: 1.5rem;\n }\n .xl\\:p-5 {\n padding: 3rem;\n }\n .xl\\:px-0 {\n padding-inline: 0;\n }\n .xl\\:px-1 {\n padding-inline: 0.25rem;\n }\n .xl\\:px-2 {\n padding-inline: 0.5rem;\n }\n .xl\\:px-3 {\n padding-inline: 1rem;\n }\n .xl\\:px-4 {\n padding-inline: 1.5rem;\n }\n .xl\\:px-5 {\n padding-inline: 3rem;\n }\n .xl\\:py-0 {\n padding-block: 0;\n }\n .xl\\:py-1 {\n padding-block: 0.25rem;\n }\n .xl\\:py-2 {\n padding-block: 0.5rem;\n }\n .xl\\:py-3 {\n padding-block: 1rem;\n }\n .xl\\:py-4 {\n padding-block: 1.5rem;\n }\n .xl\\:py-5 {\n padding-block: 3rem;\n }\n .xl\\:pt-0 {\n padding-block-start: 0;\n }\n .xl\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .xl\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .xl\\:pt-3 {\n padding-block-start: 1rem;\n }\n .xl\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .xl\\:pt-5 {\n padding-block-start: 3rem;\n }\n .xl\\:pe-0 {\n padding-inline-end: 0;\n }\n .xl\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .xl\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .xl\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .xl\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .xl\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .xl\\:pb-0 {\n padding-block-end: 0;\n }\n .xl\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .xl\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .xl\\:pb-3 {\n padding-block-end: 1rem;\n }\n .xl\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .xl\\:pb-5 {\n padding-block-end: 3rem;\n }\n .xl\\:ps-0 {\n padding-inline-start: 0;\n }\n .xl\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .xl\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .xl\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .xl\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .xl\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .xl\\:gap-0 {\n gap: 0;\n }\n .xl\\:gap-1 {\n gap: 0.25rem;\n }\n .xl\\:gap-2 {\n gap: 0.5rem;\n }\n .xl\\:gap-3 {\n gap: 1rem;\n }\n .xl\\:gap-4 {\n gap: 1.5rem;\n }\n .xl\\:gap-5 {\n gap: 3rem;\n }\n .xl\\:row-gap-0 {\n row-gap: 0;\n }\n .xl\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .xl\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .xl\\:row-gap-3 {\n row-gap: 1rem;\n }\n .xl\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .xl\\:row-gap-5 {\n row-gap: 3rem;\n }\n .xl\\:column-gap-0 {\n column-gap: 0;\n }\n .xl\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .xl\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .xl\\:column-gap-3 {\n column-gap: 1rem;\n }\n .xl\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .xl\\:column-gap-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:d-inline {\n display: inline;\n }\n .\\32 xl\\:d-inline-block {\n display: inline-block;\n }\n .\\32 xl\\:d-block {\n display: block;\n }\n .\\32 xl\\:d-grid {\n display: grid;\n }\n .\\32 xl\\:d-inline-grid {\n display: inline-grid;\n }\n .\\32 xl\\:d-table {\n display: table;\n }\n .\\32 xl\\:d-table-row {\n display: table-row;\n }\n .\\32 xl\\:d-table-cell {\n display: table-cell;\n }\n .\\32 xl\\:d-flex {\n display: flex;\n }\n .\\32 xl\\:d-inline-flex {\n display: inline-flex;\n }\n .\\32 xl\\:d-contents {\n display: contents;\n }\n .\\32 xl\\:d-flow-root {\n display: flow-root;\n }\n .\\32 xl\\:d-none {\n display: none;\n }\n .\\32 xl\\:flex-fill {\n flex: 1 1 auto;\n }\n .\\32 xl\\:flex-row {\n flex-direction: row;\n }\n .\\32 xl\\:flex-column {\n flex-direction: column;\n }\n .\\32 xl\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .\\32 xl\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .\\32 xl\\:flex-grow-0 {\n flex-grow: 0;\n }\n .\\32 xl\\:flex-grow-1 {\n flex-grow: 1;\n }\n .\\32 xl\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .\\32 xl\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .\\32 xl\\:flex-wrap {\n flex-wrap: wrap;\n }\n .\\32 xl\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .\\32 xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .\\32 xl\\:justify-content-start {\n justify-content: flex-start;\n }\n .\\32 xl\\:justify-content-end {\n justify-content: flex-end;\n }\n .\\32 xl\\:justify-content-center {\n justify-content: center;\n }\n .\\32 xl\\:justify-content-between {\n justify-content: space-between;\n }\n .\\32 xl\\:justify-content-around {\n justify-content: space-around;\n }\n .\\32 xl\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .\\32 xl\\:justify-items-start {\n justify-items: start;\n }\n .\\32 xl\\:justify-items-end {\n justify-items: end;\n }\n .\\32 xl\\:justify-items-center {\n justify-items: center;\n }\n .\\32 xl\\:justify-items-stretch {\n justify-items: stretch;\n }\n .\\32 xl\\:align-items-start {\n align-items: flex-start;\n }\n .\\32 xl\\:align-items-end {\n align-items: flex-end;\n }\n .\\32 xl\\:align-items-center {\n align-items: center;\n }\n .\\32 xl\\:align-items-baseline {\n align-items: baseline;\n }\n .\\32 xl\\:align-items-stretch {\n align-items: stretch;\n }\n .\\32 xl\\:align-content-start {\n align-content: flex-start;\n }\n .\\32 xl\\:align-content-end {\n align-content: flex-end;\n }\n .\\32 xl\\:align-content-center {\n align-content: center;\n }\n .\\32 xl\\:align-content-between {\n align-content: space-between;\n }\n .\\32 xl\\:align-content-around {\n align-content: space-around;\n }\n .\\32 xl\\:align-content-stretch {\n align-content: stretch;\n }\n .\\32 xl\\:align-self-auto {\n align-self: auto;\n }\n .\\32 xl\\:align-self-start {\n align-self: flex-start;\n }\n .\\32 xl\\:align-self-end {\n align-self: flex-end;\n }\n .\\32 xl\\:align-self-center {\n align-self: center;\n }\n .\\32 xl\\:align-self-baseline {\n align-self: baseline;\n }\n .\\32 xl\\:align-self-stretch {\n align-self: stretch;\n }\n .\\32 xl\\:place-items-start {\n place-items: start;\n }\n .\\32 xl\\:place-items-end {\n place-items: end;\n }\n .\\32 xl\\:place-items-center {\n place-items: center;\n }\n .\\32 xl\\:place-items-stretch {\n place-items: stretch;\n }\n .\\32 xl\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .\\32 xl\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .\\32 xl\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .\\32 xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .\\32 xl\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .\\32 xl\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .\\32 xl\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .\\32 xl\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .\\32 xl\\:order-first {\n order: -1;\n }\n .\\32 xl\\:order-0 {\n order: 0;\n }\n .\\32 xl\\:order-1 {\n order: 1;\n }\n .\\32 xl\\:order-2 {\n order: 2;\n }\n .\\32 xl\\:order-3 {\n order: 3;\n }\n .\\32 xl\\:order-4 {\n order: 4;\n }\n .\\32 xl\\:order-5 {\n order: 5;\n }\n .\\32 xl\\:order-last {\n order: 6;\n }\n .\\32 xl\\:m-0 {\n margin: 0;\n }\n .\\32 xl\\:m-1 {\n margin: 0.25rem;\n }\n .\\32 xl\\:m-2 {\n margin: 0.5rem;\n }\n .\\32 xl\\:m-3 {\n margin: 1rem;\n }\n .\\32 xl\\:m-4 {\n margin: 1.5rem;\n }\n .\\32 xl\\:m-5 {\n margin: 3rem;\n }\n .\\32 xl\\:m-auto {\n margin: auto;\n }\n .\\32 xl\\:mx-0 {\n margin-inline: 0;\n }\n .\\32 xl\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .\\32 xl\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .\\32 xl\\:mx-3 {\n margin-inline: 1rem;\n }\n .\\32 xl\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .\\32 xl\\:mx-5 {\n margin-inline: 3rem;\n }\n .\\32 xl\\:mx-auto {\n margin-inline: auto;\n }\n .\\32 xl\\:my-0 {\n margin-block: 0;\n }\n .\\32 xl\\:my-1 {\n margin-block: 0.25rem;\n }\n .\\32 xl\\:my-2 {\n margin-block: 0.5rem;\n }\n .\\32 xl\\:my-3 {\n margin-block: 1rem;\n }\n .\\32 xl\\:my-4 {\n margin-block: 1.5rem;\n }\n .\\32 xl\\:my-5 {\n margin-block: 3rem;\n }\n .\\32 xl\\:my-auto {\n margin-block: auto;\n }\n .\\32 xl\\:mt-0 {\n margin-block-start: 0;\n }\n .\\32 xl\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .\\32 xl\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .\\32 xl\\:mt-3 {\n margin-block-start: 1rem;\n }\n .\\32 xl\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .\\32 xl\\:mt-5 {\n margin-block-start: 3rem;\n }\n .\\32 xl\\:mt-auto {\n margin-block-start: auto;\n }\n .\\32 xl\\:me-0 {\n margin-inline-end: 0;\n }\n .\\32 xl\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .\\32 xl\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .\\32 xl\\:me-3 {\n margin-inline-end: 1rem;\n }\n .\\32 xl\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .\\32 xl\\:me-5 {\n margin-inline-end: 3rem;\n }\n .\\32 xl\\:me-auto {\n margin-inline-end: auto;\n }\n .\\32 xl\\:mb-0 {\n margin-block-end: 0;\n }\n .\\32 xl\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .\\32 xl\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .\\32 xl\\:mb-3 {\n margin-block-end: 1rem;\n }\n .\\32 xl\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .\\32 xl\\:mb-5 {\n margin-block-end: 3rem;\n }\n .\\32 xl\\:mb-auto {\n margin-block-end: auto;\n }\n .\\32 xl\\:ms-0 {\n margin-inline-start: 0;\n }\n .\\32 xl\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .\\32 xl\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .\\32 xl\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .\\32 xl\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .\\32 xl\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .\\32 xl\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .\\32 xl\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .\\32 xl\\:ms-auto {\n margin-inline-start: auto;\n }\n .\\32 xl\\:p-0 {\n padding: 0;\n }\n .\\32 xl\\:p-1 {\n padding: 0.25rem;\n }\n .\\32 xl\\:p-2 {\n padding: 0.5rem;\n }\n .\\32 xl\\:p-3 {\n padding: 1rem;\n }\n .\\32 xl\\:p-4 {\n padding: 1.5rem;\n }\n .\\32 xl\\:p-5 {\n padding: 3rem;\n }\n .\\32 xl\\:px-0 {\n padding-inline: 0;\n }\n .\\32 xl\\:px-1 {\n padding-inline: 0.25rem;\n }\n .\\32 xl\\:px-2 {\n padding-inline: 0.5rem;\n }\n .\\32 xl\\:px-3 {\n padding-inline: 1rem;\n }\n .\\32 xl\\:px-4 {\n padding-inline: 1.5rem;\n }\n .\\32 xl\\:px-5 {\n padding-inline: 3rem;\n }\n .\\32 xl\\:py-0 {\n padding-block: 0;\n }\n .\\32 xl\\:py-1 {\n padding-block: 0.25rem;\n }\n .\\32 xl\\:py-2 {\n padding-block: 0.5rem;\n }\n .\\32 xl\\:py-3 {\n padding-block: 1rem;\n }\n .\\32 xl\\:py-4 {\n padding-block: 1.5rem;\n }\n .\\32 xl\\:py-5 {\n padding-block: 3rem;\n }\n .\\32 xl\\:pt-0 {\n padding-block-start: 0;\n }\n .\\32 xl\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .\\32 xl\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .\\32 xl\\:pt-3 {\n padding-block-start: 1rem;\n }\n .\\32 xl\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .\\32 xl\\:pt-5 {\n padding-block-start: 3rem;\n }\n .\\32 xl\\:pe-0 {\n padding-inline-end: 0;\n }\n .\\32 xl\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .\\32 xl\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .\\32 xl\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .\\32 xl\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .\\32 xl\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .\\32 xl\\:pb-0 {\n padding-block-end: 0;\n }\n .\\32 xl\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .\\32 xl\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .\\32 xl\\:pb-3 {\n padding-block-end: 1rem;\n }\n .\\32 xl\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .\\32 xl\\:pb-5 {\n padding-block-end: 3rem;\n }\n .\\32 xl\\:ps-0 {\n padding-inline-start: 0;\n }\n .\\32 xl\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .\\32 xl\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .\\32 xl\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .\\32 xl\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .\\32 xl\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .\\32 xl\\:gap-0 {\n gap: 0;\n }\n .\\32 xl\\:gap-1 {\n gap: 0.25rem;\n }\n .\\32 xl\\:gap-2 {\n gap: 0.5rem;\n }\n .\\32 xl\\:gap-3 {\n gap: 1rem;\n }\n .\\32 xl\\:gap-4 {\n gap: 1.5rem;\n }\n .\\32 xl\\:gap-5 {\n gap: 3rem;\n }\n .\\32 xl\\:row-gap-0 {\n row-gap: 0;\n }\n .\\32 xl\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .\\32 xl\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .\\32 xl\\:row-gap-3 {\n row-gap: 1rem;\n }\n .\\32 xl\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .\\32 xl\\:row-gap-5 {\n row-gap: 3rem;\n }\n .\\32 xl\\:column-gap-0 {\n column-gap: 0;\n }\n .\\32 xl\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .\\32 xl\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .\\32 xl\\:column-gap-3 {\n column-gap: 1rem;\n }\n .\\32 xl\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .\\32 xl\\:column-gap-5 {\n column-gap: 3rem;\n }\n }\n}\n:root {\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n $name-str: \"#{$name}\";\n $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n $first: string.slice($name-str, 1, 1);\n\n @if list.index($digits, $first) {\n @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n }\n\n @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n// >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"sm\\:\"\n// >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n @if breakpoint-min($name, $breakpoints) == null {\n @return \"\";\n }\n\n @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n @content($breakpoint, $prefix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $prefix: breakpoint-prefix($next, $breakpoints);\n @content($breakpoint, $next, $prefix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n @content($breakpoint, $next, $prefix);\n }\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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (width >= $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (width < $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $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 @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n @if meta.type-of($defaults) == \"list\" {\n $map: ();\n @each $key in $defaults {\n $map: map.merge($map, ($key: true));\n }\n $defaults: $map;\n }\n $merged: map.merge($defaults, $overrides);\n @each $key, $value in $merged {\n @if $value == null {\n $merged: map.remove($merged, $key);\n }\n }\n @return $merged;\n}\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n\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\n$negative-spacers: (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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 breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !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\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, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\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// Links\n//\n// Style anchor elements.\n\n$link-decoration: underline !default;\n$link-underline-offset: .2em !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// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n\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$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// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n (\n \"xs\": (\n \"font-size\": .75rem,\n \"line-height\": 1.25\n ),\n \"sm\": (\n \"font-size\": .875rem,\n \"line-height\": 1.5\n ),\n \"md\": (\n \"font-size\": 1rem,\n \"line-height\": 1.5\n ),\n \"lg\": (\n \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n \"line-height\": 1.5\n ),\n \"xl\": (\n \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n \"line-height\": calc(2.5 / 1.75)\n ),\n \"2xl\": (\n \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n \"line-height\": calc(3 / 2.25)\n ),\n \"3xl\": (\n \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n \"line-height\": 1.2\n ),\n \"4xl\": (\n \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n \"line-height\": 1.1\n ),\n \"5xl\": (\n \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n \"line-height\": 1.1\n ),\n \"6xl\": (\n \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n \"line-height\": 1\n ),\n ),\n $font-sizes\n);\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 type-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// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-dialog: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n @if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n\n @include make-grid-columns();\n }\n\n @if $enable-cssgrid {\n .grid {\n --columns: #{$grid-columns};\n --rows: 1;\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n\n }\n\n @include make-cssgrid();\n }\n\n // mdo-do: add to utilities?\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n\n .grid-fill {\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n\n // .g-col-auto {\n // grid-column: auto;\n // }\n\n // mdo-do: add to utilities?\n // .grid-cols-3 {\n // --columns: 3;\n // }\n // .grid-cols-4 {\n // --columns: 4;\n // }\n // .grid-cols-6 {\n // --columns: 6;\n // }\n\n // .grid-full {\n // grid-column: 1 / -1;\n // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n --gutter-x: #{$gutter-x};\n --gutter-y: #{$gutter-y};\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-inline: calc(-.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n // stylelint-disable-next-line scss/at-function-named-arguments\n box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-inline: calc(var(--gutter-x) * .5);\n margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: math.percentage(math.div($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: math.div($size, $columns);\n // stylelint-disable-next-line scss/at-function-named-arguments\n margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n .#{$prefix}col {\n flex: 1 0 0;\n }\n\n .#{$prefix}row-cols-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .#{$prefix}row-cols-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .#{$prefix}col-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .#{$prefix}col-#{$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 ($prefix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .#{$prefix}offset-#{$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 .#{$prefix}g-#{$key},\n .#{$prefix}gx-#{$key} {\n --gutter-x: #{$value};\n }\n\n .#{$prefix}g-#{$key},\n .#{$prefix}gy-#{$key} {\n --gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .#{$prefix}g-col-#{$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 .#{$prefix}g-start-#{$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 \"../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($breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $prefix: breakpoint-prefix($breakpoint, $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 $prefix == \"\") {\n @include generate-utility($utility, $prefix);\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\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n // Validate required keys\n @if not map.has-key($utility, property) {\n @error \"Utility is missing required `property` key: #{$utility}\";\n }\n @if not map.has-key($utility, values) {\n @error \"Utility is missing required `values` key: #{$utility}\";\n }\n\n // Warn on unknown keys (likely typos)\n $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n @each $key in map.keys($utility) {\n @if not list.index($valid-keys, $key) {\n @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n }\n }\n\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selectorType) {\n @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selectorType != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n }\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // Don't add a dash before value key if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $prefix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n @if $customClass != \"\" {\n $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n } @else if $selectorClass != null and $selectorClass != \"\" {\n $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n } @else {\n $selector: \".#{$prefix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n","@use \"banner\" with (\n $file: \"Grid\"\n);\n\n@use \"config\" as *;\n@use \"functions\" as *;\n\n@forward \"utilities\"; // Make utilities available downstream\n@use \"utilities\" as *; // Bring utilities into the current namespace\n\n@forward \"layout/containers\";\n@forward \"layout/grid\";\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"grid-column-counts\",\n \"grid-columns\",\n \"grid-auto-flow\",\n \"gap\",\n \"row-gap\",\n \"column-gap\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"justify-items\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"place-items\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-end\",\n \"margin-bottom\",\n \"margin-start\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-end\",\n \"negative-margin-bottom\",\n \"negative-margin-start\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-end\",\n \"padding-bottom\",\n \"padding-start\",\n )\n);\n\n// check-unused-imports-disable-next-line — side-effect import: generates utility CSS.\n@use \"utilities/api\";\n\n:root {\n @each $name, $value in $breakpoints {\n --breakpoint-#{$name}: #{$value};\n }\n}\n"]}
\ No newline at end of file
* Copyright 2011-2026 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
-@layer layout{.container,.container-fluid,.container-2xl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-inline: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:1024px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width:1280px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1200px}}@media (min-width:1536px){.container-2xl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1440px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-inline:calc(-.5 * var(--bs-gutter-x));margin-top:calc(-1 * var(--bs-gutter-y));flex-wrap:wrap;display:flex}.row>*{width:100%;max-width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y);flex-shrink:0}.col{flex:1 0 0}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.3333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.6667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333%}.col-2{flex:none;width:16.6667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.3333%}.col-5{flex:none;width:41.6667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.3333%}.col-8{flex:none;width:66.6667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.3333%}.col-11{flex:none;width:91.6667%}.col-12{flex:none;width:100%}.offset-1{margin-inline-start:8.33333%}.offset-2{margin-inline-start:16.6667%}.offset-3{margin-inline-start:25%}.offset-4{margin-inline-start:33.3333%}.offset-5{margin-inline-start:41.6667%}.offset-6{margin-inline-start:50%}.offset-7{margin-inline-start:58.3333%}.offset-8{margin-inline-start:66.6667%}.offset-9{margin-inline-start:75%}.offset-10{margin-inline-start:83.3333%}.offset-11{margin-inline-start:91.6667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.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:none;width:auto}.row-cols-sm-1>*{flex:none;width:100%}.row-cols-sm-2>*{flex:none;width:50%}.row-cols-sm-3>*{flex:none;width:33.3333%}.row-cols-sm-4>*{flex:none;width:25%}.row-cols-sm-5>*{flex:none;width:20%}.row-cols-sm-6>*{flex:none;width:16.6667%}.col-sm-auto{flex:none;width:auto}.col-sm-1{flex:none;width:8.33333%}.col-sm-2{flex:none;width:16.6667%}.col-sm-3{flex:none;width:25%}.col-sm-4{flex:none;width:33.3333%}.col-sm-5{flex:none;width:41.6667%}.col-sm-6{flex:none;width:50%}.col-sm-7{flex:none;width:58.3333%}.col-sm-8{flex:none;width:66.6667%}.col-sm-9{flex:none;width:75%}.col-sm-10{flex:none;width:83.3333%}.col-sm-11{flex:none;width:91.6667%}.col-sm-12{flex:none;width:100%}.offset-sm-0{margin-inline-start:0}.offset-sm-1{margin-inline-start:8.33333%}.offset-sm-2{margin-inline-start:16.6667%}.offset-sm-3{margin-inline-start:25%}.offset-sm-4{margin-inline-start:33.3333%}.offset-sm-5{margin-inline-start:41.6667%}.offset-sm-6{margin-inline-start:50%}.offset-sm-7{margin-inline-start:58.3333%}.offset-sm-8{margin-inline-start:66.6667%}.offset-sm-9{margin-inline-start:75%}.offset-sm-10{margin-inline-start:83.3333%}.offset-sm-11{margin-inline-start:91.6667%}.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:.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:.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:none;width:auto}.row-cols-md-1>*{flex:none;width:100%}.row-cols-md-2>*{flex:none;width:50%}.row-cols-md-3>*{flex:none;width:33.3333%}.row-cols-md-4>*{flex:none;width:25%}.row-cols-md-5>*{flex:none;width:20%}.row-cols-md-6>*{flex:none;width:16.6667%}.col-md-auto{flex:none;width:auto}.col-md-1{flex:none;width:8.33333%}.col-md-2{flex:none;width:16.6667%}.col-md-3{flex:none;width:25%}.col-md-4{flex:none;width:33.3333%}.col-md-5{flex:none;width:41.6667%}.col-md-6{flex:none;width:50%}.col-md-7{flex:none;width:58.3333%}.col-md-8{flex:none;width:66.6667%}.col-md-9{flex:none;width:75%}.col-md-10{flex:none;width:83.3333%}.col-md-11{flex:none;width:91.6667%}.col-md-12{flex:none;width:100%}.offset-md-0{margin-inline-start:0}.offset-md-1{margin-inline-start:8.33333%}.offset-md-2{margin-inline-start:16.6667%}.offset-md-3{margin-inline-start:25%}.offset-md-4{margin-inline-start:33.3333%}.offset-md-5{margin-inline-start:41.6667%}.offset-md-6{margin-inline-start:50%}.offset-md-7{margin-inline-start:58.3333%}.offset-md-8{margin-inline-start:66.6667%}.offset-md-9{margin-inline-start:75%}.offset-md-10{margin-inline-start:83.3333%}.offset-md-11{margin-inline-start:91.6667%}.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:.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:.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:1024px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:none;width:auto}.row-cols-lg-1>*{flex:none;width:100%}.row-cols-lg-2>*{flex:none;width:50%}.row-cols-lg-3>*{flex:none;width:33.3333%}.row-cols-lg-4>*{flex:none;width:25%}.row-cols-lg-5>*{flex:none;width:20%}.row-cols-lg-6>*{flex:none;width:16.6667%}.col-lg-auto{flex:none;width:auto}.col-lg-1{flex:none;width:8.33333%}.col-lg-2{flex:none;width:16.6667%}.col-lg-3{flex:none;width:25%}.col-lg-4{flex:none;width:33.3333%}.col-lg-5{flex:none;width:41.6667%}.col-lg-6{flex:none;width:50%}.col-lg-7{flex:none;width:58.3333%}.col-lg-8{flex:none;width:66.6667%}.col-lg-9{flex:none;width:75%}.col-lg-10{flex:none;width:83.3333%}.col-lg-11{flex:none;width:91.6667%}.col-lg-12{flex:none;width:100%}.offset-lg-0{margin-inline-start:0}.offset-lg-1{margin-inline-start:8.33333%}.offset-lg-2{margin-inline-start:16.6667%}.offset-lg-3{margin-inline-start:25%}.offset-lg-4{margin-inline-start:33.3333%}.offset-lg-5{margin-inline-start:41.6667%}.offset-lg-6{margin-inline-start:50%}.offset-lg-7{margin-inline-start:58.3333%}.offset-lg-8{margin-inline-start:66.6667%}.offset-lg-9{margin-inline-start:75%}.offset-lg-10{margin-inline-start:83.3333%}.offset-lg-11{margin-inline-start:91.6667%}.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:.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:.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:1280px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:none;width:auto}.row-cols-xl-1>*{flex:none;width:100%}.row-cols-xl-2>*{flex:none;width:50%}.row-cols-xl-3>*{flex:none;width:33.3333%}.row-cols-xl-4>*{flex:none;width:25%}.row-cols-xl-5>*{flex:none;width:20%}.row-cols-xl-6>*{flex:none;width:16.6667%}.col-xl-auto{flex:none;width:auto}.col-xl-1{flex:none;width:8.33333%}.col-xl-2{flex:none;width:16.6667%}.col-xl-3{flex:none;width:25%}.col-xl-4{flex:none;width:33.3333%}.col-xl-5{flex:none;width:41.6667%}.col-xl-6{flex:none;width:50%}.col-xl-7{flex:none;width:58.3333%}.col-xl-8{flex:none;width:66.6667%}.col-xl-9{flex:none;width:75%}.col-xl-10{flex:none;width:83.3333%}.col-xl-11{flex:none;width:91.6667%}.col-xl-12{flex:none;width:100%}.offset-xl-0{margin-inline-start:0}.offset-xl-1{margin-inline-start:8.33333%}.offset-xl-2{margin-inline-start:16.6667%}.offset-xl-3{margin-inline-start:25%}.offset-xl-4{margin-inline-start:33.3333%}.offset-xl-5{margin-inline-start:41.6667%}.offset-xl-6{margin-inline-start:50%}.offset-xl-7{margin-inline-start:58.3333%}.offset-xl-8{margin-inline-start:66.6667%}.offset-xl-9{margin-inline-start:75%}.offset-xl-10{margin-inline-start:83.3333%}.offset-xl-11{margin-inline-start:91.6667%}.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:.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:.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:1536px){.col-2xl{flex:1 0 0}.row-cols-2xl-auto>*{flex:none;width:auto}.row-cols-2xl-1>*{flex:none;width:100%}.row-cols-2xl-2>*{flex:none;width:50%}.row-cols-2xl-3>*{flex:none;width:33.3333%}.row-cols-2xl-4>*{flex:none;width:25%}.row-cols-2xl-5>*{flex:none;width:20%}.row-cols-2xl-6>*{flex:none;width:16.6667%}.col-2xl-auto{flex:none;width:auto}.col-2xl-1{flex:none;width:8.33333%}.col-2xl-2{flex:none;width:16.6667%}.col-2xl-3{flex:none;width:25%}.col-2xl-4{flex:none;width:33.3333%}.col-2xl-5{flex:none;width:41.6667%}.col-2xl-6{flex:none;width:50%}.col-2xl-7{flex:none;width:58.3333%}.col-2xl-8{flex:none;width:66.6667%}.col-2xl-9{flex:none;width:75%}.col-2xl-10{flex:none;width:83.3333%}.col-2xl-11{flex:none;width:91.6667%}.col-2xl-12{flex:none;width:100%}.offset-2xl-0{margin-inline-start:0}.offset-2xl-1{margin-inline-start:8.33333%}.offset-2xl-2{margin-inline-start:16.6667%}.offset-2xl-3{margin-inline-start:25%}.offset-2xl-4{margin-inline-start:33.3333%}.offset-2xl-5{margin-inline-start:41.6667%}.offset-2xl-6{margin-inline-start:50%}.offset-2xl-7{margin-inline-start:58.3333%}.offset-2xl-8{margin-inline-start:66.6667%}.offset-2xl-9{margin-inline-start:75%}.offset-2xl-10{margin-inline-start:83.3333%}.offset-2xl-11{margin-inline-start:91.6667%}.g-2xl-0,.gx-2xl-0{--bs-gutter-x:0}.g-2xl-0,.gy-2xl-0{--bs-gutter-y:0}.g-2xl-1,.gx-2xl-1{--bs-gutter-x:.25rem}.g-2xl-1,.gy-2xl-1{--bs-gutter-y:.25rem}.g-2xl-2,.gx-2xl-2{--bs-gutter-x:.5rem}.g-2xl-2,.gy-2xl-2{--bs-gutter-y:.5rem}.g-2xl-3,.gx-2xl-3{--bs-gutter-x:1rem}.g-2xl-3,.gy-2xl-3{--bs-gutter-y:1rem}.g-2xl-4,.gx-2xl-4{--bs-gutter-x:1.5rem}.g-2xl-4,.gy-2xl-4{--bs-gutter-y:1.5rem}.g-2xl-5,.gx-2xl-5{--bs-gutter-x:3rem}.g-2xl-5,.gy-2xl-5{--bs-gutter-y:3rem}}.grid{--bs-columns:12;--bs-rows:1;--bs-gap:1.5rem;grid-template-rows:repeat(var(--bs-rows), 1fr);grid-template-columns:repeat(var(--bs-columns), 1fr);gap:var(--bs-gap);display:grid}.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:1024px){.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:1280px){.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:1536px){.g-col-2xl-1{grid-column:auto/span 1}.g-col-2xl-2{grid-column:auto/span 2}.g-col-2xl-3{grid-column:auto/span 3}.g-col-2xl-4{grid-column:auto/span 4}.g-col-2xl-5{grid-column:auto/span 5}.g-col-2xl-6{grid-column:auto/span 6}.g-col-2xl-7{grid-column:auto/span 7}.g-col-2xl-8{grid-column:auto/span 8}.g-col-2xl-9{grid-column:auto/span 9}.g-col-2xl-10{grid-column:auto/span 10}.g-col-2xl-11{grid-column:auto/span 11}.g-col-2xl-12{grid-column:auto/span 12}.g-start-2xl-1{grid-column-start:1}.g-start-2xl-2{grid-column-start:2}.g-start-2xl-3{grid-column-start:3}.g-start-2xl-4{grid-column-start:4}.g-start-2xl-5{grid-column-start:5}.g-start-2xl-6{grid-column-start:6}.g-start-2xl-7{grid-column-start:7}.g-start-2xl-8{grid-column-start:8}.g-start-2xl-9{grid-column-start:9}.g-start-2xl-10{grid-column-start:10}.g-start-2xl-11{grid-column-start:11}}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-fill{--bs-gap:1.5rem;gap:var(--bs-gap);grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:row;display:grid}}@layer utilities{.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.flex-fill{flex:auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch stretch}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:.25rem}.mx-2{margin-inline:.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:.25rem}.my-2{margin-block:.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:.25rem}.mt-2{margin-block-start:.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:.25rem}.mb-2{margin-block-end:.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms--1{margin-inline-start:-.25rem}.ms--2{margin-inline-start:-.5rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:.25rem}.px-2{padding-inline:.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:.25rem}.py-2{padding-block:.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:.25rem}.pt-2{padding-block-start:.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:.25rem}.pb-2{padding-block-end:.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:1rem}.row-gap-4{row-gap:1.5rem}.row-gap-5{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-5{-moz-column-gap:3rem;column-gap:3rem}@media (min-width:576px){.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-block{display:block}.d-sm-grid{display:grid}.d-sm-inline-grid{display:inline-grid}.d-sm-table{display:table}.d-sm-table-row{display:table-row}.d-sm-table-cell{display:table-cell}.d-sm-flex{display:flex}.d-sm-inline-flex{display:inline-flex}.d-sm-contents{display:contents}.d-sm-flow-root{display:flow-root}.d-sm-none{display:none}.flex-sm-fill{flex:auto}.flex-sm-row{flex-direction:row}.flex-sm-column{flex-direction:column}.flex-sm-row-reverse{flex-direction:row-reverse}.flex-sm-column-reverse{flex-direction:column-reverse}.flex-sm-grow-0{flex-grow:0}.flex-sm-grow-1{flex-grow:1}.flex-sm-shrink-0{flex-shrink:0}.flex-sm-shrink-1{flex-shrink:1}.flex-sm-wrap{flex-wrap:wrap}.flex-sm-nowrap{flex-wrap:nowrap}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-sm-start{justify-content:flex-start}.justify-content-sm-end{justify-content:flex-end}.justify-content-sm-center{justify-content:center}.justify-content-sm-between{justify-content:space-between}.justify-content-sm-around{justify-content:space-around}.justify-content-sm-evenly{justify-content:space-evenly}.justify-items-sm-start{justify-items:start}.justify-items-sm-end{justify-items:end}.justify-items-sm-center{justify-items:center}.justify-items-sm-stretch{justify-items:stretch}.align-items-sm-start{align-items:flex-start}.align-items-sm-end{align-items:flex-end}.align-items-sm-center{align-items:center}.align-items-sm-baseline{align-items:baseline}.align-items-sm-stretch{align-items:stretch}.align-content-sm-start{align-content:flex-start}.align-content-sm-end{align-content:flex-end}.align-content-sm-center{align-content:center}.align-content-sm-between{align-content:space-between}.align-content-sm-around{align-content:space-around}.align-content-sm-stretch{align-content:stretch}.align-self-sm-auto{align-self:auto}.align-self-sm-start{align-self:flex-start}.align-self-sm-end{align-self:flex-end}.align-self-sm-center{align-self:center}.align-self-sm-baseline{align-self:baseline}.align-self-sm-stretch{align-self:stretch}.place-items-sm-start{place-items:start}.place-items-sm-end{place-items:end}.place-items-sm-center{place-items:center}.place-items-sm-stretch{place-items:stretch stretch}.grid-cols-sm-2{grid-template-columns:repeat(2,1fr)}.grid-cols-sm-3{grid-template-columns:repeat(3,1fr)}.grid-cols-sm-4{grid-template-columns:repeat(4,1fr)}.grid-cols-sm-6{grid-template-columns:repeat(6,1fr)}.grid-cols-sm-fill{grid-column:1/-1}.grid-auto-flow-sm-row{grid-auto-flow:row}.grid-auto-flow-sm-column{grid-auto-flow:column}.grid-auto-flow-sm-dense{grid-auto-flow:dense}.order-sm-first{order:-1}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-last{order:6}.m-sm-0{margin:0}.m-sm-1{margin:.25rem}.m-sm-2{margin:.5rem}.m-sm-3{margin:1rem}.m-sm-4{margin:1.5rem}.m-sm-5{margin:3rem}.m-sm-auto{margin:auto}.mx-sm-0{margin-inline:0}.mx-sm-1{margin-inline:.25rem}.mx-sm-2{margin-inline:.5rem}.mx-sm-3{margin-inline:1rem}.mx-sm-4{margin-inline:1.5rem}.mx-sm-5{margin-inline:3rem}.mx-sm-auto{margin-inline:auto}.my-sm-0{margin-block:0}.my-sm-1{margin-block:.25rem}.my-sm-2{margin-block:.5rem}.my-sm-3{margin-block:1rem}.my-sm-4{margin-block:1.5rem}.my-sm-5{margin-block:3rem}.my-sm-auto{margin-block:auto}.mt-sm-0{margin-block-start:0}.mt-sm-1{margin-block-start:.25rem}.mt-sm-2{margin-block-start:.5rem}.mt-sm-3{margin-block-start:1rem}.mt-sm-4{margin-block-start:1.5rem}.mt-sm-5{margin-block-start:3rem}.mt-sm-auto{margin-block-start:auto}.me-sm-0{margin-inline-end:0}.me-sm-1{margin-inline-end:.25rem}.me-sm-2{margin-inline-end:.5rem}.me-sm-3{margin-inline-end:1rem}.me-sm-4{margin-inline-end:1.5rem}.me-sm-5{margin-inline-end:3rem}.me-sm-auto{margin-inline-end:auto}.mb-sm-0{margin-block-end:0}.mb-sm-1{margin-block-end:.25rem}.mb-sm-2{margin-block-end:.5rem}.mb-sm-3{margin-block-end:1rem}.mb-sm-4{margin-block-end:1.5rem}.mb-sm-5{margin-block-end:3rem}.mb-sm-auto{margin-block-end:auto}.ms-sm-0{margin-inline-start:0}.ms-sm-1{margin-inline-start:.25rem}.ms-sm-2{margin-inline-start:.5rem}.ms-sm-3{margin-inline-start:1rem}.ms-sm-4{margin-inline-start:1.5rem}.ms-sm-5{margin-inline-start:3rem}.ms-sm--1{margin-inline-start:-.25rem}.ms-sm--2{margin-inline-start:-.5rem}.ms-sm-auto{margin-inline-start:auto}.p-sm-0{padding:0}.p-sm-1{padding:.25rem}.p-sm-2{padding:.5rem}.p-sm-3{padding:1rem}.p-sm-4{padding:1.5rem}.p-sm-5{padding:3rem}.px-sm-0{padding-inline:0}.px-sm-1{padding-inline:.25rem}.px-sm-2{padding-inline:.5rem}.px-sm-3{padding-inline:1rem}.px-sm-4{padding-inline:1.5rem}.px-sm-5{padding-inline:3rem}.py-sm-0{padding-block:0}.py-sm-1{padding-block:.25rem}.py-sm-2{padding-block:.5rem}.py-sm-3{padding-block:1rem}.py-sm-4{padding-block:1.5rem}.py-sm-5{padding-block:3rem}.pt-sm-0{padding-block-start:0}.pt-sm-1{padding-block-start:.25rem}.pt-sm-2{padding-block-start:.5rem}.pt-sm-3{padding-block-start:1rem}.pt-sm-4{padding-block-start:1.5rem}.pt-sm-5{padding-block-start:3rem}.pe-sm-0{padding-inline-end:0}.pe-sm-1{padding-inline-end:.25rem}.pe-sm-2{padding-inline-end:.5rem}.pe-sm-3{padding-inline-end:1rem}.pe-sm-4{padding-inline-end:1.5rem}.pe-sm-5{padding-inline-end:3rem}.pb-sm-0{padding-block-end:0}.pb-sm-1{padding-block-end:.25rem}.pb-sm-2{padding-block-end:.5rem}.pb-sm-3{padding-block-end:1rem}.pb-sm-4{padding-block-end:1.5rem}.pb-sm-5{padding-block-end:3rem}.ps-sm-0{padding-inline-start:0}.ps-sm-1{padding-inline-start:.25rem}.ps-sm-2{padding-inline-start:.5rem}.ps-sm-3{padding-inline-start:1rem}.ps-sm-4{padding-inline-start:1.5rem}.ps-sm-5{padding-inline-start:3rem}.gap-sm-0{gap:0}.gap-sm-1{gap:.25rem}.gap-sm-2{gap:.5rem}.gap-sm-3{gap:1rem}.gap-sm-4{gap:1.5rem}.gap-sm-5{gap:3rem}.row-gap-sm-0{row-gap:0}.row-gap-sm-1{row-gap:.25rem}.row-gap-sm-2{row-gap:.5rem}.row-gap-sm-3{row-gap:1rem}.row-gap-sm-4{row-gap:1.5rem}.row-gap-sm-5{row-gap:3rem}.column-gap-sm-0{-moz-column-gap:0;column-gap:0}.column-gap-sm-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-sm-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-sm-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-sm-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-sm-5{-moz-column-gap:3rem;column-gap:3rem}}@media (min-width:768px){.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-block{display:block}.d-md-grid{display:grid}.d-md-inline-grid{display:inline-grid}.d-md-table{display:table}.d-md-table-row{display:table-row}.d-md-table-cell{display:table-cell}.d-md-flex{display:flex}.d-md-inline-flex{display:inline-flex}.d-md-contents{display:contents}.d-md-flow-root{display:flow-root}.d-md-none{display:none}.flex-md-fill{flex:auto}.flex-md-row{flex-direction:row}.flex-md-column{flex-direction:column}.flex-md-row-reverse{flex-direction:row-reverse}.flex-md-column-reverse{flex-direction:column-reverse}.flex-md-grow-0{flex-grow:0}.flex-md-grow-1{flex-grow:1}.flex-md-shrink-0{flex-shrink:0}.flex-md-shrink-1{flex-shrink:1}.flex-md-wrap{flex-wrap:wrap}.flex-md-nowrap{flex-wrap:nowrap}.flex-md-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-md-start{justify-content:flex-start}.justify-content-md-end{justify-content:flex-end}.justify-content-md-center{justify-content:center}.justify-content-md-between{justify-content:space-between}.justify-content-md-around{justify-content:space-around}.justify-content-md-evenly{justify-content:space-evenly}.justify-items-md-start{justify-items:start}.justify-items-md-end{justify-items:end}.justify-items-md-center{justify-items:center}.justify-items-md-stretch{justify-items:stretch}.align-items-md-start{align-items:flex-start}.align-items-md-end{align-items:flex-end}.align-items-md-center{align-items:center}.align-items-md-baseline{align-items:baseline}.align-items-md-stretch{align-items:stretch}.align-content-md-start{align-content:flex-start}.align-content-md-end{align-content:flex-end}.align-content-md-center{align-content:center}.align-content-md-between{align-content:space-between}.align-content-md-around{align-content:space-around}.align-content-md-stretch{align-content:stretch}.align-self-md-auto{align-self:auto}.align-self-md-start{align-self:flex-start}.align-self-md-end{align-self:flex-end}.align-self-md-center{align-self:center}.align-self-md-baseline{align-self:baseline}.align-self-md-stretch{align-self:stretch}.place-items-md-start{place-items:start}.place-items-md-end{place-items:end}.place-items-md-center{place-items:center}.place-items-md-stretch{place-items:stretch stretch}.grid-cols-md-2{grid-template-columns:repeat(2,1fr)}.grid-cols-md-3{grid-template-columns:repeat(3,1fr)}.grid-cols-md-4{grid-template-columns:repeat(4,1fr)}.grid-cols-md-6{grid-template-columns:repeat(6,1fr)}.grid-cols-md-fill{grid-column:1/-1}.grid-auto-flow-md-row{grid-auto-flow:row}.grid-auto-flow-md-column{grid-auto-flow:column}.grid-auto-flow-md-dense{grid-auto-flow:dense}.order-md-first{order:-1}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-last{order:6}.m-md-0{margin:0}.m-md-1{margin:.25rem}.m-md-2{margin:.5rem}.m-md-3{margin:1rem}.m-md-4{margin:1.5rem}.m-md-5{margin:3rem}.m-md-auto{margin:auto}.mx-md-0{margin-inline:0}.mx-md-1{margin-inline:.25rem}.mx-md-2{margin-inline:.5rem}.mx-md-3{margin-inline:1rem}.mx-md-4{margin-inline:1.5rem}.mx-md-5{margin-inline:3rem}.mx-md-auto{margin-inline:auto}.my-md-0{margin-block:0}.my-md-1{margin-block:.25rem}.my-md-2{margin-block:.5rem}.my-md-3{margin-block:1rem}.my-md-4{margin-block:1.5rem}.my-md-5{margin-block:3rem}.my-md-auto{margin-block:auto}.mt-md-0{margin-block-start:0}.mt-md-1{margin-block-start:.25rem}.mt-md-2{margin-block-start:.5rem}.mt-md-3{margin-block-start:1rem}.mt-md-4{margin-block-start:1.5rem}.mt-md-5{margin-block-start:3rem}.mt-md-auto{margin-block-start:auto}.me-md-0{margin-inline-end:0}.me-md-1{margin-inline-end:.25rem}.me-md-2{margin-inline-end:.5rem}.me-md-3{margin-inline-end:1rem}.me-md-4{margin-inline-end:1.5rem}.me-md-5{margin-inline-end:3rem}.me-md-auto{margin-inline-end:auto}.mb-md-0{margin-block-end:0}.mb-md-1{margin-block-end:.25rem}.mb-md-2{margin-block-end:.5rem}.mb-md-3{margin-block-end:1rem}.mb-md-4{margin-block-end:1.5rem}.mb-md-5{margin-block-end:3rem}.mb-md-auto{margin-block-end:auto}.ms-md-0{margin-inline-start:0}.ms-md-1{margin-inline-start:.25rem}.ms-md-2{margin-inline-start:.5rem}.ms-md-3{margin-inline-start:1rem}.ms-md-4{margin-inline-start:1.5rem}.ms-md-5{margin-inline-start:3rem}.ms-md--1{margin-inline-start:-.25rem}.ms-md--2{margin-inline-start:-.5rem}.ms-md-auto{margin-inline-start:auto}.p-md-0{padding:0}.p-md-1{padding:.25rem}.p-md-2{padding:.5rem}.p-md-3{padding:1rem}.p-md-4{padding:1.5rem}.p-md-5{padding:3rem}.px-md-0{padding-inline:0}.px-md-1{padding-inline:.25rem}.px-md-2{padding-inline:.5rem}.px-md-3{padding-inline:1rem}.px-md-4{padding-inline:1.5rem}.px-md-5{padding-inline:3rem}.py-md-0{padding-block:0}.py-md-1{padding-block:.25rem}.py-md-2{padding-block:.5rem}.py-md-3{padding-block:1rem}.py-md-4{padding-block:1.5rem}.py-md-5{padding-block:3rem}.pt-md-0{padding-block-start:0}.pt-md-1{padding-block-start:.25rem}.pt-md-2{padding-block-start:.5rem}.pt-md-3{padding-block-start:1rem}.pt-md-4{padding-block-start:1.5rem}.pt-md-5{padding-block-start:3rem}.pe-md-0{padding-inline-end:0}.pe-md-1{padding-inline-end:.25rem}.pe-md-2{padding-inline-end:.5rem}.pe-md-3{padding-inline-end:1rem}.pe-md-4{padding-inline-end:1.5rem}.pe-md-5{padding-inline-end:3rem}.pb-md-0{padding-block-end:0}.pb-md-1{padding-block-end:.25rem}.pb-md-2{padding-block-end:.5rem}.pb-md-3{padding-block-end:1rem}.pb-md-4{padding-block-end:1.5rem}.pb-md-5{padding-block-end:3rem}.ps-md-0{padding-inline-start:0}.ps-md-1{padding-inline-start:.25rem}.ps-md-2{padding-inline-start:.5rem}.ps-md-3{padding-inline-start:1rem}.ps-md-4{padding-inline-start:1.5rem}.ps-md-5{padding-inline-start:3rem}.gap-md-0{gap:0}.gap-md-1{gap:.25rem}.gap-md-2{gap:.5rem}.gap-md-3{gap:1rem}.gap-md-4{gap:1.5rem}.gap-md-5{gap:3rem}.row-gap-md-0{row-gap:0}.row-gap-md-1{row-gap:.25rem}.row-gap-md-2{row-gap:.5rem}.row-gap-md-3{row-gap:1rem}.row-gap-md-4{row-gap:1.5rem}.row-gap-md-5{row-gap:3rem}.column-gap-md-0{-moz-column-gap:0;column-gap:0}.column-gap-md-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-md-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-md-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-md-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-md-5{-moz-column-gap:3rem;column-gap:3rem}}@media (min-width:1024px){.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-block{display:block}.d-lg-grid{display:grid}.d-lg-inline-grid{display:inline-grid}.d-lg-table{display:table}.d-lg-table-row{display:table-row}.d-lg-table-cell{display:table-cell}.d-lg-flex{display:flex}.d-lg-inline-flex{display:inline-flex}.d-lg-contents{display:contents}.d-lg-flow-root{display:flow-root}.d-lg-none{display:none}.flex-lg-fill{flex:auto}.flex-lg-row{flex-direction:row}.flex-lg-column{flex-direction:column}.flex-lg-row-reverse{flex-direction:row-reverse}.flex-lg-column-reverse{flex-direction:column-reverse}.flex-lg-grow-0{flex-grow:0}.flex-lg-grow-1{flex-grow:1}.flex-lg-shrink-0{flex-shrink:0}.flex-lg-shrink-1{flex-shrink:1}.flex-lg-wrap{flex-wrap:wrap}.flex-lg-nowrap{flex-wrap:nowrap}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-lg-start{justify-content:flex-start}.justify-content-lg-end{justify-content:flex-end}.justify-content-lg-center{justify-content:center}.justify-content-lg-between{justify-content:space-between}.justify-content-lg-around{justify-content:space-around}.justify-content-lg-evenly{justify-content:space-evenly}.justify-items-lg-start{justify-items:start}.justify-items-lg-end{justify-items:end}.justify-items-lg-center{justify-items:center}.justify-items-lg-stretch{justify-items:stretch}.align-items-lg-start{align-items:flex-start}.align-items-lg-end{align-items:flex-end}.align-items-lg-center{align-items:center}.align-items-lg-baseline{align-items:baseline}.align-items-lg-stretch{align-items:stretch}.align-content-lg-start{align-content:flex-start}.align-content-lg-end{align-content:flex-end}.align-content-lg-center{align-content:center}.align-content-lg-between{align-content:space-between}.align-content-lg-around{align-content:space-around}.align-content-lg-stretch{align-content:stretch}.align-self-lg-auto{align-self:auto}.align-self-lg-start{align-self:flex-start}.align-self-lg-end{align-self:flex-end}.align-self-lg-center{align-self:center}.align-self-lg-baseline{align-self:baseline}.align-self-lg-stretch{align-self:stretch}.place-items-lg-start{place-items:start}.place-items-lg-end{place-items:end}.place-items-lg-center{place-items:center}.place-items-lg-stretch{place-items:stretch stretch}.grid-cols-lg-2{grid-template-columns:repeat(2,1fr)}.grid-cols-lg-3{grid-template-columns:repeat(3,1fr)}.grid-cols-lg-4{grid-template-columns:repeat(4,1fr)}.grid-cols-lg-6{grid-template-columns:repeat(6,1fr)}.grid-cols-lg-fill{grid-column:1/-1}.grid-auto-flow-lg-row{grid-auto-flow:row}.grid-auto-flow-lg-column{grid-auto-flow:column}.grid-auto-flow-lg-dense{grid-auto-flow:dense}.order-lg-first{order:-1}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-last{order:6}.m-lg-0{margin:0}.m-lg-1{margin:.25rem}.m-lg-2{margin:.5rem}.m-lg-3{margin:1rem}.m-lg-4{margin:1.5rem}.m-lg-5{margin:3rem}.m-lg-auto{margin:auto}.mx-lg-0{margin-inline:0}.mx-lg-1{margin-inline:.25rem}.mx-lg-2{margin-inline:.5rem}.mx-lg-3{margin-inline:1rem}.mx-lg-4{margin-inline:1.5rem}.mx-lg-5{margin-inline:3rem}.mx-lg-auto{margin-inline:auto}.my-lg-0{margin-block:0}.my-lg-1{margin-block:.25rem}.my-lg-2{margin-block:.5rem}.my-lg-3{margin-block:1rem}.my-lg-4{margin-block:1.5rem}.my-lg-5{margin-block:3rem}.my-lg-auto{margin-block:auto}.mt-lg-0{margin-block-start:0}.mt-lg-1{margin-block-start:.25rem}.mt-lg-2{margin-block-start:.5rem}.mt-lg-3{margin-block-start:1rem}.mt-lg-4{margin-block-start:1.5rem}.mt-lg-5{margin-block-start:3rem}.mt-lg-auto{margin-block-start:auto}.me-lg-0{margin-inline-end:0}.me-lg-1{margin-inline-end:.25rem}.me-lg-2{margin-inline-end:.5rem}.me-lg-3{margin-inline-end:1rem}.me-lg-4{margin-inline-end:1.5rem}.me-lg-5{margin-inline-end:3rem}.me-lg-auto{margin-inline-end:auto}.mb-lg-0{margin-block-end:0}.mb-lg-1{margin-block-end:.25rem}.mb-lg-2{margin-block-end:.5rem}.mb-lg-3{margin-block-end:1rem}.mb-lg-4{margin-block-end:1.5rem}.mb-lg-5{margin-block-end:3rem}.mb-lg-auto{margin-block-end:auto}.ms-lg-0{margin-inline-start:0}.ms-lg-1{margin-inline-start:.25rem}.ms-lg-2{margin-inline-start:.5rem}.ms-lg-3{margin-inline-start:1rem}.ms-lg-4{margin-inline-start:1.5rem}.ms-lg-5{margin-inline-start:3rem}.ms-lg--1{margin-inline-start:-.25rem}.ms-lg--2{margin-inline-start:-.5rem}.ms-lg-auto{margin-inline-start:auto}.p-lg-0{padding:0}.p-lg-1{padding:.25rem}.p-lg-2{padding:.5rem}.p-lg-3{padding:1rem}.p-lg-4{padding:1.5rem}.p-lg-5{padding:3rem}.px-lg-0{padding-inline:0}.px-lg-1{padding-inline:.25rem}.px-lg-2{padding-inline:.5rem}.px-lg-3{padding-inline:1rem}.px-lg-4{padding-inline:1.5rem}.px-lg-5{padding-inline:3rem}.py-lg-0{padding-block:0}.py-lg-1{padding-block:.25rem}.py-lg-2{padding-block:.5rem}.py-lg-3{padding-block:1rem}.py-lg-4{padding-block:1.5rem}.py-lg-5{padding-block:3rem}.pt-lg-0{padding-block-start:0}.pt-lg-1{padding-block-start:.25rem}.pt-lg-2{padding-block-start:.5rem}.pt-lg-3{padding-block-start:1rem}.pt-lg-4{padding-block-start:1.5rem}.pt-lg-5{padding-block-start:3rem}.pe-lg-0{padding-inline-end:0}.pe-lg-1{padding-inline-end:.25rem}.pe-lg-2{padding-inline-end:.5rem}.pe-lg-3{padding-inline-end:1rem}.pe-lg-4{padding-inline-end:1.5rem}.pe-lg-5{padding-inline-end:3rem}.pb-lg-0{padding-block-end:0}.pb-lg-1{padding-block-end:.25rem}.pb-lg-2{padding-block-end:.5rem}.pb-lg-3{padding-block-end:1rem}.pb-lg-4{padding-block-end:1.5rem}.pb-lg-5{padding-block-end:3rem}.ps-lg-0{padding-inline-start:0}.ps-lg-1{padding-inline-start:.25rem}.ps-lg-2{padding-inline-start:.5rem}.ps-lg-3{padding-inline-start:1rem}.ps-lg-4{padding-inline-start:1.5rem}.ps-lg-5{padding-inline-start:3rem}.gap-lg-0{gap:0}.gap-lg-1{gap:.25rem}.gap-lg-2{gap:.5rem}.gap-lg-3{gap:1rem}.gap-lg-4{gap:1.5rem}.gap-lg-5{gap:3rem}.row-gap-lg-0{row-gap:0}.row-gap-lg-1{row-gap:.25rem}.row-gap-lg-2{row-gap:.5rem}.row-gap-lg-3{row-gap:1rem}.row-gap-lg-4{row-gap:1.5rem}.row-gap-lg-5{row-gap:3rem}.column-gap-lg-0{-moz-column-gap:0;column-gap:0}.column-gap-lg-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-lg-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-lg-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-lg-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-lg-5{-moz-column-gap:3rem;column-gap:3rem}}@media (min-width:1280px){.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-block{display:block}.d-xl-grid{display:grid}.d-xl-inline-grid{display:inline-grid}.d-xl-table{display:table}.d-xl-table-row{display:table-row}.d-xl-table-cell{display:table-cell}.d-xl-flex{display:flex}.d-xl-inline-flex{display:inline-flex}.d-xl-contents{display:contents}.d-xl-flow-root{display:flow-root}.d-xl-none{display:none}.flex-xl-fill{flex:auto}.flex-xl-row{flex-direction:row}.flex-xl-column{flex-direction:column}.flex-xl-row-reverse{flex-direction:row-reverse}.flex-xl-column-reverse{flex-direction:column-reverse}.flex-xl-grow-0{flex-grow:0}.flex-xl-grow-1{flex-grow:1}.flex-xl-shrink-0{flex-shrink:0}.flex-xl-shrink-1{flex-shrink:1}.flex-xl-wrap{flex-wrap:wrap}.flex-xl-nowrap{flex-wrap:nowrap}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-xl-start{justify-content:flex-start}.justify-content-xl-end{justify-content:flex-end}.justify-content-xl-center{justify-content:center}.justify-content-xl-between{justify-content:space-between}.justify-content-xl-around{justify-content:space-around}.justify-content-xl-evenly{justify-content:space-evenly}.justify-items-xl-start{justify-items:start}.justify-items-xl-end{justify-items:end}.justify-items-xl-center{justify-items:center}.justify-items-xl-stretch{justify-items:stretch}.align-items-xl-start{align-items:flex-start}.align-items-xl-end{align-items:flex-end}.align-items-xl-center{align-items:center}.align-items-xl-baseline{align-items:baseline}.align-items-xl-stretch{align-items:stretch}.align-content-xl-start{align-content:flex-start}.align-content-xl-end{align-content:flex-end}.align-content-xl-center{align-content:center}.align-content-xl-between{align-content:space-between}.align-content-xl-around{align-content:space-around}.align-content-xl-stretch{align-content:stretch}.align-self-xl-auto{align-self:auto}.align-self-xl-start{align-self:flex-start}.align-self-xl-end{align-self:flex-end}.align-self-xl-center{align-self:center}.align-self-xl-baseline{align-self:baseline}.align-self-xl-stretch{align-self:stretch}.place-items-xl-start{place-items:start}.place-items-xl-end{place-items:end}.place-items-xl-center{place-items:center}.place-items-xl-stretch{place-items:stretch stretch}.grid-cols-xl-2{grid-template-columns:repeat(2,1fr)}.grid-cols-xl-3{grid-template-columns:repeat(3,1fr)}.grid-cols-xl-4{grid-template-columns:repeat(4,1fr)}.grid-cols-xl-6{grid-template-columns:repeat(6,1fr)}.grid-cols-xl-fill{grid-column:1/-1}.grid-auto-flow-xl-row{grid-auto-flow:row}.grid-auto-flow-xl-column{grid-auto-flow:column}.grid-auto-flow-xl-dense{grid-auto-flow:dense}.order-xl-first{order:-1}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-last{order:6}.m-xl-0{margin:0}.m-xl-1{margin:.25rem}.m-xl-2{margin:.5rem}.m-xl-3{margin:1rem}.m-xl-4{margin:1.5rem}.m-xl-5{margin:3rem}.m-xl-auto{margin:auto}.mx-xl-0{margin-inline:0}.mx-xl-1{margin-inline:.25rem}.mx-xl-2{margin-inline:.5rem}.mx-xl-3{margin-inline:1rem}.mx-xl-4{margin-inline:1.5rem}.mx-xl-5{margin-inline:3rem}.mx-xl-auto{margin-inline:auto}.my-xl-0{margin-block:0}.my-xl-1{margin-block:.25rem}.my-xl-2{margin-block:.5rem}.my-xl-3{margin-block:1rem}.my-xl-4{margin-block:1.5rem}.my-xl-5{margin-block:3rem}.my-xl-auto{margin-block:auto}.mt-xl-0{margin-block-start:0}.mt-xl-1{margin-block-start:.25rem}.mt-xl-2{margin-block-start:.5rem}.mt-xl-3{margin-block-start:1rem}.mt-xl-4{margin-block-start:1.5rem}.mt-xl-5{margin-block-start:3rem}.mt-xl-auto{margin-block-start:auto}.me-xl-0{margin-inline-end:0}.me-xl-1{margin-inline-end:.25rem}.me-xl-2{margin-inline-end:.5rem}.me-xl-3{margin-inline-end:1rem}.me-xl-4{margin-inline-end:1.5rem}.me-xl-5{margin-inline-end:3rem}.me-xl-auto{margin-inline-end:auto}.mb-xl-0{margin-block-end:0}.mb-xl-1{margin-block-end:.25rem}.mb-xl-2{margin-block-end:.5rem}.mb-xl-3{margin-block-end:1rem}.mb-xl-4{margin-block-end:1.5rem}.mb-xl-5{margin-block-end:3rem}.mb-xl-auto{margin-block-end:auto}.ms-xl-0{margin-inline-start:0}.ms-xl-1{margin-inline-start:.25rem}.ms-xl-2{margin-inline-start:.5rem}.ms-xl-3{margin-inline-start:1rem}.ms-xl-4{margin-inline-start:1.5rem}.ms-xl-5{margin-inline-start:3rem}.ms-xl--1{margin-inline-start:-.25rem}.ms-xl--2{margin-inline-start:-.5rem}.ms-xl-auto{margin-inline-start:auto}.p-xl-0{padding:0}.p-xl-1{padding:.25rem}.p-xl-2{padding:.5rem}.p-xl-3{padding:1rem}.p-xl-4{padding:1.5rem}.p-xl-5{padding:3rem}.px-xl-0{padding-inline:0}.px-xl-1{padding-inline:.25rem}.px-xl-2{padding-inline:.5rem}.px-xl-3{padding-inline:1rem}.px-xl-4{padding-inline:1.5rem}.px-xl-5{padding-inline:3rem}.py-xl-0{padding-block:0}.py-xl-1{padding-block:.25rem}.py-xl-2{padding-block:.5rem}.py-xl-3{padding-block:1rem}.py-xl-4{padding-block:1.5rem}.py-xl-5{padding-block:3rem}.pt-xl-0{padding-block-start:0}.pt-xl-1{padding-block-start:.25rem}.pt-xl-2{padding-block-start:.5rem}.pt-xl-3{padding-block-start:1rem}.pt-xl-4{padding-block-start:1.5rem}.pt-xl-5{padding-block-start:3rem}.pe-xl-0{padding-inline-end:0}.pe-xl-1{padding-inline-end:.25rem}.pe-xl-2{padding-inline-end:.5rem}.pe-xl-3{padding-inline-end:1rem}.pe-xl-4{padding-inline-end:1.5rem}.pe-xl-5{padding-inline-end:3rem}.pb-xl-0{padding-block-end:0}.pb-xl-1{padding-block-end:.25rem}.pb-xl-2{padding-block-end:.5rem}.pb-xl-3{padding-block-end:1rem}.pb-xl-4{padding-block-end:1.5rem}.pb-xl-5{padding-block-end:3rem}.ps-xl-0{padding-inline-start:0}.ps-xl-1{padding-inline-start:.25rem}.ps-xl-2{padding-inline-start:.5rem}.ps-xl-3{padding-inline-start:1rem}.ps-xl-4{padding-inline-start:1.5rem}.ps-xl-5{padding-inline-start:3rem}.gap-xl-0{gap:0}.gap-xl-1{gap:.25rem}.gap-xl-2{gap:.5rem}.gap-xl-3{gap:1rem}.gap-xl-4{gap:1.5rem}.gap-xl-5{gap:3rem}.row-gap-xl-0{row-gap:0}.row-gap-xl-1{row-gap:.25rem}.row-gap-xl-2{row-gap:.5rem}.row-gap-xl-3{row-gap:1rem}.row-gap-xl-4{row-gap:1.5rem}.row-gap-xl-5{row-gap:3rem}.column-gap-xl-0{-moz-column-gap:0;column-gap:0}.column-gap-xl-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-xl-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-xl-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-xl-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-xl-5{-moz-column-gap:3rem;column-gap:3rem}}@media (min-width:1536px){.d-2xl-inline{display:inline}.d-2xl-inline-block{display:inline-block}.d-2xl-block{display:block}.d-2xl-grid{display:grid}.d-2xl-inline-grid{display:inline-grid}.d-2xl-table{display:table}.d-2xl-table-row{display:table-row}.d-2xl-table-cell{display:table-cell}.d-2xl-flex{display:flex}.d-2xl-inline-flex{display:inline-flex}.d-2xl-contents{display:contents}.d-2xl-flow-root{display:flow-root}.d-2xl-none{display:none}.flex-2xl-fill{flex:auto}.flex-2xl-row{flex-direction:row}.flex-2xl-column{flex-direction:column}.flex-2xl-row-reverse{flex-direction:row-reverse}.flex-2xl-column-reverse{flex-direction:column-reverse}.flex-2xl-grow-0{flex-grow:0}.flex-2xl-grow-1{flex-grow:1}.flex-2xl-shrink-0{flex-shrink:0}.flex-2xl-shrink-1{flex-shrink:1}.flex-2xl-wrap{flex-wrap:wrap}.flex-2xl-nowrap{flex-wrap:nowrap}.flex-2xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-2xl-start{justify-content:flex-start}.justify-content-2xl-end{justify-content:flex-end}.justify-content-2xl-center{justify-content:center}.justify-content-2xl-between{justify-content:space-between}.justify-content-2xl-around{justify-content:space-around}.justify-content-2xl-evenly{justify-content:space-evenly}.justify-items-2xl-start{justify-items:start}.justify-items-2xl-end{justify-items:end}.justify-items-2xl-center{justify-items:center}.justify-items-2xl-stretch{justify-items:stretch}.align-items-2xl-start{align-items:flex-start}.align-items-2xl-end{align-items:flex-end}.align-items-2xl-center{align-items:center}.align-items-2xl-baseline{align-items:baseline}.align-items-2xl-stretch{align-items:stretch}.align-content-2xl-start{align-content:flex-start}.align-content-2xl-end{align-content:flex-end}.align-content-2xl-center{align-content:center}.align-content-2xl-between{align-content:space-between}.align-content-2xl-around{align-content:space-around}.align-content-2xl-stretch{align-content:stretch}.align-self-2xl-auto{align-self:auto}.align-self-2xl-start{align-self:flex-start}.align-self-2xl-end{align-self:flex-end}.align-self-2xl-center{align-self:center}.align-self-2xl-baseline{align-self:baseline}.align-self-2xl-stretch{align-self:stretch}.place-items-2xl-start{place-items:start}.place-items-2xl-end{place-items:end}.place-items-2xl-center{place-items:center}.place-items-2xl-stretch{place-items:stretch stretch}.grid-cols-2xl-2{grid-template-columns:repeat(2,1fr)}.grid-cols-2xl-3{grid-template-columns:repeat(3,1fr)}.grid-cols-2xl-4{grid-template-columns:repeat(4,1fr)}.grid-cols-2xl-6{grid-template-columns:repeat(6,1fr)}.grid-cols-2xl-fill{grid-column:1/-1}.grid-auto-flow-2xl-row{grid-auto-flow:row}.grid-auto-flow-2xl-column{grid-auto-flow:column}.grid-auto-flow-2xl-dense{grid-auto-flow:dense}.order-2xl-first{order:-1}.order-2xl-0{order:0}.order-2xl-1{order:1}.order-2xl-2{order:2}.order-2xl-3{order:3}.order-2xl-4{order:4}.order-2xl-5{order:5}.order-2xl-last{order:6}.m-2xl-0{margin:0}.m-2xl-1{margin:.25rem}.m-2xl-2{margin:.5rem}.m-2xl-3{margin:1rem}.m-2xl-4{margin:1.5rem}.m-2xl-5{margin:3rem}.m-2xl-auto{margin:auto}.mx-2xl-0{margin-inline:0}.mx-2xl-1{margin-inline:.25rem}.mx-2xl-2{margin-inline:.5rem}.mx-2xl-3{margin-inline:1rem}.mx-2xl-4{margin-inline:1.5rem}.mx-2xl-5{margin-inline:3rem}.mx-2xl-auto{margin-inline:auto}.my-2xl-0{margin-block:0}.my-2xl-1{margin-block:.25rem}.my-2xl-2{margin-block:.5rem}.my-2xl-3{margin-block:1rem}.my-2xl-4{margin-block:1.5rem}.my-2xl-5{margin-block:3rem}.my-2xl-auto{margin-block:auto}.mt-2xl-0{margin-block-start:0}.mt-2xl-1{margin-block-start:.25rem}.mt-2xl-2{margin-block-start:.5rem}.mt-2xl-3{margin-block-start:1rem}.mt-2xl-4{margin-block-start:1.5rem}.mt-2xl-5{margin-block-start:3rem}.mt-2xl-auto{margin-block-start:auto}.me-2xl-0{margin-inline-end:0}.me-2xl-1{margin-inline-end:.25rem}.me-2xl-2{margin-inline-end:.5rem}.me-2xl-3{margin-inline-end:1rem}.me-2xl-4{margin-inline-end:1.5rem}.me-2xl-5{margin-inline-end:3rem}.me-2xl-auto{margin-inline-end:auto}.mb-2xl-0{margin-block-end:0}.mb-2xl-1{margin-block-end:.25rem}.mb-2xl-2{margin-block-end:.5rem}.mb-2xl-3{margin-block-end:1rem}.mb-2xl-4{margin-block-end:1.5rem}.mb-2xl-5{margin-block-end:3rem}.mb-2xl-auto{margin-block-end:auto}.ms-2xl-0{margin-inline-start:0}.ms-2xl-1{margin-inline-start:.25rem}.ms-2xl-2{margin-inline-start:.5rem}.ms-2xl-3{margin-inline-start:1rem}.ms-2xl-4{margin-inline-start:1.5rem}.ms-2xl-5{margin-inline-start:3rem}.ms-2xl--1{margin-inline-start:-.25rem}.ms-2xl--2{margin-inline-start:-.5rem}.ms-2xl-auto{margin-inline-start:auto}.p-2xl-0{padding:0}.p-2xl-1{padding:.25rem}.p-2xl-2{padding:.5rem}.p-2xl-3{padding:1rem}.p-2xl-4{padding:1.5rem}.p-2xl-5{padding:3rem}.px-2xl-0{padding-inline:0}.px-2xl-1{padding-inline:.25rem}.px-2xl-2{padding-inline:.5rem}.px-2xl-3{padding-inline:1rem}.px-2xl-4{padding-inline:1.5rem}.px-2xl-5{padding-inline:3rem}.py-2xl-0{padding-block:0}.py-2xl-1{padding-block:.25rem}.py-2xl-2{padding-block:.5rem}.py-2xl-3{padding-block:1rem}.py-2xl-4{padding-block:1.5rem}.py-2xl-5{padding-block:3rem}.pt-2xl-0{padding-block-start:0}.pt-2xl-1{padding-block-start:.25rem}.pt-2xl-2{padding-block-start:.5rem}.pt-2xl-3{padding-block-start:1rem}.pt-2xl-4{padding-block-start:1.5rem}.pt-2xl-5{padding-block-start:3rem}.pe-2xl-0{padding-inline-end:0}.pe-2xl-1{padding-inline-end:.25rem}.pe-2xl-2{padding-inline-end:.5rem}.pe-2xl-3{padding-inline-end:1rem}.pe-2xl-4{padding-inline-end:1.5rem}.pe-2xl-5{padding-inline-end:3rem}.pb-2xl-0{padding-block-end:0}.pb-2xl-1{padding-block-end:.25rem}.pb-2xl-2{padding-block-end:.5rem}.pb-2xl-3{padding-block-end:1rem}.pb-2xl-4{padding-block-end:1.5rem}.pb-2xl-5{padding-block-end:3rem}.ps-2xl-0{padding-inline-start:0}.ps-2xl-1{padding-inline-start:.25rem}.ps-2xl-2{padding-inline-start:.5rem}.ps-2xl-3{padding-inline-start:1rem}.ps-2xl-4{padding-inline-start:1.5rem}.ps-2xl-5{padding-inline-start:3rem}.gap-2xl-0{gap:0}.gap-2xl-1{gap:.25rem}.gap-2xl-2{gap:.5rem}.gap-2xl-3{gap:1rem}.gap-2xl-4{gap:1.5rem}.gap-2xl-5{gap:3rem}.row-gap-2xl-0{row-gap:0}.row-gap-2xl-1{row-gap:.25rem}.row-gap-2xl-2{row-gap:.5rem}.row-gap-2xl-3{row-gap:1rem}.row-gap-2xl-4{row-gap:1.5rem}.row-gap-2xl-5{row-gap:3rem}.column-gap-2xl-0{-moz-column-gap:0;column-gap:0}.column-gap-2xl-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-2xl-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-2xl-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-2xl-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-2xl-5{-moz-column-gap:3rem;column-gap:3rem}}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px}
+@layer layout{.container,.container-fluid,.\32 xl\:container,.xl\:container,.lg\:container,.md\:container,.sm\:container{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-inline:auto}@media (width>=576px){.sm\:container,.container{max-width:540px}}@media (width>=768px){.md\:container,.sm\:container,.container{max-width:720px}}@media (width>=1024px){.lg\:container,.md\:container,.sm\:container,.container{max-width:960px}}@media (width>=1280px){.xl\:container,.lg\:container,.md\:container,.sm\:container,.container{max-width:1200px}}@media (width>=1536px){.\32 xl\:container,.xl\:container,.lg\:container,.md\:container,.sm\:container,.container{max-width:1440px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-inline:calc(-.5 * var(--bs-gutter-x));margin-top:calc(-1 * var(--bs-gutter-y));flex-wrap:wrap;display:flex}.row>*{width:100%;max-width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y);flex-shrink:0}.col{flex:1 0 0}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.3333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.6667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333%}.col-2{flex:none;width:16.6667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.3333%}.col-5{flex:none;width:41.6667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.3333%}.col-8{flex:none;width:66.6667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.3333%}.col-11{flex:none;width:91.6667%}.col-12{flex:none;width:100%}.offset-1{margin-inline-start:8.33333%}.offset-2{margin-inline-start:16.6667%}.offset-3{margin-inline-start:25%}.offset-4{margin-inline-start:33.3333%}.offset-5{margin-inline-start:41.6667%}.offset-6{margin-inline-start:50%}.offset-7{margin-inline-start:58.3333%}.offset-8{margin-inline-start:66.6667%}.offset-9{margin-inline-start:75%}.offset-10{margin-inline-start:83.3333%}.offset-11{margin-inline-start:91.6667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.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 (width>=576px){.sm\:col{flex:1 0 0}.sm\:row-cols-auto>*{flex:none;width:auto}.sm\:row-cols-1>*{flex:none;width:100%}.sm\:row-cols-2>*{flex:none;width:50%}.sm\:row-cols-3>*{flex:none;width:33.3333%}.sm\:row-cols-4>*{flex:none;width:25%}.sm\:row-cols-5>*{flex:none;width:20%}.sm\:row-cols-6>*{flex:none;width:16.6667%}.sm\:col-auto{flex:none;width:auto}.sm\:col-1{flex:none;width:8.33333%}.sm\:col-2{flex:none;width:16.6667%}.sm\:col-3{flex:none;width:25%}.sm\:col-4{flex:none;width:33.3333%}.sm\:col-5{flex:none;width:41.6667%}.sm\:col-6{flex:none;width:50%}.sm\:col-7{flex:none;width:58.3333%}.sm\:col-8{flex:none;width:66.6667%}.sm\:col-9{flex:none;width:75%}.sm\:col-10{flex:none;width:83.3333%}.sm\:col-11{flex:none;width:91.6667%}.sm\:col-12{flex:none;width:100%}.sm\:offset-0{margin-inline-start:0}.sm\:offset-1{margin-inline-start:8.33333%}.sm\:offset-2{margin-inline-start:16.6667%}.sm\:offset-3{margin-inline-start:25%}.sm\:offset-4{margin-inline-start:33.3333%}.sm\:offset-5{margin-inline-start:41.6667%}.sm\:offset-6{margin-inline-start:50%}.sm\:offset-7{margin-inline-start:58.3333%}.sm\:offset-8{margin-inline-start:66.6667%}.sm\:offset-9{margin-inline-start:75%}.sm\:offset-10{margin-inline-start:83.3333%}.sm\:offset-11{margin-inline-start:91.6667%}.sm\:g-0,.sm\:gx-0{--bs-gutter-x:0}.sm\:g-0,.sm\:gy-0{--bs-gutter-y:0}.sm\:g-1,.sm\:gx-1{--bs-gutter-x:.25rem}.sm\:g-1,.sm\:gy-1{--bs-gutter-y:.25rem}.sm\:g-2,.sm\:gx-2{--bs-gutter-x:.5rem}.sm\:g-2,.sm\:gy-2{--bs-gutter-y:.5rem}.sm\:g-3,.sm\:gx-3{--bs-gutter-x:1rem}.sm\:g-3,.sm\:gy-3{--bs-gutter-y:1rem}.sm\:g-4,.sm\:gx-4{--bs-gutter-x:1.5rem}.sm\:g-4,.sm\:gy-4{--bs-gutter-y:1.5rem}.sm\:g-5,.sm\:gx-5{--bs-gutter-x:3rem}.sm\:g-5,.sm\:gy-5{--bs-gutter-y:3rem}}@media (width>=768px){.md\:col{flex:1 0 0}.md\:row-cols-auto>*{flex:none;width:auto}.md\:row-cols-1>*{flex:none;width:100%}.md\:row-cols-2>*{flex:none;width:50%}.md\:row-cols-3>*{flex:none;width:33.3333%}.md\:row-cols-4>*{flex:none;width:25%}.md\:row-cols-5>*{flex:none;width:20%}.md\:row-cols-6>*{flex:none;width:16.6667%}.md\:col-auto{flex:none;width:auto}.md\:col-1{flex:none;width:8.33333%}.md\:col-2{flex:none;width:16.6667%}.md\:col-3{flex:none;width:25%}.md\:col-4{flex:none;width:33.3333%}.md\:col-5{flex:none;width:41.6667%}.md\:col-6{flex:none;width:50%}.md\:col-7{flex:none;width:58.3333%}.md\:col-8{flex:none;width:66.6667%}.md\:col-9{flex:none;width:75%}.md\:col-10{flex:none;width:83.3333%}.md\:col-11{flex:none;width:91.6667%}.md\:col-12{flex:none;width:100%}.md\:offset-0{margin-inline-start:0}.md\:offset-1{margin-inline-start:8.33333%}.md\:offset-2{margin-inline-start:16.6667%}.md\:offset-3{margin-inline-start:25%}.md\:offset-4{margin-inline-start:33.3333%}.md\:offset-5{margin-inline-start:41.6667%}.md\:offset-6{margin-inline-start:50%}.md\:offset-7{margin-inline-start:58.3333%}.md\:offset-8{margin-inline-start:66.6667%}.md\:offset-9{margin-inline-start:75%}.md\:offset-10{margin-inline-start:83.3333%}.md\:offset-11{margin-inline-start:91.6667%}.md\:g-0,.md\:gx-0{--bs-gutter-x:0}.md\:g-0,.md\:gy-0{--bs-gutter-y:0}.md\:g-1,.md\:gx-1{--bs-gutter-x:.25rem}.md\:g-1,.md\:gy-1{--bs-gutter-y:.25rem}.md\:g-2,.md\:gx-2{--bs-gutter-x:.5rem}.md\:g-2,.md\:gy-2{--bs-gutter-y:.5rem}.md\:g-3,.md\:gx-3{--bs-gutter-x:1rem}.md\:g-3,.md\:gy-3{--bs-gutter-y:1rem}.md\:g-4,.md\:gx-4{--bs-gutter-x:1.5rem}.md\:g-4,.md\:gy-4{--bs-gutter-y:1.5rem}.md\:g-5,.md\:gx-5{--bs-gutter-x:3rem}.md\:g-5,.md\:gy-5{--bs-gutter-y:3rem}}@media (width>=1024px){.lg\:col{flex:1 0 0}.lg\:row-cols-auto>*{flex:none;width:auto}.lg\:row-cols-1>*{flex:none;width:100%}.lg\:row-cols-2>*{flex:none;width:50%}.lg\:row-cols-3>*{flex:none;width:33.3333%}.lg\:row-cols-4>*{flex:none;width:25%}.lg\:row-cols-5>*{flex:none;width:20%}.lg\:row-cols-6>*{flex:none;width:16.6667%}.lg\:col-auto{flex:none;width:auto}.lg\:col-1{flex:none;width:8.33333%}.lg\:col-2{flex:none;width:16.6667%}.lg\:col-3{flex:none;width:25%}.lg\:col-4{flex:none;width:33.3333%}.lg\:col-5{flex:none;width:41.6667%}.lg\:col-6{flex:none;width:50%}.lg\:col-7{flex:none;width:58.3333%}.lg\:col-8{flex:none;width:66.6667%}.lg\:col-9{flex:none;width:75%}.lg\:col-10{flex:none;width:83.3333%}.lg\:col-11{flex:none;width:91.6667%}.lg\:col-12{flex:none;width:100%}.lg\:offset-0{margin-inline-start:0}.lg\:offset-1{margin-inline-start:8.33333%}.lg\:offset-2{margin-inline-start:16.6667%}.lg\:offset-3{margin-inline-start:25%}.lg\:offset-4{margin-inline-start:33.3333%}.lg\:offset-5{margin-inline-start:41.6667%}.lg\:offset-6{margin-inline-start:50%}.lg\:offset-7{margin-inline-start:58.3333%}.lg\:offset-8{margin-inline-start:66.6667%}.lg\:offset-9{margin-inline-start:75%}.lg\:offset-10{margin-inline-start:83.3333%}.lg\:offset-11{margin-inline-start:91.6667%}.lg\:g-0,.lg\:gx-0{--bs-gutter-x:0}.lg\:g-0,.lg\:gy-0{--bs-gutter-y:0}.lg\:g-1,.lg\:gx-1{--bs-gutter-x:.25rem}.lg\:g-1,.lg\:gy-1{--bs-gutter-y:.25rem}.lg\:g-2,.lg\:gx-2{--bs-gutter-x:.5rem}.lg\:g-2,.lg\:gy-2{--bs-gutter-y:.5rem}.lg\:g-3,.lg\:gx-3{--bs-gutter-x:1rem}.lg\:g-3,.lg\:gy-3{--bs-gutter-y:1rem}.lg\:g-4,.lg\:gx-4{--bs-gutter-x:1.5rem}.lg\:g-4,.lg\:gy-4{--bs-gutter-y:1.5rem}.lg\:g-5,.lg\:gx-5{--bs-gutter-x:3rem}.lg\:g-5,.lg\:gy-5{--bs-gutter-y:3rem}}@media (width>=1280px){.xl\:col{flex:1 0 0}.xl\:row-cols-auto>*{flex:none;width:auto}.xl\:row-cols-1>*{flex:none;width:100%}.xl\:row-cols-2>*{flex:none;width:50%}.xl\:row-cols-3>*{flex:none;width:33.3333%}.xl\:row-cols-4>*{flex:none;width:25%}.xl\:row-cols-5>*{flex:none;width:20%}.xl\:row-cols-6>*{flex:none;width:16.6667%}.xl\:col-auto{flex:none;width:auto}.xl\:col-1{flex:none;width:8.33333%}.xl\:col-2{flex:none;width:16.6667%}.xl\:col-3{flex:none;width:25%}.xl\:col-4{flex:none;width:33.3333%}.xl\:col-5{flex:none;width:41.6667%}.xl\:col-6{flex:none;width:50%}.xl\:col-7{flex:none;width:58.3333%}.xl\:col-8{flex:none;width:66.6667%}.xl\:col-9{flex:none;width:75%}.xl\:col-10{flex:none;width:83.3333%}.xl\:col-11{flex:none;width:91.6667%}.xl\:col-12{flex:none;width:100%}.xl\:offset-0{margin-inline-start:0}.xl\:offset-1{margin-inline-start:8.33333%}.xl\:offset-2{margin-inline-start:16.6667%}.xl\:offset-3{margin-inline-start:25%}.xl\:offset-4{margin-inline-start:33.3333%}.xl\:offset-5{margin-inline-start:41.6667%}.xl\:offset-6{margin-inline-start:50%}.xl\:offset-7{margin-inline-start:58.3333%}.xl\:offset-8{margin-inline-start:66.6667%}.xl\:offset-9{margin-inline-start:75%}.xl\:offset-10{margin-inline-start:83.3333%}.xl\:offset-11{margin-inline-start:91.6667%}.xl\:g-0,.xl\:gx-0{--bs-gutter-x:0}.xl\:g-0,.xl\:gy-0{--bs-gutter-y:0}.xl\:g-1,.xl\:gx-1{--bs-gutter-x:.25rem}.xl\:g-1,.xl\:gy-1{--bs-gutter-y:.25rem}.xl\:g-2,.xl\:gx-2{--bs-gutter-x:.5rem}.xl\:g-2,.xl\:gy-2{--bs-gutter-y:.5rem}.xl\:g-3,.xl\:gx-3{--bs-gutter-x:1rem}.xl\:g-3,.xl\:gy-3{--bs-gutter-y:1rem}.xl\:g-4,.xl\:gx-4{--bs-gutter-x:1.5rem}.xl\:g-4,.xl\:gy-4{--bs-gutter-y:1.5rem}.xl\:g-5,.xl\:gx-5{--bs-gutter-x:3rem}.xl\:g-5,.xl\:gy-5{--bs-gutter-y:3rem}}@media (width>=1536px){.\32 xl\:col{flex:1 0 0}.\32 xl\:row-cols-auto>*{flex:none;width:auto}.\32 xl\:row-cols-1>*{flex:none;width:100%}.\32 xl\:row-cols-2>*{flex:none;width:50%}.\32 xl\:row-cols-3>*{flex:none;width:33.3333%}.\32 xl\:row-cols-4>*{flex:none;width:25%}.\32 xl\:row-cols-5>*{flex:none;width:20%}.\32 xl\:row-cols-6>*{flex:none;width:16.6667%}.\32 xl\:col-auto{flex:none;width:auto}.\32 xl\:col-1{flex:none;width:8.33333%}.\32 xl\:col-2{flex:none;width:16.6667%}.\32 xl\:col-3{flex:none;width:25%}.\32 xl\:col-4{flex:none;width:33.3333%}.\32 xl\:col-5{flex:none;width:41.6667%}.\32 xl\:col-6{flex:none;width:50%}.\32 xl\:col-7{flex:none;width:58.3333%}.\32 xl\:col-8{flex:none;width:66.6667%}.\32 xl\:col-9{flex:none;width:75%}.\32 xl\:col-10{flex:none;width:83.3333%}.\32 xl\:col-11{flex:none;width:91.6667%}.\32 xl\:col-12{flex:none;width:100%}.\32 xl\:offset-0{margin-inline-start:0}.\32 xl\:offset-1{margin-inline-start:8.33333%}.\32 xl\:offset-2{margin-inline-start:16.6667%}.\32 xl\:offset-3{margin-inline-start:25%}.\32 xl\:offset-4{margin-inline-start:33.3333%}.\32 xl\:offset-5{margin-inline-start:41.6667%}.\32 xl\:offset-6{margin-inline-start:50%}.\32 xl\:offset-7{margin-inline-start:58.3333%}.\32 xl\:offset-8{margin-inline-start:66.6667%}.\32 xl\:offset-9{margin-inline-start:75%}.\32 xl\:offset-10{margin-inline-start:83.3333%}.\32 xl\:offset-11{margin-inline-start:91.6667%}.\32 xl\:g-0,.\32 xl\:gx-0{--bs-gutter-x:0}.\32 xl\:g-0,.\32 xl\:gy-0{--bs-gutter-y:0}.\32 xl\:g-1,.\32 xl\:gx-1{--bs-gutter-x:.25rem}.\32 xl\:g-1,.\32 xl\:gy-1{--bs-gutter-y:.25rem}.\32 xl\:g-2,.\32 xl\:gx-2{--bs-gutter-x:.5rem}.\32 xl\:g-2,.\32 xl\:gy-2{--bs-gutter-y:.5rem}.\32 xl\:g-3,.\32 xl\:gx-3{--bs-gutter-x:1rem}.\32 xl\:g-3,.\32 xl\:gy-3{--bs-gutter-y:1rem}.\32 xl\:g-4,.\32 xl\:gx-4{--bs-gutter-x:1.5rem}.\32 xl\:g-4,.\32 xl\:gy-4{--bs-gutter-y:1.5rem}.\32 xl\:g-5,.\32 xl\:gx-5{--bs-gutter-x:3rem}.\32 xl\:g-5,.\32 xl\:gy-5{--bs-gutter-y:3rem}}.grid{--bs-columns:12;--bs-rows:1;--bs-gap:1.5rem;grid-template-rows:repeat(var(--bs-rows), 1fr);grid-template-columns:repeat(var(--bs-columns), 1fr);gap:var(--bs-gap);display:grid}.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 (width>=576px){.sm\:g-col-1{grid-column:auto/span 1}.sm\:g-col-2{grid-column:auto/span 2}.sm\:g-col-3{grid-column:auto/span 3}.sm\:g-col-4{grid-column:auto/span 4}.sm\:g-col-5{grid-column:auto/span 5}.sm\:g-col-6{grid-column:auto/span 6}.sm\:g-col-7{grid-column:auto/span 7}.sm\:g-col-8{grid-column:auto/span 8}.sm\:g-col-9{grid-column:auto/span 9}.sm\:g-col-10{grid-column:auto/span 10}.sm\:g-col-11{grid-column:auto/span 11}.sm\:g-col-12{grid-column:auto/span 12}.sm\:g-start-1{grid-column-start:1}.sm\:g-start-2{grid-column-start:2}.sm\:g-start-3{grid-column-start:3}.sm\:g-start-4{grid-column-start:4}.sm\:g-start-5{grid-column-start:5}.sm\:g-start-6{grid-column-start:6}.sm\:g-start-7{grid-column-start:7}.sm\:g-start-8{grid-column-start:8}.sm\:g-start-9{grid-column-start:9}.sm\:g-start-10{grid-column-start:10}.sm\:g-start-11{grid-column-start:11}}@media (width>=768px){.md\:g-col-1{grid-column:auto/span 1}.md\:g-col-2{grid-column:auto/span 2}.md\:g-col-3{grid-column:auto/span 3}.md\:g-col-4{grid-column:auto/span 4}.md\:g-col-5{grid-column:auto/span 5}.md\:g-col-6{grid-column:auto/span 6}.md\:g-col-7{grid-column:auto/span 7}.md\:g-col-8{grid-column:auto/span 8}.md\:g-col-9{grid-column:auto/span 9}.md\:g-col-10{grid-column:auto/span 10}.md\:g-col-11{grid-column:auto/span 11}.md\:g-col-12{grid-column:auto/span 12}.md\:g-start-1{grid-column-start:1}.md\:g-start-2{grid-column-start:2}.md\:g-start-3{grid-column-start:3}.md\:g-start-4{grid-column-start:4}.md\:g-start-5{grid-column-start:5}.md\:g-start-6{grid-column-start:6}.md\:g-start-7{grid-column-start:7}.md\:g-start-8{grid-column-start:8}.md\:g-start-9{grid-column-start:9}.md\:g-start-10{grid-column-start:10}.md\:g-start-11{grid-column-start:11}}@media (width>=1024px){.lg\:g-col-1{grid-column:auto/span 1}.lg\:g-col-2{grid-column:auto/span 2}.lg\:g-col-3{grid-column:auto/span 3}.lg\:g-col-4{grid-column:auto/span 4}.lg\:g-col-5{grid-column:auto/span 5}.lg\:g-col-6{grid-column:auto/span 6}.lg\:g-col-7{grid-column:auto/span 7}.lg\:g-col-8{grid-column:auto/span 8}.lg\:g-col-9{grid-column:auto/span 9}.lg\:g-col-10{grid-column:auto/span 10}.lg\:g-col-11{grid-column:auto/span 11}.lg\:g-col-12{grid-column:auto/span 12}.lg\:g-start-1{grid-column-start:1}.lg\:g-start-2{grid-column-start:2}.lg\:g-start-3{grid-column-start:3}.lg\:g-start-4{grid-column-start:4}.lg\:g-start-5{grid-column-start:5}.lg\:g-start-6{grid-column-start:6}.lg\:g-start-7{grid-column-start:7}.lg\:g-start-8{grid-column-start:8}.lg\:g-start-9{grid-column-start:9}.lg\:g-start-10{grid-column-start:10}.lg\:g-start-11{grid-column-start:11}}@media (width>=1280px){.xl\:g-col-1{grid-column:auto/span 1}.xl\:g-col-2{grid-column:auto/span 2}.xl\:g-col-3{grid-column:auto/span 3}.xl\:g-col-4{grid-column:auto/span 4}.xl\:g-col-5{grid-column:auto/span 5}.xl\:g-col-6{grid-column:auto/span 6}.xl\:g-col-7{grid-column:auto/span 7}.xl\:g-col-8{grid-column:auto/span 8}.xl\:g-col-9{grid-column:auto/span 9}.xl\:g-col-10{grid-column:auto/span 10}.xl\:g-col-11{grid-column:auto/span 11}.xl\:g-col-12{grid-column:auto/span 12}.xl\:g-start-1{grid-column-start:1}.xl\:g-start-2{grid-column-start:2}.xl\:g-start-3{grid-column-start:3}.xl\:g-start-4{grid-column-start:4}.xl\:g-start-5{grid-column-start:5}.xl\:g-start-6{grid-column-start:6}.xl\:g-start-7{grid-column-start:7}.xl\:g-start-8{grid-column-start:8}.xl\:g-start-9{grid-column-start:9}.xl\:g-start-10{grid-column-start:10}.xl\:g-start-11{grid-column-start:11}}@media (width>=1536px){.\32 xl\:g-col-1{grid-column:auto/span 1}.\32 xl\:g-col-2{grid-column:auto/span 2}.\32 xl\:g-col-3{grid-column:auto/span 3}.\32 xl\:g-col-4{grid-column:auto/span 4}.\32 xl\:g-col-5{grid-column:auto/span 5}.\32 xl\:g-col-6{grid-column:auto/span 6}.\32 xl\:g-col-7{grid-column:auto/span 7}.\32 xl\:g-col-8{grid-column:auto/span 8}.\32 xl\:g-col-9{grid-column:auto/span 9}.\32 xl\:g-col-10{grid-column:auto/span 10}.\32 xl\:g-col-11{grid-column:auto/span 11}.\32 xl\:g-col-12{grid-column:auto/span 12}.\32 xl\:g-start-1{grid-column-start:1}.\32 xl\:g-start-2{grid-column-start:2}.\32 xl\:g-start-3{grid-column-start:3}.\32 xl\:g-start-4{grid-column-start:4}.\32 xl\:g-start-5{grid-column-start:5}.\32 xl\:g-start-6{grid-column-start:6}.\32 xl\:g-start-7{grid-column-start:7}.\32 xl\:g-start-8{grid-column-start:8}.\32 xl\:g-start-9{grid-column-start:9}.\32 xl\:g-start-10{grid-column-start:10}.\32 xl\:g-start-11{grid-column-start:11}}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-fill{--bs-gap:1.5rem;gap:var(--bs-gap);grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:row;display:grid}}@layer utilities{.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.flex-fill{flex:auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch stretch}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:.25rem}.mx-2{margin-inline:.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:.25rem}.my-2{margin-block:.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:.25rem}.mt-2{margin-block-start:.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:.25rem}.mb-2{margin-block-end:.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms--1{margin-inline-start:-.25rem}.ms--2{margin-inline-start:-.5rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:.25rem}.px-2{padding-inline:.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:.25rem}.py-2{padding-block:.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:.25rem}.pt-2{padding-block-start:.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:.25rem}.pb-2{padding-block-end:.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:1rem}.row-gap-4{row-gap:1.5rem}.row-gap-5{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-5{-moz-column-gap:3rem;column-gap:3rem}@media (width>=576px){.sm\:d-inline{display:inline}.sm\:d-inline-block{display:inline-block}.sm\:d-block{display:block}.sm\:d-grid{display:grid}.sm\:d-inline-grid{display:inline-grid}.sm\:d-table{display:table}.sm\:d-table-row{display:table-row}.sm\:d-table-cell{display:table-cell}.sm\:d-flex{display:flex}.sm\:d-inline-flex{display:inline-flex}.sm\:d-contents{display:contents}.sm\:d-flow-root{display:flow-root}.sm\:d-none{display:none}.sm\:flex-fill{flex:auto}.sm\:flex-row{flex-direction:row}.sm\:flex-column{flex-direction:column}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-column-reverse{flex-direction:column-reverse}.sm\:flex-grow-0{flex-grow:0}.sm\:flex-grow-1{flex-grow:1}.sm\:flex-shrink-0{flex-shrink:0}.sm\:flex-shrink-1{flex-shrink:1}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\:justify-content-start{justify-content:flex-start}.sm\:justify-content-end{justify-content:flex-end}.sm\:justify-content-center{justify-content:center}.sm\:justify-content-between{justify-content:space-between}.sm\:justify-content-around{justify-content:space-around}.sm\:justify-content-evenly{justify-content:space-evenly}.sm\:justify-items-start{justify-items:start}.sm\:justify-items-end{justify-items:end}.sm\:justify-items-center{justify-items:center}.sm\:justify-items-stretch{justify-items:stretch}.sm\:align-items-start{align-items:flex-start}.sm\:align-items-end{align-items:flex-end}.sm\:align-items-center{align-items:center}.sm\:align-items-baseline{align-items:baseline}.sm\:align-items-stretch{align-items:stretch}.sm\:align-content-start{align-content:flex-start}.sm\:align-content-end{align-content:flex-end}.sm\:align-content-center{align-content:center}.sm\:align-content-between{align-content:space-between}.sm\:align-content-around{align-content:space-around}.sm\:align-content-stretch{align-content:stretch}.sm\:align-self-auto{align-self:auto}.sm\:align-self-start{align-self:flex-start}.sm\:align-self-end{align-self:flex-end}.sm\:align-self-center{align-self:center}.sm\:align-self-baseline{align-self:baseline}.sm\:align-self-stretch{align-self:stretch}.sm\:place-items-start{place-items:start}.sm\:place-items-end{place-items:end}.sm\:place-items-center{place-items:center}.sm\:place-items-stretch{place-items:stretch stretch}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.sm\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.sm\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.sm\:grid-cols-fill{grid-column:1/-1}.sm\:grid-auto-flow-row{grid-auto-flow:row}.sm\:grid-auto-flow-column{grid-auto-flow:column}.sm\:grid-auto-flow-dense{grid-auto-flow:dense}.sm\:order-first{order:-1}.sm\:order-0{order:0}.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:order-3{order:3}.sm\:order-4{order:4}.sm\:order-5{order:5}.sm\:order-last{order:6}.sm\:m-0{margin:0}.sm\:m-1{margin:.25rem}.sm\:m-2{margin:.5rem}.sm\:m-3{margin:1rem}.sm\:m-4{margin:1.5rem}.sm\:m-5{margin:3rem}.sm\:m-auto{margin:auto}.sm\:mx-0{margin-inline:0}.sm\:mx-1{margin-inline:.25rem}.sm\:mx-2{margin-inline:.5rem}.sm\:mx-3{margin-inline:1rem}.sm\:mx-4{margin-inline:1.5rem}.sm\:mx-5{margin-inline:3rem}.sm\:mx-auto{margin-inline:auto}.sm\:my-0{margin-block:0}.sm\:my-1{margin-block:.25rem}.sm\:my-2{margin-block:.5rem}.sm\:my-3{margin-block:1rem}.sm\:my-4{margin-block:1.5rem}.sm\:my-5{margin-block:3rem}.sm\:my-auto{margin-block:auto}.sm\:mt-0{margin-block-start:0}.sm\:mt-1{margin-block-start:.25rem}.sm\:mt-2{margin-block-start:.5rem}.sm\:mt-3{margin-block-start:1rem}.sm\:mt-4{margin-block-start:1.5rem}.sm\:mt-5{margin-block-start:3rem}.sm\:mt-auto{margin-block-start:auto}.sm\:me-0{margin-inline-end:0}.sm\:me-1{margin-inline-end:.25rem}.sm\:me-2{margin-inline-end:.5rem}.sm\:me-3{margin-inline-end:1rem}.sm\:me-4{margin-inline-end:1.5rem}.sm\:me-5{margin-inline-end:3rem}.sm\:me-auto{margin-inline-end:auto}.sm\:mb-0{margin-block-end:0}.sm\:mb-1{margin-block-end:.25rem}.sm\:mb-2{margin-block-end:.5rem}.sm\:mb-3{margin-block-end:1rem}.sm\:mb-4{margin-block-end:1.5rem}.sm\:mb-5{margin-block-end:3rem}.sm\:mb-auto{margin-block-end:auto}.sm\:ms-0{margin-inline-start:0}.sm\:ms-1{margin-inline-start:.25rem}.sm\:ms-2{margin-inline-start:.5rem}.sm\:ms-3{margin-inline-start:1rem}.sm\:ms-4{margin-inline-start:1.5rem}.sm\:ms-5{margin-inline-start:3rem}.sm\:ms--1{margin-inline-start:-.25rem}.sm\:ms--2{margin-inline-start:-.5rem}.sm\:ms-auto{margin-inline-start:auto}.sm\:p-0{padding:0}.sm\:p-1{padding:.25rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:1rem}.sm\:p-4{padding:1.5rem}.sm\:p-5{padding:3rem}.sm\:px-0{padding-inline:0}.sm\:px-1{padding-inline:.25rem}.sm\:px-2{padding-inline:.5rem}.sm\:px-3{padding-inline:1rem}.sm\:px-4{padding-inline:1.5rem}.sm\:px-5{padding-inline:3rem}.sm\:py-0{padding-block:0}.sm\:py-1{padding-block:.25rem}.sm\:py-2{padding-block:.5rem}.sm\:py-3{padding-block:1rem}.sm\:py-4{padding-block:1.5rem}.sm\:py-5{padding-block:3rem}.sm\:pt-0{padding-block-start:0}.sm\:pt-1{padding-block-start:.25rem}.sm\:pt-2{padding-block-start:.5rem}.sm\:pt-3{padding-block-start:1rem}.sm\:pt-4{padding-block-start:1.5rem}.sm\:pt-5{padding-block-start:3rem}.sm\:pe-0{padding-inline-end:0}.sm\:pe-1{padding-inline-end:.25rem}.sm\:pe-2{padding-inline-end:.5rem}.sm\:pe-3{padding-inline-end:1rem}.sm\:pe-4{padding-inline-end:1.5rem}.sm\:pe-5{padding-inline-end:3rem}.sm\:pb-0{padding-block-end:0}.sm\:pb-1{padding-block-end:.25rem}.sm\:pb-2{padding-block-end:.5rem}.sm\:pb-3{padding-block-end:1rem}.sm\:pb-4{padding-block-end:1.5rem}.sm\:pb-5{padding-block-end:3rem}.sm\:ps-0{padding-inline-start:0}.sm\:ps-1{padding-inline-start:.25rem}.sm\:ps-2{padding-inline-start:.5rem}.sm\:ps-3{padding-inline-start:1rem}.sm\:ps-4{padding-inline-start:1.5rem}.sm\:ps-5{padding-inline-start:3rem}.sm\:gap-0{gap:0}.sm\:gap-1{gap:.25rem}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:1rem}.sm\:gap-4{gap:1.5rem}.sm\:gap-5{gap:3rem}.sm\:row-gap-0{row-gap:0}.sm\:row-gap-1{row-gap:.25rem}.sm\:row-gap-2{row-gap:.5rem}.sm\:row-gap-3{row-gap:1rem}.sm\:row-gap-4{row-gap:1.5rem}.sm\:row-gap-5{row-gap:3rem}.sm\:column-gap-0{-moz-column-gap:0;column-gap:0}.sm\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.sm\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.sm\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.sm\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}}@media (width>=768px){.md\:d-inline{display:inline}.md\:d-inline-block{display:inline-block}.md\:d-block{display:block}.md\:d-grid{display:grid}.md\:d-inline-grid{display:inline-grid}.md\:d-table{display:table}.md\:d-table-row{display:table-row}.md\:d-table-cell{display:table-cell}.md\:d-flex{display:flex}.md\:d-inline-flex{display:inline-flex}.md\:d-contents{display:contents}.md\:d-flow-root{display:flow-root}.md\:d-none{display:none}.md\:flex-fill{flex:auto}.md\:flex-row{flex-direction:row}.md\:flex-column{flex-direction:column}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-column-reverse{flex-direction:column-reverse}.md\:flex-grow-0{flex-grow:0}.md\:flex-grow-1{flex-grow:1}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-shrink-1{flex-shrink:1}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-nowrap{flex-wrap:nowrap}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\:justify-content-start{justify-content:flex-start}.md\:justify-content-end{justify-content:flex-end}.md\:justify-content-center{justify-content:center}.md\:justify-content-between{justify-content:space-between}.md\:justify-content-around{justify-content:space-around}.md\:justify-content-evenly{justify-content:space-evenly}.md\:justify-items-start{justify-items:start}.md\:justify-items-end{justify-items:end}.md\:justify-items-center{justify-items:center}.md\:justify-items-stretch{justify-items:stretch}.md\:align-items-start{align-items:flex-start}.md\:align-items-end{align-items:flex-end}.md\:align-items-center{align-items:center}.md\:align-items-baseline{align-items:baseline}.md\:align-items-stretch{align-items:stretch}.md\:align-content-start{align-content:flex-start}.md\:align-content-end{align-content:flex-end}.md\:align-content-center{align-content:center}.md\:align-content-between{align-content:space-between}.md\:align-content-around{align-content:space-around}.md\:align-content-stretch{align-content:stretch}.md\:align-self-auto{align-self:auto}.md\:align-self-start{align-self:flex-start}.md\:align-self-end{align-self:flex-end}.md\:align-self-center{align-self:center}.md\:align-self-baseline{align-self:baseline}.md\:align-self-stretch{align-self:stretch}.md\:place-items-start{place-items:start}.md\:place-items-end{place-items:end}.md\:place-items-center{place-items:center}.md\:place-items-stretch{place-items:stretch stretch}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.md\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.md\:grid-cols-fill{grid-column:1/-1}.md\:grid-auto-flow-row{grid-auto-flow:row}.md\:grid-auto-flow-column{grid-auto-flow:column}.md\:grid-auto-flow-dense{grid-auto-flow:dense}.md\:order-first{order:-1}.md\:order-0{order:0}.md\:order-1{order:1}.md\:order-2{order:2}.md\:order-3{order:3}.md\:order-4{order:4}.md\:order-5{order:5}.md\:order-last{order:6}.md\:m-0{margin:0}.md\:m-1{margin:.25rem}.md\:m-2{margin:.5rem}.md\:m-3{margin:1rem}.md\:m-4{margin:1.5rem}.md\:m-5{margin:3rem}.md\:m-auto{margin:auto}.md\:mx-0{margin-inline:0}.md\:mx-1{margin-inline:.25rem}.md\:mx-2{margin-inline:.5rem}.md\:mx-3{margin-inline:1rem}.md\:mx-4{margin-inline:1.5rem}.md\:mx-5{margin-inline:3rem}.md\:mx-auto{margin-inline:auto}.md\:my-0{margin-block:0}.md\:my-1{margin-block:.25rem}.md\:my-2{margin-block:.5rem}.md\:my-3{margin-block:1rem}.md\:my-4{margin-block:1.5rem}.md\:my-5{margin-block:3rem}.md\:my-auto{margin-block:auto}.md\:mt-0{margin-block-start:0}.md\:mt-1{margin-block-start:.25rem}.md\:mt-2{margin-block-start:.5rem}.md\:mt-3{margin-block-start:1rem}.md\:mt-4{margin-block-start:1.5rem}.md\:mt-5{margin-block-start:3rem}.md\:mt-auto{margin-block-start:auto}.md\:me-0{margin-inline-end:0}.md\:me-1{margin-inline-end:.25rem}.md\:me-2{margin-inline-end:.5rem}.md\:me-3{margin-inline-end:1rem}.md\:me-4{margin-inline-end:1.5rem}.md\:me-5{margin-inline-end:3rem}.md\:me-auto{margin-inline-end:auto}.md\:mb-0{margin-block-end:0}.md\:mb-1{margin-block-end:.25rem}.md\:mb-2{margin-block-end:.5rem}.md\:mb-3{margin-block-end:1rem}.md\:mb-4{margin-block-end:1.5rem}.md\:mb-5{margin-block-end:3rem}.md\:mb-auto{margin-block-end:auto}.md\:ms-0{margin-inline-start:0}.md\:ms-1{margin-inline-start:.25rem}.md\:ms-2{margin-inline-start:.5rem}.md\:ms-3{margin-inline-start:1rem}.md\:ms-4{margin-inline-start:1.5rem}.md\:ms-5{margin-inline-start:3rem}.md\:ms--1{margin-inline-start:-.25rem}.md\:ms--2{margin-inline-start:-.5rem}.md\:ms-auto{margin-inline-start:auto}.md\:p-0{padding:0}.md\:p-1{padding:.25rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:1rem}.md\:p-4{padding:1.5rem}.md\:p-5{padding:3rem}.md\:px-0{padding-inline:0}.md\:px-1{padding-inline:.25rem}.md\:px-2{padding-inline:.5rem}.md\:px-3{padding-inline:1rem}.md\:px-4{padding-inline:1.5rem}.md\:px-5{padding-inline:3rem}.md\:py-0{padding-block:0}.md\:py-1{padding-block:.25rem}.md\:py-2{padding-block:.5rem}.md\:py-3{padding-block:1rem}.md\:py-4{padding-block:1.5rem}.md\:py-5{padding-block:3rem}.md\:pt-0{padding-block-start:0}.md\:pt-1{padding-block-start:.25rem}.md\:pt-2{padding-block-start:.5rem}.md\:pt-3{padding-block-start:1rem}.md\:pt-4{padding-block-start:1.5rem}.md\:pt-5{padding-block-start:3rem}.md\:pe-0{padding-inline-end:0}.md\:pe-1{padding-inline-end:.25rem}.md\:pe-2{padding-inline-end:.5rem}.md\:pe-3{padding-inline-end:1rem}.md\:pe-4{padding-inline-end:1.5rem}.md\:pe-5{padding-inline-end:3rem}.md\:pb-0{padding-block-end:0}.md\:pb-1{padding-block-end:.25rem}.md\:pb-2{padding-block-end:.5rem}.md\:pb-3{padding-block-end:1rem}.md\:pb-4{padding-block-end:1.5rem}.md\:pb-5{padding-block-end:3rem}.md\:ps-0{padding-inline-start:0}.md\:ps-1{padding-inline-start:.25rem}.md\:ps-2{padding-inline-start:.5rem}.md\:ps-3{padding-inline-start:1rem}.md\:ps-4{padding-inline-start:1.5rem}.md\:ps-5{padding-inline-start:3rem}.md\:gap-0{gap:0}.md\:gap-1{gap:.25rem}.md\:gap-2{gap:.5rem}.md\:gap-3{gap:1rem}.md\:gap-4{gap:1.5rem}.md\:gap-5{gap:3rem}.md\:row-gap-0{row-gap:0}.md\:row-gap-1{row-gap:.25rem}.md\:row-gap-2{row-gap:.5rem}.md\:row-gap-3{row-gap:1rem}.md\:row-gap-4{row-gap:1.5rem}.md\:row-gap-5{row-gap:3rem}.md\:column-gap-0{-moz-column-gap:0;column-gap:0}.md\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.md\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.md\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.md\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.md\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}}@media (width>=1024px){.lg\:d-inline{display:inline}.lg\:d-inline-block{display:inline-block}.lg\:d-block{display:block}.lg\:d-grid{display:grid}.lg\:d-inline-grid{display:inline-grid}.lg\:d-table{display:table}.lg\:d-table-row{display:table-row}.lg\:d-table-cell{display:table-cell}.lg\:d-flex{display:flex}.lg\:d-inline-flex{display:inline-flex}.lg\:d-contents{display:contents}.lg\:d-flow-root{display:flow-root}.lg\:d-none{display:none}.lg\:flex-fill{flex:auto}.lg\:flex-row{flex-direction:row}.lg\:flex-column{flex-direction:column}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-column-reverse{flex-direction:column-reverse}.lg\:flex-grow-0{flex-grow:0}.lg\:flex-grow-1{flex-grow:1}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-shrink-1{flex-shrink:1}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\:justify-content-start{justify-content:flex-start}.lg\:justify-content-end{justify-content:flex-end}.lg\:justify-content-center{justify-content:center}.lg\:justify-content-between{justify-content:space-between}.lg\:justify-content-around{justify-content:space-around}.lg\:justify-content-evenly{justify-content:space-evenly}.lg\:justify-items-start{justify-items:start}.lg\:justify-items-end{justify-items:end}.lg\:justify-items-center{justify-items:center}.lg\:justify-items-stretch{justify-items:stretch}.lg\:align-items-start{align-items:flex-start}.lg\:align-items-end{align-items:flex-end}.lg\:align-items-center{align-items:center}.lg\:align-items-baseline{align-items:baseline}.lg\:align-items-stretch{align-items:stretch}.lg\:align-content-start{align-content:flex-start}.lg\:align-content-end{align-content:flex-end}.lg\:align-content-center{align-content:center}.lg\:align-content-between{align-content:space-between}.lg\:align-content-around{align-content:space-around}.lg\:align-content-stretch{align-content:stretch}.lg\:align-self-auto{align-self:auto}.lg\:align-self-start{align-self:flex-start}.lg\:align-self-end{align-self:flex-end}.lg\:align-self-center{align-self:center}.lg\:align-self-baseline{align-self:baseline}.lg\:align-self-stretch{align-self:stretch}.lg\:place-items-start{place-items:start}.lg\:place-items-end{place-items:end}.lg\:place-items-center{place-items:center}.lg\:place-items-stretch{place-items:stretch stretch}.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.lg\:grid-cols-fill{grid-column:1/-1}.lg\:grid-auto-flow-row{grid-auto-flow:row}.lg\:grid-auto-flow-column{grid-auto-flow:column}.lg\:grid-auto-flow-dense{grid-auto-flow:dense}.lg\:order-first{order:-1}.lg\:order-0{order:0}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:order-3{order:3}.lg\:order-4{order:4}.lg\:order-5{order:5}.lg\:order-last{order:6}.lg\:m-0{margin:0}.lg\:m-1{margin:.25rem}.lg\:m-2{margin:.5rem}.lg\:m-3{margin:1rem}.lg\:m-4{margin:1.5rem}.lg\:m-5{margin:3rem}.lg\:m-auto{margin:auto}.lg\:mx-0{margin-inline:0}.lg\:mx-1{margin-inline:.25rem}.lg\:mx-2{margin-inline:.5rem}.lg\:mx-3{margin-inline:1rem}.lg\:mx-4{margin-inline:1.5rem}.lg\:mx-5{margin-inline:3rem}.lg\:mx-auto{margin-inline:auto}.lg\:my-0{margin-block:0}.lg\:my-1{margin-block:.25rem}.lg\:my-2{margin-block:.5rem}.lg\:my-3{margin-block:1rem}.lg\:my-4{margin-block:1.5rem}.lg\:my-5{margin-block:3rem}.lg\:my-auto{margin-block:auto}.lg\:mt-0{margin-block-start:0}.lg\:mt-1{margin-block-start:.25rem}.lg\:mt-2{margin-block-start:.5rem}.lg\:mt-3{margin-block-start:1rem}.lg\:mt-4{margin-block-start:1.5rem}.lg\:mt-5{margin-block-start:3rem}.lg\:mt-auto{margin-block-start:auto}.lg\:me-0{margin-inline-end:0}.lg\:me-1{margin-inline-end:.25rem}.lg\:me-2{margin-inline-end:.5rem}.lg\:me-3{margin-inline-end:1rem}.lg\:me-4{margin-inline-end:1.5rem}.lg\:me-5{margin-inline-end:3rem}.lg\:me-auto{margin-inline-end:auto}.lg\:mb-0{margin-block-end:0}.lg\:mb-1{margin-block-end:.25rem}.lg\:mb-2{margin-block-end:.5rem}.lg\:mb-3{margin-block-end:1rem}.lg\:mb-4{margin-block-end:1.5rem}.lg\:mb-5{margin-block-end:3rem}.lg\:mb-auto{margin-block-end:auto}.lg\:ms-0{margin-inline-start:0}.lg\:ms-1{margin-inline-start:.25rem}.lg\:ms-2{margin-inline-start:.5rem}.lg\:ms-3{margin-inline-start:1rem}.lg\:ms-4{margin-inline-start:1.5rem}.lg\:ms-5{margin-inline-start:3rem}.lg\:ms--1{margin-inline-start:-.25rem}.lg\:ms--2{margin-inline-start:-.5rem}.lg\:ms-auto{margin-inline-start:auto}.lg\:p-0{padding:0}.lg\:p-1{padding:.25rem}.lg\:p-2{padding:.5rem}.lg\:p-3{padding:1rem}.lg\:p-4{padding:1.5rem}.lg\:p-5{padding:3rem}.lg\:px-0{padding-inline:0}.lg\:px-1{padding-inline:.25rem}.lg\:px-2{padding-inline:.5rem}.lg\:px-3{padding-inline:1rem}.lg\:px-4{padding-inline:1.5rem}.lg\:px-5{padding-inline:3rem}.lg\:py-0{padding-block:0}.lg\:py-1{padding-block:.25rem}.lg\:py-2{padding-block:.5rem}.lg\:py-3{padding-block:1rem}.lg\:py-4{padding-block:1.5rem}.lg\:py-5{padding-block:3rem}.lg\:pt-0{padding-block-start:0}.lg\:pt-1{padding-block-start:.25rem}.lg\:pt-2{padding-block-start:.5rem}.lg\:pt-3{padding-block-start:1rem}.lg\:pt-4{padding-block-start:1.5rem}.lg\:pt-5{padding-block-start:3rem}.lg\:pe-0{padding-inline-end:0}.lg\:pe-1{padding-inline-end:.25rem}.lg\:pe-2{padding-inline-end:.5rem}.lg\:pe-3{padding-inline-end:1rem}.lg\:pe-4{padding-inline-end:1.5rem}.lg\:pe-5{padding-inline-end:3rem}.lg\:pb-0{padding-block-end:0}.lg\:pb-1{padding-block-end:.25rem}.lg\:pb-2{padding-block-end:.5rem}.lg\:pb-3{padding-block-end:1rem}.lg\:pb-4{padding-block-end:1.5rem}.lg\:pb-5{padding-block-end:3rem}.lg\:ps-0{padding-inline-start:0}.lg\:ps-1{padding-inline-start:.25rem}.lg\:ps-2{padding-inline-start:.5rem}.lg\:ps-3{padding-inline-start:1rem}.lg\:ps-4{padding-inline-start:1.5rem}.lg\:ps-5{padding-inline-start:3rem}.lg\:gap-0{gap:0}.lg\:gap-1{gap:.25rem}.lg\:gap-2{gap:.5rem}.lg\:gap-3{gap:1rem}.lg\:gap-4{gap:1.5rem}.lg\:gap-5{gap:3rem}.lg\:row-gap-0{row-gap:0}.lg\:row-gap-1{row-gap:.25rem}.lg\:row-gap-2{row-gap:.5rem}.lg\:row-gap-3{row-gap:1rem}.lg\:row-gap-4{row-gap:1.5rem}.lg\:row-gap-5{row-gap:3rem}.lg\:column-gap-0{-moz-column-gap:0;column-gap:0}.lg\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.lg\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.lg\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.lg\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.lg\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}}@media (width>=1280px){.xl\:d-inline{display:inline}.xl\:d-inline-block{display:inline-block}.xl\:d-block{display:block}.xl\:d-grid{display:grid}.xl\:d-inline-grid{display:inline-grid}.xl\:d-table{display:table}.xl\:d-table-row{display:table-row}.xl\:d-table-cell{display:table-cell}.xl\:d-flex{display:flex}.xl\:d-inline-flex{display:inline-flex}.xl\:d-contents{display:contents}.xl\:d-flow-root{display:flow-root}.xl\:d-none{display:none}.xl\:flex-fill{flex:auto}.xl\:flex-row{flex-direction:row}.xl\:flex-column{flex-direction:column}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-column-reverse{flex-direction:column-reverse}.xl\:flex-grow-0{flex-grow:0}.xl\:flex-grow-1{flex-grow:1}.xl\:flex-shrink-0{flex-shrink:0}.xl\:flex-shrink-1{flex-shrink:1}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-nowrap{flex-wrap:nowrap}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\:justify-content-start{justify-content:flex-start}.xl\:justify-content-end{justify-content:flex-end}.xl\:justify-content-center{justify-content:center}.xl\:justify-content-between{justify-content:space-between}.xl\:justify-content-around{justify-content:space-around}.xl\:justify-content-evenly{justify-content:space-evenly}.xl\:justify-items-start{justify-items:start}.xl\:justify-items-end{justify-items:end}.xl\:justify-items-center{justify-items:center}.xl\:justify-items-stretch{justify-items:stretch}.xl\:align-items-start{align-items:flex-start}.xl\:align-items-end{align-items:flex-end}.xl\:align-items-center{align-items:center}.xl\:align-items-baseline{align-items:baseline}.xl\:align-items-stretch{align-items:stretch}.xl\:align-content-start{align-content:flex-start}.xl\:align-content-end{align-content:flex-end}.xl\:align-content-center{align-content:center}.xl\:align-content-between{align-content:space-between}.xl\:align-content-around{align-content:space-around}.xl\:align-content-stretch{align-content:stretch}.xl\:align-self-auto{align-self:auto}.xl\:align-self-start{align-self:flex-start}.xl\:align-self-end{align-self:flex-end}.xl\:align-self-center{align-self:center}.xl\:align-self-baseline{align-self:baseline}.xl\:align-self-stretch{align-self:stretch}.xl\:place-items-start{place-items:start}.xl\:place-items-end{place-items:end}.xl\:place-items-center{place-items:center}.xl\:place-items-stretch{place-items:stretch stretch}.xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.xl\:grid-cols-fill{grid-column:1/-1}.xl\:grid-auto-flow-row{grid-auto-flow:row}.xl\:grid-auto-flow-column{grid-auto-flow:column}.xl\:grid-auto-flow-dense{grid-auto-flow:dense}.xl\:order-first{order:-1}.xl\:order-0{order:0}.xl\:order-1{order:1}.xl\:order-2{order:2}.xl\:order-3{order:3}.xl\:order-4{order:4}.xl\:order-5{order:5}.xl\:order-last{order:6}.xl\:m-0{margin:0}.xl\:m-1{margin:.25rem}.xl\:m-2{margin:.5rem}.xl\:m-3{margin:1rem}.xl\:m-4{margin:1.5rem}.xl\:m-5{margin:3rem}.xl\:m-auto{margin:auto}.xl\:mx-0{margin-inline:0}.xl\:mx-1{margin-inline:.25rem}.xl\:mx-2{margin-inline:.5rem}.xl\:mx-3{margin-inline:1rem}.xl\:mx-4{margin-inline:1.5rem}.xl\:mx-5{margin-inline:3rem}.xl\:mx-auto{margin-inline:auto}.xl\:my-0{margin-block:0}.xl\:my-1{margin-block:.25rem}.xl\:my-2{margin-block:.5rem}.xl\:my-3{margin-block:1rem}.xl\:my-4{margin-block:1.5rem}.xl\:my-5{margin-block:3rem}.xl\:my-auto{margin-block:auto}.xl\:mt-0{margin-block-start:0}.xl\:mt-1{margin-block-start:.25rem}.xl\:mt-2{margin-block-start:.5rem}.xl\:mt-3{margin-block-start:1rem}.xl\:mt-4{margin-block-start:1.5rem}.xl\:mt-5{margin-block-start:3rem}.xl\:mt-auto{margin-block-start:auto}.xl\:me-0{margin-inline-end:0}.xl\:me-1{margin-inline-end:.25rem}.xl\:me-2{margin-inline-end:.5rem}.xl\:me-3{margin-inline-end:1rem}.xl\:me-4{margin-inline-end:1.5rem}.xl\:me-5{margin-inline-end:3rem}.xl\:me-auto{margin-inline-end:auto}.xl\:mb-0{margin-block-end:0}.xl\:mb-1{margin-block-end:.25rem}.xl\:mb-2{margin-block-end:.5rem}.xl\:mb-3{margin-block-end:1rem}.xl\:mb-4{margin-block-end:1.5rem}.xl\:mb-5{margin-block-end:3rem}.xl\:mb-auto{margin-block-end:auto}.xl\:ms-0{margin-inline-start:0}.xl\:ms-1{margin-inline-start:.25rem}.xl\:ms-2{margin-inline-start:.5rem}.xl\:ms-3{margin-inline-start:1rem}.xl\:ms-4{margin-inline-start:1.5rem}.xl\:ms-5{margin-inline-start:3rem}.xl\:ms--1{margin-inline-start:-.25rem}.xl\:ms--2{margin-inline-start:-.5rem}.xl\:ms-auto{margin-inline-start:auto}.xl\:p-0{padding:0}.xl\:p-1{padding:.25rem}.xl\:p-2{padding:.5rem}.xl\:p-3{padding:1rem}.xl\:p-4{padding:1.5rem}.xl\:p-5{padding:3rem}.xl\:px-0{padding-inline:0}.xl\:px-1{padding-inline:.25rem}.xl\:px-2{padding-inline:.5rem}.xl\:px-3{padding-inline:1rem}.xl\:px-4{padding-inline:1.5rem}.xl\:px-5{padding-inline:3rem}.xl\:py-0{padding-block:0}.xl\:py-1{padding-block:.25rem}.xl\:py-2{padding-block:.5rem}.xl\:py-3{padding-block:1rem}.xl\:py-4{padding-block:1.5rem}.xl\:py-5{padding-block:3rem}.xl\:pt-0{padding-block-start:0}.xl\:pt-1{padding-block-start:.25rem}.xl\:pt-2{padding-block-start:.5rem}.xl\:pt-3{padding-block-start:1rem}.xl\:pt-4{padding-block-start:1.5rem}.xl\:pt-5{padding-block-start:3rem}.xl\:pe-0{padding-inline-end:0}.xl\:pe-1{padding-inline-end:.25rem}.xl\:pe-2{padding-inline-end:.5rem}.xl\:pe-3{padding-inline-end:1rem}.xl\:pe-4{padding-inline-end:1.5rem}.xl\:pe-5{padding-inline-end:3rem}.xl\:pb-0{padding-block-end:0}.xl\:pb-1{padding-block-end:.25rem}.xl\:pb-2{padding-block-end:.5rem}.xl\:pb-3{padding-block-end:1rem}.xl\:pb-4{padding-block-end:1.5rem}.xl\:pb-5{padding-block-end:3rem}.xl\:ps-0{padding-inline-start:0}.xl\:ps-1{padding-inline-start:.25rem}.xl\:ps-2{padding-inline-start:.5rem}.xl\:ps-3{padding-inline-start:1rem}.xl\:ps-4{padding-inline-start:1.5rem}.xl\:ps-5{padding-inline-start:3rem}.xl\:gap-0{gap:0}.xl\:gap-1{gap:.25rem}.xl\:gap-2{gap:.5rem}.xl\:gap-3{gap:1rem}.xl\:gap-4{gap:1.5rem}.xl\:gap-5{gap:3rem}.xl\:row-gap-0{row-gap:0}.xl\:row-gap-1{row-gap:.25rem}.xl\:row-gap-2{row-gap:.5rem}.xl\:row-gap-3{row-gap:1rem}.xl\:row-gap-4{row-gap:1.5rem}.xl\:row-gap-5{row-gap:3rem}.xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.xl\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.xl\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.xl\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}}@media (width>=1536px){.\32 xl\:d-inline{display:inline}.\32 xl\:d-inline-block{display:inline-block}.\32 xl\:d-block{display:block}.\32 xl\:d-grid{display:grid}.\32 xl\:d-inline-grid{display:inline-grid}.\32 xl\:d-table{display:table}.\32 xl\:d-table-row{display:table-row}.\32 xl\:d-table-cell{display:table-cell}.\32 xl\:d-flex{display:flex}.\32 xl\:d-inline-flex{display:inline-flex}.\32 xl\:d-contents{display:contents}.\32 xl\:d-flow-root{display:flow-root}.\32 xl\:d-none{display:none}.\32 xl\:flex-fill{flex:auto}.\32 xl\:flex-row{flex-direction:row}.\32 xl\:flex-column{flex-direction:column}.\32 xl\:flex-row-reverse{flex-direction:row-reverse}.\32 xl\:flex-column-reverse{flex-direction:column-reverse}.\32 xl\:flex-grow-0{flex-grow:0}.\32 xl\:flex-grow-1{flex-grow:1}.\32 xl\:flex-shrink-0{flex-shrink:0}.\32 xl\:flex-shrink-1{flex-shrink:1}.\32 xl\:flex-wrap{flex-wrap:wrap}.\32 xl\:flex-nowrap{flex-wrap:nowrap}.\32 xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.\32 xl\:justify-content-start{justify-content:flex-start}.\32 xl\:justify-content-end{justify-content:flex-end}.\32 xl\:justify-content-center{justify-content:center}.\32 xl\:justify-content-between{justify-content:space-between}.\32 xl\:justify-content-around{justify-content:space-around}.\32 xl\:justify-content-evenly{justify-content:space-evenly}.\32 xl\:justify-items-start{justify-items:start}.\32 xl\:justify-items-end{justify-items:end}.\32 xl\:justify-items-center{justify-items:center}.\32 xl\:justify-items-stretch{justify-items:stretch}.\32 xl\:align-items-start{align-items:flex-start}.\32 xl\:align-items-end{align-items:flex-end}.\32 xl\:align-items-center{align-items:center}.\32 xl\:align-items-baseline{align-items:baseline}.\32 xl\:align-items-stretch{align-items:stretch}.\32 xl\:align-content-start{align-content:flex-start}.\32 xl\:align-content-end{align-content:flex-end}.\32 xl\:align-content-center{align-content:center}.\32 xl\:align-content-between{align-content:space-between}.\32 xl\:align-content-around{align-content:space-around}.\32 xl\:align-content-stretch{align-content:stretch}.\32 xl\:align-self-auto{align-self:auto}.\32 xl\:align-self-start{align-self:flex-start}.\32 xl\:align-self-end{align-self:flex-end}.\32 xl\:align-self-center{align-self:center}.\32 xl\:align-self-baseline{align-self:baseline}.\32 xl\:align-self-stretch{align-self:stretch}.\32 xl\:place-items-start{place-items:start}.\32 xl\:place-items-end{place-items:end}.\32 xl\:place-items-center{place-items:center}.\32 xl\:place-items-stretch{place-items:stretch stretch}.\32 xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.\32 xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.\32 xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.\32 xl\:grid-cols-fill{grid-column:1/-1}.\32 xl\:grid-auto-flow-row{grid-auto-flow:row}.\32 xl\:grid-auto-flow-column{grid-auto-flow:column}.\32 xl\:grid-auto-flow-dense{grid-auto-flow:dense}.\32 xl\:order-first{order:-1}.\32 xl\:order-0{order:0}.\32 xl\:order-1{order:1}.\32 xl\:order-2{order:2}.\32 xl\:order-3{order:3}.\32 xl\:order-4{order:4}.\32 xl\:order-5{order:5}.\32 xl\:order-last{order:6}.\32 xl\:m-0{margin:0}.\32 xl\:m-1{margin:.25rem}.\32 xl\:m-2{margin:.5rem}.\32 xl\:m-3{margin:1rem}.\32 xl\:m-4{margin:1.5rem}.\32 xl\:m-5{margin:3rem}.\32 xl\:m-auto{margin:auto}.\32 xl\:mx-0{margin-inline:0}.\32 xl\:mx-1{margin-inline:.25rem}.\32 xl\:mx-2{margin-inline:.5rem}.\32 xl\:mx-3{margin-inline:1rem}.\32 xl\:mx-4{margin-inline:1.5rem}.\32 xl\:mx-5{margin-inline:3rem}.\32 xl\:mx-auto{margin-inline:auto}.\32 xl\:my-0{margin-block:0}.\32 xl\:my-1{margin-block:.25rem}.\32 xl\:my-2{margin-block:.5rem}.\32 xl\:my-3{margin-block:1rem}.\32 xl\:my-4{margin-block:1.5rem}.\32 xl\:my-5{margin-block:3rem}.\32 xl\:my-auto{margin-block:auto}.\32 xl\:mt-0{margin-block-start:0}.\32 xl\:mt-1{margin-block-start:.25rem}.\32 xl\:mt-2{margin-block-start:.5rem}.\32 xl\:mt-3{margin-block-start:1rem}.\32 xl\:mt-4{margin-block-start:1.5rem}.\32 xl\:mt-5{margin-block-start:3rem}.\32 xl\:mt-auto{margin-block-start:auto}.\32 xl\:me-0{margin-inline-end:0}.\32 xl\:me-1{margin-inline-end:.25rem}.\32 xl\:me-2{margin-inline-end:.5rem}.\32 xl\:me-3{margin-inline-end:1rem}.\32 xl\:me-4{margin-inline-end:1.5rem}.\32 xl\:me-5{margin-inline-end:3rem}.\32 xl\:me-auto{margin-inline-end:auto}.\32 xl\:mb-0{margin-block-end:0}.\32 xl\:mb-1{margin-block-end:.25rem}.\32 xl\:mb-2{margin-block-end:.5rem}.\32 xl\:mb-3{margin-block-end:1rem}.\32 xl\:mb-4{margin-block-end:1.5rem}.\32 xl\:mb-5{margin-block-end:3rem}.\32 xl\:mb-auto{margin-block-end:auto}.\32 xl\:ms-0{margin-inline-start:0}.\32 xl\:ms-1{margin-inline-start:.25rem}.\32 xl\:ms-2{margin-inline-start:.5rem}.\32 xl\:ms-3{margin-inline-start:1rem}.\32 xl\:ms-4{margin-inline-start:1.5rem}.\32 xl\:ms-5{margin-inline-start:3rem}.\32 xl\:ms--1{margin-inline-start:-.25rem}.\32 xl\:ms--2{margin-inline-start:-.5rem}.\32 xl\:ms-auto{margin-inline-start:auto}.\32 xl\:p-0{padding:0}.\32 xl\:p-1{padding:.25rem}.\32 xl\:p-2{padding:.5rem}.\32 xl\:p-3{padding:1rem}.\32 xl\:p-4{padding:1.5rem}.\32 xl\:p-5{padding:3rem}.\32 xl\:px-0{padding-inline:0}.\32 xl\:px-1{padding-inline:.25rem}.\32 xl\:px-2{padding-inline:.5rem}.\32 xl\:px-3{padding-inline:1rem}.\32 xl\:px-4{padding-inline:1.5rem}.\32 xl\:px-5{padding-inline:3rem}.\32 xl\:py-0{padding-block:0}.\32 xl\:py-1{padding-block:.25rem}.\32 xl\:py-2{padding-block:.5rem}.\32 xl\:py-3{padding-block:1rem}.\32 xl\:py-4{padding-block:1.5rem}.\32 xl\:py-5{padding-block:3rem}.\32 xl\:pt-0{padding-block-start:0}.\32 xl\:pt-1{padding-block-start:.25rem}.\32 xl\:pt-2{padding-block-start:.5rem}.\32 xl\:pt-3{padding-block-start:1rem}.\32 xl\:pt-4{padding-block-start:1.5rem}.\32 xl\:pt-5{padding-block-start:3rem}.\32 xl\:pe-0{padding-inline-end:0}.\32 xl\:pe-1{padding-inline-end:.25rem}.\32 xl\:pe-2{padding-inline-end:.5rem}.\32 xl\:pe-3{padding-inline-end:1rem}.\32 xl\:pe-4{padding-inline-end:1.5rem}.\32 xl\:pe-5{padding-inline-end:3rem}.\32 xl\:pb-0{padding-block-end:0}.\32 xl\:pb-1{padding-block-end:.25rem}.\32 xl\:pb-2{padding-block-end:.5rem}.\32 xl\:pb-3{padding-block-end:1rem}.\32 xl\:pb-4{padding-block-end:1.5rem}.\32 xl\:pb-5{padding-block-end:3rem}.\32 xl\:ps-0{padding-inline-start:0}.\32 xl\:ps-1{padding-inline-start:.25rem}.\32 xl\:ps-2{padding-inline-start:.5rem}.\32 xl\:ps-3{padding-inline-start:1rem}.\32 xl\:ps-4{padding-inline-start:1.5rem}.\32 xl\:ps-5{padding-inline-start:3rem}.\32 xl\:gap-0{gap:0}.\32 xl\:gap-1{gap:.25rem}.\32 xl\:gap-2{gap:.5rem}.\32 xl\:gap-3{gap:1rem}.\32 xl\:gap-4{gap:1.5rem}.\32 xl\:gap-5{gap:3rem}.\32 xl\:row-gap-0{row-gap:0}.\32 xl\:row-gap-1{row-gap:.25rem}.\32 xl\:row-gap-2{row-gap:.5rem}.\32 xl\:row-gap-3{row-gap:1rem}.\32 xl\:row-gap-4{row-gap:1.5rem}.\32 xl\:row-gap-5{row-gap:3rem}.\32 xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.\32 xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.\32 xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.\32 xl\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.\32 xl\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.\32 xl\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px}
/*# sourceMappingURL=bootstrap-grid.min.css.map */
\ No newline at end of file
-{"version":3,"sourceRoot":null,"mappings":"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","sources":["bootstrap-grid.css","../../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","../../scss/bootstrap-grid.scss"],"sourcesContent":["/*!\n * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n@layer layout {\n .container,\n .container-fluid,\n .container-2xl,\n .container-xl,\n .container-lg,\n .container-md,\n .container-sm {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-inline: auto;\n }\n @media (width >= 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n }\n @media (width >= 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n }\n @media (width >= 1024px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n }\n @media (width >= 1280px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1200px;\n }\n }\n @media (width >= 1536px) {\n .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1440px;\n }\n }\n}\n@layer layout {\n .row {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-inline: calc(-0.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n }\n .row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-top: var(--gutter-y);\n }\n .col {\n flex: 1 0 0;\n }\n .row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-3 {\n margin-inline-start: 25%;\n }\n .offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-6 {\n margin-inline-start: 50%;\n }\n .offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-9 {\n margin-inline-start: 75%;\n }\n .offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-0,\n .gx-0 {\n --gutter-x: 0;\n }\n .g-0,\n .gy-0 {\n --gutter-y: 0;\n }\n .g-1,\n .gx-1 {\n --gutter-x: 0.25rem;\n }\n .g-1,\n .gy-1 {\n --gutter-y: 0.25rem;\n }\n .g-2,\n .gx-2 {\n --gutter-x: 0.5rem;\n }\n .g-2,\n .gy-2 {\n --gutter-y: 0.5rem;\n }\n .g-3,\n .gx-3 {\n --gutter-x: 1rem;\n }\n .g-3,\n .gy-3 {\n --gutter-y: 1rem;\n }\n .g-4,\n .gx-4 {\n --gutter-x: 1.5rem;\n }\n .g-4,\n .gy-4 {\n --gutter-y: 1.5rem;\n }\n .g-5,\n .gx-5 {\n --gutter-x: 3rem;\n }\n .g-5,\n .gy-5 {\n --gutter-y: 3rem;\n }\n @media (width >= 576px) {\n .col-sm {\n flex: 1 0 0;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-inline-start: 0;\n }\n .offset-sm-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-sm-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-sm-3 {\n margin-inline-start: 25%;\n }\n .offset-sm-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-sm-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-sm-6 {\n margin-inline-start: 50%;\n }\n .offset-sm-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-sm-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-sm-9 {\n margin-inline-start: 75%;\n }\n .offset-sm-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-sm-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 768px) {\n .col-md {\n flex: 1 0 0;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-inline-start: 0;\n }\n .offset-md-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-md-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-md-3 {\n margin-inline-start: 25%;\n }\n .offset-md-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-md-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-md-6 {\n margin-inline-start: 50%;\n }\n .offset-md-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-md-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-md-9 {\n margin-inline-start: 75%;\n }\n .offset-md-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-md-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1024px) {\n .col-lg {\n flex: 1 0 0;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-inline-start: 0;\n }\n .offset-lg-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-lg-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-lg-3 {\n margin-inline-start: 25%;\n }\n .offset-lg-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-lg-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-lg-6 {\n margin-inline-start: 50%;\n }\n .offset-lg-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-lg-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-lg-9 {\n margin-inline-start: 75%;\n }\n .offset-lg-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-lg-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1280px) {\n .col-xl {\n flex: 1 0 0;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-inline-start: 0;\n }\n .offset-xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-xl-3 {\n margin-inline-start: 25%;\n }\n .offset-xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-xl-6 {\n margin-inline-start: 50%;\n }\n .offset-xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-xl-9 {\n margin-inline-start: 75%;\n }\n .offset-xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1536px) {\n .col-2xl {\n flex: 1 0 0;\n }\n .row-cols-2xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-2xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-2xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-2xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-2xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-2xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-2xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-2xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-2xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-2xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-2xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-2xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-2xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-2xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-2xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-2xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-2xl-0 {\n margin-inline-start: 0;\n }\n .offset-2xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-2xl-3 {\n margin-inline-start: 25%;\n }\n .offset-2xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-2xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-2xl-6 {\n margin-inline-start: 50%;\n }\n .offset-2xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-2xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-2xl-9 {\n margin-inline-start: 75%;\n }\n .offset-2xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-2xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-2xl-0,\n .gx-2xl-0 {\n --gutter-x: 0;\n }\n .g-2xl-0,\n .gy-2xl-0 {\n --gutter-y: 0;\n }\n .g-2xl-1,\n .gx-2xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-2xl-1,\n .gy-2xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-2xl-2,\n .gx-2xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-2xl-2,\n .gy-2xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-2xl-3,\n .gx-2xl-3 {\n --gutter-x: 1rem;\n }\n .g-2xl-3,\n .gy-2xl-3 {\n --gutter-y: 1rem;\n }\n .g-2xl-4,\n .gx-2xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-2xl-4,\n .gy-2xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-2xl-5,\n .gx-2xl-5 {\n --gutter-x: 3rem;\n }\n .g-2xl-5,\n .gy-2xl-5 {\n --gutter-y: 3rem;\n }\n }\n .grid {\n --columns: 12;\n --rows: 1;\n --gap: 1.5rem;\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n }\n .g-col-1 {\n grid-column: auto/span 1;\n }\n .g-col-2 {\n grid-column: auto/span 2;\n }\n .g-col-3 {\n grid-column: auto/span 3;\n }\n .g-col-4 {\n grid-column: auto/span 4;\n }\n .g-col-5 {\n grid-column: auto/span 5;\n }\n .g-col-6 {\n grid-column: auto/span 6;\n }\n .g-col-7 {\n grid-column: auto/span 7;\n }\n .g-col-8 {\n grid-column: auto/span 8;\n }\n .g-col-9 {\n grid-column: auto/span 9;\n }\n .g-col-10 {\n grid-column: auto/span 10;\n }\n .g-col-11 {\n grid-column: auto/span 11;\n }\n .g-col-12 {\n grid-column: auto/span 12;\n }\n .g-start-1 {\n grid-column-start: 1;\n }\n .g-start-2 {\n grid-column-start: 2;\n }\n .g-start-3 {\n grid-column-start: 3;\n }\n .g-start-4 {\n grid-column-start: 4;\n }\n .g-start-5 {\n grid-column-start: 5;\n }\n .g-start-6 {\n grid-column-start: 6;\n }\n .g-start-7 {\n grid-column-start: 7;\n }\n .g-start-8 {\n grid-column-start: 8;\n }\n .g-start-9 {\n grid-column-start: 9;\n }\n .g-start-10 {\n grid-column-start: 10;\n }\n .g-start-11 {\n grid-column-start: 11;\n }\n @media (width >= 576px) {\n .g-col-sm-1 {\n grid-column: auto/span 1;\n }\n .g-col-sm-2 {\n grid-column: auto/span 2;\n }\n .g-col-sm-3 {\n grid-column: auto/span 3;\n }\n .g-col-sm-4 {\n grid-column: auto/span 4;\n }\n .g-col-sm-5 {\n grid-column: auto/span 5;\n }\n .g-col-sm-6 {\n grid-column: auto/span 6;\n }\n .g-col-sm-7 {\n grid-column: auto/span 7;\n }\n .g-col-sm-8 {\n grid-column: auto/span 8;\n }\n .g-col-sm-9 {\n grid-column: auto/span 9;\n }\n .g-col-sm-10 {\n grid-column: auto/span 10;\n }\n .g-col-sm-11 {\n grid-column: auto/span 11;\n }\n .g-col-sm-12 {\n grid-column: auto/span 12;\n }\n .g-start-sm-1 {\n grid-column-start: 1;\n }\n .g-start-sm-2 {\n grid-column-start: 2;\n }\n .g-start-sm-3 {\n grid-column-start: 3;\n }\n .g-start-sm-4 {\n grid-column-start: 4;\n }\n .g-start-sm-5 {\n grid-column-start: 5;\n }\n .g-start-sm-6 {\n grid-column-start: 6;\n }\n .g-start-sm-7 {\n grid-column-start: 7;\n }\n .g-start-sm-8 {\n grid-column-start: 8;\n }\n .g-start-sm-9 {\n grid-column-start: 9;\n }\n .g-start-sm-10 {\n grid-column-start: 10;\n }\n .g-start-sm-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 768px) {\n .g-col-md-1 {\n grid-column: auto/span 1;\n }\n .g-col-md-2 {\n grid-column: auto/span 2;\n }\n .g-col-md-3 {\n grid-column: auto/span 3;\n }\n .g-col-md-4 {\n grid-column: auto/span 4;\n }\n .g-col-md-5 {\n grid-column: auto/span 5;\n }\n .g-col-md-6 {\n grid-column: auto/span 6;\n }\n .g-col-md-7 {\n grid-column: auto/span 7;\n }\n .g-col-md-8 {\n grid-column: auto/span 8;\n }\n .g-col-md-9 {\n grid-column: auto/span 9;\n }\n .g-col-md-10 {\n grid-column: auto/span 10;\n }\n .g-col-md-11 {\n grid-column: auto/span 11;\n }\n .g-col-md-12 {\n grid-column: auto/span 12;\n }\n .g-start-md-1 {\n grid-column-start: 1;\n }\n .g-start-md-2 {\n grid-column-start: 2;\n }\n .g-start-md-3 {\n grid-column-start: 3;\n }\n .g-start-md-4 {\n grid-column-start: 4;\n }\n .g-start-md-5 {\n grid-column-start: 5;\n }\n .g-start-md-6 {\n grid-column-start: 6;\n }\n .g-start-md-7 {\n grid-column-start: 7;\n }\n .g-start-md-8 {\n grid-column-start: 8;\n }\n .g-start-md-9 {\n grid-column-start: 9;\n }\n .g-start-md-10 {\n grid-column-start: 10;\n }\n .g-start-md-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1024px) {\n .g-col-lg-1 {\n grid-column: auto/span 1;\n }\n .g-col-lg-2 {\n grid-column: auto/span 2;\n }\n .g-col-lg-3 {\n grid-column: auto/span 3;\n }\n .g-col-lg-4 {\n grid-column: auto/span 4;\n }\n .g-col-lg-5 {\n grid-column: auto/span 5;\n }\n .g-col-lg-6 {\n grid-column: auto/span 6;\n }\n .g-col-lg-7 {\n grid-column: auto/span 7;\n }\n .g-col-lg-8 {\n grid-column: auto/span 8;\n }\n .g-col-lg-9 {\n grid-column: auto/span 9;\n }\n .g-col-lg-10 {\n grid-column: auto/span 10;\n }\n .g-col-lg-11 {\n grid-column: auto/span 11;\n }\n .g-col-lg-12 {\n grid-column: auto/span 12;\n }\n .g-start-lg-1 {\n grid-column-start: 1;\n }\n .g-start-lg-2 {\n grid-column-start: 2;\n }\n .g-start-lg-3 {\n grid-column-start: 3;\n }\n .g-start-lg-4 {\n grid-column-start: 4;\n }\n .g-start-lg-5 {\n grid-column-start: 5;\n }\n .g-start-lg-6 {\n grid-column-start: 6;\n }\n .g-start-lg-7 {\n grid-column-start: 7;\n }\n .g-start-lg-8 {\n grid-column-start: 8;\n }\n .g-start-lg-9 {\n grid-column-start: 9;\n }\n .g-start-lg-10 {\n grid-column-start: 10;\n }\n .g-start-lg-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1280px) {\n .g-col-xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-xl-1 {\n grid-column-start: 1;\n }\n .g-start-xl-2 {\n grid-column-start: 2;\n }\n .g-start-xl-3 {\n grid-column-start: 3;\n }\n .g-start-xl-4 {\n grid-column-start: 4;\n }\n .g-start-xl-5 {\n grid-column-start: 5;\n }\n .g-start-xl-6 {\n grid-column-start: 6;\n }\n .g-start-xl-7 {\n grid-column-start: 7;\n }\n .g-start-xl-8 {\n grid-column-start: 8;\n }\n .g-start-xl-9 {\n grid-column-start: 9;\n }\n .g-start-xl-10 {\n grid-column-start: 10;\n }\n .g-start-xl-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1536px) {\n .g-col-2xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-2xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-2xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-2xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-2xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-2xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-2xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-2xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-2xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-2xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-2xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-2xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-2xl-1 {\n grid-column-start: 1;\n }\n .g-start-2xl-2 {\n grid-column-start: 2;\n }\n .g-start-2xl-3 {\n grid-column-start: 3;\n }\n .g-start-2xl-4 {\n grid-column-start: 4;\n }\n .g-start-2xl-5 {\n grid-column-start: 5;\n }\n .g-start-2xl-6 {\n grid-column-start: 6;\n }\n .g-start-2xl-7 {\n grid-column-start: 7;\n }\n .g-start-2xl-8 {\n grid-column-start: 8;\n }\n .g-start-2xl-9 {\n grid-column-start: 9;\n }\n .g-start-2xl-10 {\n grid-column-start: 10;\n }\n .g-start-2xl-11 {\n grid-column-start: 11;\n }\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-fill {\n --gap: 1.5rem;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n}\n@layer utilities {\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .order-first {\n order: -1;\n }\n .order-0 {\n order: 0;\n }\n .order-1 {\n order: 1;\n }\n .order-2 {\n order: 2;\n }\n .order-3 {\n order: 3;\n }\n .order-4 {\n order: 4;\n }\n .order-5 {\n order: 5;\n }\n .order-last {\n order: 6;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n .gap-0 {\n gap: 0;\n }\n .gap-1 {\n gap: 0.25rem;\n }\n .gap-2 {\n gap: 0.5rem;\n }\n .gap-3 {\n gap: 1rem;\n }\n .gap-4 {\n gap: 1.5rem;\n }\n .gap-5 {\n gap: 3rem;\n }\n .row-gap-0 {\n row-gap: 0;\n }\n .row-gap-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2 {\n row-gap: 0.5rem;\n }\n .row-gap-3 {\n row-gap: 1rem;\n }\n .row-gap-4 {\n row-gap: 1.5rem;\n }\n .row-gap-5 {\n row-gap: 3rem;\n }\n .column-gap-0 {\n column-gap: 0;\n }\n .column-gap-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2 {\n column-gap: 0.5rem;\n }\n .column-gap-3 {\n column-gap: 1rem;\n }\n .column-gap-4 {\n column-gap: 1.5rem;\n }\n .column-gap-5 {\n column-gap: 3rem;\n }\n @media (width >= 576px) {\n .d-sm-inline {\n display: inline;\n }\n .d-sm-inline-block {\n display: inline-block;\n }\n .d-sm-block {\n display: block;\n }\n .d-sm-grid {\n display: grid;\n }\n .d-sm-inline-grid {\n display: inline-grid;\n }\n .d-sm-table {\n display: table;\n }\n .d-sm-table-row {\n display: table-row;\n }\n .d-sm-table-cell {\n display: table-cell;\n }\n .d-sm-flex {\n display: flex;\n }\n .d-sm-inline-flex {\n display: inline-flex;\n }\n .d-sm-contents {\n display: contents;\n }\n .d-sm-flow-root {\n display: flow-root;\n }\n .d-sm-none {\n display: none;\n }\n .flex-sm-fill {\n flex: 1 1 auto;\n }\n .flex-sm-row {\n flex-direction: row;\n }\n .flex-sm-column {\n flex-direction: column;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-sm-grow-0 {\n flex-grow: 0;\n }\n .flex-sm-grow-1 {\n flex-grow: 1;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1;\n }\n .flex-sm-wrap {\n flex-wrap: wrap;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-sm-start {\n justify-content: flex-start;\n }\n .justify-content-sm-end {\n justify-content: flex-end;\n }\n .justify-content-sm-center {\n justify-content: center;\n }\n .justify-content-sm-between {\n justify-content: space-between;\n }\n .justify-content-sm-around {\n justify-content: space-around;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly;\n }\n .justify-items-sm-start {\n justify-items: start;\n }\n .justify-items-sm-end {\n justify-items: end;\n }\n .justify-items-sm-center {\n justify-items: center;\n }\n .justify-items-sm-stretch {\n justify-items: stretch;\n }\n .align-items-sm-start {\n align-items: flex-start;\n }\n .align-items-sm-end {\n align-items: flex-end;\n }\n .align-items-sm-center {\n align-items: center;\n }\n .align-items-sm-baseline {\n align-items: baseline;\n }\n .align-items-sm-stretch {\n align-items: stretch;\n }\n .align-content-sm-start {\n align-content: flex-start;\n }\n .align-content-sm-end {\n align-content: flex-end;\n }\n .align-content-sm-center {\n align-content: center;\n }\n .align-content-sm-between {\n align-content: space-between;\n }\n .align-content-sm-around {\n align-content: space-around;\n }\n .align-content-sm-stretch {\n align-content: stretch;\n }\n .align-self-sm-auto {\n align-self: auto;\n }\n .align-self-sm-start {\n align-self: flex-start;\n }\n .align-self-sm-end {\n align-self: flex-end;\n }\n .align-self-sm-center {\n align-self: center;\n }\n .align-self-sm-baseline {\n align-self: baseline;\n }\n .align-self-sm-stretch {\n align-self: stretch;\n }\n .place-items-sm-start {\n place-items: start;\n }\n .place-items-sm-end {\n place-items: end;\n }\n .place-items-sm-center {\n place-items: center;\n }\n .place-items-sm-stretch {\n place-items: stretch;\n }\n .grid-cols-sm-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-sm-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-sm-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-sm-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-sm-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-sm-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-sm-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-sm-dense {\n grid-auto-flow: dense;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-last {\n order: 6;\n }\n .m-sm-0 {\n margin: 0;\n }\n .m-sm-1 {\n margin: 0.25rem;\n }\n .m-sm-2 {\n margin: 0.5rem;\n }\n .m-sm-3 {\n margin: 1rem;\n }\n .m-sm-4 {\n margin: 1.5rem;\n }\n .m-sm-5 {\n margin: 3rem;\n }\n .m-sm-auto {\n margin: auto;\n }\n .mx-sm-0 {\n margin-inline: 0;\n }\n .mx-sm-1 {\n margin-inline: 0.25rem;\n }\n .mx-sm-2 {\n margin-inline: 0.5rem;\n }\n .mx-sm-3 {\n margin-inline: 1rem;\n }\n .mx-sm-4 {\n margin-inline: 1.5rem;\n }\n .mx-sm-5 {\n margin-inline: 3rem;\n }\n .mx-sm-auto {\n margin-inline: auto;\n }\n .my-sm-0 {\n margin-block: 0;\n }\n .my-sm-1 {\n margin-block: 0.25rem;\n }\n .my-sm-2 {\n margin-block: 0.5rem;\n }\n .my-sm-3 {\n margin-block: 1rem;\n }\n .my-sm-4 {\n margin-block: 1.5rem;\n }\n .my-sm-5 {\n margin-block: 3rem;\n }\n .my-sm-auto {\n margin-block: auto;\n }\n .mt-sm-0 {\n margin-block-start: 0;\n }\n .mt-sm-1 {\n margin-block-start: 0.25rem;\n }\n .mt-sm-2 {\n margin-block-start: 0.5rem;\n }\n .mt-sm-3 {\n margin-block-start: 1rem;\n }\n .mt-sm-4 {\n margin-block-start: 1.5rem;\n }\n .mt-sm-5 {\n margin-block-start: 3rem;\n }\n .mt-sm-auto {\n margin-block-start: auto;\n }\n .me-sm-0 {\n margin-inline-end: 0;\n }\n .me-sm-1 {\n margin-inline-end: 0.25rem;\n }\n .me-sm-2 {\n margin-inline-end: 0.5rem;\n }\n .me-sm-3 {\n margin-inline-end: 1rem;\n }\n .me-sm-4 {\n margin-inline-end: 1.5rem;\n }\n .me-sm-5 {\n margin-inline-end: 3rem;\n }\n .me-sm-auto {\n margin-inline-end: auto;\n }\n .mb-sm-0 {\n margin-block-end: 0;\n }\n .mb-sm-1 {\n margin-block-end: 0.25rem;\n }\n .mb-sm-2 {\n margin-block-end: 0.5rem;\n }\n .mb-sm-3 {\n margin-block-end: 1rem;\n }\n .mb-sm-4 {\n margin-block-end: 1.5rem;\n }\n .mb-sm-5 {\n margin-block-end: 3rem;\n }\n .mb-sm-auto {\n margin-block-end: auto;\n }\n .ms-sm-0 {\n margin-inline-start: 0;\n }\n .ms-sm-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-sm-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-sm-3 {\n margin-inline-start: 1rem;\n }\n .ms-sm-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-sm-5 {\n margin-inline-start: 3rem;\n }\n .ms-sm--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-sm--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-sm-auto {\n margin-inline-start: auto;\n }\n .p-sm-0 {\n padding: 0;\n }\n .p-sm-1 {\n padding: 0.25rem;\n }\n .p-sm-2 {\n padding: 0.5rem;\n }\n .p-sm-3 {\n padding: 1rem;\n }\n .p-sm-4 {\n padding: 1.5rem;\n }\n .p-sm-5 {\n padding: 3rem;\n }\n .px-sm-0 {\n padding-inline: 0;\n }\n .px-sm-1 {\n padding-inline: 0.25rem;\n }\n .px-sm-2 {\n padding-inline: 0.5rem;\n }\n .px-sm-3 {\n padding-inline: 1rem;\n }\n .px-sm-4 {\n padding-inline: 1.5rem;\n }\n .px-sm-5 {\n padding-inline: 3rem;\n }\n .py-sm-0 {\n padding-block: 0;\n }\n .py-sm-1 {\n padding-block: 0.25rem;\n }\n .py-sm-2 {\n padding-block: 0.5rem;\n }\n .py-sm-3 {\n padding-block: 1rem;\n }\n .py-sm-4 {\n padding-block: 1.5rem;\n }\n .py-sm-5 {\n padding-block: 3rem;\n }\n .pt-sm-0 {\n padding-block-start: 0;\n }\n .pt-sm-1 {\n padding-block-start: 0.25rem;\n }\n .pt-sm-2 {\n padding-block-start: 0.5rem;\n }\n .pt-sm-3 {\n padding-block-start: 1rem;\n }\n .pt-sm-4 {\n padding-block-start: 1.5rem;\n }\n .pt-sm-5 {\n padding-block-start: 3rem;\n }\n .pe-sm-0 {\n padding-inline-end: 0;\n }\n .pe-sm-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-sm-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-sm-3 {\n padding-inline-end: 1rem;\n }\n .pe-sm-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-sm-5 {\n padding-inline-end: 3rem;\n }\n .pb-sm-0 {\n padding-block-end: 0;\n }\n .pb-sm-1 {\n padding-block-end: 0.25rem;\n }\n .pb-sm-2 {\n padding-block-end: 0.5rem;\n }\n .pb-sm-3 {\n padding-block-end: 1rem;\n }\n .pb-sm-4 {\n padding-block-end: 1.5rem;\n }\n .pb-sm-5 {\n padding-block-end: 3rem;\n }\n .ps-sm-0 {\n padding-inline-start: 0;\n }\n .ps-sm-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-sm-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-sm-3 {\n padding-inline-start: 1rem;\n }\n .ps-sm-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-sm-5 {\n padding-inline-start: 3rem;\n }\n .gap-sm-0 {\n gap: 0;\n }\n .gap-sm-1 {\n gap: 0.25rem;\n }\n .gap-sm-2 {\n gap: 0.5rem;\n }\n .gap-sm-3 {\n gap: 1rem;\n }\n .gap-sm-4 {\n gap: 1.5rem;\n }\n .gap-sm-5 {\n gap: 3rem;\n }\n .row-gap-sm-0 {\n row-gap: 0;\n }\n .row-gap-sm-1 {\n row-gap: 0.25rem;\n }\n .row-gap-sm-2 {\n row-gap: 0.5rem;\n }\n .row-gap-sm-3 {\n row-gap: 1rem;\n }\n .row-gap-sm-4 {\n row-gap: 1.5rem;\n }\n .row-gap-sm-5 {\n row-gap: 3rem;\n }\n .column-gap-sm-0 {\n column-gap: 0;\n }\n .column-gap-sm-1 {\n column-gap: 0.25rem;\n }\n .column-gap-sm-2 {\n column-gap: 0.5rem;\n }\n .column-gap-sm-3 {\n column-gap: 1rem;\n }\n .column-gap-sm-4 {\n column-gap: 1.5rem;\n }\n .column-gap-sm-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 768px) {\n .d-md-inline {\n display: inline;\n }\n .d-md-inline-block {\n display: inline-block;\n }\n .d-md-block {\n display: block;\n }\n .d-md-grid {\n display: grid;\n }\n .d-md-inline-grid {\n display: inline-grid;\n }\n .d-md-table {\n display: table;\n }\n .d-md-table-row {\n display: table-row;\n }\n .d-md-table-cell {\n display: table-cell;\n }\n .d-md-flex {\n display: flex;\n }\n .d-md-inline-flex {\n display: inline-flex;\n }\n .d-md-contents {\n display: contents;\n }\n .d-md-flow-root {\n display: flow-root;\n }\n .d-md-none {\n display: none;\n }\n .flex-md-fill {\n flex: 1 1 auto;\n }\n .flex-md-row {\n flex-direction: row;\n }\n .flex-md-column {\n flex-direction: column;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-md-grow-0 {\n flex-grow: 0;\n }\n .flex-md-grow-1 {\n flex-grow: 1;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1;\n }\n .flex-md-wrap {\n flex-wrap: wrap;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-md-start {\n justify-content: flex-start;\n }\n .justify-content-md-end {\n justify-content: flex-end;\n }\n .justify-content-md-center {\n justify-content: center;\n }\n .justify-content-md-between {\n justify-content: space-between;\n }\n .justify-content-md-around {\n justify-content: space-around;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly;\n }\n .justify-items-md-start {\n justify-items: start;\n }\n .justify-items-md-end {\n justify-items: end;\n }\n .justify-items-md-center {\n justify-items: center;\n }\n .justify-items-md-stretch {\n justify-items: stretch;\n }\n .align-items-md-start {\n align-items: flex-start;\n }\n .align-items-md-end {\n align-items: flex-end;\n }\n .align-items-md-center {\n align-items: center;\n }\n .align-items-md-baseline {\n align-items: baseline;\n }\n .align-items-md-stretch {\n align-items: stretch;\n }\n .align-content-md-start {\n align-content: flex-start;\n }\n .align-content-md-end {\n align-content: flex-end;\n }\n .align-content-md-center {\n align-content: center;\n }\n .align-content-md-between {\n align-content: space-between;\n }\n .align-content-md-around {\n align-content: space-around;\n }\n .align-content-md-stretch {\n align-content: stretch;\n }\n .align-self-md-auto {\n align-self: auto;\n }\n .align-self-md-start {\n align-self: flex-start;\n }\n .align-self-md-end {\n align-self: flex-end;\n }\n .align-self-md-center {\n align-self: center;\n }\n .align-self-md-baseline {\n align-self: baseline;\n }\n .align-self-md-stretch {\n align-self: stretch;\n }\n .place-items-md-start {\n place-items: start;\n }\n .place-items-md-end {\n place-items: end;\n }\n .place-items-md-center {\n place-items: center;\n }\n .place-items-md-stretch {\n place-items: stretch;\n }\n .grid-cols-md-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-md-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-md-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-md-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-md-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-md-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-md-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-md-dense {\n grid-auto-flow: dense;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-last {\n order: 6;\n }\n .m-md-0 {\n margin: 0;\n }\n .m-md-1 {\n margin: 0.25rem;\n }\n .m-md-2 {\n margin: 0.5rem;\n }\n .m-md-3 {\n margin: 1rem;\n }\n .m-md-4 {\n margin: 1.5rem;\n }\n .m-md-5 {\n margin: 3rem;\n }\n .m-md-auto {\n margin: auto;\n }\n .mx-md-0 {\n margin-inline: 0;\n }\n .mx-md-1 {\n margin-inline: 0.25rem;\n }\n .mx-md-2 {\n margin-inline: 0.5rem;\n }\n .mx-md-3 {\n margin-inline: 1rem;\n }\n .mx-md-4 {\n margin-inline: 1.5rem;\n }\n .mx-md-5 {\n margin-inline: 3rem;\n }\n .mx-md-auto {\n margin-inline: auto;\n }\n .my-md-0 {\n margin-block: 0;\n }\n .my-md-1 {\n margin-block: 0.25rem;\n }\n .my-md-2 {\n margin-block: 0.5rem;\n }\n .my-md-3 {\n margin-block: 1rem;\n }\n .my-md-4 {\n margin-block: 1.5rem;\n }\n .my-md-5 {\n margin-block: 3rem;\n }\n .my-md-auto {\n margin-block: auto;\n }\n .mt-md-0 {\n margin-block-start: 0;\n }\n .mt-md-1 {\n margin-block-start: 0.25rem;\n }\n .mt-md-2 {\n margin-block-start: 0.5rem;\n }\n .mt-md-3 {\n margin-block-start: 1rem;\n }\n .mt-md-4 {\n margin-block-start: 1.5rem;\n }\n .mt-md-5 {\n margin-block-start: 3rem;\n }\n .mt-md-auto {\n margin-block-start: auto;\n }\n .me-md-0 {\n margin-inline-end: 0;\n }\n .me-md-1 {\n margin-inline-end: 0.25rem;\n }\n .me-md-2 {\n margin-inline-end: 0.5rem;\n }\n .me-md-3 {\n margin-inline-end: 1rem;\n }\n .me-md-4 {\n margin-inline-end: 1.5rem;\n }\n .me-md-5 {\n margin-inline-end: 3rem;\n }\n .me-md-auto {\n margin-inline-end: auto;\n }\n .mb-md-0 {\n margin-block-end: 0;\n }\n .mb-md-1 {\n margin-block-end: 0.25rem;\n }\n .mb-md-2 {\n margin-block-end: 0.5rem;\n }\n .mb-md-3 {\n margin-block-end: 1rem;\n }\n .mb-md-4 {\n margin-block-end: 1.5rem;\n }\n .mb-md-5 {\n margin-block-end: 3rem;\n }\n .mb-md-auto {\n margin-block-end: auto;\n }\n .ms-md-0 {\n margin-inline-start: 0;\n }\n .ms-md-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-md-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-md-3 {\n margin-inline-start: 1rem;\n }\n .ms-md-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-md-5 {\n margin-inline-start: 3rem;\n }\n .ms-md--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-md--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-md-auto {\n margin-inline-start: auto;\n }\n .p-md-0 {\n padding: 0;\n }\n .p-md-1 {\n padding: 0.25rem;\n }\n .p-md-2 {\n padding: 0.5rem;\n }\n .p-md-3 {\n padding: 1rem;\n }\n .p-md-4 {\n padding: 1.5rem;\n }\n .p-md-5 {\n padding: 3rem;\n }\n .px-md-0 {\n padding-inline: 0;\n }\n .px-md-1 {\n padding-inline: 0.25rem;\n }\n .px-md-2 {\n padding-inline: 0.5rem;\n }\n .px-md-3 {\n padding-inline: 1rem;\n }\n .px-md-4 {\n padding-inline: 1.5rem;\n }\n .px-md-5 {\n padding-inline: 3rem;\n }\n .py-md-0 {\n padding-block: 0;\n }\n .py-md-1 {\n padding-block: 0.25rem;\n }\n .py-md-2 {\n padding-block: 0.5rem;\n }\n .py-md-3 {\n padding-block: 1rem;\n }\n .py-md-4 {\n padding-block: 1.5rem;\n }\n .py-md-5 {\n padding-block: 3rem;\n }\n .pt-md-0 {\n padding-block-start: 0;\n }\n .pt-md-1 {\n padding-block-start: 0.25rem;\n }\n .pt-md-2 {\n padding-block-start: 0.5rem;\n }\n .pt-md-3 {\n padding-block-start: 1rem;\n }\n .pt-md-4 {\n padding-block-start: 1.5rem;\n }\n .pt-md-5 {\n padding-block-start: 3rem;\n }\n .pe-md-0 {\n padding-inline-end: 0;\n }\n .pe-md-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-md-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-md-3 {\n padding-inline-end: 1rem;\n }\n .pe-md-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-md-5 {\n padding-inline-end: 3rem;\n }\n .pb-md-0 {\n padding-block-end: 0;\n }\n .pb-md-1 {\n padding-block-end: 0.25rem;\n }\n .pb-md-2 {\n padding-block-end: 0.5rem;\n }\n .pb-md-3 {\n padding-block-end: 1rem;\n }\n .pb-md-4 {\n padding-block-end: 1.5rem;\n }\n .pb-md-5 {\n padding-block-end: 3rem;\n }\n .ps-md-0 {\n padding-inline-start: 0;\n }\n .ps-md-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-md-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-md-3 {\n padding-inline-start: 1rem;\n }\n .ps-md-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-md-5 {\n padding-inline-start: 3rem;\n }\n .gap-md-0 {\n gap: 0;\n }\n .gap-md-1 {\n gap: 0.25rem;\n }\n .gap-md-2 {\n gap: 0.5rem;\n }\n .gap-md-3 {\n gap: 1rem;\n }\n .gap-md-4 {\n gap: 1.5rem;\n }\n .gap-md-5 {\n gap: 3rem;\n }\n .row-gap-md-0 {\n row-gap: 0;\n }\n .row-gap-md-1 {\n row-gap: 0.25rem;\n }\n .row-gap-md-2 {\n row-gap: 0.5rem;\n }\n .row-gap-md-3 {\n row-gap: 1rem;\n }\n .row-gap-md-4 {\n row-gap: 1.5rem;\n }\n .row-gap-md-5 {\n row-gap: 3rem;\n }\n .column-gap-md-0 {\n column-gap: 0;\n }\n .column-gap-md-1 {\n column-gap: 0.25rem;\n }\n .column-gap-md-2 {\n column-gap: 0.5rem;\n }\n .column-gap-md-3 {\n column-gap: 1rem;\n }\n .column-gap-md-4 {\n column-gap: 1.5rem;\n }\n .column-gap-md-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 1024px) {\n .d-lg-inline {\n display: inline;\n }\n .d-lg-inline-block {\n display: inline-block;\n }\n .d-lg-block {\n display: block;\n }\n .d-lg-grid {\n display: grid;\n }\n .d-lg-inline-grid {\n display: inline-grid;\n }\n .d-lg-table {\n display: table;\n }\n .d-lg-table-row {\n display: table-row;\n }\n .d-lg-table-cell {\n display: table-cell;\n }\n .d-lg-flex {\n display: flex;\n }\n .d-lg-inline-flex {\n display: inline-flex;\n }\n .d-lg-contents {\n display: contents;\n }\n .d-lg-flow-root {\n display: flow-root;\n }\n .d-lg-none {\n display: none;\n }\n .flex-lg-fill {\n flex: 1 1 auto;\n }\n .flex-lg-row {\n flex-direction: row;\n }\n .flex-lg-column {\n flex-direction: column;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-lg-grow-0 {\n flex-grow: 0;\n }\n .flex-lg-grow-1 {\n flex-grow: 1;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1;\n }\n .flex-lg-wrap {\n flex-wrap: wrap;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-lg-start {\n justify-content: flex-start;\n }\n .justify-content-lg-end {\n justify-content: flex-end;\n }\n .justify-content-lg-center {\n justify-content: center;\n }\n .justify-content-lg-between {\n justify-content: space-between;\n }\n .justify-content-lg-around {\n justify-content: space-around;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly;\n }\n .justify-items-lg-start {\n justify-items: start;\n }\n .justify-items-lg-end {\n justify-items: end;\n }\n .justify-items-lg-center {\n justify-items: center;\n }\n .justify-items-lg-stretch {\n justify-items: stretch;\n }\n .align-items-lg-start {\n align-items: flex-start;\n }\n .align-items-lg-end {\n align-items: flex-end;\n }\n .align-items-lg-center {\n align-items: center;\n }\n .align-items-lg-baseline {\n align-items: baseline;\n }\n .align-items-lg-stretch {\n align-items: stretch;\n }\n .align-content-lg-start {\n align-content: flex-start;\n }\n .align-content-lg-end {\n align-content: flex-end;\n }\n .align-content-lg-center {\n align-content: center;\n }\n .align-content-lg-between {\n align-content: space-between;\n }\n .align-content-lg-around {\n align-content: space-around;\n }\n .align-content-lg-stretch {\n align-content: stretch;\n }\n .align-self-lg-auto {\n align-self: auto;\n }\n .align-self-lg-start {\n align-self: flex-start;\n }\n .align-self-lg-end {\n align-self: flex-end;\n }\n .align-self-lg-center {\n align-self: center;\n }\n .align-self-lg-baseline {\n align-self: baseline;\n }\n .align-self-lg-stretch {\n align-self: stretch;\n }\n .place-items-lg-start {\n place-items: start;\n }\n .place-items-lg-end {\n place-items: end;\n }\n .place-items-lg-center {\n place-items: center;\n }\n .place-items-lg-stretch {\n place-items: stretch;\n }\n .grid-cols-lg-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-lg-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-lg-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-lg-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-lg-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-lg-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-lg-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-lg-dense {\n grid-auto-flow: dense;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-last {\n order: 6;\n }\n .m-lg-0 {\n margin: 0;\n }\n .m-lg-1 {\n margin: 0.25rem;\n }\n .m-lg-2 {\n margin: 0.5rem;\n }\n .m-lg-3 {\n margin: 1rem;\n }\n .m-lg-4 {\n margin: 1.5rem;\n }\n .m-lg-5 {\n margin: 3rem;\n }\n .m-lg-auto {\n margin: auto;\n }\n .mx-lg-0 {\n margin-inline: 0;\n }\n .mx-lg-1 {\n margin-inline: 0.25rem;\n }\n .mx-lg-2 {\n margin-inline: 0.5rem;\n }\n .mx-lg-3 {\n margin-inline: 1rem;\n }\n .mx-lg-4 {\n margin-inline: 1.5rem;\n }\n .mx-lg-5 {\n margin-inline: 3rem;\n }\n .mx-lg-auto {\n margin-inline: auto;\n }\n .my-lg-0 {\n margin-block: 0;\n }\n .my-lg-1 {\n margin-block: 0.25rem;\n }\n .my-lg-2 {\n margin-block: 0.5rem;\n }\n .my-lg-3 {\n margin-block: 1rem;\n }\n .my-lg-4 {\n margin-block: 1.5rem;\n }\n .my-lg-5 {\n margin-block: 3rem;\n }\n .my-lg-auto {\n margin-block: auto;\n }\n .mt-lg-0 {\n margin-block-start: 0;\n }\n .mt-lg-1 {\n margin-block-start: 0.25rem;\n }\n .mt-lg-2 {\n margin-block-start: 0.5rem;\n }\n .mt-lg-3 {\n margin-block-start: 1rem;\n }\n .mt-lg-4 {\n margin-block-start: 1.5rem;\n }\n .mt-lg-5 {\n margin-block-start: 3rem;\n }\n .mt-lg-auto {\n margin-block-start: auto;\n }\n .me-lg-0 {\n margin-inline-end: 0;\n }\n .me-lg-1 {\n margin-inline-end: 0.25rem;\n }\n .me-lg-2 {\n margin-inline-end: 0.5rem;\n }\n .me-lg-3 {\n margin-inline-end: 1rem;\n }\n .me-lg-4 {\n margin-inline-end: 1.5rem;\n }\n .me-lg-5 {\n margin-inline-end: 3rem;\n }\n .me-lg-auto {\n margin-inline-end: auto;\n }\n .mb-lg-0 {\n margin-block-end: 0;\n }\n .mb-lg-1 {\n margin-block-end: 0.25rem;\n }\n .mb-lg-2 {\n margin-block-end: 0.5rem;\n }\n .mb-lg-3 {\n margin-block-end: 1rem;\n }\n .mb-lg-4 {\n margin-block-end: 1.5rem;\n }\n .mb-lg-5 {\n margin-block-end: 3rem;\n }\n .mb-lg-auto {\n margin-block-end: auto;\n }\n .ms-lg-0 {\n margin-inline-start: 0;\n }\n .ms-lg-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-lg-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-lg-3 {\n margin-inline-start: 1rem;\n }\n .ms-lg-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-lg-5 {\n margin-inline-start: 3rem;\n }\n .ms-lg--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-lg--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-lg-auto {\n margin-inline-start: auto;\n }\n .p-lg-0 {\n padding: 0;\n }\n .p-lg-1 {\n padding: 0.25rem;\n }\n .p-lg-2 {\n padding: 0.5rem;\n }\n .p-lg-3 {\n padding: 1rem;\n }\n .p-lg-4 {\n padding: 1.5rem;\n }\n .p-lg-5 {\n padding: 3rem;\n }\n .px-lg-0 {\n padding-inline: 0;\n }\n .px-lg-1 {\n padding-inline: 0.25rem;\n }\n .px-lg-2 {\n padding-inline: 0.5rem;\n }\n .px-lg-3 {\n padding-inline: 1rem;\n }\n .px-lg-4 {\n padding-inline: 1.5rem;\n }\n .px-lg-5 {\n padding-inline: 3rem;\n }\n .py-lg-0 {\n padding-block: 0;\n }\n .py-lg-1 {\n padding-block: 0.25rem;\n }\n .py-lg-2 {\n padding-block: 0.5rem;\n }\n .py-lg-3 {\n padding-block: 1rem;\n }\n .py-lg-4 {\n padding-block: 1.5rem;\n }\n .py-lg-5 {\n padding-block: 3rem;\n }\n .pt-lg-0 {\n padding-block-start: 0;\n }\n .pt-lg-1 {\n padding-block-start: 0.25rem;\n }\n .pt-lg-2 {\n padding-block-start: 0.5rem;\n }\n .pt-lg-3 {\n padding-block-start: 1rem;\n }\n .pt-lg-4 {\n padding-block-start: 1.5rem;\n }\n .pt-lg-5 {\n padding-block-start: 3rem;\n }\n .pe-lg-0 {\n padding-inline-end: 0;\n }\n .pe-lg-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-lg-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-lg-3 {\n padding-inline-end: 1rem;\n }\n .pe-lg-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-lg-5 {\n padding-inline-end: 3rem;\n }\n .pb-lg-0 {\n padding-block-end: 0;\n }\n .pb-lg-1 {\n padding-block-end: 0.25rem;\n }\n .pb-lg-2 {\n padding-block-end: 0.5rem;\n }\n .pb-lg-3 {\n padding-block-end: 1rem;\n }\n .pb-lg-4 {\n padding-block-end: 1.5rem;\n }\n .pb-lg-5 {\n padding-block-end: 3rem;\n }\n .ps-lg-0 {\n padding-inline-start: 0;\n }\n .ps-lg-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-lg-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-lg-3 {\n padding-inline-start: 1rem;\n }\n .ps-lg-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-lg-5 {\n padding-inline-start: 3rem;\n }\n .gap-lg-0 {\n gap: 0;\n }\n .gap-lg-1 {\n gap: 0.25rem;\n }\n .gap-lg-2 {\n gap: 0.5rem;\n }\n .gap-lg-3 {\n gap: 1rem;\n }\n .gap-lg-4 {\n gap: 1.5rem;\n }\n .gap-lg-5 {\n gap: 3rem;\n }\n .row-gap-lg-0 {\n row-gap: 0;\n }\n .row-gap-lg-1 {\n row-gap: 0.25rem;\n }\n .row-gap-lg-2 {\n row-gap: 0.5rem;\n }\n .row-gap-lg-3 {\n row-gap: 1rem;\n }\n .row-gap-lg-4 {\n row-gap: 1.5rem;\n }\n .row-gap-lg-5 {\n row-gap: 3rem;\n }\n .column-gap-lg-0 {\n column-gap: 0;\n }\n .column-gap-lg-1 {\n column-gap: 0.25rem;\n }\n .column-gap-lg-2 {\n column-gap: 0.5rem;\n }\n .column-gap-lg-3 {\n column-gap: 1rem;\n }\n .column-gap-lg-4 {\n column-gap: 1.5rem;\n }\n .column-gap-lg-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 1280px) {\n .d-xl-inline {\n display: inline;\n }\n .d-xl-inline-block {\n display: inline-block;\n }\n .d-xl-block {\n display: block;\n }\n .d-xl-grid {\n display: grid;\n }\n .d-xl-inline-grid {\n display: inline-grid;\n }\n .d-xl-table {\n display: table;\n }\n .d-xl-table-row {\n display: table-row;\n }\n .d-xl-table-cell {\n display: table-cell;\n }\n .d-xl-flex {\n display: flex;\n }\n .d-xl-inline-flex {\n display: inline-flex;\n }\n .d-xl-contents {\n display: contents;\n }\n .d-xl-flow-root {\n display: flow-root;\n }\n .d-xl-none {\n display: none;\n }\n .flex-xl-fill {\n flex: 1 1 auto;\n }\n .flex-xl-row {\n flex-direction: row;\n }\n .flex-xl-column {\n flex-direction: column;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-xl-grow-0 {\n flex-grow: 0;\n }\n .flex-xl-grow-1 {\n flex-grow: 1;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-xl-wrap {\n flex-wrap: wrap;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-xl-start {\n justify-content: flex-start;\n }\n .justify-content-xl-end {\n justify-content: flex-end;\n }\n .justify-content-xl-center {\n justify-content: center;\n }\n .justify-content-xl-between {\n justify-content: space-between;\n }\n .justify-content-xl-around {\n justify-content: space-around;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-xl-start {\n justify-items: start;\n }\n .justify-items-xl-end {\n justify-items: end;\n }\n .justify-items-xl-center {\n justify-items: center;\n }\n .justify-items-xl-stretch {\n justify-items: stretch;\n }\n .align-items-xl-start {\n align-items: flex-start;\n }\n .align-items-xl-end {\n align-items: flex-end;\n }\n .align-items-xl-center {\n align-items: center;\n }\n .align-items-xl-baseline {\n align-items: baseline;\n }\n .align-items-xl-stretch {\n align-items: stretch;\n }\n .align-content-xl-start {\n align-content: flex-start;\n }\n .align-content-xl-end {\n align-content: flex-end;\n }\n .align-content-xl-center {\n align-content: center;\n }\n .align-content-xl-between {\n align-content: space-between;\n }\n .align-content-xl-around {\n align-content: space-around;\n }\n .align-content-xl-stretch {\n align-content: stretch;\n }\n .align-self-xl-auto {\n align-self: auto;\n }\n .align-self-xl-start {\n align-self: flex-start;\n }\n .align-self-xl-end {\n align-self: flex-end;\n }\n .align-self-xl-center {\n align-self: center;\n }\n .align-self-xl-baseline {\n align-self: baseline;\n }\n .align-self-xl-stretch {\n align-self: stretch;\n }\n .place-items-xl-start {\n place-items: start;\n }\n .place-items-xl-end {\n place-items: end;\n }\n .place-items-xl-center {\n place-items: center;\n }\n .place-items-xl-stretch {\n place-items: stretch;\n }\n .grid-cols-xl-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-xl-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-xl-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-xl-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-xl-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-xl-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-xl-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-xl-dense {\n grid-auto-flow: dense;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-last {\n order: 6;\n }\n .m-xl-0 {\n margin: 0;\n }\n .m-xl-1 {\n margin: 0.25rem;\n }\n .m-xl-2 {\n margin: 0.5rem;\n }\n .m-xl-3 {\n margin: 1rem;\n }\n .m-xl-4 {\n margin: 1.5rem;\n }\n .m-xl-5 {\n margin: 3rem;\n }\n .m-xl-auto {\n margin: auto;\n }\n .mx-xl-0 {\n margin-inline: 0;\n }\n .mx-xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-xl-3 {\n margin-inline: 1rem;\n }\n .mx-xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-xl-5 {\n margin-inline: 3rem;\n }\n .mx-xl-auto {\n margin-inline: auto;\n }\n .my-xl-0 {\n margin-block: 0;\n }\n .my-xl-1 {\n margin-block: 0.25rem;\n }\n .my-xl-2 {\n margin-block: 0.5rem;\n }\n .my-xl-3 {\n margin-block: 1rem;\n }\n .my-xl-4 {\n margin-block: 1.5rem;\n }\n .my-xl-5 {\n margin-block: 3rem;\n }\n .my-xl-auto {\n margin-block: auto;\n }\n .mt-xl-0 {\n margin-block-start: 0;\n }\n .mt-xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-xl-3 {\n margin-block-start: 1rem;\n }\n .mt-xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-xl-5 {\n margin-block-start: 3rem;\n }\n .mt-xl-auto {\n margin-block-start: auto;\n }\n .me-xl-0 {\n margin-inline-end: 0;\n }\n .me-xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-xl-3 {\n margin-inline-end: 1rem;\n }\n .me-xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-xl-5 {\n margin-inline-end: 3rem;\n }\n .me-xl-auto {\n margin-inline-end: auto;\n }\n .mb-xl-0 {\n margin-block-end: 0;\n }\n .mb-xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-xl-3 {\n margin-block-end: 1rem;\n }\n .mb-xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-xl-5 {\n margin-block-end: 3rem;\n }\n .mb-xl-auto {\n margin-block-end: auto;\n }\n .ms-xl-0 {\n margin-inline-start: 0;\n }\n .ms-xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-xl-auto {\n margin-inline-start: auto;\n }\n .p-xl-0 {\n padding: 0;\n }\n .p-xl-1 {\n padding: 0.25rem;\n }\n .p-xl-2 {\n padding: 0.5rem;\n }\n .p-xl-3 {\n padding: 1rem;\n }\n .p-xl-4 {\n padding: 1.5rem;\n }\n .p-xl-5 {\n padding: 3rem;\n }\n .px-xl-0 {\n padding-inline: 0;\n }\n .px-xl-1 {\n padding-inline: 0.25rem;\n }\n .px-xl-2 {\n padding-inline: 0.5rem;\n }\n .px-xl-3 {\n padding-inline: 1rem;\n }\n .px-xl-4 {\n padding-inline: 1.5rem;\n }\n .px-xl-5 {\n padding-inline: 3rem;\n }\n .py-xl-0 {\n padding-block: 0;\n }\n .py-xl-1 {\n padding-block: 0.25rem;\n }\n .py-xl-2 {\n padding-block: 0.5rem;\n }\n .py-xl-3 {\n padding-block: 1rem;\n }\n .py-xl-4 {\n padding-block: 1.5rem;\n }\n .py-xl-5 {\n padding-block: 3rem;\n }\n .pt-xl-0 {\n padding-block-start: 0;\n }\n .pt-xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-xl-3 {\n padding-block-start: 1rem;\n }\n .pt-xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-xl-5 {\n padding-block-start: 3rem;\n }\n .pe-xl-0 {\n padding-inline-end: 0;\n }\n .pe-xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-xl-0 {\n padding-block-end: 0;\n }\n .pb-xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-xl-3 {\n padding-block-end: 1rem;\n }\n .pb-xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-xl-5 {\n padding-block-end: 3rem;\n }\n .ps-xl-0 {\n padding-inline-start: 0;\n }\n .ps-xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-xl-5 {\n padding-inline-start: 3rem;\n }\n .gap-xl-0 {\n gap: 0;\n }\n .gap-xl-1 {\n gap: 0.25rem;\n }\n .gap-xl-2 {\n gap: 0.5rem;\n }\n .gap-xl-3 {\n gap: 1rem;\n }\n .gap-xl-4 {\n gap: 1.5rem;\n }\n .gap-xl-5 {\n gap: 3rem;\n }\n .row-gap-xl-0 {\n row-gap: 0;\n }\n .row-gap-xl-1 {\n row-gap: 0.25rem;\n }\n .row-gap-xl-2 {\n row-gap: 0.5rem;\n }\n .row-gap-xl-3 {\n row-gap: 1rem;\n }\n .row-gap-xl-4 {\n row-gap: 1.5rem;\n }\n .row-gap-xl-5 {\n row-gap: 3rem;\n }\n .column-gap-xl-0 {\n column-gap: 0;\n }\n .column-gap-xl-1 {\n column-gap: 0.25rem;\n }\n .column-gap-xl-2 {\n column-gap: 0.5rem;\n }\n .column-gap-xl-3 {\n column-gap: 1rem;\n }\n .column-gap-xl-4 {\n column-gap: 1.5rem;\n }\n .column-gap-xl-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 1536px) {\n .d-2xl-inline {\n display: inline;\n }\n .d-2xl-inline-block {\n display: inline-block;\n }\n .d-2xl-block {\n display: block;\n }\n .d-2xl-grid {\n display: grid;\n }\n .d-2xl-inline-grid {\n display: inline-grid;\n }\n .d-2xl-table {\n display: table;\n }\n .d-2xl-table-row {\n display: table-row;\n }\n .d-2xl-table-cell {\n display: table-cell;\n }\n .d-2xl-flex {\n display: flex;\n }\n .d-2xl-inline-flex {\n display: inline-flex;\n }\n .d-2xl-contents {\n display: contents;\n }\n .d-2xl-flow-root {\n display: flow-root;\n }\n .d-2xl-none {\n display: none;\n }\n .flex-2xl-fill {\n flex: 1 1 auto;\n }\n .flex-2xl-row {\n flex-direction: row;\n }\n .flex-2xl-column {\n flex-direction: column;\n }\n .flex-2xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-2xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-2xl-grow-0 {\n flex-grow: 0;\n }\n .flex-2xl-grow-1 {\n flex-grow: 1;\n }\n .flex-2xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-2xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-2xl-wrap {\n flex-wrap: wrap;\n }\n .flex-2xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-2xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-2xl-start {\n justify-content: flex-start;\n }\n .justify-content-2xl-end {\n justify-content: flex-end;\n }\n .justify-content-2xl-center {\n justify-content: center;\n }\n .justify-content-2xl-between {\n justify-content: space-between;\n }\n .justify-content-2xl-around {\n justify-content: space-around;\n }\n .justify-content-2xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-2xl-start {\n justify-items: start;\n }\n .justify-items-2xl-end {\n justify-items: end;\n }\n .justify-items-2xl-center {\n justify-items: center;\n }\n .justify-items-2xl-stretch {\n justify-items: stretch;\n }\n .align-items-2xl-start {\n align-items: flex-start;\n }\n .align-items-2xl-end {\n align-items: flex-end;\n }\n .align-items-2xl-center {\n align-items: center;\n }\n .align-items-2xl-baseline {\n align-items: baseline;\n }\n .align-items-2xl-stretch {\n align-items: stretch;\n }\n .align-content-2xl-start {\n align-content: flex-start;\n }\n .align-content-2xl-end {\n align-content: flex-end;\n }\n .align-content-2xl-center {\n align-content: center;\n }\n .align-content-2xl-between {\n align-content: space-between;\n }\n .align-content-2xl-around {\n align-content: space-around;\n }\n .align-content-2xl-stretch {\n align-content: stretch;\n }\n .align-self-2xl-auto {\n align-self: auto;\n }\n .align-self-2xl-start {\n align-self: flex-start;\n }\n .align-self-2xl-end {\n align-self: flex-end;\n }\n .align-self-2xl-center {\n align-self: center;\n }\n .align-self-2xl-baseline {\n align-self: baseline;\n }\n .align-self-2xl-stretch {\n align-self: stretch;\n }\n .place-items-2xl-start {\n place-items: start;\n }\n .place-items-2xl-end {\n place-items: end;\n }\n .place-items-2xl-center {\n place-items: center;\n }\n .place-items-2xl-stretch {\n place-items: stretch;\n }\n .grid-cols-2xl-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-2xl-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-2xl-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-2xl-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-2xl-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-2xl-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-2xl-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-2xl-dense {\n grid-auto-flow: dense;\n }\n .order-2xl-first {\n order: -1;\n }\n .order-2xl-0 {\n order: 0;\n }\n .order-2xl-1 {\n order: 1;\n }\n .order-2xl-2 {\n order: 2;\n }\n .order-2xl-3 {\n order: 3;\n }\n .order-2xl-4 {\n order: 4;\n }\n .order-2xl-5 {\n order: 5;\n }\n .order-2xl-last {\n order: 6;\n }\n .m-2xl-0 {\n margin: 0;\n }\n .m-2xl-1 {\n margin: 0.25rem;\n }\n .m-2xl-2 {\n margin: 0.5rem;\n }\n .m-2xl-3 {\n margin: 1rem;\n }\n .m-2xl-4 {\n margin: 1.5rem;\n }\n .m-2xl-5 {\n margin: 3rem;\n }\n .m-2xl-auto {\n margin: auto;\n }\n .mx-2xl-0 {\n margin-inline: 0;\n }\n .mx-2xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-2xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-2xl-3 {\n margin-inline: 1rem;\n }\n .mx-2xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-2xl-5 {\n margin-inline: 3rem;\n }\n .mx-2xl-auto {\n margin-inline: auto;\n }\n .my-2xl-0 {\n margin-block: 0;\n }\n .my-2xl-1 {\n margin-block: 0.25rem;\n }\n .my-2xl-2 {\n margin-block: 0.5rem;\n }\n .my-2xl-3 {\n margin-block: 1rem;\n }\n .my-2xl-4 {\n margin-block: 1.5rem;\n }\n .my-2xl-5 {\n margin-block: 3rem;\n }\n .my-2xl-auto {\n margin-block: auto;\n }\n .mt-2xl-0 {\n margin-block-start: 0;\n }\n .mt-2xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-2xl-3 {\n margin-block-start: 1rem;\n }\n .mt-2xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-2xl-5 {\n margin-block-start: 3rem;\n }\n .mt-2xl-auto {\n margin-block-start: auto;\n }\n .me-2xl-0 {\n margin-inline-end: 0;\n }\n .me-2xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-2xl-3 {\n margin-inline-end: 1rem;\n }\n .me-2xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-2xl-5 {\n margin-inline-end: 3rem;\n }\n .me-2xl-auto {\n margin-inline-end: auto;\n }\n .mb-2xl-0 {\n margin-block-end: 0;\n }\n .mb-2xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-2xl-3 {\n margin-block-end: 1rem;\n }\n .mb-2xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-2xl-5 {\n margin-block-end: 3rem;\n }\n .mb-2xl-auto {\n margin-block-end: auto;\n }\n .ms-2xl-0 {\n margin-inline-start: 0;\n }\n .ms-2xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-2xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-2xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-2xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-2xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-2xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-2xl-auto {\n margin-inline-start: auto;\n }\n .p-2xl-0 {\n padding: 0;\n }\n .p-2xl-1 {\n padding: 0.25rem;\n }\n .p-2xl-2 {\n padding: 0.5rem;\n }\n .p-2xl-3 {\n padding: 1rem;\n }\n .p-2xl-4 {\n padding: 1.5rem;\n }\n .p-2xl-5 {\n padding: 3rem;\n }\n .px-2xl-0 {\n padding-inline: 0;\n }\n .px-2xl-1 {\n padding-inline: 0.25rem;\n }\n .px-2xl-2 {\n padding-inline: 0.5rem;\n }\n .px-2xl-3 {\n padding-inline: 1rem;\n }\n .px-2xl-4 {\n padding-inline: 1.5rem;\n }\n .px-2xl-5 {\n padding-inline: 3rem;\n }\n .py-2xl-0 {\n padding-block: 0;\n }\n .py-2xl-1 {\n padding-block: 0.25rem;\n }\n .py-2xl-2 {\n padding-block: 0.5rem;\n }\n .py-2xl-3 {\n padding-block: 1rem;\n }\n .py-2xl-4 {\n padding-block: 1.5rem;\n }\n .py-2xl-5 {\n padding-block: 3rem;\n }\n .pt-2xl-0 {\n padding-block-start: 0;\n }\n .pt-2xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-2xl-3 {\n padding-block-start: 1rem;\n }\n .pt-2xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-2xl-5 {\n padding-block-start: 3rem;\n }\n .pe-2xl-0 {\n padding-inline-end: 0;\n }\n .pe-2xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-2xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-2xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-2xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-2xl-0 {\n padding-block-end: 0;\n }\n .pb-2xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-2xl-3 {\n padding-block-end: 1rem;\n }\n .pb-2xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-2xl-5 {\n padding-block-end: 3rem;\n }\n .ps-2xl-0 {\n padding-inline-start: 0;\n }\n .ps-2xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-2xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-2xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-2xl-5 {\n padding-inline-start: 3rem;\n }\n .gap-2xl-0 {\n gap: 0;\n }\n .gap-2xl-1 {\n gap: 0.25rem;\n }\n .gap-2xl-2 {\n gap: 0.5rem;\n }\n .gap-2xl-3 {\n gap: 1rem;\n }\n .gap-2xl-4 {\n gap: 1.5rem;\n }\n .gap-2xl-5 {\n gap: 3rem;\n }\n .row-gap-2xl-0 {\n row-gap: 0;\n }\n .row-gap-2xl-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2xl-2 {\n row-gap: 0.5rem;\n }\n .row-gap-2xl-3 {\n row-gap: 1rem;\n }\n .row-gap-2xl-4 {\n row-gap: 1.5rem;\n }\n .row-gap-2xl-5 {\n row-gap: 3rem;\n }\n .column-gap-2xl-0 {\n column-gap: 0;\n }\n .column-gap-2xl-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2xl-2 {\n column-gap: 0.5rem;\n }\n .column-gap-2xl-3 {\n column-gap: 1rem;\n }\n .column-gap-2xl-4 {\n column-gap: 1.5rem;\n }\n .column-gap-2xl-5 {\n column-gap: 3rem;\n }\n }\n}\n:root {\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --gutter-x: #{$gutter};\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * .5);\n margin-inline: auto;\n}\n\n@layer layout {\n @if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $breakpoints) {\n @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$name}\");\n}\n\n// Iterate all breakpoints and provide the current name and infix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n @content($breakpoint, $infix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next infix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $infix: breakpoint-infix($next, $breakpoints);\n @content($breakpoint, $next, $infix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $infix) {\n @content($breakpoint, $next, $infix);\n }\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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (width >= $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (width < $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $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 @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n @if meta.type-of($defaults) == \"list\" {\n $map: ();\n @each $key in $defaults {\n $map: map.merge($map, ($key: true));\n }\n $defaults: $map;\n }\n $merged: map.merge($defaults, $overrides);\n @each $key, $value in $merged {\n @if $value == null {\n $merged: map.remove($merged, $key);\n }\n }\n @return $merged;\n}\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n\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\n$negative-spacers: (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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 breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !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\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, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\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// Links\n//\n// Style anchor elements.\n\n$link-decoration: underline !default;\n$link-underline-offset: .2em !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// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n\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$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// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n (\n \"xs\": (\n \"font-size\": .75rem,\n \"line-height\": 1.25\n ),\n \"sm\": (\n \"font-size\": .875rem,\n \"line-height\": 1.5\n ),\n \"md\": (\n \"font-size\": 1rem,\n \"line-height\": 1.5\n ),\n \"lg\": (\n \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n \"line-height\": 1.5\n ),\n \"xl\": (\n \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n \"line-height\": calc(2.5 / 1.75)\n ),\n \"2xl\": (\n \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n \"line-height\": calc(3 / 2.25)\n ),\n \"3xl\": (\n \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n \"line-height\": 1.2\n ),\n \"4xl\": (\n \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n \"line-height\": 1.1\n ),\n \"5xl\": (\n \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n \"line-height\": 1.1\n ),\n \"6xl\": (\n \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n \"line-height\": 1\n ),\n ),\n $font-sizes\n);\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 type-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// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-dialog: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n @if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n\n @include make-grid-columns();\n }\n\n @if $enable-cssgrid {\n .grid {\n --columns: #{$grid-columns};\n --rows: 1;\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n\n }\n\n @include make-cssgrid();\n }\n\n // mdo-do: add to utilities?\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n\n .grid-fill {\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n\n // .g-col-auto {\n // grid-column: auto;\n // }\n\n // mdo-do: add to utilities?\n // .grid-cols-3 {\n // --columns: 3;\n // }\n // .grid-cols-4 {\n // --columns: 4;\n // }\n // .grid-cols-6 {\n // --columns: 6;\n // }\n\n // .grid-full {\n // grid-column: 1 / -1;\n // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n --gutter-x: #{$gutter-x};\n --gutter-y: #{$gutter-y};\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-inline: calc(-.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n // stylelint-disable-next-line scss/at-function-named-arguments\n box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-inline: calc(var(--gutter-x) * .5);\n margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: math.percentage(math.div($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: math.div($size, $columns);\n // stylelint-disable-next-line scss/at-function-named-arguments\n margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0;\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $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 \"../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($breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $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 // 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\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n // Validate required keys\n @if not map.has-key($utility, property) {\n @error \"Utility is missing required `property` key: #{$utility}\";\n }\n @if not map.has-key($utility, values) {\n @error \"Utility is missing required `values` key: #{$utility}\";\n }\n\n // Warn on unknown keys (likely typos)\n $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n @each $key in map.keys($utility) {\n @if not list.index($valid-keys, $key) {\n @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n }\n }\n\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selectorType) {\n @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selectorType != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n }\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n // Calculate infix once, before the loop\n // Note: $infix already includes the leading dash from breakpoint-infix()\n // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n // @debug \"Properties type: #{meta.type-of($properties)}\";\n // @debug \"Properties: #{$properties}\";\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n // For property maps, we need to determine the class from the utility definition\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // Use custom CSS variable name if present, otherwise default to `class`\n // mdo-do: restore?\n // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $infix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n // Use the fallback of the first property if no `class` key is used\n @if $customClass != \"\" {\n $selector: \".#{$customClass + $infix + $customClassModifier}\";\n } @else {\n $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n","@use \"banner\" with (\n $file: \"Grid\"\n);\n\n@use \"config\" as *;\n@use \"functions\" as *;\n\n@forward \"utilities\"; // Make utilities available downstream\n@use \"utilities\" as *; // Bring utilities into the current namespace\n\n@forward \"layout/containers\";\n@forward \"layout/grid\";\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"grid-column-counts\",\n \"grid-columns\",\n \"grid-auto-flow\",\n \"gap\",\n \"row-gap\",\n \"column-gap\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"justify-items\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"place-items\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-end\",\n \"margin-bottom\",\n \"margin-start\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-end\",\n \"negative-margin-bottom\",\n \"negative-margin-start\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-end\",\n \"padding-bottom\",\n \"padding-start\",\n )\n);\n\n// check-unused-imports-disable-next-line — side-effect import: generates utility CSS.\n@use \"utilities/api\";\n\n:root {\n @each $name, $value in $breakpoints {\n --breakpoint-#{$name}: #{$value};\n }\n}\n"],"names":[]}
\ No newline at end of file
+{"version":3,"sourceRoot":null,"mappings":"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","sources":["bootstrap-grid.css","../../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","../../scss/bootstrap-grid.scss"],"sourcesContent":["/*!\n * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n@layer layout {\n .container,\n .container-fluid,\n .\\32 xl\\:container,\n .xl\\:container,\n .lg\\:container,\n .md\\:container,\n .sm\\:container {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-inline: auto;\n }\n @media (width >= 576px) {\n .sm\\:container, .container {\n max-width: 540px;\n }\n }\n @media (width >= 768px) {\n .md\\:container, .sm\\:container, .container {\n max-width: 720px;\n }\n }\n @media (width >= 1024px) {\n .lg\\:container, .md\\:container, .sm\\:container, .container {\n max-width: 960px;\n }\n }\n @media (width >= 1280px) {\n .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n max-width: 1200px;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:container, .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n max-width: 1440px;\n }\n }\n}\n@layer layout {\n .row {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-inline: calc(-0.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n }\n .row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-top: var(--gutter-y);\n }\n .col {\n flex: 1 0 0;\n }\n .row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-3 {\n margin-inline-start: 25%;\n }\n .offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-6 {\n margin-inline-start: 50%;\n }\n .offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-9 {\n margin-inline-start: 75%;\n }\n .offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-0,\n .gx-0 {\n --gutter-x: 0;\n }\n .g-0,\n .gy-0 {\n --gutter-y: 0;\n }\n .g-1,\n .gx-1 {\n --gutter-x: 0.25rem;\n }\n .g-1,\n .gy-1 {\n --gutter-y: 0.25rem;\n }\n .g-2,\n .gx-2 {\n --gutter-x: 0.5rem;\n }\n .g-2,\n .gy-2 {\n --gutter-y: 0.5rem;\n }\n .g-3,\n .gx-3 {\n --gutter-x: 1rem;\n }\n .g-3,\n .gy-3 {\n --gutter-y: 1rem;\n }\n .g-4,\n .gx-4 {\n --gutter-x: 1.5rem;\n }\n .g-4,\n .gy-4 {\n --gutter-y: 1.5rem;\n }\n .g-5,\n .gx-5 {\n --gutter-x: 3rem;\n }\n .g-5,\n .gy-5 {\n --gutter-y: 3rem;\n }\n @media (width >= 576px) {\n .sm\\:col {\n flex: 1 0 0;\n }\n .sm\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .sm\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .sm\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .sm\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .sm\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .sm\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .sm\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .sm\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .sm\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .sm\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .sm\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .sm\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .sm\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .sm\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .sm\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .sm\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .sm\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .sm\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .sm\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .sm\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .sm\\:offset-0 {\n margin-inline-start: 0;\n }\n .sm\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .sm\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .sm\\:offset-3 {\n margin-inline-start: 25%;\n }\n .sm\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .sm\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .sm\\:offset-6 {\n margin-inline-start: 50%;\n }\n .sm\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .sm\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .sm\\:offset-9 {\n margin-inline-start: 75%;\n }\n .sm\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .sm\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .sm\\:g-0,\n .sm\\:gx-0 {\n --gutter-x: 0;\n }\n .sm\\:g-0,\n .sm\\:gy-0 {\n --gutter-y: 0;\n }\n .sm\\:g-1,\n .sm\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .sm\\:g-1,\n .sm\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .sm\\:g-2,\n .sm\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .sm\\:g-2,\n .sm\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .sm\\:g-3,\n .sm\\:gx-3 {\n --gutter-x: 1rem;\n }\n .sm\\:g-3,\n .sm\\:gy-3 {\n --gutter-y: 1rem;\n }\n .sm\\:g-4,\n .sm\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .sm\\:g-4,\n .sm\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .sm\\:g-5,\n .sm\\:gx-5 {\n --gutter-x: 3rem;\n }\n .sm\\:g-5,\n .sm\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 768px) {\n .md\\:col {\n flex: 1 0 0;\n }\n .md\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .md\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .md\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .md\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .md\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .md\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .md\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .md\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .md\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .md\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .md\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .md\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .md\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .md\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .md\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .md\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .md\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .md\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .md\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .md\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .md\\:offset-0 {\n margin-inline-start: 0;\n }\n .md\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .md\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .md\\:offset-3 {\n margin-inline-start: 25%;\n }\n .md\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .md\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .md\\:offset-6 {\n margin-inline-start: 50%;\n }\n .md\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .md\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .md\\:offset-9 {\n margin-inline-start: 75%;\n }\n .md\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .md\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .md\\:g-0,\n .md\\:gx-0 {\n --gutter-x: 0;\n }\n .md\\:g-0,\n .md\\:gy-0 {\n --gutter-y: 0;\n }\n .md\\:g-1,\n .md\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .md\\:g-1,\n .md\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .md\\:g-2,\n .md\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .md\\:g-2,\n .md\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .md\\:g-3,\n .md\\:gx-3 {\n --gutter-x: 1rem;\n }\n .md\\:g-3,\n .md\\:gy-3 {\n --gutter-y: 1rem;\n }\n .md\\:g-4,\n .md\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .md\\:g-4,\n .md\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .md\\:g-5,\n .md\\:gx-5 {\n --gutter-x: 3rem;\n }\n .md\\:g-5,\n .md\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1024px) {\n .lg\\:col {\n flex: 1 0 0;\n }\n .lg\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .lg\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .lg\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .lg\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .lg\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .lg\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .lg\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .lg\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .lg\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .lg\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .lg\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .lg\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .lg\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .lg\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .lg\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .lg\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .lg\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .lg\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .lg\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .lg\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .lg\\:offset-0 {\n margin-inline-start: 0;\n }\n .lg\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .lg\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .lg\\:offset-3 {\n margin-inline-start: 25%;\n }\n .lg\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .lg\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .lg\\:offset-6 {\n margin-inline-start: 50%;\n }\n .lg\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .lg\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .lg\\:offset-9 {\n margin-inline-start: 75%;\n }\n .lg\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .lg\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .lg\\:g-0,\n .lg\\:gx-0 {\n --gutter-x: 0;\n }\n .lg\\:g-0,\n .lg\\:gy-0 {\n --gutter-y: 0;\n }\n .lg\\:g-1,\n .lg\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .lg\\:g-1,\n .lg\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .lg\\:g-2,\n .lg\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .lg\\:g-2,\n .lg\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .lg\\:g-3,\n .lg\\:gx-3 {\n --gutter-x: 1rem;\n }\n .lg\\:g-3,\n .lg\\:gy-3 {\n --gutter-y: 1rem;\n }\n .lg\\:g-4,\n .lg\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .lg\\:g-4,\n .lg\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .lg\\:g-5,\n .lg\\:gx-5 {\n --gutter-x: 3rem;\n }\n .lg\\:g-5,\n .lg\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1280px) {\n .xl\\:col {\n flex: 1 0 0;\n }\n .xl\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .xl\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .xl\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .xl\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .xl\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .xl\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .xl\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .xl\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .xl\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .xl\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .xl\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .xl\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .xl\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .xl\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .xl\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .xl\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .xl\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .xl\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .xl\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .xl\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .xl\\:offset-0 {\n margin-inline-start: 0;\n }\n .xl\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .xl\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .xl\\:offset-3 {\n margin-inline-start: 25%;\n }\n .xl\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .xl\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .xl\\:offset-6 {\n margin-inline-start: 50%;\n }\n .xl\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .xl\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .xl\\:offset-9 {\n margin-inline-start: 75%;\n }\n .xl\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .xl\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .xl\\:g-0,\n .xl\\:gx-0 {\n --gutter-x: 0;\n }\n .xl\\:g-0,\n .xl\\:gy-0 {\n --gutter-y: 0;\n }\n .xl\\:g-1,\n .xl\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .xl\\:g-1,\n .xl\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .xl\\:g-2,\n .xl\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .xl\\:g-2,\n .xl\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .xl\\:g-3,\n .xl\\:gx-3 {\n --gutter-x: 1rem;\n }\n .xl\\:g-3,\n .xl\\:gy-3 {\n --gutter-y: 1rem;\n }\n .xl\\:g-4,\n .xl\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .xl\\:g-4,\n .xl\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .xl\\:g-5,\n .xl\\:gx-5 {\n --gutter-x: 3rem;\n }\n .xl\\:g-5,\n .xl\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:col {\n flex: 1 0 0;\n }\n .\\32 xl\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .\\32 xl\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .\\32 xl\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .\\32 xl\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .\\32 xl\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .\\32 xl\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .\\32 xl\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .\\32 xl\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .\\32 xl\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .\\32 xl\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .\\32 xl\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .\\32 xl\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .\\32 xl\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .\\32 xl\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .\\32 xl\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .\\32 xl\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .\\32 xl\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .\\32 xl\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .\\32 xl\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .\\32 xl\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .\\32 xl\\:offset-0 {\n margin-inline-start: 0;\n }\n .\\32 xl\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .\\32 xl\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .\\32 xl\\:offset-3 {\n margin-inline-start: 25%;\n }\n .\\32 xl\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .\\32 xl\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .\\32 xl\\:offset-6 {\n margin-inline-start: 50%;\n }\n .\\32 xl\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .\\32 xl\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .\\32 xl\\:offset-9 {\n margin-inline-start: 75%;\n }\n .\\32 xl\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .\\32 xl\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .\\32 xl\\:g-0,\n .\\32 xl\\:gx-0 {\n --gutter-x: 0;\n }\n .\\32 xl\\:g-0,\n .\\32 xl\\:gy-0 {\n --gutter-y: 0;\n }\n .\\32 xl\\:g-1,\n .\\32 xl\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .\\32 xl\\:g-1,\n .\\32 xl\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .\\32 xl\\:g-2,\n .\\32 xl\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .\\32 xl\\:g-2,\n .\\32 xl\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .\\32 xl\\:g-3,\n .\\32 xl\\:gx-3 {\n --gutter-x: 1rem;\n }\n .\\32 xl\\:g-3,\n .\\32 xl\\:gy-3 {\n --gutter-y: 1rem;\n }\n .\\32 xl\\:g-4,\n .\\32 xl\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .\\32 xl\\:g-4,\n .\\32 xl\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .\\32 xl\\:g-5,\n .\\32 xl\\:gx-5 {\n --gutter-x: 3rem;\n }\n .\\32 xl\\:g-5,\n .\\32 xl\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n .grid {\n --columns: 12;\n --rows: 1;\n --gap: 1.5rem;\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n }\n .g-col-1 {\n grid-column: auto/span 1;\n }\n .g-col-2 {\n grid-column: auto/span 2;\n }\n .g-col-3 {\n grid-column: auto/span 3;\n }\n .g-col-4 {\n grid-column: auto/span 4;\n }\n .g-col-5 {\n grid-column: auto/span 5;\n }\n .g-col-6 {\n grid-column: auto/span 6;\n }\n .g-col-7 {\n grid-column: auto/span 7;\n }\n .g-col-8 {\n grid-column: auto/span 8;\n }\n .g-col-9 {\n grid-column: auto/span 9;\n }\n .g-col-10 {\n grid-column: auto/span 10;\n }\n .g-col-11 {\n grid-column: auto/span 11;\n }\n .g-col-12 {\n grid-column: auto/span 12;\n }\n .g-start-1 {\n grid-column-start: 1;\n }\n .g-start-2 {\n grid-column-start: 2;\n }\n .g-start-3 {\n grid-column-start: 3;\n }\n .g-start-4 {\n grid-column-start: 4;\n }\n .g-start-5 {\n grid-column-start: 5;\n }\n .g-start-6 {\n grid-column-start: 6;\n }\n .g-start-7 {\n grid-column-start: 7;\n }\n .g-start-8 {\n grid-column-start: 8;\n }\n .g-start-9 {\n grid-column-start: 9;\n }\n .g-start-10 {\n grid-column-start: 10;\n }\n .g-start-11 {\n grid-column-start: 11;\n }\n @media (width >= 576px) {\n .sm\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .sm\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .sm\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .sm\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .sm\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .sm\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .sm\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .sm\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .sm\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .sm\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .sm\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .sm\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .sm\\:g-start-1 {\n grid-column-start: 1;\n }\n .sm\\:g-start-2 {\n grid-column-start: 2;\n }\n .sm\\:g-start-3 {\n grid-column-start: 3;\n }\n .sm\\:g-start-4 {\n grid-column-start: 4;\n }\n .sm\\:g-start-5 {\n grid-column-start: 5;\n }\n .sm\\:g-start-6 {\n grid-column-start: 6;\n }\n .sm\\:g-start-7 {\n grid-column-start: 7;\n }\n .sm\\:g-start-8 {\n grid-column-start: 8;\n }\n .sm\\:g-start-9 {\n grid-column-start: 9;\n }\n .sm\\:g-start-10 {\n grid-column-start: 10;\n }\n .sm\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 768px) {\n .md\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .md\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .md\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .md\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .md\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .md\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .md\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .md\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .md\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .md\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .md\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .md\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .md\\:g-start-1 {\n grid-column-start: 1;\n }\n .md\\:g-start-2 {\n grid-column-start: 2;\n }\n .md\\:g-start-3 {\n grid-column-start: 3;\n }\n .md\\:g-start-4 {\n grid-column-start: 4;\n }\n .md\\:g-start-5 {\n grid-column-start: 5;\n }\n .md\\:g-start-6 {\n grid-column-start: 6;\n }\n .md\\:g-start-7 {\n grid-column-start: 7;\n }\n .md\\:g-start-8 {\n grid-column-start: 8;\n }\n .md\\:g-start-9 {\n grid-column-start: 9;\n }\n .md\\:g-start-10 {\n grid-column-start: 10;\n }\n .md\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1024px) {\n .lg\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .lg\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .lg\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .lg\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .lg\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .lg\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .lg\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .lg\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .lg\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .lg\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .lg\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .lg\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .lg\\:g-start-1 {\n grid-column-start: 1;\n }\n .lg\\:g-start-2 {\n grid-column-start: 2;\n }\n .lg\\:g-start-3 {\n grid-column-start: 3;\n }\n .lg\\:g-start-4 {\n grid-column-start: 4;\n }\n .lg\\:g-start-5 {\n grid-column-start: 5;\n }\n .lg\\:g-start-6 {\n grid-column-start: 6;\n }\n .lg\\:g-start-7 {\n grid-column-start: 7;\n }\n .lg\\:g-start-8 {\n grid-column-start: 8;\n }\n .lg\\:g-start-9 {\n grid-column-start: 9;\n }\n .lg\\:g-start-10 {\n grid-column-start: 10;\n }\n .lg\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1280px) {\n .xl\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .xl\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .xl\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .xl\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .xl\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .xl\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .xl\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .xl\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .xl\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .xl\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .xl\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .xl\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .xl\\:g-start-1 {\n grid-column-start: 1;\n }\n .xl\\:g-start-2 {\n grid-column-start: 2;\n }\n .xl\\:g-start-3 {\n grid-column-start: 3;\n }\n .xl\\:g-start-4 {\n grid-column-start: 4;\n }\n .xl\\:g-start-5 {\n grid-column-start: 5;\n }\n .xl\\:g-start-6 {\n grid-column-start: 6;\n }\n .xl\\:g-start-7 {\n grid-column-start: 7;\n }\n .xl\\:g-start-8 {\n grid-column-start: 8;\n }\n .xl\\:g-start-9 {\n grid-column-start: 9;\n }\n .xl\\:g-start-10 {\n grid-column-start: 10;\n }\n .xl\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .\\32 xl\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .\\32 xl\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .\\32 xl\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .\\32 xl\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .\\32 xl\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .\\32 xl\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .\\32 xl\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .\\32 xl\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .\\32 xl\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .\\32 xl\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .\\32 xl\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .\\32 xl\\:g-start-1 {\n grid-column-start: 1;\n }\n .\\32 xl\\:g-start-2 {\n grid-column-start: 2;\n }\n .\\32 xl\\:g-start-3 {\n grid-column-start: 3;\n }\n .\\32 xl\\:g-start-4 {\n grid-column-start: 4;\n }\n .\\32 xl\\:g-start-5 {\n grid-column-start: 5;\n }\n .\\32 xl\\:g-start-6 {\n grid-column-start: 6;\n }\n .\\32 xl\\:g-start-7 {\n grid-column-start: 7;\n }\n .\\32 xl\\:g-start-8 {\n grid-column-start: 8;\n }\n .\\32 xl\\:g-start-9 {\n grid-column-start: 9;\n }\n .\\32 xl\\:g-start-10 {\n grid-column-start: 10;\n }\n .\\32 xl\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-fill {\n --gap: 1.5rem;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n}\n@layer utilities {\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .order-first {\n order: -1;\n }\n .order-0 {\n order: 0;\n }\n .order-1 {\n order: 1;\n }\n .order-2 {\n order: 2;\n }\n .order-3 {\n order: 3;\n }\n .order-4 {\n order: 4;\n }\n .order-5 {\n order: 5;\n }\n .order-last {\n order: 6;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n .gap-0 {\n gap: 0;\n }\n .gap-1 {\n gap: 0.25rem;\n }\n .gap-2 {\n gap: 0.5rem;\n }\n .gap-3 {\n gap: 1rem;\n }\n .gap-4 {\n gap: 1.5rem;\n }\n .gap-5 {\n gap: 3rem;\n }\n .row-gap-0 {\n row-gap: 0;\n }\n .row-gap-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2 {\n row-gap: 0.5rem;\n }\n .row-gap-3 {\n row-gap: 1rem;\n }\n .row-gap-4 {\n row-gap: 1.5rem;\n }\n .row-gap-5 {\n row-gap: 3rem;\n }\n .column-gap-0 {\n column-gap: 0;\n }\n .column-gap-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2 {\n column-gap: 0.5rem;\n }\n .column-gap-3 {\n column-gap: 1rem;\n }\n .column-gap-4 {\n column-gap: 1.5rem;\n }\n .column-gap-5 {\n column-gap: 3rem;\n }\n @media (width >= 576px) {\n .sm\\:d-inline {\n display: inline;\n }\n .sm\\:d-inline-block {\n display: inline-block;\n }\n .sm\\:d-block {\n display: block;\n }\n .sm\\:d-grid {\n display: grid;\n }\n .sm\\:d-inline-grid {\n display: inline-grid;\n }\n .sm\\:d-table {\n display: table;\n }\n .sm\\:d-table-row {\n display: table-row;\n }\n .sm\\:d-table-cell {\n display: table-cell;\n }\n .sm\\:d-flex {\n display: flex;\n }\n .sm\\:d-inline-flex {\n display: inline-flex;\n }\n .sm\\:d-contents {\n display: contents;\n }\n .sm\\:d-flow-root {\n display: flow-root;\n }\n .sm\\:d-none {\n display: none;\n }\n .sm\\:flex-fill {\n flex: 1 1 auto;\n }\n .sm\\:flex-row {\n flex-direction: row;\n }\n .sm\\:flex-column {\n flex-direction: column;\n }\n .sm\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .sm\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .sm\\:flex-grow-0 {\n flex-grow: 0;\n }\n .sm\\:flex-grow-1 {\n flex-grow: 1;\n }\n .sm\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .sm\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .sm\\:flex-wrap {\n flex-wrap: wrap;\n }\n .sm\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .sm\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .sm\\:justify-content-start {\n justify-content: flex-start;\n }\n .sm\\:justify-content-end {\n justify-content: flex-end;\n }\n .sm\\:justify-content-center {\n justify-content: center;\n }\n .sm\\:justify-content-between {\n justify-content: space-between;\n }\n .sm\\:justify-content-around {\n justify-content: space-around;\n }\n .sm\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .sm\\:justify-items-start {\n justify-items: start;\n }\n .sm\\:justify-items-end {\n justify-items: end;\n }\n .sm\\:justify-items-center {\n justify-items: center;\n }\n .sm\\:justify-items-stretch {\n justify-items: stretch;\n }\n .sm\\:align-items-start {\n align-items: flex-start;\n }\n .sm\\:align-items-end {\n align-items: flex-end;\n }\n .sm\\:align-items-center {\n align-items: center;\n }\n .sm\\:align-items-baseline {\n align-items: baseline;\n }\n .sm\\:align-items-stretch {\n align-items: stretch;\n }\n .sm\\:align-content-start {\n align-content: flex-start;\n }\n .sm\\:align-content-end {\n align-content: flex-end;\n }\n .sm\\:align-content-center {\n align-content: center;\n }\n .sm\\:align-content-between {\n align-content: space-between;\n }\n .sm\\:align-content-around {\n align-content: space-around;\n }\n .sm\\:align-content-stretch {\n align-content: stretch;\n }\n .sm\\:align-self-auto {\n align-self: auto;\n }\n .sm\\:align-self-start {\n align-self: flex-start;\n }\n .sm\\:align-self-end {\n align-self: flex-end;\n }\n .sm\\:align-self-center {\n align-self: center;\n }\n .sm\\:align-self-baseline {\n align-self: baseline;\n }\n .sm\\:align-self-stretch {\n align-self: stretch;\n }\n .sm\\:place-items-start {\n place-items: start;\n }\n .sm\\:place-items-end {\n place-items: end;\n }\n .sm\\:place-items-center {\n place-items: center;\n }\n .sm\\:place-items-stretch {\n place-items: stretch;\n }\n .sm\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .sm\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .sm\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .sm\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .sm\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .sm\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .sm\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .sm\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .sm\\:order-first {\n order: -1;\n }\n .sm\\:order-0 {\n order: 0;\n }\n .sm\\:order-1 {\n order: 1;\n }\n .sm\\:order-2 {\n order: 2;\n }\n .sm\\:order-3 {\n order: 3;\n }\n .sm\\:order-4 {\n order: 4;\n }\n .sm\\:order-5 {\n order: 5;\n }\n .sm\\:order-last {\n order: 6;\n }\n .sm\\:m-0 {\n margin: 0;\n }\n .sm\\:m-1 {\n margin: 0.25rem;\n }\n .sm\\:m-2 {\n margin: 0.5rem;\n }\n .sm\\:m-3 {\n margin: 1rem;\n }\n .sm\\:m-4 {\n margin: 1.5rem;\n }\n .sm\\:m-5 {\n margin: 3rem;\n }\n .sm\\:m-auto {\n margin: auto;\n }\n .sm\\:mx-0 {\n margin-inline: 0;\n }\n .sm\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .sm\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .sm\\:mx-3 {\n margin-inline: 1rem;\n }\n .sm\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .sm\\:mx-5 {\n margin-inline: 3rem;\n }\n .sm\\:mx-auto {\n margin-inline: auto;\n }\n .sm\\:my-0 {\n margin-block: 0;\n }\n .sm\\:my-1 {\n margin-block: 0.25rem;\n }\n .sm\\:my-2 {\n margin-block: 0.5rem;\n }\n .sm\\:my-3 {\n margin-block: 1rem;\n }\n .sm\\:my-4 {\n margin-block: 1.5rem;\n }\n .sm\\:my-5 {\n margin-block: 3rem;\n }\n .sm\\:my-auto {\n margin-block: auto;\n }\n .sm\\:mt-0 {\n margin-block-start: 0;\n }\n .sm\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .sm\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .sm\\:mt-3 {\n margin-block-start: 1rem;\n }\n .sm\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .sm\\:mt-5 {\n margin-block-start: 3rem;\n }\n .sm\\:mt-auto {\n margin-block-start: auto;\n }\n .sm\\:me-0 {\n margin-inline-end: 0;\n }\n .sm\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .sm\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .sm\\:me-3 {\n margin-inline-end: 1rem;\n }\n .sm\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .sm\\:me-5 {\n margin-inline-end: 3rem;\n }\n .sm\\:me-auto {\n margin-inline-end: auto;\n }\n .sm\\:mb-0 {\n margin-block-end: 0;\n }\n .sm\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .sm\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .sm\\:mb-3 {\n margin-block-end: 1rem;\n }\n .sm\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .sm\\:mb-5 {\n margin-block-end: 3rem;\n }\n .sm\\:mb-auto {\n margin-block-end: auto;\n }\n .sm\\:ms-0 {\n margin-inline-start: 0;\n }\n .sm\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .sm\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .sm\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .sm\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .sm\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .sm\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .sm\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .sm\\:ms-auto {\n margin-inline-start: auto;\n }\n .sm\\:p-0 {\n padding: 0;\n }\n .sm\\:p-1 {\n padding: 0.25rem;\n }\n .sm\\:p-2 {\n padding: 0.5rem;\n }\n .sm\\:p-3 {\n padding: 1rem;\n }\n .sm\\:p-4 {\n padding: 1.5rem;\n }\n .sm\\:p-5 {\n padding: 3rem;\n }\n .sm\\:px-0 {\n padding-inline: 0;\n }\n .sm\\:px-1 {\n padding-inline: 0.25rem;\n }\n .sm\\:px-2 {\n padding-inline: 0.5rem;\n }\n .sm\\:px-3 {\n padding-inline: 1rem;\n }\n .sm\\:px-4 {\n padding-inline: 1.5rem;\n }\n .sm\\:px-5 {\n padding-inline: 3rem;\n }\n .sm\\:py-0 {\n padding-block: 0;\n }\n .sm\\:py-1 {\n padding-block: 0.25rem;\n }\n .sm\\:py-2 {\n padding-block: 0.5rem;\n }\n .sm\\:py-3 {\n padding-block: 1rem;\n }\n .sm\\:py-4 {\n padding-block: 1.5rem;\n }\n .sm\\:py-5 {\n padding-block: 3rem;\n }\n .sm\\:pt-0 {\n padding-block-start: 0;\n }\n .sm\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .sm\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .sm\\:pt-3 {\n padding-block-start: 1rem;\n }\n .sm\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .sm\\:pt-5 {\n padding-block-start: 3rem;\n }\n .sm\\:pe-0 {\n padding-inline-end: 0;\n }\n .sm\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .sm\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .sm\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .sm\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .sm\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .sm\\:pb-0 {\n padding-block-end: 0;\n }\n .sm\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .sm\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .sm\\:pb-3 {\n padding-block-end: 1rem;\n }\n .sm\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .sm\\:pb-5 {\n padding-block-end: 3rem;\n }\n .sm\\:ps-0 {\n padding-inline-start: 0;\n }\n .sm\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .sm\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .sm\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .sm\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .sm\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .sm\\:gap-0 {\n gap: 0;\n }\n .sm\\:gap-1 {\n gap: 0.25rem;\n }\n .sm\\:gap-2 {\n gap: 0.5rem;\n }\n .sm\\:gap-3 {\n gap: 1rem;\n }\n .sm\\:gap-4 {\n gap: 1.5rem;\n }\n .sm\\:gap-5 {\n gap: 3rem;\n }\n .sm\\:row-gap-0 {\n row-gap: 0;\n }\n .sm\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .sm\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .sm\\:row-gap-3 {\n row-gap: 1rem;\n }\n .sm\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .sm\\:row-gap-5 {\n row-gap: 3rem;\n }\n .sm\\:column-gap-0 {\n column-gap: 0;\n }\n .sm\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .sm\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .sm\\:column-gap-3 {\n column-gap: 1rem;\n }\n .sm\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .sm\\:column-gap-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 768px) {\n .md\\:d-inline {\n display: inline;\n }\n .md\\:d-inline-block {\n display: inline-block;\n }\n .md\\:d-block {\n display: block;\n }\n .md\\:d-grid {\n display: grid;\n }\n .md\\:d-inline-grid {\n display: inline-grid;\n }\n .md\\:d-table {\n display: table;\n }\n .md\\:d-table-row {\n display: table-row;\n }\n .md\\:d-table-cell {\n display: table-cell;\n }\n .md\\:d-flex {\n display: flex;\n }\n .md\\:d-inline-flex {\n display: inline-flex;\n }\n .md\\:d-contents {\n display: contents;\n }\n .md\\:d-flow-root {\n display: flow-root;\n }\n .md\\:d-none {\n display: none;\n }\n .md\\:flex-fill {\n flex: 1 1 auto;\n }\n .md\\:flex-row {\n flex-direction: row;\n }\n .md\\:flex-column {\n flex-direction: column;\n }\n .md\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .md\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .md\\:flex-grow-0 {\n flex-grow: 0;\n }\n .md\\:flex-grow-1 {\n flex-grow: 1;\n }\n .md\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .md\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .md\\:flex-wrap {\n flex-wrap: wrap;\n }\n .md\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .md\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .md\\:justify-content-start {\n justify-content: flex-start;\n }\n .md\\:justify-content-end {\n justify-content: flex-end;\n }\n .md\\:justify-content-center {\n justify-content: center;\n }\n .md\\:justify-content-between {\n justify-content: space-between;\n }\n .md\\:justify-content-around {\n justify-content: space-around;\n }\n .md\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .md\\:justify-items-start {\n justify-items: start;\n }\n .md\\:justify-items-end {\n justify-items: end;\n }\n .md\\:justify-items-center {\n justify-items: center;\n }\n .md\\:justify-items-stretch {\n justify-items: stretch;\n }\n .md\\:align-items-start {\n align-items: flex-start;\n }\n .md\\:align-items-end {\n align-items: flex-end;\n }\n .md\\:align-items-center {\n align-items: center;\n }\n .md\\:align-items-baseline {\n align-items: baseline;\n }\n .md\\:align-items-stretch {\n align-items: stretch;\n }\n .md\\:align-content-start {\n align-content: flex-start;\n }\n .md\\:align-content-end {\n align-content: flex-end;\n }\n .md\\:align-content-center {\n align-content: center;\n }\n .md\\:align-content-between {\n align-content: space-between;\n }\n .md\\:align-content-around {\n align-content: space-around;\n }\n .md\\:align-content-stretch {\n align-content: stretch;\n }\n .md\\:align-self-auto {\n align-self: auto;\n }\n .md\\:align-self-start {\n align-self: flex-start;\n }\n .md\\:align-self-end {\n align-self: flex-end;\n }\n .md\\:align-self-center {\n align-self: center;\n }\n .md\\:align-self-baseline {\n align-self: baseline;\n }\n .md\\:align-self-stretch {\n align-self: stretch;\n }\n .md\\:place-items-start {\n place-items: start;\n }\n .md\\:place-items-end {\n place-items: end;\n }\n .md\\:place-items-center {\n place-items: center;\n }\n .md\\:place-items-stretch {\n place-items: stretch;\n }\n .md\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .md\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .md\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .md\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .md\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .md\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .md\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .md\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .md\\:order-first {\n order: -1;\n }\n .md\\:order-0 {\n order: 0;\n }\n .md\\:order-1 {\n order: 1;\n }\n .md\\:order-2 {\n order: 2;\n }\n .md\\:order-3 {\n order: 3;\n }\n .md\\:order-4 {\n order: 4;\n }\n .md\\:order-5 {\n order: 5;\n }\n .md\\:order-last {\n order: 6;\n }\n .md\\:m-0 {\n margin: 0;\n }\n .md\\:m-1 {\n margin: 0.25rem;\n }\n .md\\:m-2 {\n margin: 0.5rem;\n }\n .md\\:m-3 {\n margin: 1rem;\n }\n .md\\:m-4 {\n margin: 1.5rem;\n }\n .md\\:m-5 {\n margin: 3rem;\n }\n .md\\:m-auto {\n margin: auto;\n }\n .md\\:mx-0 {\n margin-inline: 0;\n }\n .md\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .md\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .md\\:mx-3 {\n margin-inline: 1rem;\n }\n .md\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .md\\:mx-5 {\n margin-inline: 3rem;\n }\n .md\\:mx-auto {\n margin-inline: auto;\n }\n .md\\:my-0 {\n margin-block: 0;\n }\n .md\\:my-1 {\n margin-block: 0.25rem;\n }\n .md\\:my-2 {\n margin-block: 0.5rem;\n }\n .md\\:my-3 {\n margin-block: 1rem;\n }\n .md\\:my-4 {\n margin-block: 1.5rem;\n }\n .md\\:my-5 {\n margin-block: 3rem;\n }\n .md\\:my-auto {\n margin-block: auto;\n }\n .md\\:mt-0 {\n margin-block-start: 0;\n }\n .md\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .md\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .md\\:mt-3 {\n margin-block-start: 1rem;\n }\n .md\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .md\\:mt-5 {\n margin-block-start: 3rem;\n }\n .md\\:mt-auto {\n margin-block-start: auto;\n }\n .md\\:me-0 {\n margin-inline-end: 0;\n }\n .md\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .md\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .md\\:me-3 {\n margin-inline-end: 1rem;\n }\n .md\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .md\\:me-5 {\n margin-inline-end: 3rem;\n }\n .md\\:me-auto {\n margin-inline-end: auto;\n }\n .md\\:mb-0 {\n margin-block-end: 0;\n }\n .md\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .md\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .md\\:mb-3 {\n margin-block-end: 1rem;\n }\n .md\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .md\\:mb-5 {\n margin-block-end: 3rem;\n }\n .md\\:mb-auto {\n margin-block-end: auto;\n }\n .md\\:ms-0 {\n margin-inline-start: 0;\n }\n .md\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .md\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .md\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .md\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .md\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .md\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .md\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .md\\:ms-auto {\n margin-inline-start: auto;\n }\n .md\\:p-0 {\n padding: 0;\n }\n .md\\:p-1 {\n padding: 0.25rem;\n }\n .md\\:p-2 {\n padding: 0.5rem;\n }\n .md\\:p-3 {\n padding: 1rem;\n }\n .md\\:p-4 {\n padding: 1.5rem;\n }\n .md\\:p-5 {\n padding: 3rem;\n }\n .md\\:px-0 {\n padding-inline: 0;\n }\n .md\\:px-1 {\n padding-inline: 0.25rem;\n }\n .md\\:px-2 {\n padding-inline: 0.5rem;\n }\n .md\\:px-3 {\n padding-inline: 1rem;\n }\n .md\\:px-4 {\n padding-inline: 1.5rem;\n }\n .md\\:px-5 {\n padding-inline: 3rem;\n }\n .md\\:py-0 {\n padding-block: 0;\n }\n .md\\:py-1 {\n padding-block: 0.25rem;\n }\n .md\\:py-2 {\n padding-block: 0.5rem;\n }\n .md\\:py-3 {\n padding-block: 1rem;\n }\n .md\\:py-4 {\n padding-block: 1.5rem;\n }\n .md\\:py-5 {\n padding-block: 3rem;\n }\n .md\\:pt-0 {\n padding-block-start: 0;\n }\n .md\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .md\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .md\\:pt-3 {\n padding-block-start: 1rem;\n }\n .md\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .md\\:pt-5 {\n padding-block-start: 3rem;\n }\n .md\\:pe-0 {\n padding-inline-end: 0;\n }\n .md\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .md\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .md\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .md\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .md\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .md\\:pb-0 {\n padding-block-end: 0;\n }\n .md\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .md\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .md\\:pb-3 {\n padding-block-end: 1rem;\n }\n .md\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .md\\:pb-5 {\n padding-block-end: 3rem;\n }\n .md\\:ps-0 {\n padding-inline-start: 0;\n }\n .md\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .md\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .md\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .md\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .md\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .md\\:gap-0 {\n gap: 0;\n }\n .md\\:gap-1 {\n gap: 0.25rem;\n }\n .md\\:gap-2 {\n gap: 0.5rem;\n }\n .md\\:gap-3 {\n gap: 1rem;\n }\n .md\\:gap-4 {\n gap: 1.5rem;\n }\n .md\\:gap-5 {\n gap: 3rem;\n }\n .md\\:row-gap-0 {\n row-gap: 0;\n }\n .md\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .md\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .md\\:row-gap-3 {\n row-gap: 1rem;\n }\n .md\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .md\\:row-gap-5 {\n row-gap: 3rem;\n }\n .md\\:column-gap-0 {\n column-gap: 0;\n }\n .md\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .md\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .md\\:column-gap-3 {\n column-gap: 1rem;\n }\n .md\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .md\\:column-gap-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 1024px) {\n .lg\\:d-inline {\n display: inline;\n }\n .lg\\:d-inline-block {\n display: inline-block;\n }\n .lg\\:d-block {\n display: block;\n }\n .lg\\:d-grid {\n display: grid;\n }\n .lg\\:d-inline-grid {\n display: inline-grid;\n }\n .lg\\:d-table {\n display: table;\n }\n .lg\\:d-table-row {\n display: table-row;\n }\n .lg\\:d-table-cell {\n display: table-cell;\n }\n .lg\\:d-flex {\n display: flex;\n }\n .lg\\:d-inline-flex {\n display: inline-flex;\n }\n .lg\\:d-contents {\n display: contents;\n }\n .lg\\:d-flow-root {\n display: flow-root;\n }\n .lg\\:d-none {\n display: none;\n }\n .lg\\:flex-fill {\n flex: 1 1 auto;\n }\n .lg\\:flex-row {\n flex-direction: row;\n }\n .lg\\:flex-column {\n flex-direction: column;\n }\n .lg\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .lg\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .lg\\:flex-grow-0 {\n flex-grow: 0;\n }\n .lg\\:flex-grow-1 {\n flex-grow: 1;\n }\n .lg\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .lg\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .lg\\:flex-wrap {\n flex-wrap: wrap;\n }\n .lg\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .lg\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .lg\\:justify-content-start {\n justify-content: flex-start;\n }\n .lg\\:justify-content-end {\n justify-content: flex-end;\n }\n .lg\\:justify-content-center {\n justify-content: center;\n }\n .lg\\:justify-content-between {\n justify-content: space-between;\n }\n .lg\\:justify-content-around {\n justify-content: space-around;\n }\n .lg\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .lg\\:justify-items-start {\n justify-items: start;\n }\n .lg\\:justify-items-end {\n justify-items: end;\n }\n .lg\\:justify-items-center {\n justify-items: center;\n }\n .lg\\:justify-items-stretch {\n justify-items: stretch;\n }\n .lg\\:align-items-start {\n align-items: flex-start;\n }\n .lg\\:align-items-end {\n align-items: flex-end;\n }\n .lg\\:align-items-center {\n align-items: center;\n }\n .lg\\:align-items-baseline {\n align-items: baseline;\n }\n .lg\\:align-items-stretch {\n align-items: stretch;\n }\n .lg\\:align-content-start {\n align-content: flex-start;\n }\n .lg\\:align-content-end {\n align-content: flex-end;\n }\n .lg\\:align-content-center {\n align-content: center;\n }\n .lg\\:align-content-between {\n align-content: space-between;\n }\n .lg\\:align-content-around {\n align-content: space-around;\n }\n .lg\\:align-content-stretch {\n align-content: stretch;\n }\n .lg\\:align-self-auto {\n align-self: auto;\n }\n .lg\\:align-self-start {\n align-self: flex-start;\n }\n .lg\\:align-self-end {\n align-self: flex-end;\n }\n .lg\\:align-self-center {\n align-self: center;\n }\n .lg\\:align-self-baseline {\n align-self: baseline;\n }\n .lg\\:align-self-stretch {\n align-self: stretch;\n }\n .lg\\:place-items-start {\n place-items: start;\n }\n .lg\\:place-items-end {\n place-items: end;\n }\n .lg\\:place-items-center {\n place-items: center;\n }\n .lg\\:place-items-stretch {\n place-items: stretch;\n }\n .lg\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .lg\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .lg\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .lg\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .lg\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .lg\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .lg\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .lg\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .lg\\:order-first {\n order: -1;\n }\n .lg\\:order-0 {\n order: 0;\n }\n .lg\\:order-1 {\n order: 1;\n }\n .lg\\:order-2 {\n order: 2;\n }\n .lg\\:order-3 {\n order: 3;\n }\n .lg\\:order-4 {\n order: 4;\n }\n .lg\\:order-5 {\n order: 5;\n }\n .lg\\:order-last {\n order: 6;\n }\n .lg\\:m-0 {\n margin: 0;\n }\n .lg\\:m-1 {\n margin: 0.25rem;\n }\n .lg\\:m-2 {\n margin: 0.5rem;\n }\n .lg\\:m-3 {\n margin: 1rem;\n }\n .lg\\:m-4 {\n margin: 1.5rem;\n }\n .lg\\:m-5 {\n margin: 3rem;\n }\n .lg\\:m-auto {\n margin: auto;\n }\n .lg\\:mx-0 {\n margin-inline: 0;\n }\n .lg\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .lg\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .lg\\:mx-3 {\n margin-inline: 1rem;\n }\n .lg\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .lg\\:mx-5 {\n margin-inline: 3rem;\n }\n .lg\\:mx-auto {\n margin-inline: auto;\n }\n .lg\\:my-0 {\n margin-block: 0;\n }\n .lg\\:my-1 {\n margin-block: 0.25rem;\n }\n .lg\\:my-2 {\n margin-block: 0.5rem;\n }\n .lg\\:my-3 {\n margin-block: 1rem;\n }\n .lg\\:my-4 {\n margin-block: 1.5rem;\n }\n .lg\\:my-5 {\n margin-block: 3rem;\n }\n .lg\\:my-auto {\n margin-block: auto;\n }\n .lg\\:mt-0 {\n margin-block-start: 0;\n }\n .lg\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .lg\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .lg\\:mt-3 {\n margin-block-start: 1rem;\n }\n .lg\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .lg\\:mt-5 {\n margin-block-start: 3rem;\n }\n .lg\\:mt-auto {\n margin-block-start: auto;\n }\n .lg\\:me-0 {\n margin-inline-end: 0;\n }\n .lg\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .lg\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .lg\\:me-3 {\n margin-inline-end: 1rem;\n }\n .lg\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .lg\\:me-5 {\n margin-inline-end: 3rem;\n }\n .lg\\:me-auto {\n margin-inline-end: auto;\n }\n .lg\\:mb-0 {\n margin-block-end: 0;\n }\n .lg\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .lg\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .lg\\:mb-3 {\n margin-block-end: 1rem;\n }\n .lg\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .lg\\:mb-5 {\n margin-block-end: 3rem;\n }\n .lg\\:mb-auto {\n margin-block-end: auto;\n }\n .lg\\:ms-0 {\n margin-inline-start: 0;\n }\n .lg\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .lg\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .lg\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .lg\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .lg\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .lg\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .lg\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .lg\\:ms-auto {\n margin-inline-start: auto;\n }\n .lg\\:p-0 {\n padding: 0;\n }\n .lg\\:p-1 {\n padding: 0.25rem;\n }\n .lg\\:p-2 {\n padding: 0.5rem;\n }\n .lg\\:p-3 {\n padding: 1rem;\n }\n .lg\\:p-4 {\n padding: 1.5rem;\n }\n .lg\\:p-5 {\n padding: 3rem;\n }\n .lg\\:px-0 {\n padding-inline: 0;\n }\n .lg\\:px-1 {\n padding-inline: 0.25rem;\n }\n .lg\\:px-2 {\n padding-inline: 0.5rem;\n }\n .lg\\:px-3 {\n padding-inline: 1rem;\n }\n .lg\\:px-4 {\n padding-inline: 1.5rem;\n }\n .lg\\:px-5 {\n padding-inline: 3rem;\n }\n .lg\\:py-0 {\n padding-block: 0;\n }\n .lg\\:py-1 {\n padding-block: 0.25rem;\n }\n .lg\\:py-2 {\n padding-block: 0.5rem;\n }\n .lg\\:py-3 {\n padding-block: 1rem;\n }\n .lg\\:py-4 {\n padding-block: 1.5rem;\n }\n .lg\\:py-5 {\n padding-block: 3rem;\n }\n .lg\\:pt-0 {\n padding-block-start: 0;\n }\n .lg\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .lg\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .lg\\:pt-3 {\n padding-block-start: 1rem;\n }\n .lg\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .lg\\:pt-5 {\n padding-block-start: 3rem;\n }\n .lg\\:pe-0 {\n padding-inline-end: 0;\n }\n .lg\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .lg\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .lg\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .lg\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .lg\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .lg\\:pb-0 {\n padding-block-end: 0;\n }\n .lg\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .lg\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .lg\\:pb-3 {\n padding-block-end: 1rem;\n }\n .lg\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .lg\\:pb-5 {\n padding-block-end: 3rem;\n }\n .lg\\:ps-0 {\n padding-inline-start: 0;\n }\n .lg\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .lg\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .lg\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .lg\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .lg\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .lg\\:gap-0 {\n gap: 0;\n }\n .lg\\:gap-1 {\n gap: 0.25rem;\n }\n .lg\\:gap-2 {\n gap: 0.5rem;\n }\n .lg\\:gap-3 {\n gap: 1rem;\n }\n .lg\\:gap-4 {\n gap: 1.5rem;\n }\n .lg\\:gap-5 {\n gap: 3rem;\n }\n .lg\\:row-gap-0 {\n row-gap: 0;\n }\n .lg\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .lg\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .lg\\:row-gap-3 {\n row-gap: 1rem;\n }\n .lg\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .lg\\:row-gap-5 {\n row-gap: 3rem;\n }\n .lg\\:column-gap-0 {\n column-gap: 0;\n }\n .lg\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .lg\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .lg\\:column-gap-3 {\n column-gap: 1rem;\n }\n .lg\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .lg\\:column-gap-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 1280px) {\n .xl\\:d-inline {\n display: inline;\n }\n .xl\\:d-inline-block {\n display: inline-block;\n }\n .xl\\:d-block {\n display: block;\n }\n .xl\\:d-grid {\n display: grid;\n }\n .xl\\:d-inline-grid {\n display: inline-grid;\n }\n .xl\\:d-table {\n display: table;\n }\n .xl\\:d-table-row {\n display: table-row;\n }\n .xl\\:d-table-cell {\n display: table-cell;\n }\n .xl\\:d-flex {\n display: flex;\n }\n .xl\\:d-inline-flex {\n display: inline-flex;\n }\n .xl\\:d-contents {\n display: contents;\n }\n .xl\\:d-flow-root {\n display: flow-root;\n }\n .xl\\:d-none {\n display: none;\n }\n .xl\\:flex-fill {\n flex: 1 1 auto;\n }\n .xl\\:flex-row {\n flex-direction: row;\n }\n .xl\\:flex-column {\n flex-direction: column;\n }\n .xl\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .xl\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .xl\\:flex-grow-0 {\n flex-grow: 0;\n }\n .xl\\:flex-grow-1 {\n flex-grow: 1;\n }\n .xl\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .xl\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .xl\\:flex-wrap {\n flex-wrap: wrap;\n }\n .xl\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .xl\\:justify-content-start {\n justify-content: flex-start;\n }\n .xl\\:justify-content-end {\n justify-content: flex-end;\n }\n .xl\\:justify-content-center {\n justify-content: center;\n }\n .xl\\:justify-content-between {\n justify-content: space-between;\n }\n .xl\\:justify-content-around {\n justify-content: space-around;\n }\n .xl\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .xl\\:justify-items-start {\n justify-items: start;\n }\n .xl\\:justify-items-end {\n justify-items: end;\n }\n .xl\\:justify-items-center {\n justify-items: center;\n }\n .xl\\:justify-items-stretch {\n justify-items: stretch;\n }\n .xl\\:align-items-start {\n align-items: flex-start;\n }\n .xl\\:align-items-end {\n align-items: flex-end;\n }\n .xl\\:align-items-center {\n align-items: center;\n }\n .xl\\:align-items-baseline {\n align-items: baseline;\n }\n .xl\\:align-items-stretch {\n align-items: stretch;\n }\n .xl\\:align-content-start {\n align-content: flex-start;\n }\n .xl\\:align-content-end {\n align-content: flex-end;\n }\n .xl\\:align-content-center {\n align-content: center;\n }\n .xl\\:align-content-between {\n align-content: space-between;\n }\n .xl\\:align-content-around {\n align-content: space-around;\n }\n .xl\\:align-content-stretch {\n align-content: stretch;\n }\n .xl\\:align-self-auto {\n align-self: auto;\n }\n .xl\\:align-self-start {\n align-self: flex-start;\n }\n .xl\\:align-self-end {\n align-self: flex-end;\n }\n .xl\\:align-self-center {\n align-self: center;\n }\n .xl\\:align-self-baseline {\n align-self: baseline;\n }\n .xl\\:align-self-stretch {\n align-self: stretch;\n }\n .xl\\:place-items-start {\n place-items: start;\n }\n .xl\\:place-items-end {\n place-items: end;\n }\n .xl\\:place-items-center {\n place-items: center;\n }\n .xl\\:place-items-stretch {\n place-items: stretch;\n }\n .xl\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .xl\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .xl\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .xl\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .xl\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .xl\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .xl\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .xl\\:order-first {\n order: -1;\n }\n .xl\\:order-0 {\n order: 0;\n }\n .xl\\:order-1 {\n order: 1;\n }\n .xl\\:order-2 {\n order: 2;\n }\n .xl\\:order-3 {\n order: 3;\n }\n .xl\\:order-4 {\n order: 4;\n }\n .xl\\:order-5 {\n order: 5;\n }\n .xl\\:order-last {\n order: 6;\n }\n .xl\\:m-0 {\n margin: 0;\n }\n .xl\\:m-1 {\n margin: 0.25rem;\n }\n .xl\\:m-2 {\n margin: 0.5rem;\n }\n .xl\\:m-3 {\n margin: 1rem;\n }\n .xl\\:m-4 {\n margin: 1.5rem;\n }\n .xl\\:m-5 {\n margin: 3rem;\n }\n .xl\\:m-auto {\n margin: auto;\n }\n .xl\\:mx-0 {\n margin-inline: 0;\n }\n .xl\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .xl\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .xl\\:mx-3 {\n margin-inline: 1rem;\n }\n .xl\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .xl\\:mx-5 {\n margin-inline: 3rem;\n }\n .xl\\:mx-auto {\n margin-inline: auto;\n }\n .xl\\:my-0 {\n margin-block: 0;\n }\n .xl\\:my-1 {\n margin-block: 0.25rem;\n }\n .xl\\:my-2 {\n margin-block: 0.5rem;\n }\n .xl\\:my-3 {\n margin-block: 1rem;\n }\n .xl\\:my-4 {\n margin-block: 1.5rem;\n }\n .xl\\:my-5 {\n margin-block: 3rem;\n }\n .xl\\:my-auto {\n margin-block: auto;\n }\n .xl\\:mt-0 {\n margin-block-start: 0;\n }\n .xl\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .xl\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .xl\\:mt-3 {\n margin-block-start: 1rem;\n }\n .xl\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .xl\\:mt-5 {\n margin-block-start: 3rem;\n }\n .xl\\:mt-auto {\n margin-block-start: auto;\n }\n .xl\\:me-0 {\n margin-inline-end: 0;\n }\n .xl\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .xl\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .xl\\:me-3 {\n margin-inline-end: 1rem;\n }\n .xl\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .xl\\:me-5 {\n margin-inline-end: 3rem;\n }\n .xl\\:me-auto {\n margin-inline-end: auto;\n }\n .xl\\:mb-0 {\n margin-block-end: 0;\n }\n .xl\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .xl\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .xl\\:mb-3 {\n margin-block-end: 1rem;\n }\n .xl\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .xl\\:mb-5 {\n margin-block-end: 3rem;\n }\n .xl\\:mb-auto {\n margin-block-end: auto;\n }\n .xl\\:ms-0 {\n margin-inline-start: 0;\n }\n .xl\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .xl\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .xl\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .xl\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .xl\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .xl\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .xl\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .xl\\:ms-auto {\n margin-inline-start: auto;\n }\n .xl\\:p-0 {\n padding: 0;\n }\n .xl\\:p-1 {\n padding: 0.25rem;\n }\n .xl\\:p-2 {\n padding: 0.5rem;\n }\n .xl\\:p-3 {\n padding: 1rem;\n }\n .xl\\:p-4 {\n padding: 1.5rem;\n }\n .xl\\:p-5 {\n padding: 3rem;\n }\n .xl\\:px-0 {\n padding-inline: 0;\n }\n .xl\\:px-1 {\n padding-inline: 0.25rem;\n }\n .xl\\:px-2 {\n padding-inline: 0.5rem;\n }\n .xl\\:px-3 {\n padding-inline: 1rem;\n }\n .xl\\:px-4 {\n padding-inline: 1.5rem;\n }\n .xl\\:px-5 {\n padding-inline: 3rem;\n }\n .xl\\:py-0 {\n padding-block: 0;\n }\n .xl\\:py-1 {\n padding-block: 0.25rem;\n }\n .xl\\:py-2 {\n padding-block: 0.5rem;\n }\n .xl\\:py-3 {\n padding-block: 1rem;\n }\n .xl\\:py-4 {\n padding-block: 1.5rem;\n }\n .xl\\:py-5 {\n padding-block: 3rem;\n }\n .xl\\:pt-0 {\n padding-block-start: 0;\n }\n .xl\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .xl\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .xl\\:pt-3 {\n padding-block-start: 1rem;\n }\n .xl\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .xl\\:pt-5 {\n padding-block-start: 3rem;\n }\n .xl\\:pe-0 {\n padding-inline-end: 0;\n }\n .xl\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .xl\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .xl\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .xl\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .xl\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .xl\\:pb-0 {\n padding-block-end: 0;\n }\n .xl\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .xl\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .xl\\:pb-3 {\n padding-block-end: 1rem;\n }\n .xl\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .xl\\:pb-5 {\n padding-block-end: 3rem;\n }\n .xl\\:ps-0 {\n padding-inline-start: 0;\n }\n .xl\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .xl\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .xl\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .xl\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .xl\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .xl\\:gap-0 {\n gap: 0;\n }\n .xl\\:gap-1 {\n gap: 0.25rem;\n }\n .xl\\:gap-2 {\n gap: 0.5rem;\n }\n .xl\\:gap-3 {\n gap: 1rem;\n }\n .xl\\:gap-4 {\n gap: 1.5rem;\n }\n .xl\\:gap-5 {\n gap: 3rem;\n }\n .xl\\:row-gap-0 {\n row-gap: 0;\n }\n .xl\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .xl\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .xl\\:row-gap-3 {\n row-gap: 1rem;\n }\n .xl\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .xl\\:row-gap-5 {\n row-gap: 3rem;\n }\n .xl\\:column-gap-0 {\n column-gap: 0;\n }\n .xl\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .xl\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .xl\\:column-gap-3 {\n column-gap: 1rem;\n }\n .xl\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .xl\\:column-gap-5 {\n column-gap: 3rem;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:d-inline {\n display: inline;\n }\n .\\32 xl\\:d-inline-block {\n display: inline-block;\n }\n .\\32 xl\\:d-block {\n display: block;\n }\n .\\32 xl\\:d-grid {\n display: grid;\n }\n .\\32 xl\\:d-inline-grid {\n display: inline-grid;\n }\n .\\32 xl\\:d-table {\n display: table;\n }\n .\\32 xl\\:d-table-row {\n display: table-row;\n }\n .\\32 xl\\:d-table-cell {\n display: table-cell;\n }\n .\\32 xl\\:d-flex {\n display: flex;\n }\n .\\32 xl\\:d-inline-flex {\n display: inline-flex;\n }\n .\\32 xl\\:d-contents {\n display: contents;\n }\n .\\32 xl\\:d-flow-root {\n display: flow-root;\n }\n .\\32 xl\\:d-none {\n display: none;\n }\n .\\32 xl\\:flex-fill {\n flex: 1 1 auto;\n }\n .\\32 xl\\:flex-row {\n flex-direction: row;\n }\n .\\32 xl\\:flex-column {\n flex-direction: column;\n }\n .\\32 xl\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .\\32 xl\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .\\32 xl\\:flex-grow-0 {\n flex-grow: 0;\n }\n .\\32 xl\\:flex-grow-1 {\n flex-grow: 1;\n }\n .\\32 xl\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .\\32 xl\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .\\32 xl\\:flex-wrap {\n flex-wrap: wrap;\n }\n .\\32 xl\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .\\32 xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .\\32 xl\\:justify-content-start {\n justify-content: flex-start;\n }\n .\\32 xl\\:justify-content-end {\n justify-content: flex-end;\n }\n .\\32 xl\\:justify-content-center {\n justify-content: center;\n }\n .\\32 xl\\:justify-content-between {\n justify-content: space-between;\n }\n .\\32 xl\\:justify-content-around {\n justify-content: space-around;\n }\n .\\32 xl\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .\\32 xl\\:justify-items-start {\n justify-items: start;\n }\n .\\32 xl\\:justify-items-end {\n justify-items: end;\n }\n .\\32 xl\\:justify-items-center {\n justify-items: center;\n }\n .\\32 xl\\:justify-items-stretch {\n justify-items: stretch;\n }\n .\\32 xl\\:align-items-start {\n align-items: flex-start;\n }\n .\\32 xl\\:align-items-end {\n align-items: flex-end;\n }\n .\\32 xl\\:align-items-center {\n align-items: center;\n }\n .\\32 xl\\:align-items-baseline {\n align-items: baseline;\n }\n .\\32 xl\\:align-items-stretch {\n align-items: stretch;\n }\n .\\32 xl\\:align-content-start {\n align-content: flex-start;\n }\n .\\32 xl\\:align-content-end {\n align-content: flex-end;\n }\n .\\32 xl\\:align-content-center {\n align-content: center;\n }\n .\\32 xl\\:align-content-between {\n align-content: space-between;\n }\n .\\32 xl\\:align-content-around {\n align-content: space-around;\n }\n .\\32 xl\\:align-content-stretch {\n align-content: stretch;\n }\n .\\32 xl\\:align-self-auto {\n align-self: auto;\n }\n .\\32 xl\\:align-self-start {\n align-self: flex-start;\n }\n .\\32 xl\\:align-self-end {\n align-self: flex-end;\n }\n .\\32 xl\\:align-self-center {\n align-self: center;\n }\n .\\32 xl\\:align-self-baseline {\n align-self: baseline;\n }\n .\\32 xl\\:align-self-stretch {\n align-self: stretch;\n }\n .\\32 xl\\:place-items-start {\n place-items: start;\n }\n .\\32 xl\\:place-items-end {\n place-items: end;\n }\n .\\32 xl\\:place-items-center {\n place-items: center;\n }\n .\\32 xl\\:place-items-stretch {\n place-items: stretch;\n }\n .\\32 xl\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .\\32 xl\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .\\32 xl\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .\\32 xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .\\32 xl\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .\\32 xl\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .\\32 xl\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .\\32 xl\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .\\32 xl\\:order-first {\n order: -1;\n }\n .\\32 xl\\:order-0 {\n order: 0;\n }\n .\\32 xl\\:order-1 {\n order: 1;\n }\n .\\32 xl\\:order-2 {\n order: 2;\n }\n .\\32 xl\\:order-3 {\n order: 3;\n }\n .\\32 xl\\:order-4 {\n order: 4;\n }\n .\\32 xl\\:order-5 {\n order: 5;\n }\n .\\32 xl\\:order-last {\n order: 6;\n }\n .\\32 xl\\:m-0 {\n margin: 0;\n }\n .\\32 xl\\:m-1 {\n margin: 0.25rem;\n }\n .\\32 xl\\:m-2 {\n margin: 0.5rem;\n }\n .\\32 xl\\:m-3 {\n margin: 1rem;\n }\n .\\32 xl\\:m-4 {\n margin: 1.5rem;\n }\n .\\32 xl\\:m-5 {\n margin: 3rem;\n }\n .\\32 xl\\:m-auto {\n margin: auto;\n }\n .\\32 xl\\:mx-0 {\n margin-inline: 0;\n }\n .\\32 xl\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .\\32 xl\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .\\32 xl\\:mx-3 {\n margin-inline: 1rem;\n }\n .\\32 xl\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .\\32 xl\\:mx-5 {\n margin-inline: 3rem;\n }\n .\\32 xl\\:mx-auto {\n margin-inline: auto;\n }\n .\\32 xl\\:my-0 {\n margin-block: 0;\n }\n .\\32 xl\\:my-1 {\n margin-block: 0.25rem;\n }\n .\\32 xl\\:my-2 {\n margin-block: 0.5rem;\n }\n .\\32 xl\\:my-3 {\n margin-block: 1rem;\n }\n .\\32 xl\\:my-4 {\n margin-block: 1.5rem;\n }\n .\\32 xl\\:my-5 {\n margin-block: 3rem;\n }\n .\\32 xl\\:my-auto {\n margin-block: auto;\n }\n .\\32 xl\\:mt-0 {\n margin-block-start: 0;\n }\n .\\32 xl\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .\\32 xl\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .\\32 xl\\:mt-3 {\n margin-block-start: 1rem;\n }\n .\\32 xl\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .\\32 xl\\:mt-5 {\n margin-block-start: 3rem;\n }\n .\\32 xl\\:mt-auto {\n margin-block-start: auto;\n }\n .\\32 xl\\:me-0 {\n margin-inline-end: 0;\n }\n .\\32 xl\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .\\32 xl\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .\\32 xl\\:me-3 {\n margin-inline-end: 1rem;\n }\n .\\32 xl\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .\\32 xl\\:me-5 {\n margin-inline-end: 3rem;\n }\n .\\32 xl\\:me-auto {\n margin-inline-end: auto;\n }\n .\\32 xl\\:mb-0 {\n margin-block-end: 0;\n }\n .\\32 xl\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .\\32 xl\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .\\32 xl\\:mb-3 {\n margin-block-end: 1rem;\n }\n .\\32 xl\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .\\32 xl\\:mb-5 {\n margin-block-end: 3rem;\n }\n .\\32 xl\\:mb-auto {\n margin-block-end: auto;\n }\n .\\32 xl\\:ms-0 {\n margin-inline-start: 0;\n }\n .\\32 xl\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .\\32 xl\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .\\32 xl\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .\\32 xl\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .\\32 xl\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .\\32 xl\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .\\32 xl\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .\\32 xl\\:ms-auto {\n margin-inline-start: auto;\n }\n .\\32 xl\\:p-0 {\n padding: 0;\n }\n .\\32 xl\\:p-1 {\n padding: 0.25rem;\n }\n .\\32 xl\\:p-2 {\n padding: 0.5rem;\n }\n .\\32 xl\\:p-3 {\n padding: 1rem;\n }\n .\\32 xl\\:p-4 {\n padding: 1.5rem;\n }\n .\\32 xl\\:p-5 {\n padding: 3rem;\n }\n .\\32 xl\\:px-0 {\n padding-inline: 0;\n }\n .\\32 xl\\:px-1 {\n padding-inline: 0.25rem;\n }\n .\\32 xl\\:px-2 {\n padding-inline: 0.5rem;\n }\n .\\32 xl\\:px-3 {\n padding-inline: 1rem;\n }\n .\\32 xl\\:px-4 {\n padding-inline: 1.5rem;\n }\n .\\32 xl\\:px-5 {\n padding-inline: 3rem;\n }\n .\\32 xl\\:py-0 {\n padding-block: 0;\n }\n .\\32 xl\\:py-1 {\n padding-block: 0.25rem;\n }\n .\\32 xl\\:py-2 {\n padding-block: 0.5rem;\n }\n .\\32 xl\\:py-3 {\n padding-block: 1rem;\n }\n .\\32 xl\\:py-4 {\n padding-block: 1.5rem;\n }\n .\\32 xl\\:py-5 {\n padding-block: 3rem;\n }\n .\\32 xl\\:pt-0 {\n padding-block-start: 0;\n }\n .\\32 xl\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .\\32 xl\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .\\32 xl\\:pt-3 {\n padding-block-start: 1rem;\n }\n .\\32 xl\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .\\32 xl\\:pt-5 {\n padding-block-start: 3rem;\n }\n .\\32 xl\\:pe-0 {\n padding-inline-end: 0;\n }\n .\\32 xl\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .\\32 xl\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .\\32 xl\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .\\32 xl\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .\\32 xl\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .\\32 xl\\:pb-0 {\n padding-block-end: 0;\n }\n .\\32 xl\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .\\32 xl\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .\\32 xl\\:pb-3 {\n padding-block-end: 1rem;\n }\n .\\32 xl\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .\\32 xl\\:pb-5 {\n padding-block-end: 3rem;\n }\n .\\32 xl\\:ps-0 {\n padding-inline-start: 0;\n }\n .\\32 xl\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .\\32 xl\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .\\32 xl\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .\\32 xl\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .\\32 xl\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .\\32 xl\\:gap-0 {\n gap: 0;\n }\n .\\32 xl\\:gap-1 {\n gap: 0.25rem;\n }\n .\\32 xl\\:gap-2 {\n gap: 0.5rem;\n }\n .\\32 xl\\:gap-3 {\n gap: 1rem;\n }\n .\\32 xl\\:gap-4 {\n gap: 1.5rem;\n }\n .\\32 xl\\:gap-5 {\n gap: 3rem;\n }\n .\\32 xl\\:row-gap-0 {\n row-gap: 0;\n }\n .\\32 xl\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .\\32 xl\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .\\32 xl\\:row-gap-3 {\n row-gap: 1rem;\n }\n .\\32 xl\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .\\32 xl\\:row-gap-5 {\n row-gap: 3rem;\n }\n .\\32 xl\\:column-gap-0 {\n column-gap: 0;\n }\n .\\32 xl\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .\\32 xl\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .\\32 xl\\:column-gap-3 {\n column-gap: 1rem;\n }\n .\\32 xl\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .\\32 xl\\:column-gap-5 {\n column-gap: 3rem;\n }\n }\n}\n:root {\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --gutter-x: #{$gutter};\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * .5);\n margin-inline: auto;\n}\n\n@layer layout {\n @if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .#{breakpoint-prefix($breakpoint, $breakpoints)}container {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $breakpoints {\n @if ($extend-breakpoint) {\n .#{breakpoint-prefix($name, $breakpoints)}container {\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 \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n $name-str: \"#{$name}\";\n $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n $first: string.slice($name-str, 1, 1);\n\n @if list.index($digits, $first) {\n @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n }\n\n @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n// >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"sm\\:\"\n// >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n @if breakpoint-min($name, $breakpoints) == null {\n @return \"\";\n }\n\n @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n @content($breakpoint, $prefix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $prefix: breakpoint-prefix($next, $breakpoints);\n @content($breakpoint, $next, $prefix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n @content($breakpoint, $next, $prefix);\n }\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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (width >= $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (width < $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $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 @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n @if meta.type-of($defaults) == \"list\" {\n $map: ();\n @each $key in $defaults {\n $map: map.merge($map, ($key: true));\n }\n $defaults: $map;\n }\n $merged: map.merge($defaults, $overrides);\n @each $key, $value in $merged {\n @if $value == null {\n $merged: map.remove($merged, $key);\n }\n }\n @return $merged;\n}\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n\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\n$negative-spacers: (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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 breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !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\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, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\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// Links\n//\n// Style anchor elements.\n\n$link-decoration: underline !default;\n$link-underline-offset: .2em !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// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n\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$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// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n (\n \"xs\": (\n \"font-size\": .75rem,\n \"line-height\": 1.25\n ),\n \"sm\": (\n \"font-size\": .875rem,\n \"line-height\": 1.5\n ),\n \"md\": (\n \"font-size\": 1rem,\n \"line-height\": 1.5\n ),\n \"lg\": (\n \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n \"line-height\": 1.5\n ),\n \"xl\": (\n \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n \"line-height\": calc(2.5 / 1.75)\n ),\n \"2xl\": (\n \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n \"line-height\": calc(3 / 2.25)\n ),\n \"3xl\": (\n \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n \"line-height\": 1.2\n ),\n \"4xl\": (\n \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n \"line-height\": 1.1\n ),\n \"5xl\": (\n \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n \"line-height\": 1.1\n ),\n \"6xl\": (\n \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n \"line-height\": 1\n ),\n ),\n $font-sizes\n);\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 type-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// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-dialog: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n @if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n\n @include make-grid-columns();\n }\n\n @if $enable-cssgrid {\n .grid {\n --columns: #{$grid-columns};\n --rows: 1;\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n\n }\n\n @include make-cssgrid();\n }\n\n // mdo-do: add to utilities?\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n\n .grid-fill {\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n\n // .g-col-auto {\n // grid-column: auto;\n // }\n\n // mdo-do: add to utilities?\n // .grid-cols-3 {\n // --columns: 3;\n // }\n // .grid-cols-4 {\n // --columns: 4;\n // }\n // .grid-cols-6 {\n // --columns: 6;\n // }\n\n // .grid-full {\n // grid-column: 1 / -1;\n // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n --gutter-x: #{$gutter-x};\n --gutter-y: #{$gutter-y};\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-inline: calc(-.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n // stylelint-disable-next-line scss/at-function-named-arguments\n box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-inline: calc(var(--gutter-x) * .5);\n margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: math.percentage(math.div($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: math.div($size, $columns);\n // stylelint-disable-next-line scss/at-function-named-arguments\n margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n .#{$prefix}col {\n flex: 1 0 0;\n }\n\n .#{$prefix}row-cols-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .#{$prefix}row-cols-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .#{$prefix}col-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .#{$prefix}col-#{$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 ($prefix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .#{$prefix}offset-#{$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 .#{$prefix}g-#{$key},\n .#{$prefix}gx-#{$key} {\n --gutter-x: #{$value};\n }\n\n .#{$prefix}g-#{$key},\n .#{$prefix}gy-#{$key} {\n --gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .#{$prefix}g-col-#{$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 .#{$prefix}g-start-#{$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 \"../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($breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $prefix: breakpoint-prefix($breakpoint, $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 $prefix == \"\") {\n @include generate-utility($utility, $prefix);\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\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n // Validate required keys\n @if not map.has-key($utility, property) {\n @error \"Utility is missing required `property` key: #{$utility}\";\n }\n @if not map.has-key($utility, values) {\n @error \"Utility is missing required `values` key: #{$utility}\";\n }\n\n // Warn on unknown keys (likely typos)\n $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n @each $key in map.keys($utility) {\n @if not list.index($valid-keys, $key) {\n @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n }\n }\n\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selectorType) {\n @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selectorType != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n }\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // Don't add a dash before value key if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $prefix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n @if $customClass != \"\" {\n $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n } @else if $selectorClass != null and $selectorClass != \"\" {\n $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n } @else {\n $selector: \".#{$prefix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n","@use \"banner\" with (\n $file: \"Grid\"\n);\n\n@use \"config\" as *;\n@use \"functions\" as *;\n\n@forward \"utilities\"; // Make utilities available downstream\n@use \"utilities\" as *; // Bring utilities into the current namespace\n\n@forward \"layout/containers\";\n@forward \"layout/grid\";\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"grid-column-counts\",\n \"grid-columns\",\n \"grid-auto-flow\",\n \"gap\",\n \"row-gap\",\n \"column-gap\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"justify-items\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"place-items\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-end\",\n \"margin-bottom\",\n \"margin-start\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-end\",\n \"negative-margin-bottom\",\n \"negative-margin-start\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-end\",\n \"padding-bottom\",\n \"padding-start\",\n )\n);\n\n// check-unused-imports-disable-next-line — side-effect import: generates utility CSS.\n@use \"utilities/api\";\n\n:root {\n @each $name, $value in $breakpoints {\n --breakpoint-#{$name}: #{$value};\n }\n}\n"],"names":[]}
\ No newline at end of file
* Copyright 2011-2026 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
-:root{--bs-blue-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .24 240));--bs-blue-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .24 240));--bs-blue-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .24 240));--bs-blue-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .24 240));--bs-blue-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .24 240));--bs-blue-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .24 240));--bs-blue-500:oklch(60% .24 240);--bs-blue-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .24 240));--bs-blue-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .24 240));--bs-blue-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .24 240));--bs-blue-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .24 240));--bs-blue-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .24 240));--bs-blue-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .24 240));--bs-indigo-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .26 288));--bs-indigo-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .26 288));--bs-indigo-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .26 288));--bs-indigo-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .26 288));--bs-indigo-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .26 288));--bs-indigo-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .26 288));--bs-indigo-500:oklch(56% .26 288);--bs-indigo-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .26 288));--bs-indigo-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .26 288));--bs-indigo-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .26 288));--bs-indigo-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .26 288));--bs-indigo-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .26 288));--bs-indigo-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .26 288));--bs-violet-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 300));--bs-violet-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 300));--bs-violet-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 300));--bs-violet-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 300));--bs-violet-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 300));--bs-violet-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 300));--bs-violet-500:oklch(56% .24 300);--bs-violet-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 300));--bs-violet-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 300));--bs-violet-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 300));--bs-violet-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 300));--bs-violet-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 300));--bs-violet-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 300));--bs-purple-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 320));--bs-purple-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 320));--bs-purple-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 320));--bs-purple-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 320));--bs-purple-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 320));--bs-purple-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 320));--bs-purple-500:oklch(56% .24 320);--bs-purple-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 320));--bs-purple-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 320));--bs-purple-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 320));--bs-purple-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 320));--bs-purple-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 320));--bs-purple-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 320));--bs-pink-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 4));--bs-pink-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 4));--bs-pink-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 4));--bs-pink-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 4));--bs-pink-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 4));--bs-pink-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 4));--bs-pink-500:oklch(60% .22 4);--bs-pink-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 4));--bs-pink-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 4));--bs-pink-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 4));--bs-pink-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 4));--bs-pink-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 4));--bs-pink-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 4));--bs-red-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 20));--bs-red-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 20));--bs-red-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 20));--bs-red-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 20));--bs-red-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 20));--bs-red-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 20));--bs-red-500:oklch(60% .22 20);--bs-red-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 20));--bs-red-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 20));--bs-red-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 20));--bs-red-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 20));--bs-red-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 20));--bs-red-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 20));--bs-orange-025:color-mix(in lab, var(--bs-white) 94%, oklch(70% .22 52));--bs-orange-050:color-mix(in lab, var(--bs-white) 90%, oklch(70% .22 52));--bs-orange-100:color-mix(in lab, var(--bs-white) 80%, oklch(70% .22 52));--bs-orange-200:color-mix(in lab, var(--bs-white) 60%, oklch(70% .22 52));--bs-orange-300:color-mix(in lab, var(--bs-white) 40%, oklch(70% .22 52));--bs-orange-400:color-mix(in lab, var(--bs-white) 20%, oklch(70% .22 52));--bs-orange-500:oklch(70% .22 52);--bs-orange-600:color-mix(in lab, var(--bs-black) 16%, oklch(70% .22 52));--bs-orange-700:color-mix(in lab, var(--bs-black) 32%, oklch(70% .22 52));--bs-orange-800:color-mix(in lab, var(--bs-black) 48%, oklch(70% .22 52));--bs-orange-900:color-mix(in lab, var(--bs-black) 64%, oklch(70% .22 52));--bs-orange-950:color-mix(in lab, var(--bs-black) 76%, oklch(70% .22 52));--bs-orange-975:color-mix(in lab, var(--bs-black) 88%, oklch(70% .22 52));--bs-amber-025:color-mix(in lab, var(--bs-white) 94%, oklch(79% .2 78));--bs-amber-050:color-mix(in lab, var(--bs-white) 90%, oklch(79% .2 78));--bs-amber-100:color-mix(in lab, var(--bs-white) 80%, oklch(79% .2 78));--bs-amber-200:color-mix(in lab, var(--bs-white) 60%, oklch(79% .2 78));--bs-amber-300:color-mix(in lab, var(--bs-white) 40%, oklch(79% .2 78));--bs-amber-400:color-mix(in lab, var(--bs-white) 20%, oklch(79% .2 78));--bs-amber-500:oklch(79% .2 78);--bs-amber-600:color-mix(in lab, var(--bs-black) 16%, oklch(79% .2 78));--bs-amber-700:color-mix(in lab, var(--bs-black) 32%, oklch(79% .2 78));--bs-amber-800:color-mix(in lab, var(--bs-black) 48%, oklch(79% .2 78));--bs-amber-900:color-mix(in lab, var(--bs-black) 64%, oklch(79% .2 78));--bs-amber-950:color-mix(in lab, var(--bs-black) 76%, oklch(79% .2 78));--bs-amber-975:color-mix(in lab, var(--bs-black) 88%, oklch(79% .2 78));--bs-yellow-025:color-mix(in lab, var(--bs-white) 94%, oklch(88% .24 88));--bs-yellow-050:color-mix(in lab, var(--bs-white) 90%, oklch(88% .24 88));--bs-yellow-100:color-mix(in lab, var(--bs-white) 80%, oklch(88% .24 88));--bs-yellow-200:color-mix(in lab, var(--bs-white) 60%, oklch(88% .24 88));--bs-yellow-300:color-mix(in lab, var(--bs-white) 40%, oklch(88% .24 88));--bs-yellow-400:color-mix(in lab, var(--bs-white) 20%, oklch(88% .24 88));--bs-yellow-500:oklch(88% .24 88);--bs-yellow-600:color-mix(in lab, var(--bs-black) 16%, oklch(88% .24 88));--bs-yellow-700:color-mix(in lab, var(--bs-black) 32%, oklch(88% .24 88));--bs-yellow-800:color-mix(in lab, var(--bs-black) 48%, oklch(88% .24 88));--bs-yellow-900:color-mix(in lab, var(--bs-black) 64%, oklch(88% .24 88));--bs-yellow-950:color-mix(in lab, var(--bs-black) 76%, oklch(88% .24 88));--bs-yellow-975:color-mix(in lab, var(--bs-black) 88%, oklch(88% .24 88));--bs-lime-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .24 135));--bs-lime-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .24 135));--bs-lime-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .24 135));--bs-lime-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .24 135));--bs-lime-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .24 135));--bs-lime-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .24 135));--bs-lime-500:oklch(65% .24 135);--bs-lime-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .24 135));--bs-lime-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .24 135));--bs-lime-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .24 135));--bs-lime-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .24 135));--bs-lime-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .24 135));--bs-lime-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .24 135));--bs-green-025:color-mix(in lab, var(--bs-white) 94%, oklch(64% .22 160));--bs-green-050:color-mix(in lab, var(--bs-white) 90%, oklch(64% .22 160));--bs-green-100:color-mix(in lab, var(--bs-white) 80%, oklch(64% .22 160));--bs-green-200:color-mix(in lab, var(--bs-white) 60%, oklch(64% .22 160));--bs-green-300:color-mix(in lab, var(--bs-white) 40%, oklch(64% .22 160));--bs-green-400:color-mix(in lab, var(--bs-white) 20%, oklch(64% .22 160));--bs-green-500:oklch(64% .22 160);--bs-green-600:color-mix(in lab, var(--bs-black) 16%, oklch(64% .22 160));--bs-green-700:color-mix(in lab, var(--bs-black) 32%, oklch(64% .22 160));--bs-green-800:color-mix(in lab, var(--bs-black) 48%, oklch(64% .22 160));--bs-green-900:color-mix(in lab, var(--bs-black) 64%, oklch(64% .22 160));--bs-green-950:color-mix(in lab, var(--bs-black) 76%, oklch(64% .22 160));--bs-green-975:color-mix(in lab, var(--bs-black) 88%, oklch(64% .22 160));--bs-teal-025:color-mix(in lab, var(--bs-white) 94%, oklch(68% .22 190));--bs-teal-050:color-mix(in lab, var(--bs-white) 90%, oklch(68% .22 190));--bs-teal-100:color-mix(in lab, var(--bs-white) 80%, oklch(68% .22 190));--bs-teal-200:color-mix(in lab, var(--bs-white) 60%, oklch(68% .22 190));--bs-teal-300:color-mix(in lab, var(--bs-white) 40%, oklch(68% .22 190));--bs-teal-400:color-mix(in lab, var(--bs-white) 20%, oklch(68% .22 190));--bs-teal-500:oklch(68% .22 190);--bs-teal-600:color-mix(in lab, var(--bs-black) 16%, oklch(68% .22 190));--bs-teal-700:color-mix(in lab, var(--bs-black) 32%, oklch(68% .22 190));--bs-teal-800:color-mix(in lab, var(--bs-black) 48%, oklch(68% .22 190));--bs-teal-900:color-mix(in lab, var(--bs-black) 64%, oklch(68% .22 190));--bs-teal-950:color-mix(in lab, var(--bs-black) 76%, oklch(68% .22 190));--bs-teal-975:color-mix(in lab, var(--bs-black) 88%, oklch(68% .22 190));--bs-cyan-025:color-mix(in lab, var(--bs-white) 94%, oklch(69% .22 220));--bs-cyan-050:color-mix(in lab, var(--bs-white) 90%, oklch(69% .22 220));--bs-cyan-100:color-mix(in lab, var(--bs-white) 80%, oklch(69% .22 220));--bs-cyan-200:color-mix(in lab, var(--bs-white) 60%, oklch(69% .22 220));--bs-cyan-300:color-mix(in lab, var(--bs-white) 40%, oklch(69% .22 220));--bs-cyan-400:color-mix(in lab, var(--bs-white) 20%, oklch(69% .22 220));--bs-cyan-500:oklch(69% .22 220);--bs-cyan-600:color-mix(in lab, var(--bs-black) 16%, oklch(69% .22 220));--bs-cyan-700:color-mix(in lab, var(--bs-black) 32%, oklch(69% .22 220));--bs-cyan-800:color-mix(in lab, var(--bs-black) 48%, oklch(69% .22 220));--bs-cyan-900:color-mix(in lab, var(--bs-black) 64%, oklch(69% .22 220));--bs-cyan-950:color-mix(in lab, var(--bs-black) 76%, oklch(69% .22 220));--bs-cyan-975:color-mix(in lab, var(--bs-black) 88%, oklch(69% .22 220));--bs-brown-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .12 54));--bs-brown-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .12 54));--bs-brown-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .12 54));--bs-brown-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .12 54));--bs-brown-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .12 54));--bs-brown-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .12 54));--bs-brown-500:oklch(60% .12 54);--bs-brown-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .12 54));--bs-brown-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .12 54));--bs-brown-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .12 54));--bs-brown-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .12 54));--bs-brown-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .12 54));--bs-brown-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .12 54));--bs-gray-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .02 245));--bs-gray-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .02 245));--bs-gray-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .02 245));--bs-gray-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .02 245));--bs-gray-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .02 245));--bs-gray-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .02 245));--bs-gray-500:oklch(60% .02 245);--bs-gray-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .02 245));--bs-gray-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .02 245));--bs-gray-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .02 245));--bs-gray-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .02 245));--bs-gray-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .02 245));--bs-gray-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .02 245));--bs-pewter-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .01 290));--bs-pewter-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .01 290));--bs-pewter-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .01 290));--bs-pewter-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .01 290));--bs-pewter-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .01 290));--bs-pewter-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .01 290));--bs-pewter-500:oklch(65% .01 290);--bs-pewter-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .01 290));--bs-pewter-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .01 290));--bs-pewter-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .01 290));--bs-pewter-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .01 290));--bs-pewter-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .01 290));--bs-pewter-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .01 290))}@layer colors,theme,config,root;@layer reboot{*,:before,:after{box-sizing:border-box}:root{accent-color:var(--bs-primary-base)}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{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-fg-body);text-align:var(--bs-body-text-align);background-color:var(--bs-bg-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0}hr{margin:var(--bs-hr-margin-y,var(--bs-spacer)) 0;border:0;border-block-start:var(--bs-border-width) solid var(--bs-hr-border-color)}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{color:var(--bs-heading-color);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:var(--bs-font-size-3xl)}h2,.h2{font-size:var(--bs-font-size-2xl)}h3,.h3{font-size:var(--bs-font-size-xl)}h4,.h4{font-size:var(--bs-font-size-lg)}h5,.h5{font-size:var(--bs-font-size-md)}h6,.h6{font-size:var(--bs-font-size-sm)}p{margin-top:0;margin-bottom:1rem}abbr[title]{cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-inline-start: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-inline-start:0;margin-bottom:.5rem}blockquote{margin:0 0 1rem}blockquote>*{margin-block:0}b,strong{font-weight:bolder}small,.small{font-size:var(--bs-small-font-size,87.5%)}mark,.mark{--bs-mark-padding:.1875em;--bs-mark-color:var(--bs-fg-body);--bs-mark-bg:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));padding:var(--bs-mark-padding);color:var(--bs-mark-color);background-color:var(--bs-mark-bg)}sub,sup{font-size:var(--bs-sub-sup-font-size,.75em);vertical-align:baseline;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-theme-text,var(--bs-link-color));-webkit-text-decoration:var(--bs-link-decoration);-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration);text-underline-offset:.2em}a:hover{color:var(--bs-theme-text-emphasis,var(--bs-link-hover-color));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration))}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-mono);font-size:1em}pre{font-size:var(--bs-code-font-size);color:var(--bs-code-color,inherit);margin-top:0;margin-bottom:1rem;display:block;overflow:auto}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:var(--bs-code-font-size);color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{--bs-kbd-padding-y:.125rem;--bs-kbd-padding-x:.25rem;--bs-kbd-font-size:var(--bs-font-size-xs);--bs-kbd-color:var(--bs-bg-body);--bs-kbd-bg:var(--bs-fg-2);--bs-kbd-border-radius:var(--bs-border-radius-sm);padding:var(--bs-kbd-padding-y) var(--bs-kbd-padding-x);font-size:var(--bs-kbd-font-size);color:var(--bs-kbd-color);background-color:var(--bs-kbd-bg);border-radius:var(--bs-kbd-border-radius)}kbd kbd{font-size:1em;font-weight:inherit;padding:0}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{color:var(--bs-fg-3);text-align:start;padding-block:.5rem}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{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}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{-webkit-appearance:button}[type=button]{-webkit-appearance:button}[type=reset]{-webkit-appearance:button}[type=submit]{-webkit-appearance:button}button:not(:disabled){cursor:pointer}[type=button]:not(:disabled){cursor:pointer}[type=reset]:not(:disabled){cursor:pointer}[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}textarea{resize:vertical}fieldset{border:0;min-width:0;margin:0;padding:0}legend{float:inline-start;width:100%;font-size:1.5rem;line-height:inherit;margin-bottom:.5rem;padding:0}legend+*{clear:inline-start}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-text{padding:0}::-webkit-datetime-edit-millisecond-field{padding:0}::-webkit-datetime-edit-second-field{padding:0}::-webkit-datetime-edit-minute-field{padding:0}::-webkit-datetime-edit-hour-field{padding:0}::-webkit-datetime-edit-ampm-field{padding:0}::-webkit-datetime-edit-day-field{padding:0}::-webkit-datetime-edit-week-field{padding:0}::-webkit-datetime-edit-month-field{padding:0}::-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()}[type=tel]{direction:ltr}[type=url]{direction:ltr}[type=email]{direction:ltr}[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{cursor:pointer;display:list-item}progress{vertical-align:baseline}[hidden]{display:none!important}}@layer layout,content,forms,components,custom,helpers,utilities;:root{--bs-black:#000;--bs-white:#fff;--bs-gradient:linear-gradient(180deg, color-mix(var(--bs-white) 15%, transparent), color-mix(var(--bs-white) 0%, transparent));--bs-font-weight-lighter:lighter;--bs-font-weight-light:300;--bs-font-weight-normal:400;--bs-font-weight-medium:500;--bs-font-weight-semibold:600;--bs-font-weight-bold:700;--bs-font-weight-bolder:bolder;--bs-body-font-family:system-ui;--bs-body-font-size:var(--bs-font-size-base);--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-heading-color:inherit;--bs-hr-border-color:var(--bs-border-color);--bs-link-color:var(--lightningcss-light,var(--bs-primary-base))var(--lightningcss-dark,var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-font-mono:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-code-font-size:95%;--bs-code-color:var(--bs-fg-2);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200)))var(--lightningcss-dark,var(--bs-gray-700));--bs-border-color-translucent:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-border-radius:.5rem;--bs-border-radius-xs:.375rem;--bs-border-radius-sm:.5rem;--bs-border-radius-lg:.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0,0,0,.15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0,0,0,.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0,0,0,.176);--bs-box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);--bs-spacer:1rem;--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-control-checked-bg:var(--bs-primary-base);--bs-control-checked-border-color:var(--bs-control-checked-bg);--bs-control-active-bg:var(--bs-primary-base);--bs-control-active-border-color:var(--bs-control-active-bg);--bs-control-disabled-bg:var(--bs-bg-3);--bs-control-disabled-opacity:.65;--bs-btn-input-fg:var(--bs-fg-body);--bs-btn-input-bg:var(--bs-bg-body);--bs-btn-input-min-height:2.375rem;--bs-btn-input-padding-y:.375rem;--bs-btn-input-padding-x:.75rem;--bs-btn-input-font-size:var(--bs-font-size-base);--bs-btn-input-line-height:var(--bs-line-height-base);--bs-btn-input-border-radius:var(--bs-border-radius);--bs-btn-input-xs-min-height:1.5rem;--bs-btn-input-xs-padding-y:.125rem;--bs-btn-input-xs-padding-x:.5rem;--bs-btn-input-xs-font-size:var(--bs-font-size-xs);--bs-btn-input-xs-line-height:1.125;--bs-btn-input-xs-border-radius:var(--bs-border-radius-xs);--bs-btn-input-sm-min-height:2rem;--bs-btn-input-sm-padding-y:.25rem;--bs-btn-input-sm-padding-x:.625rem;--bs-btn-input-sm-font-size:var(--bs-font-size-sm);--bs-btn-input-sm-line-height:var(--bs-line-height-sm);--bs-btn-input-sm-border-radius:var(--bs-border-radius-sm);--bs-btn-input-lg-min-height:2.75rem;--bs-btn-input-lg-padding-y:.5rem;--bs-btn-input-lg-padding-x:1rem;--bs-btn-input-lg-font-size:var(--bs-font-size-md);--bs-btn-input-lg-line-height:var(--bs-line-height-md);--bs-btn-input-lg-border-radius:var(--bs-border-radius-lg);--bs-form-valid-color:var(--bs-success-text);--bs-form-valid-border-color:var(--bs-success-text);--bs-form-invalid-color:var(--bs-danger-text);--bs-form-invalid-border-color:var(--bs-danger-text);--bs-font-size-xs:.75rem;--bs-line-height-xs:1.25;--bs-font-size-sm:.875rem;--bs-line-height-sm:1.5;--bs-font-size-md:1rem;--bs-line-height-md:1.5;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-line-height-lg:1.5;--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-line-height-xl:1.42857;--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-line-height-2xl:1.33333;--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-line-height-3xl:1.2;--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-line-height-4xl:1.1;--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-line-height-5xl:1.1;--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-6xl:1;--bs-primary-base:var(--bs-blue-500);--bs-primary-text:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));--bs-primary-text-emphasis:var(--lightningcss-light,var(--bs-blue-800))var(--lightningcss-dark,var(--bs-blue-200));--bs-primary-bg:var(--bs-blue-500);--bs-primary-bg-subtle:var(--lightningcss-light,var(--bs-blue-100))var(--lightningcss-dark,var(--bs-blue-900));--bs-primary-bg-muted:var(--lightningcss-light,var(--bs-blue-200))var(--lightningcss-dark,var(--bs-blue-800));--bs-primary-border:var(--lightningcss-light,var(--bs-blue-300))var(--lightningcss-dark,var(--bs-blue-600));--bs-primary-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)));--bs-primary-contrast:var(--bs-white);--bs-accent-base:var(--bs-indigo-500);--bs-accent-text:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));--bs-accent-text-emphasis:var(--lightningcss-light,var(--bs-indigo-800))var(--lightningcss-dark,var(--bs-indigo-300));--bs-accent-bg:var(--bs-indigo-500);--bs-accent-bg-subtle:var(--lightningcss-light,var(--bs-indigo-100))var(--lightningcss-dark,var(--bs-indigo-900));--bs-accent-bg-muted:var(--lightningcss-light,var(--bs-indigo-200))var(--lightningcss-dark,var(--bs-indigo-800));--bs-accent-border:var(--lightningcss-light,var(--bs-indigo-300))var(--lightningcss-dark,var(--bs-indigo-600));--bs-accent-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)));--bs-accent-contrast:var(--bs-white);--bs-success-base:var(--bs-green-500);--bs-success-text:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));--bs-success-text-emphasis:var(--lightningcss-light,var(--bs-green-800))var(--lightningcss-dark,var(--bs-green-300));--bs-success-bg:var(--bs-green-500);--bs-success-bg-subtle:var(--lightningcss-light,var(--bs-green-100))var(--lightningcss-dark,var(--bs-green-900));--bs-success-bg-muted:var(--lightningcss-light,var(--bs-green-200))var(--lightningcss-dark,var(--bs-green-800));--bs-success-border:var(--lightningcss-light,var(--bs-green-300))var(--lightningcss-dark,var(--bs-green-600));--bs-success-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)));--bs-success-contrast:var(--bs-white);--bs-danger-base:var(--bs-red-500);--bs-danger-text:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));--bs-danger-text-emphasis:var(--lightningcss-light,var(--bs-red-800))var(--lightningcss-dark,var(--bs-red-300));--bs-danger-bg:var(--bs-red-500);--bs-danger-bg-subtle:var(--lightningcss-light,var(--bs-red-100))var(--lightningcss-dark,var(--bs-red-900));--bs-danger-bg-muted:var(--lightningcss-light,var(--bs-red-200))var(--lightningcss-dark,var(--bs-red-800));--bs-danger-border:var(--lightningcss-light,var(--bs-red-300))var(--lightningcss-dark,var(--bs-red-600));--bs-danger-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)));--bs-danger-contrast:var(--bs-white);--bs-warning-base:var(--bs-yellow-500);--bs-warning-text:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));--bs-warning-text-emphasis:var(--lightningcss-light,var(--bs-yellow-800))var(--lightningcss-dark,var(--bs-yellow-300));--bs-warning-bg:var(--bs-yellow-500);--bs-warning-bg-subtle:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));--bs-warning-bg-muted:var(--lightningcss-light,var(--bs-yellow-200))var(--lightningcss-dark,var(--bs-yellow-800));--bs-warning-border:var(--lightningcss-light,var(--bs-yellow-300))var(--lightningcss-dark,var(--bs-yellow-600));--bs-warning-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)));--bs-warning-contrast:var(--bs-gray-900);--bs-info-base:var(--bs-cyan-500);--bs-info-text:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));--bs-info-text-emphasis:var(--lightningcss-light,var(--bs-cyan-800))var(--lightningcss-dark,var(--bs-cyan-300));--bs-info-bg:var(--bs-cyan-500);--bs-info-bg-subtle:var(--lightningcss-light,var(--bs-cyan-100))var(--lightningcss-dark,var(--bs-cyan-900));--bs-info-bg-muted:var(--lightningcss-light,var(--bs-cyan-200))var(--lightningcss-dark,var(--bs-cyan-800));--bs-info-border:var(--lightningcss-light,var(--bs-cyan-300))var(--lightningcss-dark,var(--bs-cyan-600));--bs-info-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)));--bs-info-contrast:var(--bs-gray-900);--bs-inverse-base:var(--bs-gray-900);--bs-inverse-text:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));--bs-inverse-text-emphasis:var(--lightningcss-light,var(--bs-gray-975))var(--lightningcss-dark,var(--bs-white));--bs-inverse-bg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));--bs-inverse-bg-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-inverse-bg-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-300));--bs-inverse-border:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-100));--bs-inverse-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-100)) 50%, var(--bs-bg-body));--bs-inverse-contrast:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-900));--bs-secondary-base:var(--bs-gray-200);--bs-secondary-text:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));--bs-secondary-text-emphasis:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-secondary-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-bg-subtle:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-800));--bs-secondary-bg-muted:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-700));--bs-secondary-border:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-300)) 50%, var(--bs-bg-body));--bs-secondary-contrast:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));--bs-bg-body:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-975));--bs-bg-1:var(--lightningcss-light,var(--bs-gray-025))var(--lightningcss-dark,var(--bs-gray-950));--bs-bg-2:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-900));--bs-bg-3:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-800));--bs-bg-4:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-700));--bs-bg-white:var(--bs-white);--bs-bg-black:var(--bs-black);--bs-bg-transparent:transparent;--bs-bg-inherit:inherit;--bs-fg-body:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-050));--bs-fg-1:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-fg-2:var(--lightningcss-light,var(--bs-gray-700))var(--lightningcss-dark,var(--bs-gray-300));--bs-fg-3:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-500));--bs-fg-4:var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-600));--bs-fg-white:var(--bs-white);--bs-fg-black:var(--bs-black);--bs-fg-inherit:inherit;--bs-border-bg:var(--bs-bg-body);--bs-border-body:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-border-emphasized:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-600));--bs-border-white:var(--bs-white);--bs-border-black:var(--bs-black);--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-bs-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-bs-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}
+:root{--bs-blue-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .24 240));--bs-blue-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .24 240));--bs-blue-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .24 240));--bs-blue-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .24 240));--bs-blue-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .24 240));--bs-blue-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .24 240));--bs-blue-500:oklch(60% .24 240);--bs-blue-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .24 240));--bs-blue-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .24 240));--bs-blue-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .24 240));--bs-blue-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .24 240));--bs-blue-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .24 240));--bs-blue-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .24 240));--bs-indigo-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .26 288));--bs-indigo-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .26 288));--bs-indigo-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .26 288));--bs-indigo-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .26 288));--bs-indigo-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .26 288));--bs-indigo-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .26 288));--bs-indigo-500:oklch(56% .26 288);--bs-indigo-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .26 288));--bs-indigo-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .26 288));--bs-indigo-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .26 288));--bs-indigo-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .26 288));--bs-indigo-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .26 288));--bs-indigo-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .26 288));--bs-violet-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 300));--bs-violet-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 300));--bs-violet-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 300));--bs-violet-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 300));--bs-violet-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 300));--bs-violet-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 300));--bs-violet-500:oklch(56% .24 300);--bs-violet-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 300));--bs-violet-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 300));--bs-violet-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 300));--bs-violet-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 300));--bs-violet-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 300));--bs-violet-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 300));--bs-purple-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 320));--bs-purple-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 320));--bs-purple-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 320));--bs-purple-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 320));--bs-purple-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 320));--bs-purple-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 320));--bs-purple-500:oklch(56% .24 320);--bs-purple-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 320));--bs-purple-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 320));--bs-purple-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 320));--bs-purple-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 320));--bs-purple-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 320));--bs-purple-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 320));--bs-pink-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 4));--bs-pink-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 4));--bs-pink-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 4));--bs-pink-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 4));--bs-pink-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 4));--bs-pink-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 4));--bs-pink-500:oklch(60% .22 4);--bs-pink-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 4));--bs-pink-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 4));--bs-pink-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 4));--bs-pink-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 4));--bs-pink-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 4));--bs-pink-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 4));--bs-red-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 20));--bs-red-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 20));--bs-red-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 20));--bs-red-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 20));--bs-red-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 20));--bs-red-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 20));--bs-red-500:oklch(60% .22 20);--bs-red-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 20));--bs-red-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 20));--bs-red-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 20));--bs-red-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 20));--bs-red-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 20));--bs-red-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 20));--bs-orange-025:color-mix(in lab, var(--bs-white) 94%, oklch(70% .22 52));--bs-orange-050:color-mix(in lab, var(--bs-white) 90%, oklch(70% .22 52));--bs-orange-100:color-mix(in lab, var(--bs-white) 80%, oklch(70% .22 52));--bs-orange-200:color-mix(in lab, var(--bs-white) 60%, oklch(70% .22 52));--bs-orange-300:color-mix(in lab, var(--bs-white) 40%, oklch(70% .22 52));--bs-orange-400:color-mix(in lab, var(--bs-white) 20%, oklch(70% .22 52));--bs-orange-500:oklch(70% .22 52);--bs-orange-600:color-mix(in lab, var(--bs-black) 16%, oklch(70% .22 52));--bs-orange-700:color-mix(in lab, var(--bs-black) 32%, oklch(70% .22 52));--bs-orange-800:color-mix(in lab, var(--bs-black) 48%, oklch(70% .22 52));--bs-orange-900:color-mix(in lab, var(--bs-black) 64%, oklch(70% .22 52));--bs-orange-950:color-mix(in lab, var(--bs-black) 76%, oklch(70% .22 52));--bs-orange-975:color-mix(in lab, var(--bs-black) 88%, oklch(70% .22 52));--bs-amber-025:color-mix(in lab, var(--bs-white) 94%, oklch(79% .2 78));--bs-amber-050:color-mix(in lab, var(--bs-white) 90%, oklch(79% .2 78));--bs-amber-100:color-mix(in lab, var(--bs-white) 80%, oklch(79% .2 78));--bs-amber-200:color-mix(in lab, var(--bs-white) 60%, oklch(79% .2 78));--bs-amber-300:color-mix(in lab, var(--bs-white) 40%, oklch(79% .2 78));--bs-amber-400:color-mix(in lab, var(--bs-white) 20%, oklch(79% .2 78));--bs-amber-500:oklch(79% .2 78);--bs-amber-600:color-mix(in lab, var(--bs-black) 16%, oklch(79% .2 78));--bs-amber-700:color-mix(in lab, var(--bs-black) 32%, oklch(79% .2 78));--bs-amber-800:color-mix(in lab, var(--bs-black) 48%, oklch(79% .2 78));--bs-amber-900:color-mix(in lab, var(--bs-black) 64%, oklch(79% .2 78));--bs-amber-950:color-mix(in lab, var(--bs-black) 76%, oklch(79% .2 78));--bs-amber-975:color-mix(in lab, var(--bs-black) 88%, oklch(79% .2 78));--bs-yellow-025:color-mix(in lab, var(--bs-white) 94%, oklch(88% .24 88));--bs-yellow-050:color-mix(in lab, var(--bs-white) 90%, oklch(88% .24 88));--bs-yellow-100:color-mix(in lab, var(--bs-white) 80%, oklch(88% .24 88));--bs-yellow-200:color-mix(in lab, var(--bs-white) 60%, oklch(88% .24 88));--bs-yellow-300:color-mix(in lab, var(--bs-white) 40%, oklch(88% .24 88));--bs-yellow-400:color-mix(in lab, var(--bs-white) 20%, oklch(88% .24 88));--bs-yellow-500:oklch(88% .24 88);--bs-yellow-600:color-mix(in lab, var(--bs-black) 16%, oklch(88% .24 88));--bs-yellow-700:color-mix(in lab, var(--bs-black) 32%, oklch(88% .24 88));--bs-yellow-800:color-mix(in lab, var(--bs-black) 48%, oklch(88% .24 88));--bs-yellow-900:color-mix(in lab, var(--bs-black) 64%, oklch(88% .24 88));--bs-yellow-950:color-mix(in lab, var(--bs-black) 76%, oklch(88% .24 88));--bs-yellow-975:color-mix(in lab, var(--bs-black) 88%, oklch(88% .24 88));--bs-lime-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .24 135));--bs-lime-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .24 135));--bs-lime-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .24 135));--bs-lime-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .24 135));--bs-lime-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .24 135));--bs-lime-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .24 135));--bs-lime-500:oklch(65% .24 135);--bs-lime-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .24 135));--bs-lime-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .24 135));--bs-lime-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .24 135));--bs-lime-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .24 135));--bs-lime-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .24 135));--bs-lime-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .24 135));--bs-green-025:color-mix(in lab, var(--bs-white) 94%, oklch(64% .22 160));--bs-green-050:color-mix(in lab, var(--bs-white) 90%, oklch(64% .22 160));--bs-green-100:color-mix(in lab, var(--bs-white) 80%, oklch(64% .22 160));--bs-green-200:color-mix(in lab, var(--bs-white) 60%, oklch(64% .22 160));--bs-green-300:color-mix(in lab, var(--bs-white) 40%, oklch(64% .22 160));--bs-green-400:color-mix(in lab, var(--bs-white) 20%, oklch(64% .22 160));--bs-green-500:oklch(64% .22 160);--bs-green-600:color-mix(in lab, var(--bs-black) 16%, oklch(64% .22 160));--bs-green-700:color-mix(in lab, var(--bs-black) 32%, oklch(64% .22 160));--bs-green-800:color-mix(in lab, var(--bs-black) 48%, oklch(64% .22 160));--bs-green-900:color-mix(in lab, var(--bs-black) 64%, oklch(64% .22 160));--bs-green-950:color-mix(in lab, var(--bs-black) 76%, oklch(64% .22 160));--bs-green-975:color-mix(in lab, var(--bs-black) 88%, oklch(64% .22 160));--bs-teal-025:color-mix(in lab, var(--bs-white) 94%, oklch(68% .22 190));--bs-teal-050:color-mix(in lab, var(--bs-white) 90%, oklch(68% .22 190));--bs-teal-100:color-mix(in lab, var(--bs-white) 80%, oklch(68% .22 190));--bs-teal-200:color-mix(in lab, var(--bs-white) 60%, oklch(68% .22 190));--bs-teal-300:color-mix(in lab, var(--bs-white) 40%, oklch(68% .22 190));--bs-teal-400:color-mix(in lab, var(--bs-white) 20%, oklch(68% .22 190));--bs-teal-500:oklch(68% .22 190);--bs-teal-600:color-mix(in lab, var(--bs-black) 16%, oklch(68% .22 190));--bs-teal-700:color-mix(in lab, var(--bs-black) 32%, oklch(68% .22 190));--bs-teal-800:color-mix(in lab, var(--bs-black) 48%, oklch(68% .22 190));--bs-teal-900:color-mix(in lab, var(--bs-black) 64%, oklch(68% .22 190));--bs-teal-950:color-mix(in lab, var(--bs-black) 76%, oklch(68% .22 190));--bs-teal-975:color-mix(in lab, var(--bs-black) 88%, oklch(68% .22 190));--bs-cyan-025:color-mix(in lab, var(--bs-white) 94%, oklch(69% .22 220));--bs-cyan-050:color-mix(in lab, var(--bs-white) 90%, oklch(69% .22 220));--bs-cyan-100:color-mix(in lab, var(--bs-white) 80%, oklch(69% .22 220));--bs-cyan-200:color-mix(in lab, var(--bs-white) 60%, oklch(69% .22 220));--bs-cyan-300:color-mix(in lab, var(--bs-white) 40%, oklch(69% .22 220));--bs-cyan-400:color-mix(in lab, var(--bs-white) 20%, oklch(69% .22 220));--bs-cyan-500:oklch(69% .22 220);--bs-cyan-600:color-mix(in lab, var(--bs-black) 16%, oklch(69% .22 220));--bs-cyan-700:color-mix(in lab, var(--bs-black) 32%, oklch(69% .22 220));--bs-cyan-800:color-mix(in lab, var(--bs-black) 48%, oklch(69% .22 220));--bs-cyan-900:color-mix(in lab, var(--bs-black) 64%, oklch(69% .22 220));--bs-cyan-950:color-mix(in lab, var(--bs-black) 76%, oklch(69% .22 220));--bs-cyan-975:color-mix(in lab, var(--bs-black) 88%, oklch(69% .22 220));--bs-brown-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .12 54));--bs-brown-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .12 54));--bs-brown-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .12 54));--bs-brown-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .12 54));--bs-brown-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .12 54));--bs-brown-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .12 54));--bs-brown-500:oklch(60% .12 54);--bs-brown-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .12 54));--bs-brown-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .12 54));--bs-brown-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .12 54));--bs-brown-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .12 54));--bs-brown-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .12 54));--bs-brown-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .12 54));--bs-gray-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .02 245));--bs-gray-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .02 245));--bs-gray-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .02 245));--bs-gray-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .02 245));--bs-gray-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .02 245));--bs-gray-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .02 245));--bs-gray-500:oklch(60% .02 245);--bs-gray-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .02 245));--bs-gray-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .02 245));--bs-gray-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .02 245));--bs-gray-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .02 245));--bs-gray-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .02 245));--bs-gray-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .02 245));--bs-pewter-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .01 290));--bs-pewter-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .01 290));--bs-pewter-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .01 290));--bs-pewter-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .01 290));--bs-pewter-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .01 290));--bs-pewter-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .01 290));--bs-pewter-500:oklch(65% .01 290);--bs-pewter-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .01 290));--bs-pewter-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .01 290));--bs-pewter-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .01 290));--bs-pewter-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .01 290));--bs-pewter-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .01 290));--bs-pewter-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .01 290))}@layer colors,theme,config,root;@layer reboot{*,:before,:after{box-sizing:border-box}:root{accent-color:var(--bs-primary-base)}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{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-fg-body);text-align:var(--bs-body-text-align);background-color:var(--bs-bg-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:#0000;margin:0}hr{margin:var(--bs-hr-margin-y,var(--bs-spacer)) 0;border:0;border-block-start:var(--bs-border-width) solid var(--bs-hr-border-color)}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{color:var(--bs-heading-color);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:var(--bs-font-size-3xl)}h2,.h2{font-size:var(--bs-font-size-2xl)}h3,.h3{font-size:var(--bs-font-size-xl)}h4,.h4{font-size:var(--bs-font-size-lg)}h5,.h5{font-size:var(--bs-font-size-md)}h6,.h6{font-size:var(--bs-font-size-sm)}p{margin-top:0;margin-bottom:1rem}abbr[title]{cursor:help;text-decoration-skip-ink:none;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-inline-start: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-inline-start:0;margin-bottom:.5rem}blockquote{margin:0 0 1rem}blockquote>*{margin-block:0}b,strong{font-weight:bolder}small,.small{font-size:var(--bs-small-font-size,87.5%)}mark,.mark{--bs-mark-padding:.1875em;--bs-mark-color:var(--bs-fg-body);--bs-mark-bg:light-dark(var(--bs-yellow-100),var(--bs-yellow-900));padding:var(--bs-mark-padding);color:var(--bs-mark-color);background-color:var(--bs-mark-bg)}sub,sup{font-size:var(--bs-sub-sup-font-size,.75em);vertical-align:baseline;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-theme-text,var(--bs-link-color));-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration);text-underline-offset:.2em}a:hover{color:var(--bs-theme-text-emphasis,var(--bs-link-hover-color));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration))}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-mono);font-size:1em}pre{font-size:var(--bs-code-font-size);color:var(--bs-code-color,inherit);margin-top:0;margin-bottom:1rem;display:block;overflow:auto}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:var(--bs-code-font-size);color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{--bs-kbd-padding-y:.125rem;--bs-kbd-padding-x:.25rem;--bs-kbd-font-size:var(--bs-font-size-xs);--bs-kbd-color:var(--bs-bg-body);--bs-kbd-bg:var(--bs-fg-2);--bs-kbd-border-radius:var(--bs-border-radius-sm);padding:var(--bs-kbd-padding-y) var(--bs-kbd-padding-x);font-size:var(--bs-kbd-font-size);color:var(--bs-kbd-color);background-color:var(--bs-kbd-bg);border-radius:var(--bs-kbd-border-radius)}kbd kbd{font-size:1em;font-weight:inherit;padding:0}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{color:var(--bs-fg-3);text-align:start;padding-block:.5rem}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{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}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{border-style:none;padding:0}textarea{resize:vertical}fieldset{border:0;min-width:0;margin:0;padding:0}legend{float:inline-start;width:100%;font-size:1.5rem;line-height:inherit;margin-bottom:.5rem;padding:0}legend+*{clear:inline-start}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-text{padding:0}::-webkit-datetime-edit-millisecond-field{padding:0}::-webkit-datetime-edit-second-field{padding:0}::-webkit-datetime-edit-minute-field{padding:0}::-webkit-datetime-edit-hour-field{padding:0}::-webkit-datetime-edit-ampm-field{padding:0}::-webkit-datetime-edit-day-field{padding:0}::-webkit-datetime-edit-week-field{padding:0}::-webkit-datetime-edit-month-field{padding:0}::-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()}[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{cursor:pointer;display:list-item}progress{vertical-align:baseline}[hidden]{display:none!important}}@layer layout,content,forms,components,custom,helpers,utilities;:root{--bs-black:#000;--bs-white:#fff;--bs-gradient:linear-gradient(180deg, color-mix(var(--bs-white) 15%, transparent), color-mix(var(--bs-white) 0%, transparent));--bs-font-weight-lighter:lighter;--bs-font-weight-light:300;--bs-font-weight-normal:400;--bs-font-weight-medium:500;--bs-font-weight-semibold:600;--bs-font-weight-bold:700;--bs-font-weight-bolder:bolder;--bs-body-font-family:system-ui;--bs-body-font-size:var(--bs-font-size-base);--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-heading-color:inherit;--bs-hr-border-color:var(--bs-border-color);--bs-link-color:light-dark(var(--bs-primary-base),var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-font-mono:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-code-font-size:95%;--bs-code-color:var(--bs-fg-2);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:light-dark(color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200)),var(--bs-gray-700));--bs-border-color-translucent:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-border-radius:.5rem;--bs-border-radius-xs:.375rem;--bs-border-radius-sm:.5rem;--bs-border-radius-lg:.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem #00000026;--bs-box-shadow-sm:0 .125rem .25rem #00000013;--bs-box-shadow-lg:0 1rem 3rem #0000002d;--bs-box-shadow-inset:inset 0 1px 2px #00000013;--bs-spacer:1rem;--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-control-checked-bg:var(--bs-primary-base);--bs-control-checked-border-color:var(--bs-control-checked-bg);--bs-control-active-bg:var(--bs-primary-base);--bs-control-active-border-color:var(--bs-control-active-bg);--bs-control-disabled-bg:var(--bs-bg-3);--bs-control-disabled-opacity:.65;--bs-btn-input-fg:var(--bs-fg-body);--bs-btn-input-bg:var(--bs-bg-body);--bs-btn-input-min-height:2.375rem;--bs-btn-input-padding-y:.375rem;--bs-btn-input-padding-x:.75rem;--bs-btn-input-font-size:var(--bs-font-size-base);--bs-btn-input-line-height:var(--bs-line-height-base);--bs-btn-input-border-radius:var(--bs-border-radius);--bs-btn-input-xs-min-height:1.5rem;--bs-btn-input-xs-padding-y:.125rem;--bs-btn-input-xs-padding-x:.5rem;--bs-btn-input-xs-font-size:var(--bs-font-size-xs);--bs-btn-input-xs-line-height:1.125;--bs-btn-input-xs-border-radius:var(--bs-border-radius-xs);--bs-btn-input-sm-min-height:2rem;--bs-btn-input-sm-padding-y:.25rem;--bs-btn-input-sm-padding-x:.625rem;--bs-btn-input-sm-font-size:var(--bs-font-size-sm);--bs-btn-input-sm-line-height:var(--bs-line-height-sm);--bs-btn-input-sm-border-radius:var(--bs-border-radius-sm);--bs-btn-input-lg-min-height:2.75rem;--bs-btn-input-lg-padding-y:.5rem;--bs-btn-input-lg-padding-x:1rem;--bs-btn-input-lg-font-size:var(--bs-font-size-md);--bs-btn-input-lg-line-height:var(--bs-line-height-md);--bs-btn-input-lg-border-radius:var(--bs-border-radius-lg);--bs-form-valid-color:var(--bs-success-text);--bs-form-valid-border-color:var(--bs-success-text);--bs-form-invalid-color:var(--bs-danger-text);--bs-form-invalid-border-color:var(--bs-danger-text);--bs-font-size-xs:.75rem;--bs-line-height-xs:1.25;--bs-font-size-sm:.875rem;--bs-line-height-sm:1.5;--bs-font-size-md:1rem;--bs-line-height-md:1.5;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-line-height-lg:1.5;--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-line-height-xl:1.42857;--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-line-height-2xl:1.33333;--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-line-height-3xl:1.2;--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-line-height-4xl:1.1;--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-line-height-5xl:1.1;--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-6xl:1;--bs-primary-base:var(--bs-blue-500);--bs-primary-text:light-dark(var(--bs-blue-600),var(--bs-blue-400));--bs-primary-text-emphasis:light-dark(var(--bs-blue-800),var(--bs-blue-200));--bs-primary-bg: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:light-dark(color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)));--bs-primary-contrast:var(--bs-white);--bs-accent-base:var(--bs-indigo-500);--bs-accent-text:light-dark(var(--bs-indigo-600),color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));--bs-accent-text-emphasis:light-dark(var(--bs-indigo-800),var(--bs-indigo-300));--bs-accent-bg: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:light-dark(color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)));--bs-accent-contrast:var(--bs-white);--bs-success-base:var(--bs-green-500);--bs-success-text:light-dark(var(--bs-green-600),var(--bs-green-400));--bs-success-text-emphasis:light-dark(var(--bs-green-800),var(--bs-green-300));--bs-success-bg: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:light-dark(color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)));--bs-success-contrast:var(--bs-white);--bs-danger-base:var(--bs-red-500);--bs-danger-text:light-dark(var(--bs-red-600),var(--bs-red-400));--bs-danger-text-emphasis:light-dark(var(--bs-red-800),var(--bs-red-300));--bs-danger-bg: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:light-dark(color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)));--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-400));--bs-warning-text-emphasis:light-dark(var(--bs-yellow-800),var(--bs-yellow-300));--bs-warning-bg: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:light-dark(color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)));--bs-warning-contrast:var(--bs-gray-900);--bs-info-base:var(--bs-cyan-500);--bs-info-text:light-dark(var(--bs-cyan-600),var(--bs-cyan-400));--bs-info-text-emphasis:light-dark(var(--bs-cyan-800),var(--bs-cyan-300));--bs-info-bg: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:light-dark(color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)));--bs-info-contrast:var(--bs-gray-900);--bs-inverse-base:var(--bs-gray-900);--bs-inverse-text:light-dark(var(--bs-gray-900),var(--bs-gray-200));--bs-inverse-text-emphasis:light-dark(var(--bs-gray-975),var(--bs-white));--bs-inverse-bg:light-dark(var(--bs-gray-900),var(--bs-gray-025));--bs-inverse-bg-subtle:light-dark(var(--bs-gray-100),var(--bs-gray-900));--bs-inverse-bg-muted:light-dark(var(--bs-gray-200),var(--bs-gray-300));--bs-inverse-border:light-dark(var(--bs-gray-400),var(--bs-gray-100));--bs-inverse-focus-ring:color-mix(in oklch, light-dark(var(--bs-gray-900),var(--bs-gray-100)) 50%, var(--bs-bg-body));--bs-inverse-contrast:light-dark(var(--bs-white),var(--bs-gray-900));--bs-secondary-base:var(--bs-gray-200);--bs-secondary-text:light-dark(var(--bs-gray-600),var(--bs-gray-400));--bs-secondary-text-emphasis:light-dark(var(--bs-gray-800),var(--bs-gray-200));--bs-secondary-bg:light-dark(var(--bs-gray-100),var(--bs-gray-600));--bs-secondary-bg-subtle:light-dark(var(--bs-gray-050),var(--bs-gray-800));--bs-secondary-bg-muted:light-dark(var(--bs-gray-100),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, light-dark(var(--bs-gray-500),var(--bs-gray-300)) 50%, var(--bs-bg-body));--bs-secondary-contrast:light-dark(var(--bs-gray-900),var(--bs-white));--bs-bg-body:light-dark(var(--bs-white),var(--bs-gray-975));--bs-bg-1:light-dark(var(--bs-gray-025),var(--bs-gray-950));--bs-bg-2:light-dark(var(--bs-gray-050),var(--bs-gray-900));--bs-bg-3:light-dark(var(--bs-gray-100),var(--bs-gray-800));--bs-bg-4:light-dark(var(--bs-gray-200),var(--bs-gray-700));--bs-bg-white:var(--bs-white);--bs-bg-black:var(--bs-black);--bs-bg-transparent:transparent;--bs-bg-inherit:inherit;--bs-fg-body:light-dark(var(--bs-gray-900),var(--bs-gray-050));--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-500));--bs-fg-4:light-dark(var(--bs-gray-500),var(--bs-gray-600));--bs-fg-white:var(--bs-white);--bs-fg-black:var(--bs-black);--bs-fg-inherit:inherit;--bs-border-bg:var(--bs-bg-body);--bs-border-body:light-dark(var(--bs-gray-300),var(--bs-gray-800));--bs-border-muted:light-dark(var(--bs-gray-200),var(--bs-gray-800));--bs-border-subtle:light-dark(var(--bs-gray-100),var(--bs-gray-900));--bs-border-emphasized:light-dark(var(--bs-gray-400),var(--bs-gray-600));--bs-border-white:var(--bs-white);--bs-border-black:var(--bs-black);--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px;color-scheme:light dark}[data-bs-theme=dark]{color-scheme:dark}[data-bs-theme=light]{color-scheme:light}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */
\ No newline at end of file
-{"version":3,"sourceRoot":null,"mappings":";;;;;AEmGA,oycE1FA,gCAAA,cCyCE,uCAWA,0CAKI,8CALJ,8BAmBA,4UAcA,sIAYA,yIAUA,yCAMA,yCAMA,wCAMA,wCAMA,wCAMA,wCAWA,kCAWA,sKAQA,iEAQA,gCAKA,yCAOA,wCAOA,mBAMA,6CAOA,2BAEE,4BASF,4BASA,uDAOA,6QAaA,4GAQA,kBACA,cAIA,2NAKE,qTAcA,+FASF,gEAYA,sIASE,2DAOF,wFAME,qBAKF,iZAQE,oDAWF,uBAMA,8BASA,mDAKA,kEAaA,sDAMA,kFAeA,2BAOA,uBAUA,2CAMA,yGAYA,kCAOA,6BAIA,wBAME,0BAQF,iKASA,iCAAA,wCAAA,uCAAA,wCAOI,qCAAA,4CAAA,2CAAA,4CAQJ,+CAOA,yBAWA,iDAYA,wGASE,4BAQF,iDAAA,uCAAA,oDAAA,+CAAA,+CAAA,6CAAA,6CAAA,4CAAA,6CAAA,8CAAA,6CAcA,wCAUA,+DAKE,8EASF,yBAAA,yBAAA,2BAAA,4BASA,oDAMA,yCAOA,8DAOA,4BAMA,gBAQA,yCASA,iCAQA,iCDrnBF,gEAoKA,+5ZAAA,mCAAA,0DAMA,0FAIA","sources":["bootstrap-reboot.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_config.scss","../../scss/mixins/_border-radius.scss"],"sourcesContent":["/*!\n * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n --blue-500: oklch(60% 0.24 240deg);\n --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n --indigo-500: oklch(56% 0.26 288deg);\n --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n --violet-500: oklch(56% 0.24 300deg);\n --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n --purple-500: oklch(56% 0.24 320deg);\n --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n --pink-500: oklch(60% 0.22 4deg);\n --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n --red-500: oklch(60% 0.22 20deg);\n --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n --orange-500: oklch(70% 0.22 52deg);\n --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n --amber-500: oklch(79% 0.2 78deg);\n --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n --yellow-500: oklch(88% 0.24 88deg);\n --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n --lime-500: oklch(65% 0.24 135deg);\n --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n --green-500: oklch(64% 0.22 160deg);\n --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n --teal-500: oklch(68% 0.22 190deg);\n --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n --cyan-500: oklch(69% 0.22 220deg);\n --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n --brown-500: oklch(60% 0.12 54deg);\n --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n --gray-500: oklch(60% 0.02 245deg);\n --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n --pewter-500: oklch(65% 0.01 290deg);\n --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n --black: #000;\n --white: #fff;\n --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n --font-weight-lighter: lighter;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-bolder: bolder;\n --body-font-family: system-ui;\n --body-font-size: var(--font-size-base);\n --body-font-weight: 400;\n --body-line-height: 1.5;\n --heading-color: inherit;\n --hr-border-color: var(--border-color);\n --link-color: light-dark(var(--primary-base), var(--primary-text));\n --link-decoration: underline;\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --code-font-size: 95%;\n --code-color: var(--fg-2);\n --border-width: 1px;\n --border-style: solid;\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --border-radius: 0.5rem;\n --border-radius-xs: 0.375rem;\n --border-radius-sm: 0.5rem;\n --border-radius-lg: 0.75rem;\n --border-radius-xl: 1rem;\n --border-radius-2xl: 2rem;\n --border-radius-pill: 50rem;\n --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --spacer: 1rem;\n --focus-ring-width: 3px;\n --focus-ring-offset: 1px;\n --focus-ring-color: var(--primary-focus-ring);\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n --control-checked-bg: var(--primary-base);\n --control-checked-border-color: var(--control-checked-bg);\n --control-active-bg: var(--primary-base);\n --control-active-border-color: var(--control-active-bg);\n --control-disabled-bg: var(--bg-3);\n --control-disabled-opacity: 0.65;\n --btn-input-fg: var(--fg-body);\n --btn-input-bg: var(--bg-body);\n --btn-input-min-height: 2.375rem;\n --btn-input-padding-y: 0.375rem;\n --btn-input-padding-x: 0.75rem;\n --btn-input-font-size: var(--font-size-base);\n --btn-input-line-height: var(--line-height-base);\n --btn-input-border-radius: var(--border-radius);\n --btn-input-xs-min-height: 1.5rem;\n --btn-input-xs-padding-y: 0.125rem;\n --btn-input-xs-padding-x: 0.5rem;\n --btn-input-xs-font-size: var(--font-size-xs);\n --btn-input-xs-line-height: 1.125;\n --btn-input-xs-border-radius: var(--border-radius-xs);\n --btn-input-sm-min-height: 2rem;\n --btn-input-sm-padding-y: 0.25rem;\n --btn-input-sm-padding-x: 0.625rem;\n --btn-input-sm-font-size: var(--font-size-sm);\n --btn-input-sm-line-height: var(--line-height-sm);\n --btn-input-sm-border-radius: var(--border-radius-sm);\n --btn-input-lg-min-height: 2.75rem;\n --btn-input-lg-padding-y: 0.5rem;\n --btn-input-lg-padding-x: 1rem;\n --btn-input-lg-font-size: var(--font-size-md);\n --btn-input-lg-line-height: var(--line-height-md);\n --btn-input-lg-border-radius: var(--border-radius-lg);\n --form-valid-color: var(--success-text);\n --form-valid-border-color: var(--success-text);\n --form-invalid-color: var(--danger-text);\n --form-invalid-border-color: var(--danger-text);\n --font-size-xs: 0.75rem;\n --line-height-xs: 1.25;\n --font-size-sm: 0.875rem;\n --line-height-sm: 1.5;\n --font-size-md: 1rem;\n --line-height-md: 1.5;\n --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n --line-height-lg: 1.5;\n --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n --line-height-xl: 1.4285714286;\n --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n --line-height-2xl: 1.3333333333;\n --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n --line-height-3xl: 1.2;\n --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n --line-height-4xl: 1.1;\n --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n --line-height-5xl: 1.1;\n --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n --line-height-6xl: 1;\n --primary-base: var(--blue-500);\n --primary-text: light-dark(var(--blue-600), var(--blue-400));\n --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n --primary-bg: var(--blue-500);\n --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n --primary-border: light-dark(var(--blue-300), var(--blue-600));\n --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n --primary-contrast: var(--white);\n --accent-base: var(--indigo-500);\n --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n --accent-bg: var(--indigo-500);\n --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n --accent-contrast: var(--white);\n --success-base: var(--green-500);\n --success-text: light-dark(var(--green-600), var(--green-400));\n --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n --success-bg: var(--green-500);\n --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n --success-border: light-dark(var(--green-300), var(--green-600));\n --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n --success-contrast: var(--white);\n --danger-base: var(--red-500);\n --danger-text: light-dark(var(--red-600), var(--red-400));\n --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n --danger-bg: var(--red-500);\n --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n --danger-border: light-dark(var(--red-300), var(--red-600));\n --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n --danger-contrast: var(--white);\n --warning-base: var(--yellow-500);\n --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n --warning-bg: var(--yellow-500);\n --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n --warning-contrast: var(--gray-900);\n --info-base: var(--cyan-500);\n --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n --info-bg: var(--cyan-500);\n --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n --info-contrast: var(--gray-900);\n --inverse-base: var(--gray-900);\n --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n --inverse-contrast: light-dark(var(--white), var(--gray-900));\n --secondary-base: var(--gray-200);\n --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n --secondary-contrast: light-dark(var(--gray-900), var(--white));\n --bg-body: light-dark(var(--white), var(--gray-975));\n --bg-1: light-dark(var(--gray-025), var(--gray-950));\n --bg-2: light-dark(var(--gray-050), var(--gray-900));\n --bg-3: light-dark(var(--gray-100), var(--gray-800));\n --bg-4: light-dark(var(--gray-200), var(--gray-700));\n --bg-white: var(--white);\n --bg-black: var(--black);\n --bg-transparent: transparent;\n --bg-inherit: inherit;\n --fg-body: light-dark(var(--gray-900), var(--gray-050));\n --fg-1: light-dark(var(--gray-800), var(--gray-200));\n --fg-2: light-dark(var(--gray-700), var(--gray-300));\n --fg-3: light-dark(var(--gray-600), var(--gray-500));\n --fg-4: light-dark(var(--gray-500), var(--gray-600));\n --fg-white: var(--white);\n --fg-black: var(--black);\n --fg-inherit: inherit;\n --border-bg: var(--bg-body);\n --border-body: light-dark(var(--gray-300), var(--gray-800));\n --border-muted: light-dark(var(--gray-200), var(--gray-800));\n --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n --border-white: var(--white);\n --border-black: var(--black);\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n color-scheme: light;\n}\n\n@layer reboot {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n :root {\n accent-color: var(--primary-base);\n }\n @media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n }\n body {\n margin: 0;\n font-family: var(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n h6,\n .h6, h5,\n .h5, h4,\n .h4, h3,\n .h3, h2,\n .h2, h1,\n .h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n color: var(--heading-color);\n }\n h1,\n .h1 {\n font-size: var(--font-size-3xl);\n }\n h2,\n .h2 {\n font-size: var(--font-size-2xl);\n }\n h3,\n .h3 {\n font-size: var(--font-size-xl);\n }\n h4,\n .h4 {\n font-size: var(--font-size-lg);\n }\n h5,\n .h5 {\n font-size: var(--font-size-md);\n }\n h6,\n .h6 {\n font-size: var(--font-size-sm);\n }\n p {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n abbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n }\n address {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n }\n ol,\n ul {\n padding-inline-start: 2rem;\n }\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n dt {\n font-weight: 700;\n }\n dd {\n margin-inline-start: 0;\n margin-bottom: 0.5rem;\n }\n blockquote {\n margin: 0 0 1rem;\n }\n blockquote > * {\n margin-block: 0;\n }\n b,\n strong {\n font-weight: bolder;\n }\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n mark,\n .mark {\n --mark-padding: 0.1875em;\n --mark-color: var(--fg-body);\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, 0.75em);\n line-height: 0;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n a {\n color: var(--theme-text, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: 0.2em;\n }\n a:hover {\n color: var(--theme-text-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-decoration));\n }\n a:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n }\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em;\n }\n pre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n }\n pre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n code {\n font-size: var(--code-font-size);\n color: var(--code-color);\n word-wrap: break-word;\n }\n a > code {\n color: inherit;\n }\n kbd {\n --kbd-padding-y: 0.125rem;\n --kbd-padding-x: 0.25rem;\n --kbd-font-size: var(--font-size-xs);\n --kbd-color: var(--bg-body);\n --kbd-bg: var(--fg-2);\n --kbd-border-radius: var(--border-radius-sm);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n border-radius: var(--kbd-border-radius);\n }\n kbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: inherit;\n }\n figure {\n margin: 0 0 1rem;\n }\n img,\n svg {\n vertical-align: middle;\n }\n table {\n caption-side: bottom;\n border-collapse: collapse;\n }\n caption {\n padding-block: 0.5rem;\n color: var(--fg-3);\n text-align: start;\n }\n th {\n text-align: inherit;\n text-align: -webkit-match-parent;\n }\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n label {\n display: inline-block;\n }\n button {\n border-radius: 0;\n }\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n button,\n select {\n text-transform: none;\n }\n [role=button] {\n cursor: pointer;\n }\n select {\n word-wrap: normal;\n }\n select:disabled {\n opacity: 1;\n }\n [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n }\n button,\n [type=button],\n [type=reset],\n [type=submit] {\n -webkit-appearance: button;\n }\n button:not(:disabled),\n [type=button]:not(:disabled),\n [type=reset]:not(:disabled),\n [type=submit]:not(:disabled) {\n cursor: pointer;\n }\n ::-moz-focus-inner {\n padding: 0;\n border-style: none;\n }\n textarea {\n resize: vertical;\n }\n fieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n }\n legend {\n float: inline-start;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n }\n legend + * {\n clear: inline-start;\n }\n ::-webkit-datetime-edit-fields-wrapper,\n ::-webkit-datetime-edit-text,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-ampm-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-week-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-year-field {\n padding: 0;\n }\n ::-webkit-inner-spin-button {\n height: auto;\n }\n [type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n [type=search]::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n }\n [type=tel],\n [type=url],\n [type=email],\n [type=number] {\n direction: ltr;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n ::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n }\n output {\n display: inline-block;\n }\n iframe {\n border: 0;\n }\n summary {\n display: list-item;\n cursor: pointer;\n }\n progress {\n vertical-align: baseline;\n }\n [hidden] {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"violet\": $violet,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"amber\": $amber,\n \"yellow\": $yellow,\n \"lime\": $lime,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"brown\": $brown,\n \"gray\": $gray,\n \"pewter\": $pewter,\n ),\n $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n \"025\": 94%,\n \"050\": 90%,\n \"100\": 80%,\n \"200\": 60%,\n \"300\": 40%,\n \"400\": 20%,\n) !default;\n\n$color-shades: (\n \"600\": 16%,\n \"700\": 32%,\n \"800\": 48%,\n \"900\": 64%,\n \"950\": 76%,\n \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n @each $stop, $percent in $color-tints {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n }\n $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n @each $stop, $percent in $color-shades {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n @each $prop, $value in $map {\n #{$prop}: #{$value};\n }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n (\n --black: #{$black},\n --white: #{$white},\n\n --gradient: #{$gradient},\n\n // scss-docs-start root-font-weight-variables\n --font-weight-lighter: lighter,\n --font-weight-light: 300,\n --font-weight-normal: 400,\n --font-weight-medium: 500,\n --font-weight-semibold: 600,\n --font-weight-bold: 700,\n --font-weight-bolder: bolder,\n // scss-docs-end root-font-weight-variables\n\n // scss-docs-start root-body-variables\n --body-font-family: system-ui,\n --body-font-size: var(--font-size-base),\n --body-font-weight: #{$font-weight-base},\n --body-line-height: #{$line-height-base},\n\n --heading-color: #{$headings-color},\n\n --hr-border-color: var(--border-color),\n\n --link-color: light-dark(var(--primary-base), var(--primary-text)),\n --link-decoration: #{$link-decoration},\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n --code-font-size: 95%,\n --code-color: var(--fg-2),\n\n // scss-docs-start root-border-var\n --border-width: #{$border-width},\n --border-style: #{$border-style},\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n // scss-docs-end root-border-var\n\n // scss-docs-start root-border-radius-var\n --border-radius: .5rem,\n --border-radius-xs: .375rem,\n --border-radius-sm: .5rem,\n --border-radius-lg: .75rem,\n --border-radius-xl: 1rem,\n --border-radius-2xl: 2rem,\n --border-radius-pill: 50rem,\n // scss-docs-end root-border-radius-var\n\n // scss-docs-start root-box-shadow-variables\n --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n // scss-docs-end root-box-shadow-variables\n\n --spacer: 1rem,\n\n // scss-docs-start root-focus-variables\n --focus-ring-width: 3px,\n --focus-ring-offset: 1px,\n --focus-ring-color: var(--primary-focus-ring),\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-variables\n --control-checked-bg: var(--primary-base),\n --control-checked-border-color: var(--control-checked-bg),\n --control-active-bg: var(--primary-base),\n --control-active-border-color: var(--control-active-bg),\n --control-disabled-bg: var(--bg-3),\n --control-disabled-opacity: .65,\n\n --btn-input-fg: var(--fg-body),\n --btn-input-bg: var(--bg-body),\n\n --btn-input-min-height: 2.375rem,\n --btn-input-padding-y: .375rem,\n --btn-input-padding-x: .75rem,\n --btn-input-font-size: var(--font-size-base),\n --btn-input-line-height: var(--line-height-base),\n --btn-input-border-radius: var(--border-radius),\n\n --btn-input-xs-min-height: 1.5rem,\n --btn-input-xs-padding-y: .125rem,\n --btn-input-xs-padding-x: .5rem,\n --btn-input-xs-font-size: var(--font-size-xs),\n --btn-input-xs-line-height: 1.125,\n --btn-input-xs-border-radius: var(--border-radius-xs),\n\n --btn-input-sm-min-height: 2rem,\n --btn-input-sm-padding-y: .25rem,\n --btn-input-sm-padding-x: .625rem,\n --btn-input-sm-font-size: var(--font-size-sm),\n --btn-input-sm-line-height: var(--line-height-sm),\n --btn-input-sm-border-radius: var(--border-radius-sm),\n\n --btn-input-lg-min-height: 2.75rem,\n --btn-input-lg-padding-y: .5rem,\n --btn-input-lg-padding-x: 1rem,\n --btn-input-lg-font-size: var(--font-size-md),\n --btn-input-lg-line-height: var(--line-height-md),\n --btn-input-lg-border-radius: var(--border-radius-lg),\n // scss-docs-end root-form-variables\n\n // scss-docs-start root-form-validation-variables\n --form-valid-color: #{$form-valid-color},\n --form-valid-border-color: #{$form-valid-border-color},\n --form-invalid-color: #{$form-invalid-color},\n --form-invalid-border-color: #{$form-invalid-border-color},\n // scss-docs-end root-form-validation-variables\n ),\n $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n @each $key, $value in $color-map {\n $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n @include tokens($root-tokens);\n\n color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n color-scheme: light;\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$reboot-kbd-tokens: () !default;\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n (\n --kbd-padding-y: .125rem,\n --kbd-padding-x: .25rem,\n --kbd-font-size: var(--font-size-xs),\n --kbd-color: var(--bg-body),\n --kbd-bg: var(--fg-2),\n --kbd-border-radius: var(--border-radius-sm),\n ),\n $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n (\n --mark-padding: .1875em,\n --mark-color: var(--fg-body),\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n ),\n $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\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 // 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 // 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 // Assume browser default font-size of 16px, or a user's preference\n accent-color: var(--primary-base);\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\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(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n }\n // scss-docs-end reboot-body-rules\n\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n\n // Typography\n //\n // 1. Remove top margins from headings\n // By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n // margin for easier control within type scales as it avoids margin collapsing.\n\n %heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--heading-color);\n }\n\n h1,\n .h1 {\n @extend %heading;\n font-size: var(--font-size-3xl);\n }\n\n h2,\n .h2 {\n @extend %heading;\n font-size: var(--font-size-2xl);\n }\n\n h3,\n .h3 {\n @extend %heading;\n font-size: var(--font-size-xl);\n }\n\n h4,\n .h4 {\n @extend %heading;\n font-size: var(--font-size-lg);\n }\n\n h5,\n .h5 {\n @extend %heading;\n font-size: var(--font-size-md);\n }\n\n h6,\n .h6 {\n @extend %heading;\n font-size: var(--font-size-sm);\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 // 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 // Address\n\n address {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n }\n\n // Lists\n\n ol,\n ul {\n padding-inline-start: 2rem;\n }\n\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n\n dt {\n font-weight: $dt-font-weight;\n }\n\n // 1. Undo browser default\n\n dd {\n margin-inline-start: 0; // 1\n margin-bottom: .5rem;\n }\n\n // Blockquote\n\n blockquote {\n margin: 0 0 1rem;\n > * {\n margin-block: 0;\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 // Small\n //\n // Add the correct font size in all browsers\n\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n\n // Mark\n\n mark,\n .mark {\n @include tokens($reboot-mark-tokens);\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n\n // Sub and Sup\n //\n // Prevent `sub` and `sup` elements from affecting the line height in\n // all browsers.\n\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, .75em);\n line-height: 0;\n vertical-align: baseline;\n }\n\n sub { bottom: -.25em; }\n sup { top: -.5em; }\n\n // Links\n\n a {\n color: var(--theme-text, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: $link-underline-offset;\n\n &:hover {\n // --link-color: var(--link-hover-color);\n // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n color: var(--theme-text-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-decoration));\n }\n }\n\n // And undo these styles for placeholder links/named anchors (without href).\n // It would be more straightforward to just use a[href] in previous block, but that\n // causes specificity issues in many other styles that are too complex to fix.\n // See https://github.com/twbs/bootstrap/issues/19402\n\n a:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n }\n\n // Code\n\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n }\n\n // 1. Remove browser default top margin\n // 2. Reset browser default of `1em` to use `rem`s\n // 3. Don't allow content to break outside\n\n pre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n }\n\n code {\n font-size: var(--code-font-size);\n color: var(--code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n }\n\n kbd {\n @include tokens($reboot-kbd-tokens);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n @include border-radius(var(--kbd-border-radius));\n\n kbd {\n padding: 0;\n font-size: 1em;\n font-weight: inherit; // mdo-do: check if this is needed\n }\n }\n\n // Figures\n //\n // Apply a consistent margin strategy (matches our type styles).\n\n figure {\n margin: 0 0 1rem;\n }\n\n // Images and content\n\n img,\n svg {\n vertical-align: middle;\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(--fg-3);\n text-align: start;\n }\n\n // 1. Removes font-weight bold by inheriting\n // 2. Matches default `<td>` alignment by inheriting `text-align`.\n // 3. Fix alignment for Safari\n\n th {\n // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n }\n\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n\n // Forms\n //\n // 1. Allow labels to use `margin` for spacing.\n\n label {\n display: inline-block; // 1\n }\n\n // Remove the default `border-radius` that macOS Chrome adds.\n // See https://github.com/twbs/bootstrap/issues/24093\n\n button {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n }\n\n // Explicitly remove focus outline in Chromium when it shouldn't be\n // visible (e.g. as result of mouse click or touch tap). It already\n // should be doing this automatically, but seems to currently be\n // confused and applies its very visible two-tone outline anyway.\n\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n\n // 1. Remove the margin in Firefox and Safari\n\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0; // 1\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n // Remove the inheritance of text transform in Firefox\n button,\n select {\n text-transform: none;\n }\n // Set the cursor for non-`<button>` buttons\n //\n // Details at https://github.com/twbs/bootstrap/pull/30562\n [role=\"button\"] {\n cursor: pointer;\n }\n\n select {\n // Remove the inheritance of word-wrap in Safari.\n // See https://github.com/twbs/bootstrap/issues/24990\n word-wrap: normal;\n\n // Undo the opacity change from Chrome\n &:disabled {\n opacity: 1;\n }\n }\n\n // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n // See https://stackoverflow.com/a/54997118\n\n [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n display: none !important;\n }\n\n // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n // controls in Android 4.\n // 2. Correct the inability to style clickable types in iOS and Safari.\n // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n button,\n [type=\"button\"], // 1\n [type=\"reset\"],\n [type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n }\n\n // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n ::-moz-focus-inner {\n padding: 0;\n border-style: none;\n }\n\n // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n textarea {\n resize: vertical; // 1\n }\n\n // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n fieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n }\n\n // 1. By using `float: inline-start`, the legend will behave like a block element.\n // This way the border of a fieldset wraps around the legend if present.\n // 2. Fix wrapping bug.\n // See https://github.com/twbs/bootstrap/issues/29712\n\n legend {\n float: inline-start; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n font-size: $legend-font-size;\n font-weight: $legend-font-weight;\n line-height: inherit;\n\n + * {\n clear: inline-start; // 2\n }\n }\n\n // Fix height of inputs with a type of datetime-local, date, month, week, or time\n // See https://github.com/twbs/bootstrap/issues/18842\n\n ::-webkit-datetime-edit-fields-wrapper,\n ::-webkit-datetime-edit-text,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-ampm-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-week-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-year-field {\n padding: 0;\n }\n\n ::-webkit-inner-spin-button {\n height: auto;\n }\n\n // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n // 2. Correct the outline style in Safari.\n\n [type=\"search\"] {\n -webkit-appearance: textfield; // 1\n outline-offset: -2px; // 2\n\n // 3. Better affordance and consistent appearance for search cancel button\n &::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n }\n }\n\n // A few input types should stay LTR regardless of document direction\n // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n [type=\"tel\"],\n [type=\"url\"],\n [type=\"email\"],\n [type=\"number\"] {\n direction: ltr;\n }\n\n // Remove the inner padding in Chrome and Safari on macOS.\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n // Remove padding around color pickers in webkit browsers\n\n ::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n // 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 // Progress\n //\n // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n progress {\n vertical-align: baseline;\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:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n @if meta.type-of($defaults) == \"list\" {\n $map: ();\n @each $key in $defaults {\n $map: map.merge($map, ($key: true));\n }\n $defaults: $map;\n }\n $merged: map.merge($defaults, $overrides);\n @each $key, $value in $merged {\n @if $value == null {\n $merged: map.remove($merged, $key);\n }\n }\n @return $merged;\n}\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n\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\n$negative-spacers: (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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 breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !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\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, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\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// Links\n//\n// Style anchor elements.\n\n$link-decoration: underline !default;\n$link-underline-offset: .2em !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// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n\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$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// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n (\n \"xs\": (\n \"font-size\": .75rem,\n \"line-height\": 1.25\n ),\n \"sm\": (\n \"font-size\": .875rem,\n \"line-height\": 1.5\n ),\n \"md\": (\n \"font-size\": 1rem,\n \"line-height\": 1.5\n ),\n \"lg\": (\n \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n \"line-height\": 1.5\n ),\n \"xl\": (\n \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n \"line-height\": calc(2.5 / 1.75)\n ),\n \"2xl\": (\n \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n \"line-height\": calc(3 / 2.25)\n ),\n \"3xl\": (\n \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n \"line-height\": 1.2\n ),\n \"4xl\": (\n \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n \"line-height\": 1.1\n ),\n \"5xl\": (\n \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n \"line-height\": 1.1\n ),\n \"6xl\": (\n \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n \"line-height\": 1\n ),\n ),\n $font-sizes\n);\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 type-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// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-dialog: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" 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: var(--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: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n border-start-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-end-radius: valid-radius($radius);\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-start-radius: valid-radius($radius);\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n border-end-start-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-start-radius: valid-radius($radius);\n }\n}\n// scss-docs-end border-radius-mixins\n"],"names":[]}
\ No newline at end of file
+{"version":3,"sourceRoot":null,"mappings":";;;;;AEmGA,oycE1FA,gCAAA,cCyCE,uCAWA,0CAKI,8CALJ,8BAmBA,sUAcA,sIAYA,yIAUA,yCAMA,yCAMA,wCAMA,wCAMA,wCAMA,wCAWA,kCAWA,uFAQA,iEAQA,gCAKA,yCAOA,wCAOA,mBAMA,6CAOA,2BAEE,4BASF,4BASA,uDAOA,uOAaA,4GAQA,kBACA,cAIA,yKAKE,mOAcA,+FASF,gEAYA,sIASE,2DAOF,wFAME,qBAKF,iZAQE,oDAWF,uBAMA,8BASA,mDAKA,kEAaA,sDAMA,kFAeA,2BAOA,uBAUA,2CAMA,yGAYA,kCAOA,6BAIA,wBAME,0BAQF,iKASA,0EAOI,2HAQJ,+CAOA,yBAWA,iDAYA,wGASE,4BAQF,iDAAA,uCAAA,oDAAA,+CAAA,+CAAA,6CAAA,6CAAA,4CAAA,6CAAA,8CAAA,6CAcA,wCAUA,+DAKE,8EASF,+DASA,oDAMA,yCAOA,8DAOA,4BAMA,gBAQA,yCASA,iCAQA,iCDrnBF,gEAoKA,yzUAMA,uCAIA","sources":["bootstrap-reboot.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_config.scss","../../scss/mixins/_border-radius.scss"],"sourcesContent":["/*!\n * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n --blue-500: oklch(60% 0.24 240deg);\n --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n --indigo-500: oklch(56% 0.26 288deg);\n --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n --violet-500: oklch(56% 0.24 300deg);\n --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n --purple-500: oklch(56% 0.24 320deg);\n --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n --pink-500: oklch(60% 0.22 4deg);\n --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n --red-500: oklch(60% 0.22 20deg);\n --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n --orange-500: oklch(70% 0.22 52deg);\n --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n --amber-500: oklch(79% 0.2 78deg);\n --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n --yellow-500: oklch(88% 0.24 88deg);\n --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n --lime-500: oklch(65% 0.24 135deg);\n --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n --green-500: oklch(64% 0.22 160deg);\n --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n --teal-500: oklch(68% 0.22 190deg);\n --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n --cyan-500: oklch(69% 0.22 220deg);\n --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n --brown-500: oklch(60% 0.12 54deg);\n --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n --gray-500: oklch(60% 0.02 245deg);\n --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n --pewter-500: oklch(65% 0.01 290deg);\n --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n --black: #000;\n --white: #fff;\n --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n --font-weight-lighter: lighter;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-bolder: bolder;\n --body-font-family: system-ui;\n --body-font-size: var(--font-size-base);\n --body-font-weight: 400;\n --body-line-height: 1.5;\n --heading-color: inherit;\n --hr-border-color: var(--border-color);\n --link-color: light-dark(var(--primary-base), var(--primary-text));\n --link-decoration: underline;\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --code-font-size: 95%;\n --code-color: var(--fg-2);\n --border-width: 1px;\n --border-style: solid;\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --border-radius: 0.5rem;\n --border-radius-xs: 0.375rem;\n --border-radius-sm: 0.5rem;\n --border-radius-lg: 0.75rem;\n --border-radius-xl: 1rem;\n --border-radius-2xl: 2rem;\n --border-radius-pill: 50rem;\n --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --spacer: 1rem;\n --focus-ring-width: 3px;\n --focus-ring-offset: 1px;\n --focus-ring-color: var(--primary-focus-ring);\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n --control-checked-bg: var(--primary-base);\n --control-checked-border-color: var(--control-checked-bg);\n --control-active-bg: var(--primary-base);\n --control-active-border-color: var(--control-active-bg);\n --control-disabled-bg: var(--bg-3);\n --control-disabled-opacity: 0.65;\n --btn-input-fg: var(--fg-body);\n --btn-input-bg: var(--bg-body);\n --btn-input-min-height: 2.375rem;\n --btn-input-padding-y: 0.375rem;\n --btn-input-padding-x: 0.75rem;\n --btn-input-font-size: var(--font-size-base);\n --btn-input-line-height: var(--line-height-base);\n --btn-input-border-radius: var(--border-radius);\n --btn-input-xs-min-height: 1.5rem;\n --btn-input-xs-padding-y: 0.125rem;\n --btn-input-xs-padding-x: 0.5rem;\n --btn-input-xs-font-size: var(--font-size-xs);\n --btn-input-xs-line-height: 1.125;\n --btn-input-xs-border-radius: var(--border-radius-xs);\n --btn-input-sm-min-height: 2rem;\n --btn-input-sm-padding-y: 0.25rem;\n --btn-input-sm-padding-x: 0.625rem;\n --btn-input-sm-font-size: var(--font-size-sm);\n --btn-input-sm-line-height: var(--line-height-sm);\n --btn-input-sm-border-radius: var(--border-radius-sm);\n --btn-input-lg-min-height: 2.75rem;\n --btn-input-lg-padding-y: 0.5rem;\n --btn-input-lg-padding-x: 1rem;\n --btn-input-lg-font-size: var(--font-size-md);\n --btn-input-lg-line-height: var(--line-height-md);\n --btn-input-lg-border-radius: var(--border-radius-lg);\n --form-valid-color: var(--success-text);\n --form-valid-border-color: var(--success-text);\n --form-invalid-color: var(--danger-text);\n --form-invalid-border-color: var(--danger-text);\n --font-size-xs: 0.75rem;\n --line-height-xs: 1.25;\n --font-size-sm: 0.875rem;\n --line-height-sm: 1.5;\n --font-size-md: 1rem;\n --line-height-md: 1.5;\n --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n --line-height-lg: 1.5;\n --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n --line-height-xl: 1.4285714286;\n --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n --line-height-2xl: 1.3333333333;\n --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n --line-height-3xl: 1.2;\n --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n --line-height-4xl: 1.1;\n --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n --line-height-5xl: 1.1;\n --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n --line-height-6xl: 1;\n --primary-base: var(--blue-500);\n --primary-text: light-dark(var(--blue-600), var(--blue-400));\n --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n --primary-bg: var(--blue-500);\n --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n --primary-border: light-dark(var(--blue-300), var(--blue-600));\n --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n --primary-contrast: var(--white);\n --accent-base: var(--indigo-500);\n --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n --accent-bg: var(--indigo-500);\n --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n --accent-contrast: var(--white);\n --success-base: var(--green-500);\n --success-text: light-dark(var(--green-600), var(--green-400));\n --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n --success-bg: var(--green-500);\n --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n --success-border: light-dark(var(--green-300), var(--green-600));\n --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n --success-contrast: var(--white);\n --danger-base: var(--red-500);\n --danger-text: light-dark(var(--red-600), var(--red-400));\n --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n --danger-bg: var(--red-500);\n --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n --danger-border: light-dark(var(--red-300), var(--red-600));\n --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n --danger-contrast: var(--white);\n --warning-base: var(--yellow-500);\n --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n --warning-bg: var(--yellow-500);\n --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n --warning-contrast: var(--gray-900);\n --info-base: var(--cyan-500);\n --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n --info-bg: var(--cyan-500);\n --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n --info-contrast: var(--gray-900);\n --inverse-base: var(--gray-900);\n --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n --inverse-contrast: light-dark(var(--white), var(--gray-900));\n --secondary-base: var(--gray-200);\n --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n --secondary-contrast: light-dark(var(--gray-900), var(--white));\n --bg-body: light-dark(var(--white), var(--gray-975));\n --bg-1: light-dark(var(--gray-025), var(--gray-950));\n --bg-2: light-dark(var(--gray-050), var(--gray-900));\n --bg-3: light-dark(var(--gray-100), var(--gray-800));\n --bg-4: light-dark(var(--gray-200), var(--gray-700));\n --bg-white: var(--white);\n --bg-black: var(--black);\n --bg-transparent: transparent;\n --bg-inherit: inherit;\n --fg-body: light-dark(var(--gray-900), var(--gray-050));\n --fg-1: light-dark(var(--gray-800), var(--gray-200));\n --fg-2: light-dark(var(--gray-700), var(--gray-300));\n --fg-3: light-dark(var(--gray-600), var(--gray-500));\n --fg-4: light-dark(var(--gray-500), var(--gray-600));\n --fg-white: var(--white);\n --fg-black: var(--black);\n --fg-inherit: inherit;\n --border-bg: var(--bg-body);\n --border-body: light-dark(var(--gray-300), var(--gray-800));\n --border-muted: light-dark(var(--gray-200), var(--gray-800));\n --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n --border-white: var(--white);\n --border-black: var(--black);\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n color-scheme: light;\n}\n\n@layer reboot {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n :root {\n accent-color: var(--primary-base);\n }\n @media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n }\n body {\n margin: 0;\n font-family: var(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n h6,\n .h6, h5,\n .h5, h4,\n .h4, h3,\n .h3, h2,\n .h2, h1,\n .h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n color: var(--heading-color);\n }\n h1,\n .h1 {\n font-size: var(--font-size-3xl);\n }\n h2,\n .h2 {\n font-size: var(--font-size-2xl);\n }\n h3,\n .h3 {\n font-size: var(--font-size-xl);\n }\n h4,\n .h4 {\n font-size: var(--font-size-lg);\n }\n h5,\n .h5 {\n font-size: var(--font-size-md);\n }\n h6,\n .h6 {\n font-size: var(--font-size-sm);\n }\n p {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n abbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n }\n address {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n }\n ol,\n ul {\n padding-inline-start: 2rem;\n }\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n dt {\n font-weight: 700;\n }\n dd {\n margin-inline-start: 0;\n margin-bottom: 0.5rem;\n }\n blockquote {\n margin: 0 0 1rem;\n }\n blockquote > * {\n margin-block: 0;\n }\n b,\n strong {\n font-weight: bolder;\n }\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n mark,\n .mark {\n --mark-padding: 0.1875em;\n --mark-color: var(--fg-body);\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, 0.75em);\n line-height: 0;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n a {\n color: var(--theme-text, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: 0.2em;\n }\n a:hover {\n color: var(--theme-text-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-decoration));\n }\n a:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n }\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em;\n }\n pre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n }\n pre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n code {\n font-size: var(--code-font-size);\n color: var(--code-color);\n word-wrap: break-word;\n }\n a > code {\n color: inherit;\n }\n kbd {\n --kbd-padding-y: 0.125rem;\n --kbd-padding-x: 0.25rem;\n --kbd-font-size: var(--font-size-xs);\n --kbd-color: var(--bg-body);\n --kbd-bg: var(--fg-2);\n --kbd-border-radius: var(--border-radius-sm);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n border-radius: var(--kbd-border-radius);\n }\n kbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: inherit;\n }\n figure {\n margin: 0 0 1rem;\n }\n img,\n svg {\n vertical-align: middle;\n }\n table {\n caption-side: bottom;\n border-collapse: collapse;\n }\n caption {\n padding-block: 0.5rem;\n color: var(--fg-3);\n text-align: start;\n }\n th {\n text-align: inherit;\n text-align: -webkit-match-parent;\n }\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n label {\n display: inline-block;\n }\n button {\n border-radius: 0;\n }\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n button,\n select {\n text-transform: none;\n }\n [role=button] {\n cursor: pointer;\n }\n select {\n word-wrap: normal;\n }\n select:disabled {\n opacity: 1;\n }\n [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n }\n button,\n [type=button],\n [type=reset],\n [type=submit] {\n -webkit-appearance: button;\n }\n button:not(:disabled),\n [type=button]:not(:disabled),\n [type=reset]:not(:disabled),\n [type=submit]:not(:disabled) {\n cursor: pointer;\n }\n ::-moz-focus-inner {\n padding: 0;\n border-style: none;\n }\n textarea {\n resize: vertical;\n }\n fieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n }\n legend {\n float: inline-start;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n }\n legend + * {\n clear: inline-start;\n }\n ::-webkit-datetime-edit-fields-wrapper,\n ::-webkit-datetime-edit-text,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-ampm-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-week-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-year-field {\n padding: 0;\n }\n ::-webkit-inner-spin-button {\n height: auto;\n }\n [type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n [type=search]::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n }\n [type=tel],\n [type=url],\n [type=email],\n [type=number] {\n direction: ltr;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n ::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n }\n output {\n display: inline-block;\n }\n iframe {\n border: 0;\n }\n summary {\n display: list-item;\n cursor: pointer;\n }\n progress {\n vertical-align: baseline;\n }\n [hidden] {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"violet\": $violet,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"amber\": $amber,\n \"yellow\": $yellow,\n \"lime\": $lime,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"brown\": $brown,\n \"gray\": $gray,\n \"pewter\": $pewter,\n ),\n $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n \"025\": 94%,\n \"050\": 90%,\n \"100\": 80%,\n \"200\": 60%,\n \"300\": 40%,\n \"400\": 20%,\n) !default;\n\n$color-shades: (\n \"600\": 16%,\n \"700\": 32%,\n \"800\": 48%,\n \"900\": 64%,\n \"950\": 76%,\n \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n @each $stop, $percent in $color-tints {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n }\n $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n @each $stop, $percent in $color-shades {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n @each $prop, $value in $map {\n #{$prop}: #{$value};\n }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n (\n --black: #{$black},\n --white: #{$white},\n\n --gradient: #{$gradient},\n\n // scss-docs-start root-font-weight-variables\n --font-weight-lighter: lighter,\n --font-weight-light: 300,\n --font-weight-normal: 400,\n --font-weight-medium: 500,\n --font-weight-semibold: 600,\n --font-weight-bold: 700,\n --font-weight-bolder: bolder,\n // scss-docs-end root-font-weight-variables\n\n // scss-docs-start root-body-variables\n --body-font-family: system-ui,\n --body-font-size: var(--font-size-base),\n --body-font-weight: #{$font-weight-base},\n --body-line-height: #{$line-height-base},\n\n --heading-color: #{$headings-color},\n\n --hr-border-color: var(--border-color),\n\n --link-color: light-dark(var(--primary-base), var(--primary-text)),\n --link-decoration: #{$link-decoration},\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n --code-font-size: 95%,\n --code-color: var(--fg-2),\n\n // scss-docs-start root-border-var\n --border-width: #{$border-width},\n --border-style: #{$border-style},\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n // scss-docs-end root-border-var\n\n // scss-docs-start root-border-radius-var\n --border-radius: .5rem,\n --border-radius-xs: .375rem,\n --border-radius-sm: .5rem,\n --border-radius-lg: .75rem,\n --border-radius-xl: 1rem,\n --border-radius-2xl: 2rem,\n --border-radius-pill: 50rem,\n // scss-docs-end root-border-radius-var\n\n // scss-docs-start root-box-shadow-variables\n --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n // scss-docs-end root-box-shadow-variables\n\n --spacer: 1rem,\n\n // scss-docs-start root-focus-variables\n --focus-ring-width: 3px,\n --focus-ring-offset: 1px,\n --focus-ring-color: var(--primary-focus-ring),\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-variables\n --control-checked-bg: var(--primary-base),\n --control-checked-border-color: var(--control-checked-bg),\n --control-active-bg: var(--primary-base),\n --control-active-border-color: var(--control-active-bg),\n --control-disabled-bg: var(--bg-3),\n --control-disabled-opacity: .65,\n\n --btn-input-fg: var(--fg-body),\n --btn-input-bg: var(--bg-body),\n\n --btn-input-min-height: 2.375rem,\n --btn-input-padding-y: .375rem,\n --btn-input-padding-x: .75rem,\n --btn-input-font-size: var(--font-size-base),\n --btn-input-line-height: var(--line-height-base),\n --btn-input-border-radius: var(--border-radius),\n\n --btn-input-xs-min-height: 1.5rem,\n --btn-input-xs-padding-y: .125rem,\n --btn-input-xs-padding-x: .5rem,\n --btn-input-xs-font-size: var(--font-size-xs),\n --btn-input-xs-line-height: 1.125,\n --btn-input-xs-border-radius: var(--border-radius-xs),\n\n --btn-input-sm-min-height: 2rem,\n --btn-input-sm-padding-y: .25rem,\n --btn-input-sm-padding-x: .625rem,\n --btn-input-sm-font-size: var(--font-size-sm),\n --btn-input-sm-line-height: var(--line-height-sm),\n --btn-input-sm-border-radius: var(--border-radius-sm),\n\n --btn-input-lg-min-height: 2.75rem,\n --btn-input-lg-padding-y: .5rem,\n --btn-input-lg-padding-x: 1rem,\n --btn-input-lg-font-size: var(--font-size-md),\n --btn-input-lg-line-height: var(--line-height-md),\n --btn-input-lg-border-radius: var(--border-radius-lg),\n // scss-docs-end root-form-variables\n\n // scss-docs-start root-form-validation-variables\n --form-valid-color: #{$form-valid-color},\n --form-valid-border-color: #{$form-valid-border-color},\n --form-invalid-color: #{$form-invalid-color},\n --form-invalid-border-color: #{$form-invalid-border-color},\n // scss-docs-end root-form-validation-variables\n ),\n $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n @each $key, $value in $color-map {\n $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n @include tokens($root-tokens);\n\n color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n color-scheme: light;\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$reboot-kbd-tokens: () !default;\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n (\n --kbd-padding-y: .125rem,\n --kbd-padding-x: .25rem,\n --kbd-font-size: var(--font-size-xs),\n --kbd-color: var(--bg-body),\n --kbd-bg: var(--fg-2),\n --kbd-border-radius: var(--border-radius-sm),\n ),\n $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n (\n --mark-padding: .1875em,\n --mark-color: var(--fg-body),\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n ),\n $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\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 // 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 // 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 // Assume browser default font-size of 16px, or a user's preference\n accent-color: var(--primary-base);\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\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(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n }\n // scss-docs-end reboot-body-rules\n\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n\n // Typography\n //\n // 1. Remove top margins from headings\n // By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n // margin for easier control within type scales as it avoids margin collapsing.\n\n %heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--heading-color);\n }\n\n h1,\n .h1 {\n @extend %heading;\n font-size: var(--font-size-3xl);\n }\n\n h2,\n .h2 {\n @extend %heading;\n font-size: var(--font-size-2xl);\n }\n\n h3,\n .h3 {\n @extend %heading;\n font-size: var(--font-size-xl);\n }\n\n h4,\n .h4 {\n @extend %heading;\n font-size: var(--font-size-lg);\n }\n\n h5,\n .h5 {\n @extend %heading;\n font-size: var(--font-size-md);\n }\n\n h6,\n .h6 {\n @extend %heading;\n font-size: var(--font-size-sm);\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 // 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 // Address\n\n address {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n }\n\n // Lists\n\n ol,\n ul {\n padding-inline-start: 2rem;\n }\n\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n\n dt {\n font-weight: $dt-font-weight;\n }\n\n // 1. Undo browser default\n\n dd {\n margin-inline-start: 0; // 1\n margin-bottom: .5rem;\n }\n\n // Blockquote\n\n blockquote {\n margin: 0 0 1rem;\n > * {\n margin-block: 0;\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 // Small\n //\n // Add the correct font size in all browsers\n\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n\n // Mark\n\n mark,\n .mark {\n @include tokens($reboot-mark-tokens);\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n\n // Sub and Sup\n //\n // Prevent `sub` and `sup` elements from affecting the line height in\n // all browsers.\n\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, .75em);\n line-height: 0;\n vertical-align: baseline;\n }\n\n sub { bottom: -.25em; }\n sup { top: -.5em; }\n\n // Links\n\n a {\n color: var(--theme-text, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: $link-underline-offset;\n\n &:hover {\n // --link-color: var(--link-hover-color);\n // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n color: var(--theme-text-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-decoration));\n }\n }\n\n // And undo these styles for placeholder links/named anchors (without href).\n // It would be more straightforward to just use a[href] in previous block, but that\n // causes specificity issues in many other styles that are too complex to fix.\n // See https://github.com/twbs/bootstrap/issues/19402\n\n a:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n }\n\n // Code\n\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n }\n\n // 1. Remove browser default top margin\n // 2. Reset browser default of `1em` to use `rem`s\n // 3. Don't allow content to break outside\n\n pre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n }\n\n code {\n font-size: var(--code-font-size);\n color: var(--code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n }\n\n kbd {\n @include tokens($reboot-kbd-tokens);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n @include border-radius(var(--kbd-border-radius));\n\n kbd {\n padding: 0;\n font-size: 1em;\n font-weight: inherit; // mdo-do: check if this is needed\n }\n }\n\n // Figures\n //\n // Apply a consistent margin strategy (matches our type styles).\n\n figure {\n margin: 0 0 1rem;\n }\n\n // Images and content\n\n img,\n svg {\n vertical-align: middle;\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(--fg-3);\n text-align: start;\n }\n\n // 1. Removes font-weight bold by inheriting\n // 2. Matches default `<td>` alignment by inheriting `text-align`.\n // 3. Fix alignment for Safari\n\n th {\n // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n }\n\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n\n // Forms\n //\n // 1. Allow labels to use `margin` for spacing.\n\n label {\n display: inline-block; // 1\n }\n\n // Remove the default `border-radius` that macOS Chrome adds.\n // See https://github.com/twbs/bootstrap/issues/24093\n\n button {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n }\n\n // Explicitly remove focus outline in Chromium when it shouldn't be\n // visible (e.g. as result of mouse click or touch tap). It already\n // should be doing this automatically, but seems to currently be\n // confused and applies its very visible two-tone outline anyway.\n\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n\n // 1. Remove the margin in Firefox and Safari\n\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0; // 1\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n // Remove the inheritance of text transform in Firefox\n button,\n select {\n text-transform: none;\n }\n // Set the cursor for non-`<button>` buttons\n //\n // Details at https://github.com/twbs/bootstrap/pull/30562\n [role=\"button\"] {\n cursor: pointer;\n }\n\n select {\n // Remove the inheritance of word-wrap in Safari.\n // See https://github.com/twbs/bootstrap/issues/24990\n word-wrap: normal;\n\n // Undo the opacity change from Chrome\n &:disabled {\n opacity: 1;\n }\n }\n\n // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n // See https://stackoverflow.com/a/54997118\n\n [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n display: none !important;\n }\n\n // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n // controls in Android 4.\n // 2. Correct the inability to style clickable types in iOS and Safari.\n // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n button,\n [type=\"button\"], // 1\n [type=\"reset\"],\n [type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n }\n\n // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n ::-moz-focus-inner {\n padding: 0;\n border-style: none;\n }\n\n // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n textarea {\n resize: vertical; // 1\n }\n\n // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n fieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n }\n\n // 1. By using `float: inline-start`, the legend will behave like a block element.\n // This way the border of a fieldset wraps around the legend if present.\n // 2. Fix wrapping bug.\n // See https://github.com/twbs/bootstrap/issues/29712\n\n legend {\n float: inline-start; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n font-size: $legend-font-size;\n font-weight: $legend-font-weight;\n line-height: inherit;\n\n + * {\n clear: inline-start; // 2\n }\n }\n\n // Fix height of inputs with a type of datetime-local, date, month, week, or time\n // See https://github.com/twbs/bootstrap/issues/18842\n\n ::-webkit-datetime-edit-fields-wrapper,\n ::-webkit-datetime-edit-text,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-ampm-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-week-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-year-field {\n padding: 0;\n }\n\n ::-webkit-inner-spin-button {\n height: auto;\n }\n\n // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n // 2. Correct the outline style in Safari.\n\n [type=\"search\"] {\n -webkit-appearance: textfield; // 1\n outline-offset: -2px; // 2\n\n // 3. Better affordance and consistent appearance for search cancel button\n &::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n }\n }\n\n // A few input types should stay LTR regardless of document direction\n // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n [type=\"tel\"],\n [type=\"url\"],\n [type=\"email\"],\n [type=\"number\"] {\n direction: ltr;\n }\n\n // Remove the inner padding in Chrome and Safari on macOS.\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n // Remove padding around color pickers in webkit browsers\n\n ::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n // 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 // Progress\n //\n // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n progress {\n vertical-align: baseline;\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:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n @if meta.type-of($defaults) == \"list\" {\n $map: ();\n @each $key in $defaults {\n $map: map.merge($map, ($key: true));\n }\n $defaults: $map;\n }\n $merged: map.merge($defaults, $overrides);\n @each $key, $value in $merged {\n @if $value == null {\n $merged: map.remove($merged, $key);\n }\n }\n @return $merged;\n}\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n\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\n$negative-spacers: (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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 breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !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\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, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\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// Links\n//\n// Style anchor elements.\n\n$link-decoration: underline !default;\n$link-underline-offset: .2em !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// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n\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$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// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n (\n \"xs\": (\n \"font-size\": .75rem,\n \"line-height\": 1.25\n ),\n \"sm\": (\n \"font-size\": .875rem,\n \"line-height\": 1.5\n ),\n \"md\": (\n \"font-size\": 1rem,\n \"line-height\": 1.5\n ),\n \"lg\": (\n \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n \"line-height\": 1.5\n ),\n \"xl\": (\n \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n \"line-height\": calc(2.5 / 1.75)\n ),\n \"2xl\": (\n \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n \"line-height\": calc(3 / 2.25)\n ),\n \"3xl\": (\n \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n \"line-height\": 1.2\n ),\n \"4xl\": (\n \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n \"line-height\": 1.1\n ),\n \"5xl\": (\n \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n \"line-height\": 1.1\n ),\n \"6xl\": (\n \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n \"line-height\": 1\n ),\n ),\n $font-sizes\n);\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 type-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// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-dialog: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" 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: var(--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: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n border-start-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-end-radius: valid-radius($radius);\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-start-radius: valid-radius($radius);\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n border-end-start-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-start-radius: valid-radius($radius);\n }\n}\n// scss-docs-end border-radius-mixins\n"],"names":[]}
\ No newline at end of file
z-index: 1020;
}
@media (width >= 576px) {
- .sticky-sm-top {
+ .sm\:sticky-top {
position: sticky;
top: 0;
z-index: 1020;
}
- .sticky-sm-bottom {
+ .sm\:sticky-bottom {
position: sticky;
bottom: 0;
z-index: 1020;
}
}
@media (width >= 768px) {
- .sticky-md-top {
+ .md\:sticky-top {
position: sticky;
top: 0;
z-index: 1020;
}
- .sticky-md-bottom {
+ .md\:sticky-bottom {
position: sticky;
bottom: 0;
z-index: 1020;
}
}
@media (width >= 1024px) {
- .sticky-lg-top {
+ .lg\:sticky-top {
position: sticky;
top: 0;
z-index: 1020;
}
- .sticky-lg-bottom {
+ .lg\:sticky-bottom {
position: sticky;
bottom: 0;
z-index: 1020;
}
}
@media (width >= 1280px) {
- .sticky-xl-top {
+ .xl\:sticky-top {
position: sticky;
top: 0;
z-index: 1020;
}
- .sticky-xl-bottom {
+ .xl\:sticky-bottom {
position: sticky;
bottom: 0;
z-index: 1020;
}
}
@media (width >= 1536px) {
- .sticky-2xl-top {
+ .\32 xl\:sticky-top {
position: sticky;
top: 0;
z-index: 1020;
}
- .sticky-2xl-bottom {
+ .\32 xl\:sticky-bottom {
position: sticky;
bottom: 0;
z-index: 1020;
--bs-stack-align-items: flex-start;
}
@container (width >= 576px) {
- .vstack-sm {
+ .sm\:vstack {
--bs-stack-direction: column;
--bs-stack-align-items: stretch;
}
}
@container (width >= 576px) {
- .hstack-sm {
+ .sm\:hstack {
--bs-stack-direction: row;
--bs-stack-align-items: flex-start;
}
}
@container (width >= 768px) {
- .vstack-md {
+ .md\:vstack {
--bs-stack-direction: column;
--bs-stack-align-items: stretch;
}
}
@container (width >= 768px) {
- .hstack-md {
+ .md\:hstack {
--bs-stack-direction: row;
--bs-stack-align-items: flex-start;
}
}
@container (width >= 1024px) {
- .vstack-lg {
+ .lg\:vstack {
--bs-stack-direction: column;
--bs-stack-align-items: stretch;
}
}
@container (width >= 1024px) {
- .hstack-lg {
+ .lg\:hstack {
--bs-stack-direction: row;
--bs-stack-align-items: flex-start;
}
}
@container (width >= 1280px) {
- .vstack-xl {
+ .xl\:vstack {
--bs-stack-direction: column;
--bs-stack-align-items: stretch;
}
}
@container (width >= 1280px) {
- .hstack-xl {
+ .xl\:hstack {
--bs-stack-direction: row;
--bs-stack-align-items: flex-start;
}
}
@container (width >= 1536px) {
- .vstack-2xl {
+ .\32 xl\:vstack {
--bs-stack-direction: column;
--bs-stack-align-items: stretch;
}
}
@container (width >= 1536px) {
- .hstack-2xl {
+ .\32 xl\:hstack {
--bs-stack-direction: row;
--bs-stack-align-items: flex-start;
}
z-index: 3;
}
@media (width >= 576px) {
- .float-sm-start {
+ .sm\:float-start {
float: inline-start;
}
- .float-sm-end {
+ .sm\:float-end {
float: inline-end;
}
- .float-sm-none {
+ .sm\:float-none {
float: none;
}
- .object-fit-sm-contain {
+ .sm\:object-fit-contain {
-o-object-fit: contain;
object-fit: contain;
}
- .object-fit-sm-cover {
+ .sm\:object-fit-cover {
-o-object-fit: cover;
object-fit: cover;
}
- .object-fit-sm-fill {
+ .sm\:object-fit-fill {
-o-object-fit: fill;
object-fit: fill;
}
- .object-fit-sm-scale {
+ .sm\:object-fit-scale {
-o-object-fit: scale-down;
object-fit: scale-down;
}
- .object-fit-sm-none {
+ .sm\:object-fit-none {
-o-object-fit: none;
object-fit: none;
}
- .d-sm-inline {
+ .sm\:d-inline {
display: inline;
}
- .d-sm-inline-block {
+ .sm\:d-inline-block {
display: inline-block;
}
- .d-sm-block {
+ .sm\:d-block {
display: block;
}
- .d-sm-grid {
+ .sm\:d-grid {
display: grid;
}
- .d-sm-inline-grid {
+ .sm\:d-inline-grid {
display: inline-grid;
}
- .d-sm-table {
+ .sm\:d-table {
display: table;
}
- .d-sm-table-row {
+ .sm\:d-table-row {
display: table-row;
}
- .d-sm-table-cell {
+ .sm\:d-table-cell {
display: table-cell;
}
- .d-sm-flex {
+ .sm\:d-flex {
display: flex;
}
- .d-sm-inline-flex {
+ .sm\:d-inline-flex {
display: inline-flex;
}
- .d-sm-contents {
+ .sm\:d-contents {
display: contents;
}
- .d-sm-flow-root {
+ .sm\:d-flow-root {
display: flow-root;
}
- .d-sm-none {
+ .sm\:d-none {
display: none;
}
- .flex-sm-fill {
+ .sm\:flex-fill {
flex: 1 1 auto;
}
- .flex-sm-row {
+ .sm\:flex-row {
flex-direction: row;
}
- .flex-sm-column {
+ .sm\:flex-column {
flex-direction: column;
}
- .flex-sm-row-reverse {
+ .sm\:flex-row-reverse {
flex-direction: row-reverse;
}
- .flex-sm-column-reverse {
+ .sm\:flex-column-reverse {
flex-direction: column-reverse;
}
- .flex-sm-grow-0 {
+ .sm\:flex-grow-0 {
flex-grow: 0;
}
- .flex-sm-grow-1 {
+ .sm\:flex-grow-1 {
flex-grow: 1;
}
- .flex-sm-shrink-0 {
+ .sm\:flex-shrink-0 {
flex-shrink: 0;
}
- .flex-sm-shrink-1 {
+ .sm\:flex-shrink-1 {
flex-shrink: 1;
}
- .flex-sm-wrap {
+ .sm\:flex-wrap {
flex-wrap: wrap;
}
- .flex-sm-nowrap {
+ .sm\:flex-nowrap {
flex-wrap: nowrap;
}
- .flex-sm-wrap-reverse {
+ .sm\:flex-wrap-reverse {
flex-wrap: wrap-reverse;
}
- .justify-content-sm-start {
+ .sm\:justify-content-start {
justify-content: flex-start;
}
- .justify-content-sm-end {
+ .sm\:justify-content-end {
justify-content: flex-end;
}
- .justify-content-sm-center {
+ .sm\:justify-content-center {
justify-content: center;
}
- .justify-content-sm-between {
+ .sm\:justify-content-between {
justify-content: space-between;
}
- .justify-content-sm-around {
+ .sm\:justify-content-around {
justify-content: space-around;
}
- .justify-content-sm-evenly {
+ .sm\:justify-content-evenly {
justify-content: space-evenly;
}
- .justify-items-sm-start {
+ .sm\:justify-items-start {
justify-items: start;
}
- .justify-items-sm-end {
+ .sm\:justify-items-end {
justify-items: end;
}
- .justify-items-sm-center {
+ .sm\:justify-items-center {
justify-items: center;
}
- .justify-items-sm-stretch {
+ .sm\:justify-items-stretch {
justify-items: stretch;
}
- .justify-self-sm-start {
+ .sm\:justify-self-start {
justify-self: flex-start;
}
- .justify-self-sm-end {
+ .sm\:justify-self-end {
justify-self: flex-end;
}
- .justify-self-sm-center {
+ .sm\:justify-self-center {
justify-self: center;
}
- .align-items-sm-start {
+ .sm\:align-items-start {
align-items: flex-start;
}
- .align-items-sm-end {
+ .sm\:align-items-end {
align-items: flex-end;
}
- .align-items-sm-center {
+ .sm\:align-items-center {
align-items: center;
}
- .align-items-sm-baseline {
+ .sm\:align-items-baseline {
align-items: baseline;
}
- .align-items-sm-stretch {
+ .sm\:align-items-stretch {
align-items: stretch;
}
- .align-content-sm-start {
+ .sm\:align-content-start {
align-content: flex-start;
}
- .align-content-sm-end {
+ .sm\:align-content-end {
align-content: flex-end;
}
- .align-content-sm-center {
+ .sm\:align-content-center {
align-content: center;
}
- .align-content-sm-between {
+ .sm\:align-content-between {
align-content: space-between;
}
- .align-content-sm-around {
+ .sm\:align-content-around {
align-content: space-around;
}
- .align-content-sm-stretch {
+ .sm\:align-content-stretch {
align-content: stretch;
}
- .align-self-sm-auto {
+ .sm\:align-self-auto {
align-self: auto;
}
- .align-self-sm-start {
+ .sm\:align-self-start {
align-self: flex-start;
}
- .align-self-sm-end {
+ .sm\:align-self-end {
align-self: flex-end;
}
- .align-self-sm-center {
+ .sm\:align-self-center {
align-self: center;
}
- .align-self-sm-baseline {
+ .sm\:align-self-baseline {
align-self: baseline;
}
- .align-self-sm-stretch {
+ .sm\:align-self-stretch {
align-self: stretch;
}
- .place-items-sm-start {
+ .sm\:place-items-start {
place-items: start;
}
- .place-items-sm-end {
+ .sm\:place-items-end {
place-items: end;
}
- .place-items-sm-center {
+ .sm\:place-items-center {
place-items: center;
}
- .place-items-sm-stretch {
+ .sm\:place-items-stretch {
place-items: stretch;
}
- .grid-cols-sm-2 {
+ .sm\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
- .grid-cols-sm-3 {
+ .sm\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
- .grid-cols-sm-4 {
+ .sm\:grid-cols-4 {
grid-template-columns: repeat(4, 1fr);
}
- .grid-cols-sm-6 {
+ .sm\:grid-cols-6 {
grid-template-columns: repeat(6, 1fr);
}
- .grid-cols-sm-fill {
+ .sm\:grid-cols-fill {
grid-column: 1 / -1;
}
- .grid-auto-flow-sm-row {
+ .sm\:grid-auto-flow-row {
grid-auto-flow: row;
}
- .grid-auto-flow-sm-column {
+ .sm\:grid-auto-flow-column {
grid-auto-flow: column;
}
- .grid-auto-flow-sm-dense {
+ .sm\:grid-auto-flow-dense {
grid-auto-flow: dense;
}
- .order-sm-first {
+ .sm\:order-first {
order: -1;
}
- .order-sm-0 {
+ .sm\:order-0 {
order: 0;
}
- .order-sm-1 {
+ .sm\:order-1 {
order: 1;
}
- .order-sm-2 {
+ .sm\:order-2 {
order: 2;
}
- .order-sm-3 {
+ .sm\:order-3 {
order: 3;
}
- .order-sm-4 {
+ .sm\:order-4 {
order: 4;
}
- .order-sm-5 {
+ .sm\:order-5 {
order: 5;
}
- .order-sm-last {
+ .sm\:order-last {
order: 6;
}
- .m-sm-0 {
+ .sm\:m-0 {
margin: 0;
}
- .m-sm-1 {
+ .sm\:m-1 {
margin: 0.25rem;
}
- .m-sm-2 {
+ .sm\:m-2 {
margin: 0.5rem;
}
- .m-sm-3 {
+ .sm\:m-3 {
margin: 1rem;
}
- .m-sm-4 {
+ .sm\:m-4 {
margin: 1.5rem;
}
- .m-sm-5 {
+ .sm\:m-5 {
margin: 3rem;
}
- .m-sm-auto {
+ .sm\:m-auto {
margin: auto;
}
- .mx-sm-0 {
+ .sm\:mx-0 {
margin-inline: 0;
}
- .mx-sm-1 {
+ .sm\:mx-1 {
margin-inline: 0.25rem;
}
- .mx-sm-2 {
+ .sm\:mx-2 {
margin-inline: 0.5rem;
}
- .mx-sm-3 {
+ .sm\:mx-3 {
margin-inline: 1rem;
}
- .mx-sm-4 {
+ .sm\:mx-4 {
margin-inline: 1.5rem;
}
- .mx-sm-5 {
+ .sm\:mx-5 {
margin-inline: 3rem;
}
- .mx-sm-auto {
+ .sm\:mx-auto {
margin-inline: auto;
}
- .my-sm-0 {
+ .sm\:my-0 {
margin-block: 0;
}
- .my-sm-1 {
+ .sm\:my-1 {
margin-block: 0.25rem;
}
- .my-sm-2 {
+ .sm\:my-2 {
margin-block: 0.5rem;
}
- .my-sm-3 {
+ .sm\:my-3 {
margin-block: 1rem;
}
- .my-sm-4 {
+ .sm\:my-4 {
margin-block: 1.5rem;
}
- .my-sm-5 {
+ .sm\:my-5 {
margin-block: 3rem;
}
- .my-sm-auto {
+ .sm\:my-auto {
margin-block: auto;
}
- .mt-sm-0 {
+ .sm\:mt-0 {
margin-block-start: 0;
}
- .mt-sm-1 {
+ .sm\:mt-1 {
margin-block-start: 0.25rem;
}
- .mt-sm-2 {
+ .sm\:mt-2 {
margin-block-start: 0.5rem;
}
- .mt-sm-3 {
+ .sm\:mt-3 {
margin-block-start: 1rem;
}
- .mt-sm-4 {
+ .sm\:mt-4 {
margin-block-start: 1.5rem;
}
- .mt-sm-5 {
+ .sm\:mt-5 {
margin-block-start: 3rem;
}
- .mt-sm-auto {
+ .sm\:mt-auto {
margin-block-start: auto;
}
- .me-sm-0 {
+ .sm\:me-0 {
margin-inline-end: 0;
}
- .me-sm-1 {
+ .sm\:me-1 {
margin-inline-end: 0.25rem;
}
- .me-sm-2 {
+ .sm\:me-2 {
margin-inline-end: 0.5rem;
}
- .me-sm-3 {
+ .sm\:me-3 {
margin-inline-end: 1rem;
}
- .me-sm-4 {
+ .sm\:me-4 {
margin-inline-end: 1.5rem;
}
- .me-sm-5 {
+ .sm\:me-5 {
margin-inline-end: 3rem;
}
- .me-sm-auto {
+ .sm\:me-auto {
margin-inline-end: auto;
}
- .mb-sm-0 {
+ .sm\:mb-0 {
margin-block-end: 0;
}
- .mb-sm-1 {
+ .sm\:mb-1 {
margin-block-end: 0.25rem;
}
- .mb-sm-2 {
+ .sm\:mb-2 {
margin-block-end: 0.5rem;
}
- .mb-sm-3 {
+ .sm\:mb-3 {
margin-block-end: 1rem;
}
- .mb-sm-4 {
+ .sm\:mb-4 {
margin-block-end: 1.5rem;
}
- .mb-sm-5 {
+ .sm\:mb-5 {
margin-block-end: 3rem;
}
- .mb-sm-auto {
+ .sm\:mb-auto {
margin-block-end: auto;
}
- .ms-sm-0 {
+ .sm\:ms-0 {
margin-inline-start: 0;
}
- .ms-sm-1 {
+ .sm\:ms-1 {
margin-inline-start: 0.25rem;
}
- .ms-sm-2 {
+ .sm\:ms-2 {
margin-inline-start: 0.5rem;
}
- .ms-sm-3 {
+ .sm\:ms-3 {
margin-inline-start: 1rem;
}
- .ms-sm-4 {
+ .sm\:ms-4 {
margin-inline-start: 1.5rem;
}
- .ms-sm-5 {
+ .sm\:ms-5 {
margin-inline-start: 3rem;
}
- .ms-sm--1 {
+ .sm\:ms--1 {
margin-inline-start: -0.25rem;
}
- .ms-sm--2 {
+ .sm\:ms--2 {
margin-inline-start: -0.5rem;
}
- .ms-sm-auto {
+ .sm\:ms-auto {
margin-inline-start: auto;
}
- .p-sm-0 {
+ .sm\:p-0 {
padding: 0;
}
- .p-sm-1 {
+ .sm\:p-1 {
padding: 0.25rem;
}
- .p-sm-2 {
+ .sm\:p-2 {
padding: 0.5rem;
}
- .p-sm-3 {
+ .sm\:p-3 {
padding: 1rem;
}
- .p-sm-4 {
+ .sm\:p-4 {
padding: 1.5rem;
}
- .p-sm-5 {
+ .sm\:p-5 {
padding: 3rem;
}
- .px-sm-0 {
+ .sm\:px-0 {
padding-inline: 0;
}
- .px-sm-1 {
+ .sm\:px-1 {
padding-inline: 0.25rem;
}
- .px-sm-2 {
+ .sm\:px-2 {
padding-inline: 0.5rem;
}
- .px-sm-3 {
+ .sm\:px-3 {
padding-inline: 1rem;
}
- .px-sm-4 {
+ .sm\:px-4 {
padding-inline: 1.5rem;
}
- .px-sm-5 {
+ .sm\:px-5 {
padding-inline: 3rem;
}
- .py-sm-0 {
+ .sm\:py-0 {
padding-block: 0;
}
- .py-sm-1 {
+ .sm\:py-1 {
padding-block: 0.25rem;
}
- .py-sm-2 {
+ .sm\:py-2 {
padding-block: 0.5rem;
}
- .py-sm-3 {
+ .sm\:py-3 {
padding-block: 1rem;
}
- .py-sm-4 {
+ .sm\:py-4 {
padding-block: 1.5rem;
}
- .py-sm-5 {
+ .sm\:py-5 {
padding-block: 3rem;
}
- .pt-sm-0 {
+ .sm\:pt-0 {
padding-block-start: 0;
}
- .pt-sm-1 {
+ .sm\:pt-1 {
padding-block-start: 0.25rem;
}
- .pt-sm-2 {
+ .sm\:pt-2 {
padding-block-start: 0.5rem;
}
- .pt-sm-3 {
+ .sm\:pt-3 {
padding-block-start: 1rem;
}
- .pt-sm-4 {
+ .sm\:pt-4 {
padding-block-start: 1.5rem;
}
- .pt-sm-5 {
+ .sm\:pt-5 {
padding-block-start: 3rem;
}
- .pe-sm-0 {
+ .sm\:pe-0 {
padding-inline-end: 0;
}
- .pe-sm-1 {
+ .sm\:pe-1 {
padding-inline-end: 0.25rem;
}
- .pe-sm-2 {
+ .sm\:pe-2 {
padding-inline-end: 0.5rem;
}
- .pe-sm-3 {
+ .sm\:pe-3 {
padding-inline-end: 1rem;
}
- .pe-sm-4 {
+ .sm\:pe-4 {
padding-inline-end: 1.5rem;
}
- .pe-sm-5 {
+ .sm\:pe-5 {
padding-inline-end: 3rem;
}
- .pb-sm-0 {
+ .sm\:pb-0 {
padding-block-end: 0;
}
- .pb-sm-1 {
+ .sm\:pb-1 {
padding-block-end: 0.25rem;
}
- .pb-sm-2 {
+ .sm\:pb-2 {
padding-block-end: 0.5rem;
}
- .pb-sm-3 {
+ .sm\:pb-3 {
padding-block-end: 1rem;
}
- .pb-sm-4 {
+ .sm\:pb-4 {
padding-block-end: 1.5rem;
}
- .pb-sm-5 {
+ .sm\:pb-5 {
padding-block-end: 3rem;
}
- .ps-sm-0 {
+ .sm\:ps-0 {
padding-inline-start: 0;
}
- .ps-sm-1 {
+ .sm\:ps-1 {
padding-inline-start: 0.25rem;
}
- .ps-sm-2 {
+ .sm\:ps-2 {
padding-inline-start: 0.5rem;
}
- .ps-sm-3 {
+ .sm\:ps-3 {
padding-inline-start: 1rem;
}
- .ps-sm-4 {
+ .sm\:ps-4 {
padding-inline-start: 1.5rem;
}
- .ps-sm-5 {
+ .sm\:ps-5 {
padding-inline-start: 3rem;
}
- .gap-sm-0 {
+ .sm\:gap-0 {
gap: 0;
}
- .gap-sm-1 {
+ .sm\:gap-1 {
gap: 0.25rem;
}
- .gap-sm-2 {
+ .sm\:gap-2 {
gap: 0.5rem;
}
- .gap-sm-3 {
+ .sm\:gap-3 {
gap: 1rem;
}
- .gap-sm-4 {
+ .sm\:gap-4 {
gap: 1.5rem;
}
- .gap-sm-5 {
+ .sm\:gap-5 {
gap: 3rem;
}
- .row-gap-sm-0 {
+ .sm\:row-gap-0 {
row-gap: 0;
}
- .row-gap-sm-1 {
+ .sm\:row-gap-1 {
row-gap: 0.25rem;
}
- .row-gap-sm-2 {
+ .sm\:row-gap-2 {
row-gap: 0.5rem;
}
- .row-gap-sm-3 {
+ .sm\:row-gap-3 {
row-gap: 1rem;
}
- .row-gap-sm-4 {
+ .sm\:row-gap-4 {
row-gap: 1.5rem;
}
- .row-gap-sm-5 {
+ .sm\:row-gap-5 {
row-gap: 3rem;
}
- .column-gap-sm-0 {
+ .sm\:column-gap-0 {
-moz-column-gap: 0;
column-gap: 0;
}
- .column-gap-sm-1 {
+ .sm\:column-gap-1 {
-moz-column-gap: 0.25rem;
column-gap: 0.25rem;
}
- .column-gap-sm-2 {
+ .sm\:column-gap-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
- .column-gap-sm-3 {
+ .sm\:column-gap-3 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
- .column-gap-sm-4 {
+ .sm\:column-gap-4 {
-moz-column-gap: 1.5rem;
column-gap: 1.5rem;
}
- .column-gap-sm-5 {
+ .sm\:column-gap-5 {
-moz-column-gap: 3rem;
column-gap: 3rem;
}
- .text-sm-start {
+ .sm\:text-start {
text-align: start;
}
- .text-sm-end {
+ .sm\:text-end {
text-align: end;
}
- .text-sm-center {
+ .sm\:text-center {
text-align: center;
}
}
@media (width >= 768px) {
- .float-md-start {
+ .md\:float-start {
float: inline-start;
}
- .float-md-end {
+ .md\:float-end {
float: inline-end;
}
- .float-md-none {
+ .md\:float-none {
float: none;
}
- .object-fit-md-contain {
+ .md\:object-fit-contain {
-o-object-fit: contain;
object-fit: contain;
}
- .object-fit-md-cover {
+ .md\:object-fit-cover {
-o-object-fit: cover;
object-fit: cover;
}
- .object-fit-md-fill {
+ .md\:object-fit-fill {
-o-object-fit: fill;
object-fit: fill;
}
- .object-fit-md-scale {
+ .md\:object-fit-scale {
-o-object-fit: scale-down;
object-fit: scale-down;
}
- .object-fit-md-none {
+ .md\:object-fit-none {
-o-object-fit: none;
object-fit: none;
}
- .d-md-inline {
+ .md\:d-inline {
display: inline;
}
- .d-md-inline-block {
+ .md\:d-inline-block {
display: inline-block;
}
- .d-md-block {
+ .md\:d-block {
display: block;
}
- .d-md-grid {
+ .md\:d-grid {
display: grid;
}
- .d-md-inline-grid {
+ .md\:d-inline-grid {
display: inline-grid;
}
- .d-md-table {
+ .md\:d-table {
display: table;
}
- .d-md-table-row {
+ .md\:d-table-row {
display: table-row;
}
- .d-md-table-cell {
+ .md\:d-table-cell {
display: table-cell;
}
- .d-md-flex {
+ .md\:d-flex {
display: flex;
}
- .d-md-inline-flex {
+ .md\:d-inline-flex {
display: inline-flex;
}
- .d-md-contents {
+ .md\:d-contents {
display: contents;
}
- .d-md-flow-root {
+ .md\:d-flow-root {
display: flow-root;
}
- .d-md-none {
+ .md\:d-none {
display: none;
}
- .flex-md-fill {
+ .md\:flex-fill {
flex: 1 1 auto;
}
- .flex-md-row {
+ .md\:flex-row {
flex-direction: row;
}
- .flex-md-column {
+ .md\:flex-column {
flex-direction: column;
}
- .flex-md-row-reverse {
+ .md\:flex-row-reverse {
flex-direction: row-reverse;
}
- .flex-md-column-reverse {
+ .md\:flex-column-reverse {
flex-direction: column-reverse;
}
- .flex-md-grow-0 {
+ .md\:flex-grow-0 {
flex-grow: 0;
}
- .flex-md-grow-1 {
+ .md\:flex-grow-1 {
flex-grow: 1;
}
- .flex-md-shrink-0 {
+ .md\:flex-shrink-0 {
flex-shrink: 0;
}
- .flex-md-shrink-1 {
+ .md\:flex-shrink-1 {
flex-shrink: 1;
}
- .flex-md-wrap {
+ .md\:flex-wrap {
flex-wrap: wrap;
}
- .flex-md-nowrap {
+ .md\:flex-nowrap {
flex-wrap: nowrap;
}
- .flex-md-wrap-reverse {
+ .md\:flex-wrap-reverse {
flex-wrap: wrap-reverse;
}
- .justify-content-md-start {
+ .md\:justify-content-start {
justify-content: flex-start;
}
- .justify-content-md-end {
+ .md\:justify-content-end {
justify-content: flex-end;
}
- .justify-content-md-center {
+ .md\:justify-content-center {
justify-content: center;
}
- .justify-content-md-between {
+ .md\:justify-content-between {
justify-content: space-between;
}
- .justify-content-md-around {
+ .md\:justify-content-around {
justify-content: space-around;
}
- .justify-content-md-evenly {
+ .md\:justify-content-evenly {
justify-content: space-evenly;
}
- .justify-items-md-start {
+ .md\:justify-items-start {
justify-items: start;
}
- .justify-items-md-end {
+ .md\:justify-items-end {
justify-items: end;
}
- .justify-items-md-center {
+ .md\:justify-items-center {
justify-items: center;
}
- .justify-items-md-stretch {
+ .md\:justify-items-stretch {
justify-items: stretch;
}
- .justify-self-md-start {
+ .md\:justify-self-start {
justify-self: flex-start;
}
- .justify-self-md-end {
+ .md\:justify-self-end {
justify-self: flex-end;
}
- .justify-self-md-center {
+ .md\:justify-self-center {
justify-self: center;
}
- .align-items-md-start {
+ .md\:align-items-start {
align-items: flex-start;
}
- .align-items-md-end {
+ .md\:align-items-end {
align-items: flex-end;
}
- .align-items-md-center {
+ .md\:align-items-center {
align-items: center;
}
- .align-items-md-baseline {
+ .md\:align-items-baseline {
align-items: baseline;
}
- .align-items-md-stretch {
+ .md\:align-items-stretch {
align-items: stretch;
}
- .align-content-md-start {
+ .md\:align-content-start {
align-content: flex-start;
}
- .align-content-md-end {
+ .md\:align-content-end {
align-content: flex-end;
}
- .align-content-md-center {
+ .md\:align-content-center {
align-content: center;
}
- .align-content-md-between {
+ .md\:align-content-between {
align-content: space-between;
}
- .align-content-md-around {
+ .md\:align-content-around {
align-content: space-around;
}
- .align-content-md-stretch {
+ .md\:align-content-stretch {
align-content: stretch;
}
- .align-self-md-auto {
+ .md\:align-self-auto {
align-self: auto;
}
- .align-self-md-start {
+ .md\:align-self-start {
align-self: flex-start;
}
- .align-self-md-end {
+ .md\:align-self-end {
align-self: flex-end;
}
- .align-self-md-center {
+ .md\:align-self-center {
align-self: center;
}
- .align-self-md-baseline {
+ .md\:align-self-baseline {
align-self: baseline;
}
- .align-self-md-stretch {
+ .md\:align-self-stretch {
align-self: stretch;
}
- .place-items-md-start {
+ .md\:place-items-start {
place-items: start;
}
- .place-items-md-end {
+ .md\:place-items-end {
place-items: end;
}
- .place-items-md-center {
+ .md\:place-items-center {
place-items: center;
}
- .place-items-md-stretch {
+ .md\:place-items-stretch {
place-items: stretch;
}
- .grid-cols-md-2 {
+ .md\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
- .grid-cols-md-3 {
+ .md\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
- .grid-cols-md-4 {
+ .md\:grid-cols-4 {
grid-template-columns: repeat(4, 1fr);
}
- .grid-cols-md-6 {
+ .md\:grid-cols-6 {
grid-template-columns: repeat(6, 1fr);
}
- .grid-cols-md-fill {
+ .md\:grid-cols-fill {
grid-column: 1 / -1;
}
- .grid-auto-flow-md-row {
+ .md\:grid-auto-flow-row {
grid-auto-flow: row;
}
- .grid-auto-flow-md-column {
+ .md\:grid-auto-flow-column {
grid-auto-flow: column;
}
- .grid-auto-flow-md-dense {
+ .md\:grid-auto-flow-dense {
grid-auto-flow: dense;
}
- .order-md-first {
+ .md\:order-first {
order: -1;
}
- .order-md-0 {
+ .md\:order-0 {
order: 0;
}
- .order-md-1 {
+ .md\:order-1 {
order: 1;
}
- .order-md-2 {
+ .md\:order-2 {
order: 2;
}
- .order-md-3 {
+ .md\:order-3 {
order: 3;
}
- .order-md-4 {
+ .md\:order-4 {
order: 4;
}
- .order-md-5 {
+ .md\:order-5 {
order: 5;
}
- .order-md-last {
+ .md\:order-last {
order: 6;
}
- .m-md-0 {
+ .md\:m-0 {
margin: 0;
}
- .m-md-1 {
+ .md\:m-1 {
margin: 0.25rem;
}
- .m-md-2 {
+ .md\:m-2 {
margin: 0.5rem;
}
- .m-md-3 {
+ .md\:m-3 {
margin: 1rem;
}
- .m-md-4 {
+ .md\:m-4 {
margin: 1.5rem;
}
- .m-md-5 {
+ .md\:m-5 {
margin: 3rem;
}
- .m-md-auto {
+ .md\:m-auto {
margin: auto;
}
- .mx-md-0 {
+ .md\:mx-0 {
margin-inline: 0;
}
- .mx-md-1 {
+ .md\:mx-1 {
margin-inline: 0.25rem;
}
- .mx-md-2 {
+ .md\:mx-2 {
margin-inline: 0.5rem;
}
- .mx-md-3 {
+ .md\:mx-3 {
margin-inline: 1rem;
}
- .mx-md-4 {
+ .md\:mx-4 {
margin-inline: 1.5rem;
}
- .mx-md-5 {
+ .md\:mx-5 {
margin-inline: 3rem;
}
- .mx-md-auto {
+ .md\:mx-auto {
margin-inline: auto;
}
- .my-md-0 {
+ .md\:my-0 {
margin-block: 0;
}
- .my-md-1 {
+ .md\:my-1 {
margin-block: 0.25rem;
}
- .my-md-2 {
+ .md\:my-2 {
margin-block: 0.5rem;
}
- .my-md-3 {
+ .md\:my-3 {
margin-block: 1rem;
}
- .my-md-4 {
+ .md\:my-4 {
margin-block: 1.5rem;
}
- .my-md-5 {
+ .md\:my-5 {
margin-block: 3rem;
}
- .my-md-auto {
+ .md\:my-auto {
margin-block: auto;
}
- .mt-md-0 {
+ .md\:mt-0 {
margin-block-start: 0;
}
- .mt-md-1 {
+ .md\:mt-1 {
margin-block-start: 0.25rem;
}
- .mt-md-2 {
+ .md\:mt-2 {
margin-block-start: 0.5rem;
}
- .mt-md-3 {
+ .md\:mt-3 {
margin-block-start: 1rem;
}
- .mt-md-4 {
+ .md\:mt-4 {
margin-block-start: 1.5rem;
}
- .mt-md-5 {
+ .md\:mt-5 {
margin-block-start: 3rem;
}
- .mt-md-auto {
+ .md\:mt-auto {
margin-block-start: auto;
}
- .me-md-0 {
+ .md\:me-0 {
margin-inline-end: 0;
}
- .me-md-1 {
+ .md\:me-1 {
margin-inline-end: 0.25rem;
}
- .me-md-2 {
+ .md\:me-2 {
margin-inline-end: 0.5rem;
}
- .me-md-3 {
+ .md\:me-3 {
margin-inline-end: 1rem;
}
- .me-md-4 {
+ .md\:me-4 {
margin-inline-end: 1.5rem;
}
- .me-md-5 {
+ .md\:me-5 {
margin-inline-end: 3rem;
}
- .me-md-auto {
+ .md\:me-auto {
margin-inline-end: auto;
}
- .mb-md-0 {
+ .md\:mb-0 {
margin-block-end: 0;
}
- .mb-md-1 {
+ .md\:mb-1 {
margin-block-end: 0.25rem;
}
- .mb-md-2 {
+ .md\:mb-2 {
margin-block-end: 0.5rem;
}
- .mb-md-3 {
+ .md\:mb-3 {
margin-block-end: 1rem;
}
- .mb-md-4 {
+ .md\:mb-4 {
margin-block-end: 1.5rem;
}
- .mb-md-5 {
+ .md\:mb-5 {
margin-block-end: 3rem;
}
- .mb-md-auto {
+ .md\:mb-auto {
margin-block-end: auto;
}
- .ms-md-0 {
+ .md\:ms-0 {
margin-inline-start: 0;
}
- .ms-md-1 {
+ .md\:ms-1 {
margin-inline-start: 0.25rem;
}
- .ms-md-2 {
+ .md\:ms-2 {
margin-inline-start: 0.5rem;
}
- .ms-md-3 {
+ .md\:ms-3 {
margin-inline-start: 1rem;
}
- .ms-md-4 {
+ .md\:ms-4 {
margin-inline-start: 1.5rem;
}
- .ms-md-5 {
+ .md\:ms-5 {
margin-inline-start: 3rem;
}
- .ms-md--1 {
+ .md\:ms--1 {
margin-inline-start: -0.25rem;
}
- .ms-md--2 {
+ .md\:ms--2 {
margin-inline-start: -0.5rem;
}
- .ms-md-auto {
+ .md\:ms-auto {
margin-inline-start: auto;
}
- .p-md-0 {
+ .md\:p-0 {
padding: 0;
}
- .p-md-1 {
+ .md\:p-1 {
padding: 0.25rem;
}
- .p-md-2 {
+ .md\:p-2 {
padding: 0.5rem;
}
- .p-md-3 {
+ .md\:p-3 {
padding: 1rem;
}
- .p-md-4 {
+ .md\:p-4 {
padding: 1.5rem;
}
- .p-md-5 {
+ .md\:p-5 {
padding: 3rem;
}
- .px-md-0 {
+ .md\:px-0 {
padding-inline: 0;
}
- .px-md-1 {
+ .md\:px-1 {
padding-inline: 0.25rem;
}
- .px-md-2 {
+ .md\:px-2 {
padding-inline: 0.5rem;
}
- .px-md-3 {
+ .md\:px-3 {
padding-inline: 1rem;
}
- .px-md-4 {
+ .md\:px-4 {
padding-inline: 1.5rem;
}
- .px-md-5 {
+ .md\:px-5 {
padding-inline: 3rem;
}
- .py-md-0 {
+ .md\:py-0 {
padding-block: 0;
}
- .py-md-1 {
+ .md\:py-1 {
padding-block: 0.25rem;
}
- .py-md-2 {
+ .md\:py-2 {
padding-block: 0.5rem;
}
- .py-md-3 {
+ .md\:py-3 {
padding-block: 1rem;
}
- .py-md-4 {
+ .md\:py-4 {
padding-block: 1.5rem;
}
- .py-md-5 {
+ .md\:py-5 {
padding-block: 3rem;
}
- .pt-md-0 {
+ .md\:pt-0 {
padding-block-start: 0;
}
- .pt-md-1 {
+ .md\:pt-1 {
padding-block-start: 0.25rem;
}
- .pt-md-2 {
+ .md\:pt-2 {
padding-block-start: 0.5rem;
}
- .pt-md-3 {
+ .md\:pt-3 {
padding-block-start: 1rem;
}
- .pt-md-4 {
+ .md\:pt-4 {
padding-block-start: 1.5rem;
}
- .pt-md-5 {
+ .md\:pt-5 {
padding-block-start: 3rem;
}
- .pe-md-0 {
+ .md\:pe-0 {
padding-inline-end: 0;
}
- .pe-md-1 {
+ .md\:pe-1 {
padding-inline-end: 0.25rem;
}
- .pe-md-2 {
+ .md\:pe-2 {
padding-inline-end: 0.5rem;
}
- .pe-md-3 {
+ .md\:pe-3 {
padding-inline-end: 1rem;
}
- .pe-md-4 {
+ .md\:pe-4 {
padding-inline-end: 1.5rem;
}
- .pe-md-5 {
+ .md\:pe-5 {
padding-inline-end: 3rem;
}
- .pb-md-0 {
+ .md\:pb-0 {
padding-block-end: 0;
}
- .pb-md-1 {
+ .md\:pb-1 {
padding-block-end: 0.25rem;
}
- .pb-md-2 {
+ .md\:pb-2 {
padding-block-end: 0.5rem;
}
- .pb-md-3 {
+ .md\:pb-3 {
padding-block-end: 1rem;
}
- .pb-md-4 {
+ .md\:pb-4 {
padding-block-end: 1.5rem;
}
- .pb-md-5 {
+ .md\:pb-5 {
padding-block-end: 3rem;
}
- .ps-md-0 {
+ .md\:ps-0 {
padding-inline-start: 0;
}
- .ps-md-1 {
+ .md\:ps-1 {
padding-inline-start: 0.25rem;
}
- .ps-md-2 {
+ .md\:ps-2 {
padding-inline-start: 0.5rem;
}
- .ps-md-3 {
+ .md\:ps-3 {
padding-inline-start: 1rem;
}
- .ps-md-4 {
+ .md\:ps-4 {
padding-inline-start: 1.5rem;
}
- .ps-md-5 {
+ .md\:ps-5 {
padding-inline-start: 3rem;
}
- .gap-md-0 {
+ .md\:gap-0 {
gap: 0;
}
- .gap-md-1 {
+ .md\:gap-1 {
gap: 0.25rem;
}
- .gap-md-2 {
+ .md\:gap-2 {
gap: 0.5rem;
}
- .gap-md-3 {
+ .md\:gap-3 {
gap: 1rem;
}
- .gap-md-4 {
+ .md\:gap-4 {
gap: 1.5rem;
}
- .gap-md-5 {
+ .md\:gap-5 {
gap: 3rem;
}
- .row-gap-md-0 {
+ .md\:row-gap-0 {
row-gap: 0;
}
- .row-gap-md-1 {
+ .md\:row-gap-1 {
row-gap: 0.25rem;
}
- .row-gap-md-2 {
+ .md\:row-gap-2 {
row-gap: 0.5rem;
}
- .row-gap-md-3 {
+ .md\:row-gap-3 {
row-gap: 1rem;
}
- .row-gap-md-4 {
+ .md\:row-gap-4 {
row-gap: 1.5rem;
}
- .row-gap-md-5 {
+ .md\:row-gap-5 {
row-gap: 3rem;
}
- .column-gap-md-0 {
+ .md\:column-gap-0 {
-moz-column-gap: 0;
column-gap: 0;
}
- .column-gap-md-1 {
+ .md\:column-gap-1 {
-moz-column-gap: 0.25rem;
column-gap: 0.25rem;
}
- .column-gap-md-2 {
+ .md\:column-gap-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
- .column-gap-md-3 {
+ .md\:column-gap-3 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
- .column-gap-md-4 {
+ .md\:column-gap-4 {
-moz-column-gap: 1.5rem;
column-gap: 1.5rem;
}
- .column-gap-md-5 {
+ .md\:column-gap-5 {
-moz-column-gap: 3rem;
column-gap: 3rem;
}
- .text-md-start {
+ .md\:text-start {
text-align: start;
}
- .text-md-end {
+ .md\:text-end {
text-align: end;
}
- .text-md-center {
+ .md\:text-center {
text-align: center;
}
}
@media (width >= 1024px) {
- .float-lg-start {
+ .lg\:float-start {
float: inline-start;
}
- .float-lg-end {
+ .lg\:float-end {
float: inline-end;
}
- .float-lg-none {
+ .lg\:float-none {
float: none;
}
- .object-fit-lg-contain {
+ .lg\:object-fit-contain {
-o-object-fit: contain;
object-fit: contain;
}
- .object-fit-lg-cover {
+ .lg\:object-fit-cover {
-o-object-fit: cover;
object-fit: cover;
}
- .object-fit-lg-fill {
+ .lg\:object-fit-fill {
-o-object-fit: fill;
object-fit: fill;
}
- .object-fit-lg-scale {
+ .lg\:object-fit-scale {
-o-object-fit: scale-down;
object-fit: scale-down;
}
- .object-fit-lg-none {
+ .lg\:object-fit-none {
-o-object-fit: none;
object-fit: none;
}
- .d-lg-inline {
+ .lg\:d-inline {
display: inline;
}
- .d-lg-inline-block {
+ .lg\:d-inline-block {
display: inline-block;
}
- .d-lg-block {
+ .lg\:d-block {
display: block;
}
- .d-lg-grid {
+ .lg\:d-grid {
display: grid;
}
- .d-lg-inline-grid {
+ .lg\:d-inline-grid {
display: inline-grid;
}
- .d-lg-table {
+ .lg\:d-table {
display: table;
}
- .d-lg-table-row {
+ .lg\:d-table-row {
display: table-row;
}
- .d-lg-table-cell {
+ .lg\:d-table-cell {
display: table-cell;
}
- .d-lg-flex {
+ .lg\:d-flex {
display: flex;
}
- .d-lg-inline-flex {
+ .lg\:d-inline-flex {
display: inline-flex;
}
- .d-lg-contents {
+ .lg\:d-contents {
display: contents;
}
- .d-lg-flow-root {
+ .lg\:d-flow-root {
display: flow-root;
}
- .d-lg-none {
+ .lg\:d-none {
display: none;
}
- .flex-lg-fill {
+ .lg\:flex-fill {
flex: 1 1 auto;
}
- .flex-lg-row {
+ .lg\:flex-row {
flex-direction: row;
}
- .flex-lg-column {
+ .lg\:flex-column {
flex-direction: column;
}
- .flex-lg-row-reverse {
+ .lg\:flex-row-reverse {
flex-direction: row-reverse;
}
- .flex-lg-column-reverse {
+ .lg\:flex-column-reverse {
flex-direction: column-reverse;
}
- .flex-lg-grow-0 {
+ .lg\:flex-grow-0 {
flex-grow: 0;
}
- .flex-lg-grow-1 {
+ .lg\:flex-grow-1 {
flex-grow: 1;
}
- .flex-lg-shrink-0 {
+ .lg\:flex-shrink-0 {
flex-shrink: 0;
}
- .flex-lg-shrink-1 {
+ .lg\:flex-shrink-1 {
flex-shrink: 1;
}
- .flex-lg-wrap {
+ .lg\:flex-wrap {
flex-wrap: wrap;
}
- .flex-lg-nowrap {
+ .lg\:flex-nowrap {
flex-wrap: nowrap;
}
- .flex-lg-wrap-reverse {
+ .lg\:flex-wrap-reverse {
flex-wrap: wrap-reverse;
}
- .justify-content-lg-start {
+ .lg\:justify-content-start {
justify-content: flex-start;
}
- .justify-content-lg-end {
+ .lg\:justify-content-end {
justify-content: flex-end;
}
- .justify-content-lg-center {
+ .lg\:justify-content-center {
justify-content: center;
}
- .justify-content-lg-between {
+ .lg\:justify-content-between {
justify-content: space-between;
}
- .justify-content-lg-around {
+ .lg\:justify-content-around {
justify-content: space-around;
}
- .justify-content-lg-evenly {
+ .lg\:justify-content-evenly {
justify-content: space-evenly;
}
- .justify-items-lg-start {
+ .lg\:justify-items-start {
justify-items: start;
}
- .justify-items-lg-end {
+ .lg\:justify-items-end {
justify-items: end;
}
- .justify-items-lg-center {
+ .lg\:justify-items-center {
justify-items: center;
}
- .justify-items-lg-stretch {
+ .lg\:justify-items-stretch {
justify-items: stretch;
}
- .justify-self-lg-start {
+ .lg\:justify-self-start {
justify-self: flex-start;
}
- .justify-self-lg-end {
+ .lg\:justify-self-end {
justify-self: flex-end;
}
- .justify-self-lg-center {
+ .lg\:justify-self-center {
justify-self: center;
}
- .align-items-lg-start {
+ .lg\:align-items-start {
align-items: flex-start;
}
- .align-items-lg-end {
+ .lg\:align-items-end {
align-items: flex-end;
}
- .align-items-lg-center {
+ .lg\:align-items-center {
align-items: center;
}
- .align-items-lg-baseline {
+ .lg\:align-items-baseline {
align-items: baseline;
}
- .align-items-lg-stretch {
+ .lg\:align-items-stretch {
align-items: stretch;
}
- .align-content-lg-start {
+ .lg\:align-content-start {
align-content: flex-start;
}
- .align-content-lg-end {
+ .lg\:align-content-end {
align-content: flex-end;
}
- .align-content-lg-center {
+ .lg\:align-content-center {
align-content: center;
}
- .align-content-lg-between {
+ .lg\:align-content-between {
align-content: space-between;
}
- .align-content-lg-around {
+ .lg\:align-content-around {
align-content: space-around;
}
- .align-content-lg-stretch {
+ .lg\:align-content-stretch {
align-content: stretch;
}
- .align-self-lg-auto {
+ .lg\:align-self-auto {
align-self: auto;
}
- .align-self-lg-start {
+ .lg\:align-self-start {
align-self: flex-start;
}
- .align-self-lg-end {
+ .lg\:align-self-end {
align-self: flex-end;
}
- .align-self-lg-center {
+ .lg\:align-self-center {
align-self: center;
}
- .align-self-lg-baseline {
+ .lg\:align-self-baseline {
align-self: baseline;
}
- .align-self-lg-stretch {
+ .lg\:align-self-stretch {
align-self: stretch;
}
- .place-items-lg-start {
+ .lg\:place-items-start {
place-items: start;
}
- .place-items-lg-end {
+ .lg\:place-items-end {
place-items: end;
}
- .place-items-lg-center {
+ .lg\:place-items-center {
place-items: center;
}
- .place-items-lg-stretch {
+ .lg\:place-items-stretch {
place-items: stretch;
}
- .grid-cols-lg-2 {
+ .lg\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
- .grid-cols-lg-3 {
+ .lg\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
- .grid-cols-lg-4 {
+ .lg\:grid-cols-4 {
grid-template-columns: repeat(4, 1fr);
}
- .grid-cols-lg-6 {
+ .lg\:grid-cols-6 {
grid-template-columns: repeat(6, 1fr);
}
- .grid-cols-lg-fill {
+ .lg\:grid-cols-fill {
grid-column: 1 / -1;
}
- .grid-auto-flow-lg-row {
+ .lg\:grid-auto-flow-row {
grid-auto-flow: row;
}
- .grid-auto-flow-lg-column {
+ .lg\:grid-auto-flow-column {
grid-auto-flow: column;
}
- .grid-auto-flow-lg-dense {
+ .lg\:grid-auto-flow-dense {
grid-auto-flow: dense;
}
- .order-lg-first {
+ .lg\:order-first {
order: -1;
}
- .order-lg-0 {
+ .lg\:order-0 {
order: 0;
}
- .order-lg-1 {
+ .lg\:order-1 {
order: 1;
}
- .order-lg-2 {
+ .lg\:order-2 {
order: 2;
}
- .order-lg-3 {
+ .lg\:order-3 {
order: 3;
}
- .order-lg-4 {
+ .lg\:order-4 {
order: 4;
}
- .order-lg-5 {
+ .lg\:order-5 {
order: 5;
}
- .order-lg-last {
+ .lg\:order-last {
order: 6;
}
- .m-lg-0 {
+ .lg\:m-0 {
margin: 0;
}
- .m-lg-1 {
+ .lg\:m-1 {
margin: 0.25rem;
}
- .m-lg-2 {
+ .lg\:m-2 {
margin: 0.5rem;
}
- .m-lg-3 {
+ .lg\:m-3 {
margin: 1rem;
}
- .m-lg-4 {
+ .lg\:m-4 {
margin: 1.5rem;
}
- .m-lg-5 {
+ .lg\:m-5 {
margin: 3rem;
}
- .m-lg-auto {
+ .lg\:m-auto {
margin: auto;
}
- .mx-lg-0 {
+ .lg\:mx-0 {
margin-inline: 0;
}
- .mx-lg-1 {
+ .lg\:mx-1 {
margin-inline: 0.25rem;
}
- .mx-lg-2 {
+ .lg\:mx-2 {
margin-inline: 0.5rem;
}
- .mx-lg-3 {
+ .lg\:mx-3 {
margin-inline: 1rem;
}
- .mx-lg-4 {
+ .lg\:mx-4 {
margin-inline: 1.5rem;
}
- .mx-lg-5 {
+ .lg\:mx-5 {
margin-inline: 3rem;
}
- .mx-lg-auto {
+ .lg\:mx-auto {
margin-inline: auto;
}
- .my-lg-0 {
+ .lg\:my-0 {
margin-block: 0;
}
- .my-lg-1 {
+ .lg\:my-1 {
margin-block: 0.25rem;
}
- .my-lg-2 {
+ .lg\:my-2 {
margin-block: 0.5rem;
}
- .my-lg-3 {
+ .lg\:my-3 {
margin-block: 1rem;
}
- .my-lg-4 {
+ .lg\:my-4 {
margin-block: 1.5rem;
}
- .my-lg-5 {
+ .lg\:my-5 {
margin-block: 3rem;
}
- .my-lg-auto {
+ .lg\:my-auto {
margin-block: auto;
}
- .mt-lg-0 {
+ .lg\:mt-0 {
margin-block-start: 0;
}
- .mt-lg-1 {
+ .lg\:mt-1 {
margin-block-start: 0.25rem;
}
- .mt-lg-2 {
+ .lg\:mt-2 {
margin-block-start: 0.5rem;
}
- .mt-lg-3 {
+ .lg\:mt-3 {
margin-block-start: 1rem;
}
- .mt-lg-4 {
+ .lg\:mt-4 {
margin-block-start: 1.5rem;
}
- .mt-lg-5 {
+ .lg\:mt-5 {
margin-block-start: 3rem;
}
- .mt-lg-auto {
+ .lg\:mt-auto {
margin-block-start: auto;
}
- .me-lg-0 {
+ .lg\:me-0 {
margin-inline-end: 0;
}
- .me-lg-1 {
+ .lg\:me-1 {
margin-inline-end: 0.25rem;
}
- .me-lg-2 {
+ .lg\:me-2 {
margin-inline-end: 0.5rem;
}
- .me-lg-3 {
+ .lg\:me-3 {
margin-inline-end: 1rem;
}
- .me-lg-4 {
+ .lg\:me-4 {
margin-inline-end: 1.5rem;
}
- .me-lg-5 {
+ .lg\:me-5 {
margin-inline-end: 3rem;
}
- .me-lg-auto {
+ .lg\:me-auto {
margin-inline-end: auto;
}
- .mb-lg-0 {
+ .lg\:mb-0 {
margin-block-end: 0;
}
- .mb-lg-1 {
+ .lg\:mb-1 {
margin-block-end: 0.25rem;
}
- .mb-lg-2 {
+ .lg\:mb-2 {
margin-block-end: 0.5rem;
}
- .mb-lg-3 {
+ .lg\:mb-3 {
margin-block-end: 1rem;
}
- .mb-lg-4 {
+ .lg\:mb-4 {
margin-block-end: 1.5rem;
}
- .mb-lg-5 {
+ .lg\:mb-5 {
margin-block-end: 3rem;
}
- .mb-lg-auto {
+ .lg\:mb-auto {
margin-block-end: auto;
}
- .ms-lg-0 {
+ .lg\:ms-0 {
margin-inline-start: 0;
}
- .ms-lg-1 {
+ .lg\:ms-1 {
margin-inline-start: 0.25rem;
}
- .ms-lg-2 {
+ .lg\:ms-2 {
margin-inline-start: 0.5rem;
}
- .ms-lg-3 {
+ .lg\:ms-3 {
margin-inline-start: 1rem;
}
- .ms-lg-4 {
+ .lg\:ms-4 {
margin-inline-start: 1.5rem;
}
- .ms-lg-5 {
+ .lg\:ms-5 {
margin-inline-start: 3rem;
}
- .ms-lg--1 {
+ .lg\:ms--1 {
margin-inline-start: -0.25rem;
}
- .ms-lg--2 {
+ .lg\:ms--2 {
margin-inline-start: -0.5rem;
}
- .ms-lg-auto {
+ .lg\:ms-auto {
margin-inline-start: auto;
}
- .p-lg-0 {
+ .lg\:p-0 {
padding: 0;
}
- .p-lg-1 {
+ .lg\:p-1 {
padding: 0.25rem;
}
- .p-lg-2 {
+ .lg\:p-2 {
padding: 0.5rem;
}
- .p-lg-3 {
+ .lg\:p-3 {
padding: 1rem;
}
- .p-lg-4 {
+ .lg\:p-4 {
padding: 1.5rem;
}
- .p-lg-5 {
+ .lg\:p-5 {
padding: 3rem;
}
- .px-lg-0 {
+ .lg\:px-0 {
padding-inline: 0;
}
- .px-lg-1 {
+ .lg\:px-1 {
padding-inline: 0.25rem;
}
- .px-lg-2 {
+ .lg\:px-2 {
padding-inline: 0.5rem;
}
- .px-lg-3 {
+ .lg\:px-3 {
padding-inline: 1rem;
}
- .px-lg-4 {
+ .lg\:px-4 {
padding-inline: 1.5rem;
}
- .px-lg-5 {
+ .lg\:px-5 {
padding-inline: 3rem;
}
- .py-lg-0 {
+ .lg\:py-0 {
padding-block: 0;
}
- .py-lg-1 {
+ .lg\:py-1 {
padding-block: 0.25rem;
}
- .py-lg-2 {
+ .lg\:py-2 {
padding-block: 0.5rem;
}
- .py-lg-3 {
+ .lg\:py-3 {
padding-block: 1rem;
}
- .py-lg-4 {
+ .lg\:py-4 {
padding-block: 1.5rem;
}
- .py-lg-5 {
+ .lg\:py-5 {
padding-block: 3rem;
}
- .pt-lg-0 {
+ .lg\:pt-0 {
padding-block-start: 0;
}
- .pt-lg-1 {
+ .lg\:pt-1 {
padding-block-start: 0.25rem;
}
- .pt-lg-2 {
+ .lg\:pt-2 {
padding-block-start: 0.5rem;
}
- .pt-lg-3 {
+ .lg\:pt-3 {
padding-block-start: 1rem;
}
- .pt-lg-4 {
+ .lg\:pt-4 {
padding-block-start: 1.5rem;
}
- .pt-lg-5 {
+ .lg\:pt-5 {
padding-block-start: 3rem;
}
- .pe-lg-0 {
+ .lg\:pe-0 {
padding-inline-end: 0;
}
- .pe-lg-1 {
+ .lg\:pe-1 {
padding-inline-end: 0.25rem;
}
- .pe-lg-2 {
+ .lg\:pe-2 {
padding-inline-end: 0.5rem;
}
- .pe-lg-3 {
+ .lg\:pe-3 {
padding-inline-end: 1rem;
}
- .pe-lg-4 {
+ .lg\:pe-4 {
padding-inline-end: 1.5rem;
}
- .pe-lg-5 {
+ .lg\:pe-5 {
padding-inline-end: 3rem;
}
- .pb-lg-0 {
+ .lg\:pb-0 {
padding-block-end: 0;
}
- .pb-lg-1 {
+ .lg\:pb-1 {
padding-block-end: 0.25rem;
}
- .pb-lg-2 {
+ .lg\:pb-2 {
padding-block-end: 0.5rem;
}
- .pb-lg-3 {
+ .lg\:pb-3 {
padding-block-end: 1rem;
}
- .pb-lg-4 {
+ .lg\:pb-4 {
padding-block-end: 1.5rem;
}
- .pb-lg-5 {
+ .lg\:pb-5 {
padding-block-end: 3rem;
}
- .ps-lg-0 {
+ .lg\:ps-0 {
padding-inline-start: 0;
}
- .ps-lg-1 {
+ .lg\:ps-1 {
padding-inline-start: 0.25rem;
}
- .ps-lg-2 {
+ .lg\:ps-2 {
padding-inline-start: 0.5rem;
}
- .ps-lg-3 {
+ .lg\:ps-3 {
padding-inline-start: 1rem;
}
- .ps-lg-4 {
+ .lg\:ps-4 {
padding-inline-start: 1.5rem;
}
- .ps-lg-5 {
+ .lg\:ps-5 {
padding-inline-start: 3rem;
}
- .gap-lg-0 {
+ .lg\:gap-0 {
gap: 0;
}
- .gap-lg-1 {
+ .lg\:gap-1 {
gap: 0.25rem;
}
- .gap-lg-2 {
+ .lg\:gap-2 {
gap: 0.5rem;
}
- .gap-lg-3 {
+ .lg\:gap-3 {
gap: 1rem;
}
- .gap-lg-4 {
+ .lg\:gap-4 {
gap: 1.5rem;
}
- .gap-lg-5 {
+ .lg\:gap-5 {
gap: 3rem;
}
- .row-gap-lg-0 {
+ .lg\:row-gap-0 {
row-gap: 0;
}
- .row-gap-lg-1 {
+ .lg\:row-gap-1 {
row-gap: 0.25rem;
}
- .row-gap-lg-2 {
+ .lg\:row-gap-2 {
row-gap: 0.5rem;
}
- .row-gap-lg-3 {
+ .lg\:row-gap-3 {
row-gap: 1rem;
}
- .row-gap-lg-4 {
+ .lg\:row-gap-4 {
row-gap: 1.5rem;
}
- .row-gap-lg-5 {
+ .lg\:row-gap-5 {
row-gap: 3rem;
}
- .column-gap-lg-0 {
+ .lg\:column-gap-0 {
-moz-column-gap: 0;
column-gap: 0;
}
- .column-gap-lg-1 {
+ .lg\:column-gap-1 {
-moz-column-gap: 0.25rem;
column-gap: 0.25rem;
}
- .column-gap-lg-2 {
+ .lg\:column-gap-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
- .column-gap-lg-3 {
+ .lg\:column-gap-3 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
- .column-gap-lg-4 {
+ .lg\:column-gap-4 {
-moz-column-gap: 1.5rem;
column-gap: 1.5rem;
}
- .column-gap-lg-5 {
+ .lg\:column-gap-5 {
-moz-column-gap: 3rem;
column-gap: 3rem;
}
- .text-lg-start {
+ .lg\:text-start {
text-align: start;
}
- .text-lg-end {
+ .lg\:text-end {
text-align: end;
}
- .text-lg-center {
+ .lg\:text-center {
text-align: center;
}
}
@media (width >= 1280px) {
- .float-xl-start {
+ .xl\:float-start {
float: inline-start;
}
- .float-xl-end {
+ .xl\:float-end {
float: inline-end;
}
- .float-xl-none {
+ .xl\:float-none {
float: none;
}
- .object-fit-xl-contain {
+ .xl\:object-fit-contain {
-o-object-fit: contain;
object-fit: contain;
}
- .object-fit-xl-cover {
+ .xl\:object-fit-cover {
-o-object-fit: cover;
object-fit: cover;
}
- .object-fit-xl-fill {
+ .xl\:object-fit-fill {
-o-object-fit: fill;
object-fit: fill;
}
- .object-fit-xl-scale {
+ .xl\:object-fit-scale {
-o-object-fit: scale-down;
object-fit: scale-down;
}
- .object-fit-xl-none {
+ .xl\:object-fit-none {
-o-object-fit: none;
object-fit: none;
}
- .d-xl-inline {
+ .xl\:d-inline {
display: inline;
}
- .d-xl-inline-block {
+ .xl\:d-inline-block {
display: inline-block;
}
- .d-xl-block {
+ .xl\:d-block {
display: block;
}
- .d-xl-grid {
+ .xl\:d-grid {
display: grid;
}
- .d-xl-inline-grid {
+ .xl\:d-inline-grid {
display: inline-grid;
}
- .d-xl-table {
+ .xl\:d-table {
display: table;
}
- .d-xl-table-row {
+ .xl\:d-table-row {
display: table-row;
}
- .d-xl-table-cell {
+ .xl\:d-table-cell {
display: table-cell;
}
- .d-xl-flex {
+ .xl\:d-flex {
display: flex;
}
- .d-xl-inline-flex {
+ .xl\:d-inline-flex {
display: inline-flex;
}
- .d-xl-contents {
+ .xl\:d-contents {
display: contents;
}
- .d-xl-flow-root {
+ .xl\:d-flow-root {
display: flow-root;
}
- .d-xl-none {
+ .xl\:d-none {
display: none;
}
- .flex-xl-fill {
+ .xl\:flex-fill {
flex: 1 1 auto;
}
- .flex-xl-row {
+ .xl\:flex-row {
flex-direction: row;
}
- .flex-xl-column {
+ .xl\:flex-column {
flex-direction: column;
}
- .flex-xl-row-reverse {
+ .xl\:flex-row-reverse {
flex-direction: row-reverse;
}
- .flex-xl-column-reverse {
+ .xl\:flex-column-reverse {
flex-direction: column-reverse;
}
- .flex-xl-grow-0 {
+ .xl\:flex-grow-0 {
flex-grow: 0;
}
- .flex-xl-grow-1 {
+ .xl\:flex-grow-1 {
flex-grow: 1;
}
- .flex-xl-shrink-0 {
+ .xl\:flex-shrink-0 {
flex-shrink: 0;
}
- .flex-xl-shrink-1 {
+ .xl\:flex-shrink-1 {
flex-shrink: 1;
}
- .flex-xl-wrap {
+ .xl\:flex-wrap {
flex-wrap: wrap;
}
- .flex-xl-nowrap {
+ .xl\:flex-nowrap {
flex-wrap: nowrap;
}
- .flex-xl-wrap-reverse {
+ .xl\:flex-wrap-reverse {
flex-wrap: wrap-reverse;
}
- .justify-content-xl-start {
+ .xl\:justify-content-start {
justify-content: flex-start;
}
- .justify-content-xl-end {
+ .xl\:justify-content-end {
justify-content: flex-end;
}
- .justify-content-xl-center {
+ .xl\:justify-content-center {
justify-content: center;
}
- .justify-content-xl-between {
+ .xl\:justify-content-between {
justify-content: space-between;
}
- .justify-content-xl-around {
+ .xl\:justify-content-around {
justify-content: space-around;
}
- .justify-content-xl-evenly {
+ .xl\:justify-content-evenly {
justify-content: space-evenly;
}
- .justify-items-xl-start {
+ .xl\:justify-items-start {
justify-items: start;
}
- .justify-items-xl-end {
+ .xl\:justify-items-end {
justify-items: end;
}
- .justify-items-xl-center {
+ .xl\:justify-items-center {
justify-items: center;
}
- .justify-items-xl-stretch {
+ .xl\:justify-items-stretch {
justify-items: stretch;
}
- .justify-self-xl-start {
+ .xl\:justify-self-start {
justify-self: flex-start;
}
- .justify-self-xl-end {
+ .xl\:justify-self-end {
justify-self: flex-end;
}
- .justify-self-xl-center {
+ .xl\:justify-self-center {
justify-self: center;
}
- .align-items-xl-start {
+ .xl\:align-items-start {
align-items: flex-start;
}
- .align-items-xl-end {
+ .xl\:align-items-end {
align-items: flex-end;
}
- .align-items-xl-center {
+ .xl\:align-items-center {
align-items: center;
}
- .align-items-xl-baseline {
+ .xl\:align-items-baseline {
align-items: baseline;
}
- .align-items-xl-stretch {
+ .xl\:align-items-stretch {
align-items: stretch;
}
- .align-content-xl-start {
+ .xl\:align-content-start {
align-content: flex-start;
}
- .align-content-xl-end {
+ .xl\:align-content-end {
align-content: flex-end;
}
- .align-content-xl-center {
+ .xl\:align-content-center {
align-content: center;
}
- .align-content-xl-between {
+ .xl\:align-content-between {
align-content: space-between;
}
- .align-content-xl-around {
+ .xl\:align-content-around {
align-content: space-around;
}
- .align-content-xl-stretch {
+ .xl\:align-content-stretch {
align-content: stretch;
}
- .align-self-xl-auto {
+ .xl\:align-self-auto {
align-self: auto;
}
- .align-self-xl-start {
+ .xl\:align-self-start {
align-self: flex-start;
}
- .align-self-xl-end {
+ .xl\:align-self-end {
align-self: flex-end;
}
- .align-self-xl-center {
+ .xl\:align-self-center {
align-self: center;
}
- .align-self-xl-baseline {
+ .xl\:align-self-baseline {
align-self: baseline;
}
- .align-self-xl-stretch {
+ .xl\:align-self-stretch {
align-self: stretch;
}
- .place-items-xl-start {
+ .xl\:place-items-start {
place-items: start;
}
- .place-items-xl-end {
+ .xl\:place-items-end {
place-items: end;
}
- .place-items-xl-center {
+ .xl\:place-items-center {
place-items: center;
}
- .place-items-xl-stretch {
+ .xl\:place-items-stretch {
place-items: stretch;
}
- .grid-cols-xl-2 {
+ .xl\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
- .grid-cols-xl-3 {
+ .xl\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
- .grid-cols-xl-4 {
+ .xl\:grid-cols-4 {
grid-template-columns: repeat(4, 1fr);
}
- .grid-cols-xl-6 {
+ .xl\:grid-cols-6 {
grid-template-columns: repeat(6, 1fr);
}
- .grid-cols-xl-fill {
+ .xl\:grid-cols-fill {
grid-column: 1 / -1;
}
- .grid-auto-flow-xl-row {
+ .xl\:grid-auto-flow-row {
grid-auto-flow: row;
}
- .grid-auto-flow-xl-column {
+ .xl\:grid-auto-flow-column {
grid-auto-flow: column;
}
- .grid-auto-flow-xl-dense {
+ .xl\:grid-auto-flow-dense {
grid-auto-flow: dense;
}
- .order-xl-first {
+ .xl\:order-first {
order: -1;
}
- .order-xl-0 {
+ .xl\:order-0 {
order: 0;
}
- .order-xl-1 {
+ .xl\:order-1 {
order: 1;
}
- .order-xl-2 {
+ .xl\:order-2 {
order: 2;
}
- .order-xl-3 {
+ .xl\:order-3 {
order: 3;
}
- .order-xl-4 {
+ .xl\:order-4 {
order: 4;
}
- .order-xl-5 {
+ .xl\:order-5 {
order: 5;
}
- .order-xl-last {
+ .xl\:order-last {
order: 6;
}
- .m-xl-0 {
+ .xl\:m-0 {
margin: 0;
}
- .m-xl-1 {
+ .xl\:m-1 {
margin: 0.25rem;
}
- .m-xl-2 {
+ .xl\:m-2 {
margin: 0.5rem;
}
- .m-xl-3 {
+ .xl\:m-3 {
margin: 1rem;
}
- .m-xl-4 {
+ .xl\:m-4 {
margin: 1.5rem;
}
- .m-xl-5 {
+ .xl\:m-5 {
margin: 3rem;
}
- .m-xl-auto {
+ .xl\:m-auto {
margin: auto;
}
- .mx-xl-0 {
+ .xl\:mx-0 {
margin-inline: 0;
}
- .mx-xl-1 {
+ .xl\:mx-1 {
margin-inline: 0.25rem;
}
- .mx-xl-2 {
+ .xl\:mx-2 {
margin-inline: 0.5rem;
}
- .mx-xl-3 {
+ .xl\:mx-3 {
margin-inline: 1rem;
}
- .mx-xl-4 {
+ .xl\:mx-4 {
margin-inline: 1.5rem;
}
- .mx-xl-5 {
+ .xl\:mx-5 {
margin-inline: 3rem;
}
- .mx-xl-auto {
+ .xl\:mx-auto {
margin-inline: auto;
}
- .my-xl-0 {
+ .xl\:my-0 {
margin-block: 0;
}
- .my-xl-1 {
+ .xl\:my-1 {
margin-block: 0.25rem;
}
- .my-xl-2 {
+ .xl\:my-2 {
margin-block: 0.5rem;
}
- .my-xl-3 {
+ .xl\:my-3 {
margin-block: 1rem;
}
- .my-xl-4 {
+ .xl\:my-4 {
margin-block: 1.5rem;
}
- .my-xl-5 {
+ .xl\:my-5 {
margin-block: 3rem;
}
- .my-xl-auto {
+ .xl\:my-auto {
margin-block: auto;
}
- .mt-xl-0 {
+ .xl\:mt-0 {
margin-block-start: 0;
}
- .mt-xl-1 {
+ .xl\:mt-1 {
margin-block-start: 0.25rem;
}
- .mt-xl-2 {
+ .xl\:mt-2 {
margin-block-start: 0.5rem;
}
- .mt-xl-3 {
+ .xl\:mt-3 {
margin-block-start: 1rem;
}
- .mt-xl-4 {
+ .xl\:mt-4 {
margin-block-start: 1.5rem;
}
- .mt-xl-5 {
+ .xl\:mt-5 {
margin-block-start: 3rem;
}
- .mt-xl-auto {
+ .xl\:mt-auto {
margin-block-start: auto;
}
- .me-xl-0 {
+ .xl\:me-0 {
margin-inline-end: 0;
}
- .me-xl-1 {
+ .xl\:me-1 {
margin-inline-end: 0.25rem;
}
- .me-xl-2 {
+ .xl\:me-2 {
margin-inline-end: 0.5rem;
}
- .me-xl-3 {
+ .xl\:me-3 {
margin-inline-end: 1rem;
}
- .me-xl-4 {
+ .xl\:me-4 {
margin-inline-end: 1.5rem;
}
- .me-xl-5 {
+ .xl\:me-5 {
margin-inline-end: 3rem;
}
- .me-xl-auto {
+ .xl\:me-auto {
margin-inline-end: auto;
}
- .mb-xl-0 {
+ .xl\:mb-0 {
margin-block-end: 0;
}
- .mb-xl-1 {
+ .xl\:mb-1 {
margin-block-end: 0.25rem;
}
- .mb-xl-2 {
+ .xl\:mb-2 {
margin-block-end: 0.5rem;
}
- .mb-xl-3 {
+ .xl\:mb-3 {
margin-block-end: 1rem;
}
- .mb-xl-4 {
+ .xl\:mb-4 {
margin-block-end: 1.5rem;
}
- .mb-xl-5 {
+ .xl\:mb-5 {
margin-block-end: 3rem;
}
- .mb-xl-auto {
+ .xl\:mb-auto {
margin-block-end: auto;
}
- .ms-xl-0 {
+ .xl\:ms-0 {
margin-inline-start: 0;
}
- .ms-xl-1 {
+ .xl\:ms-1 {
margin-inline-start: 0.25rem;
}
- .ms-xl-2 {
+ .xl\:ms-2 {
margin-inline-start: 0.5rem;
}
- .ms-xl-3 {
+ .xl\:ms-3 {
margin-inline-start: 1rem;
}
- .ms-xl-4 {
+ .xl\:ms-4 {
margin-inline-start: 1.5rem;
}
- .ms-xl-5 {
+ .xl\:ms-5 {
margin-inline-start: 3rem;
}
- .ms-xl--1 {
+ .xl\:ms--1 {
margin-inline-start: -0.25rem;
}
- .ms-xl--2 {
+ .xl\:ms--2 {
margin-inline-start: -0.5rem;
}
- .ms-xl-auto {
+ .xl\:ms-auto {
margin-inline-start: auto;
}
- .p-xl-0 {
+ .xl\:p-0 {
padding: 0;
}
- .p-xl-1 {
+ .xl\:p-1 {
padding: 0.25rem;
}
- .p-xl-2 {
+ .xl\:p-2 {
padding: 0.5rem;
}
- .p-xl-3 {
+ .xl\:p-3 {
padding: 1rem;
}
- .p-xl-4 {
+ .xl\:p-4 {
padding: 1.5rem;
}
- .p-xl-5 {
+ .xl\:p-5 {
padding: 3rem;
}
- .px-xl-0 {
+ .xl\:px-0 {
padding-inline: 0;
}
- .px-xl-1 {
+ .xl\:px-1 {
padding-inline: 0.25rem;
}
- .px-xl-2 {
+ .xl\:px-2 {
padding-inline: 0.5rem;
}
- .px-xl-3 {
+ .xl\:px-3 {
padding-inline: 1rem;
}
- .px-xl-4 {
+ .xl\:px-4 {
padding-inline: 1.5rem;
}
- .px-xl-5 {
+ .xl\:px-5 {
padding-inline: 3rem;
}
- .py-xl-0 {
+ .xl\:py-0 {
padding-block: 0;
}
- .py-xl-1 {
+ .xl\:py-1 {
padding-block: 0.25rem;
}
- .py-xl-2 {
+ .xl\:py-2 {
padding-block: 0.5rem;
}
- .py-xl-3 {
+ .xl\:py-3 {
padding-block: 1rem;
}
- .py-xl-4 {
+ .xl\:py-4 {
padding-block: 1.5rem;
}
- .py-xl-5 {
+ .xl\:py-5 {
padding-block: 3rem;
}
- .pt-xl-0 {
+ .xl\:pt-0 {
padding-block-start: 0;
}
- .pt-xl-1 {
+ .xl\:pt-1 {
padding-block-start: 0.25rem;
}
- .pt-xl-2 {
+ .xl\:pt-2 {
padding-block-start: 0.5rem;
}
- .pt-xl-3 {
+ .xl\:pt-3 {
padding-block-start: 1rem;
}
- .pt-xl-4 {
+ .xl\:pt-4 {
padding-block-start: 1.5rem;
}
- .pt-xl-5 {
+ .xl\:pt-5 {
padding-block-start: 3rem;
}
- .pe-xl-0 {
+ .xl\:pe-0 {
padding-inline-end: 0;
}
- .pe-xl-1 {
+ .xl\:pe-1 {
padding-inline-end: 0.25rem;
}
- .pe-xl-2 {
+ .xl\:pe-2 {
padding-inline-end: 0.5rem;
}
- .pe-xl-3 {
+ .xl\:pe-3 {
padding-inline-end: 1rem;
}
- .pe-xl-4 {
+ .xl\:pe-4 {
padding-inline-end: 1.5rem;
}
- .pe-xl-5 {
+ .xl\:pe-5 {
padding-inline-end: 3rem;
}
- .pb-xl-0 {
+ .xl\:pb-0 {
padding-block-end: 0;
}
- .pb-xl-1 {
+ .xl\:pb-1 {
padding-block-end: 0.25rem;
}
- .pb-xl-2 {
+ .xl\:pb-2 {
padding-block-end: 0.5rem;
}
- .pb-xl-3 {
+ .xl\:pb-3 {
padding-block-end: 1rem;
}
- .pb-xl-4 {
+ .xl\:pb-4 {
padding-block-end: 1.5rem;
}
- .pb-xl-5 {
+ .xl\:pb-5 {
padding-block-end: 3rem;
}
- .ps-xl-0 {
+ .xl\:ps-0 {
padding-inline-start: 0;
}
- .ps-xl-1 {
+ .xl\:ps-1 {
padding-inline-start: 0.25rem;
}
- .ps-xl-2 {
+ .xl\:ps-2 {
padding-inline-start: 0.5rem;
}
- .ps-xl-3 {
+ .xl\:ps-3 {
padding-inline-start: 1rem;
}
- .ps-xl-4 {
+ .xl\:ps-4 {
padding-inline-start: 1.5rem;
}
- .ps-xl-5 {
+ .xl\:ps-5 {
padding-inline-start: 3rem;
}
- .gap-xl-0 {
+ .xl\:gap-0 {
gap: 0;
}
- .gap-xl-1 {
+ .xl\:gap-1 {
gap: 0.25rem;
}
- .gap-xl-2 {
+ .xl\:gap-2 {
gap: 0.5rem;
}
- .gap-xl-3 {
+ .xl\:gap-3 {
gap: 1rem;
}
- .gap-xl-4 {
+ .xl\:gap-4 {
gap: 1.5rem;
}
- .gap-xl-5 {
+ .xl\:gap-5 {
gap: 3rem;
}
- .row-gap-xl-0 {
+ .xl\:row-gap-0 {
row-gap: 0;
}
- .row-gap-xl-1 {
+ .xl\:row-gap-1 {
row-gap: 0.25rem;
}
- .row-gap-xl-2 {
+ .xl\:row-gap-2 {
row-gap: 0.5rem;
}
- .row-gap-xl-3 {
+ .xl\:row-gap-3 {
row-gap: 1rem;
}
- .row-gap-xl-4 {
+ .xl\:row-gap-4 {
row-gap: 1.5rem;
}
- .row-gap-xl-5 {
+ .xl\:row-gap-5 {
row-gap: 3rem;
}
- .column-gap-xl-0 {
+ .xl\:column-gap-0 {
-moz-column-gap: 0;
column-gap: 0;
}
- .column-gap-xl-1 {
+ .xl\:column-gap-1 {
-moz-column-gap: 0.25rem;
column-gap: 0.25rem;
}
- .column-gap-xl-2 {
+ .xl\:column-gap-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
- .column-gap-xl-3 {
+ .xl\:column-gap-3 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
- .column-gap-xl-4 {
+ .xl\:column-gap-4 {
-moz-column-gap: 1.5rem;
column-gap: 1.5rem;
}
- .column-gap-xl-5 {
+ .xl\:column-gap-5 {
-moz-column-gap: 3rem;
column-gap: 3rem;
}
- .text-xl-start {
+ .xl\:text-start {
text-align: start;
}
- .text-xl-end {
+ .xl\:text-end {
text-align: end;
}
- .text-xl-center {
+ .xl\:text-center {
text-align: center;
}
}
@media (width >= 1536px) {
- .float-2xl-start {
+ .\32 xl\:float-start {
float: inline-start;
}
- .float-2xl-end {
+ .\32 xl\:float-end {
float: inline-end;
}
- .float-2xl-none {
+ .\32 xl\:float-none {
float: none;
}
- .object-fit-2xl-contain {
+ .\32 xl\:object-fit-contain {
-o-object-fit: contain;
object-fit: contain;
}
- .object-fit-2xl-cover {
+ .\32 xl\:object-fit-cover {
-o-object-fit: cover;
object-fit: cover;
}
- .object-fit-2xl-fill {
+ .\32 xl\:object-fit-fill {
-o-object-fit: fill;
object-fit: fill;
}
- .object-fit-2xl-scale {
+ .\32 xl\:object-fit-scale {
-o-object-fit: scale-down;
object-fit: scale-down;
}
- .object-fit-2xl-none {
+ .\32 xl\:object-fit-none {
-o-object-fit: none;
object-fit: none;
}
- .d-2xl-inline {
+ .\32 xl\:d-inline {
display: inline;
}
- .d-2xl-inline-block {
+ .\32 xl\:d-inline-block {
display: inline-block;
}
- .d-2xl-block {
+ .\32 xl\:d-block {
display: block;
}
- .d-2xl-grid {
+ .\32 xl\:d-grid {
display: grid;
}
- .d-2xl-inline-grid {
+ .\32 xl\:d-inline-grid {
display: inline-grid;
}
- .d-2xl-table {
+ .\32 xl\:d-table {
display: table;
}
- .d-2xl-table-row {
+ .\32 xl\:d-table-row {
display: table-row;
}
- .d-2xl-table-cell {
+ .\32 xl\:d-table-cell {
display: table-cell;
}
- .d-2xl-flex {
+ .\32 xl\:d-flex {
display: flex;
}
- .d-2xl-inline-flex {
+ .\32 xl\:d-inline-flex {
display: inline-flex;
}
- .d-2xl-contents {
+ .\32 xl\:d-contents {
display: contents;
}
- .d-2xl-flow-root {
+ .\32 xl\:d-flow-root {
display: flow-root;
}
- .d-2xl-none {
+ .\32 xl\:d-none {
display: none;
}
- .flex-2xl-fill {
+ .\32 xl\:flex-fill {
flex: 1 1 auto;
}
- .flex-2xl-row {
+ .\32 xl\:flex-row {
flex-direction: row;
}
- .flex-2xl-column {
+ .\32 xl\:flex-column {
flex-direction: column;
}
- .flex-2xl-row-reverse {
+ .\32 xl\:flex-row-reverse {
flex-direction: row-reverse;
}
- .flex-2xl-column-reverse {
+ .\32 xl\:flex-column-reverse {
flex-direction: column-reverse;
}
- .flex-2xl-grow-0 {
+ .\32 xl\:flex-grow-0 {
flex-grow: 0;
}
- .flex-2xl-grow-1 {
+ .\32 xl\:flex-grow-1 {
flex-grow: 1;
}
- .flex-2xl-shrink-0 {
+ .\32 xl\:flex-shrink-0 {
flex-shrink: 0;
}
- .flex-2xl-shrink-1 {
+ .\32 xl\:flex-shrink-1 {
flex-shrink: 1;
}
- .flex-2xl-wrap {
+ .\32 xl\:flex-wrap {
flex-wrap: wrap;
}
- .flex-2xl-nowrap {
+ .\32 xl\:flex-nowrap {
flex-wrap: nowrap;
}
- .flex-2xl-wrap-reverse {
+ .\32 xl\:flex-wrap-reverse {
flex-wrap: wrap-reverse;
}
- .justify-content-2xl-start {
+ .\32 xl\:justify-content-start {
justify-content: flex-start;
}
- .justify-content-2xl-end {
+ .\32 xl\:justify-content-end {
justify-content: flex-end;
}
- .justify-content-2xl-center {
+ .\32 xl\:justify-content-center {
justify-content: center;
}
- .justify-content-2xl-between {
+ .\32 xl\:justify-content-between {
justify-content: space-between;
}
- .justify-content-2xl-around {
+ .\32 xl\:justify-content-around {
justify-content: space-around;
}
- .justify-content-2xl-evenly {
+ .\32 xl\:justify-content-evenly {
justify-content: space-evenly;
}
- .justify-items-2xl-start {
+ .\32 xl\:justify-items-start {
justify-items: start;
}
- .justify-items-2xl-end {
+ .\32 xl\:justify-items-end {
justify-items: end;
}
- .justify-items-2xl-center {
+ .\32 xl\:justify-items-center {
justify-items: center;
}
- .justify-items-2xl-stretch {
+ .\32 xl\:justify-items-stretch {
justify-items: stretch;
}
- .justify-self-2xl-start {
+ .\32 xl\:justify-self-start {
justify-self: flex-start;
}
- .justify-self-2xl-end {
+ .\32 xl\:justify-self-end {
justify-self: flex-end;
}
- .justify-self-2xl-center {
+ .\32 xl\:justify-self-center {
justify-self: center;
}
- .align-items-2xl-start {
+ .\32 xl\:align-items-start {
align-items: flex-start;
}
- .align-items-2xl-end {
+ .\32 xl\:align-items-end {
align-items: flex-end;
}
- .align-items-2xl-center {
+ .\32 xl\:align-items-center {
align-items: center;
}
- .align-items-2xl-baseline {
+ .\32 xl\:align-items-baseline {
align-items: baseline;
}
- .align-items-2xl-stretch {
+ .\32 xl\:align-items-stretch {
align-items: stretch;
}
- .align-content-2xl-start {
+ .\32 xl\:align-content-start {
align-content: flex-start;
}
- .align-content-2xl-end {
+ .\32 xl\:align-content-end {
align-content: flex-end;
}
- .align-content-2xl-center {
+ .\32 xl\:align-content-center {
align-content: center;
}
- .align-content-2xl-between {
+ .\32 xl\:align-content-between {
align-content: space-between;
}
- .align-content-2xl-around {
+ .\32 xl\:align-content-around {
align-content: space-around;
}
- .align-content-2xl-stretch {
+ .\32 xl\:align-content-stretch {
align-content: stretch;
}
- .align-self-2xl-auto {
+ .\32 xl\:align-self-auto {
align-self: auto;
}
- .align-self-2xl-start {
+ .\32 xl\:align-self-start {
align-self: flex-start;
}
- .align-self-2xl-end {
+ .\32 xl\:align-self-end {
align-self: flex-end;
}
- .align-self-2xl-center {
+ .\32 xl\:align-self-center {
align-self: center;
}
- .align-self-2xl-baseline {
+ .\32 xl\:align-self-baseline {
align-self: baseline;
}
- .align-self-2xl-stretch {
+ .\32 xl\:align-self-stretch {
align-self: stretch;
}
- .place-items-2xl-start {
+ .\32 xl\:place-items-start {
place-items: start;
}
- .place-items-2xl-end {
+ .\32 xl\:place-items-end {
place-items: end;
}
- .place-items-2xl-center {
+ .\32 xl\:place-items-center {
place-items: center;
}
- .place-items-2xl-stretch {
+ .\32 xl\:place-items-stretch {
place-items: stretch;
}
- .grid-cols-2xl-2 {
+ .\32 xl\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
- .grid-cols-2xl-3 {
+ .\32 xl\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
- .grid-cols-2xl-4 {
+ .\32 xl\:grid-cols-4 {
grid-template-columns: repeat(4, 1fr);
}
- .grid-cols-2xl-6 {
+ .\32 xl\:grid-cols-6 {
grid-template-columns: repeat(6, 1fr);
}
- .grid-cols-2xl-fill {
+ .\32 xl\:grid-cols-fill {
grid-column: 1 / -1;
}
- .grid-auto-flow-2xl-row {
+ .\32 xl\:grid-auto-flow-row {
grid-auto-flow: row;
}
- .grid-auto-flow-2xl-column {
+ .\32 xl\:grid-auto-flow-column {
grid-auto-flow: column;
}
- .grid-auto-flow-2xl-dense {
+ .\32 xl\:grid-auto-flow-dense {
grid-auto-flow: dense;
}
- .order-2xl-first {
+ .\32 xl\:order-first {
order: -1;
}
- .order-2xl-0 {
+ .\32 xl\:order-0 {
order: 0;
}
- .order-2xl-1 {
+ .\32 xl\:order-1 {
order: 1;
}
- .order-2xl-2 {
+ .\32 xl\:order-2 {
order: 2;
}
- .order-2xl-3 {
+ .\32 xl\:order-3 {
order: 3;
}
- .order-2xl-4 {
+ .\32 xl\:order-4 {
order: 4;
}
- .order-2xl-5 {
+ .\32 xl\:order-5 {
order: 5;
}
- .order-2xl-last {
+ .\32 xl\:order-last {
order: 6;
}
- .m-2xl-0 {
+ .\32 xl\:m-0 {
margin: 0;
}
- .m-2xl-1 {
+ .\32 xl\:m-1 {
margin: 0.25rem;
}
- .m-2xl-2 {
+ .\32 xl\:m-2 {
margin: 0.5rem;
}
- .m-2xl-3 {
+ .\32 xl\:m-3 {
margin: 1rem;
}
- .m-2xl-4 {
+ .\32 xl\:m-4 {
margin: 1.5rem;
}
- .m-2xl-5 {
+ .\32 xl\:m-5 {
margin: 3rem;
}
- .m-2xl-auto {
+ .\32 xl\:m-auto {
margin: auto;
}
- .mx-2xl-0 {
+ .\32 xl\:mx-0 {
margin-inline: 0;
}
- .mx-2xl-1 {
+ .\32 xl\:mx-1 {
margin-inline: 0.25rem;
}
- .mx-2xl-2 {
+ .\32 xl\:mx-2 {
margin-inline: 0.5rem;
}
- .mx-2xl-3 {
+ .\32 xl\:mx-3 {
margin-inline: 1rem;
}
- .mx-2xl-4 {
+ .\32 xl\:mx-4 {
margin-inline: 1.5rem;
}
- .mx-2xl-5 {
+ .\32 xl\:mx-5 {
margin-inline: 3rem;
}
- .mx-2xl-auto {
+ .\32 xl\:mx-auto {
margin-inline: auto;
}
- .my-2xl-0 {
+ .\32 xl\:my-0 {
margin-block: 0;
}
- .my-2xl-1 {
+ .\32 xl\:my-1 {
margin-block: 0.25rem;
}
- .my-2xl-2 {
+ .\32 xl\:my-2 {
margin-block: 0.5rem;
}
- .my-2xl-3 {
+ .\32 xl\:my-3 {
margin-block: 1rem;
}
- .my-2xl-4 {
+ .\32 xl\:my-4 {
margin-block: 1.5rem;
}
- .my-2xl-5 {
+ .\32 xl\:my-5 {
margin-block: 3rem;
}
- .my-2xl-auto {
+ .\32 xl\:my-auto {
margin-block: auto;
}
- .mt-2xl-0 {
+ .\32 xl\:mt-0 {
margin-block-start: 0;
}
- .mt-2xl-1 {
+ .\32 xl\:mt-1 {
margin-block-start: 0.25rem;
}
- .mt-2xl-2 {
+ .\32 xl\:mt-2 {
margin-block-start: 0.5rem;
}
- .mt-2xl-3 {
+ .\32 xl\:mt-3 {
margin-block-start: 1rem;
}
- .mt-2xl-4 {
+ .\32 xl\:mt-4 {
margin-block-start: 1.5rem;
}
- .mt-2xl-5 {
+ .\32 xl\:mt-5 {
margin-block-start: 3rem;
}
- .mt-2xl-auto {
+ .\32 xl\:mt-auto {
margin-block-start: auto;
}
- .me-2xl-0 {
+ .\32 xl\:me-0 {
margin-inline-end: 0;
}
- .me-2xl-1 {
+ .\32 xl\:me-1 {
margin-inline-end: 0.25rem;
}
- .me-2xl-2 {
+ .\32 xl\:me-2 {
margin-inline-end: 0.5rem;
}
- .me-2xl-3 {
+ .\32 xl\:me-3 {
margin-inline-end: 1rem;
}
- .me-2xl-4 {
+ .\32 xl\:me-4 {
margin-inline-end: 1.5rem;
}
- .me-2xl-5 {
+ .\32 xl\:me-5 {
margin-inline-end: 3rem;
}
- .me-2xl-auto {
+ .\32 xl\:me-auto {
margin-inline-end: auto;
}
- .mb-2xl-0 {
+ .\32 xl\:mb-0 {
margin-block-end: 0;
}
- .mb-2xl-1 {
+ .\32 xl\:mb-1 {
margin-block-end: 0.25rem;
}
- .mb-2xl-2 {
+ .\32 xl\:mb-2 {
margin-block-end: 0.5rem;
}
- .mb-2xl-3 {
+ .\32 xl\:mb-3 {
margin-block-end: 1rem;
}
- .mb-2xl-4 {
+ .\32 xl\:mb-4 {
margin-block-end: 1.5rem;
}
- .mb-2xl-5 {
+ .\32 xl\:mb-5 {
margin-block-end: 3rem;
}
- .mb-2xl-auto {
+ .\32 xl\:mb-auto {
margin-block-end: auto;
}
- .ms-2xl-0 {
+ .\32 xl\:ms-0 {
margin-inline-start: 0;
}
- .ms-2xl-1 {
+ .\32 xl\:ms-1 {
margin-inline-start: 0.25rem;
}
- .ms-2xl-2 {
+ .\32 xl\:ms-2 {
margin-inline-start: 0.5rem;
}
- .ms-2xl-3 {
+ .\32 xl\:ms-3 {
margin-inline-start: 1rem;
}
- .ms-2xl-4 {
+ .\32 xl\:ms-4 {
margin-inline-start: 1.5rem;
}
- .ms-2xl-5 {
+ .\32 xl\:ms-5 {
margin-inline-start: 3rem;
}
- .ms-2xl--1 {
+ .\32 xl\:ms--1 {
margin-inline-start: -0.25rem;
}
- .ms-2xl--2 {
+ .\32 xl\:ms--2 {
margin-inline-start: -0.5rem;
}
- .ms-2xl-auto {
+ .\32 xl\:ms-auto {
margin-inline-start: auto;
}
- .p-2xl-0 {
+ .\32 xl\:p-0 {
padding: 0;
}
- .p-2xl-1 {
+ .\32 xl\:p-1 {
padding: 0.25rem;
}
- .p-2xl-2 {
+ .\32 xl\:p-2 {
padding: 0.5rem;
}
- .p-2xl-3 {
+ .\32 xl\:p-3 {
padding: 1rem;
}
- .p-2xl-4 {
+ .\32 xl\:p-4 {
padding: 1.5rem;
}
- .p-2xl-5 {
+ .\32 xl\:p-5 {
padding: 3rem;
}
- .px-2xl-0 {
+ .\32 xl\:px-0 {
padding-inline: 0;
}
- .px-2xl-1 {
+ .\32 xl\:px-1 {
padding-inline: 0.25rem;
}
- .px-2xl-2 {
+ .\32 xl\:px-2 {
padding-inline: 0.5rem;
}
- .px-2xl-3 {
+ .\32 xl\:px-3 {
padding-inline: 1rem;
}
- .px-2xl-4 {
+ .\32 xl\:px-4 {
padding-inline: 1.5rem;
}
- .px-2xl-5 {
+ .\32 xl\:px-5 {
padding-inline: 3rem;
}
- .py-2xl-0 {
+ .\32 xl\:py-0 {
padding-block: 0;
}
- .py-2xl-1 {
+ .\32 xl\:py-1 {
padding-block: 0.25rem;
}
- .py-2xl-2 {
+ .\32 xl\:py-2 {
padding-block: 0.5rem;
}
- .py-2xl-3 {
+ .\32 xl\:py-3 {
padding-block: 1rem;
}
- .py-2xl-4 {
+ .\32 xl\:py-4 {
padding-block: 1.5rem;
}
- .py-2xl-5 {
+ .\32 xl\:py-5 {
padding-block: 3rem;
}
- .pt-2xl-0 {
+ .\32 xl\:pt-0 {
padding-block-start: 0;
}
- .pt-2xl-1 {
+ .\32 xl\:pt-1 {
padding-block-start: 0.25rem;
}
- .pt-2xl-2 {
+ .\32 xl\:pt-2 {
padding-block-start: 0.5rem;
}
- .pt-2xl-3 {
+ .\32 xl\:pt-3 {
padding-block-start: 1rem;
}
- .pt-2xl-4 {
+ .\32 xl\:pt-4 {
padding-block-start: 1.5rem;
}
- .pt-2xl-5 {
+ .\32 xl\:pt-5 {
padding-block-start: 3rem;
}
- .pe-2xl-0 {
+ .\32 xl\:pe-0 {
padding-inline-end: 0;
}
- .pe-2xl-1 {
+ .\32 xl\:pe-1 {
padding-inline-end: 0.25rem;
}
- .pe-2xl-2 {
+ .\32 xl\:pe-2 {
padding-inline-end: 0.5rem;
}
- .pe-2xl-3 {
+ .\32 xl\:pe-3 {
padding-inline-end: 1rem;
}
- .pe-2xl-4 {
+ .\32 xl\:pe-4 {
padding-inline-end: 1.5rem;
}
- .pe-2xl-5 {
+ .\32 xl\:pe-5 {
padding-inline-end: 3rem;
}
- .pb-2xl-0 {
+ .\32 xl\:pb-0 {
padding-block-end: 0;
}
- .pb-2xl-1 {
+ .\32 xl\:pb-1 {
padding-block-end: 0.25rem;
}
- .pb-2xl-2 {
+ .\32 xl\:pb-2 {
padding-block-end: 0.5rem;
}
- .pb-2xl-3 {
+ .\32 xl\:pb-3 {
padding-block-end: 1rem;
}
- .pb-2xl-4 {
+ .\32 xl\:pb-4 {
padding-block-end: 1.5rem;
}
- .pb-2xl-5 {
+ .\32 xl\:pb-5 {
padding-block-end: 3rem;
}
- .ps-2xl-0 {
+ .\32 xl\:ps-0 {
padding-inline-start: 0;
}
- .ps-2xl-1 {
+ .\32 xl\:ps-1 {
padding-inline-start: 0.25rem;
}
- .ps-2xl-2 {
+ .\32 xl\:ps-2 {
padding-inline-start: 0.5rem;
}
- .ps-2xl-3 {
+ .\32 xl\:ps-3 {
padding-inline-start: 1rem;
}
- .ps-2xl-4 {
+ .\32 xl\:ps-4 {
padding-inline-start: 1.5rem;
}
- .ps-2xl-5 {
+ .\32 xl\:ps-5 {
padding-inline-start: 3rem;
}
- .gap-2xl-0 {
+ .\32 xl\:gap-0 {
gap: 0;
}
- .gap-2xl-1 {
+ .\32 xl\:gap-1 {
gap: 0.25rem;
}
- .gap-2xl-2 {
+ .\32 xl\:gap-2 {
gap: 0.5rem;
}
- .gap-2xl-3 {
+ .\32 xl\:gap-3 {
gap: 1rem;
}
- .gap-2xl-4 {
+ .\32 xl\:gap-4 {
gap: 1.5rem;
}
- .gap-2xl-5 {
+ .\32 xl\:gap-5 {
gap: 3rem;
}
- .row-gap-2xl-0 {
+ .\32 xl\:row-gap-0 {
row-gap: 0;
}
- .row-gap-2xl-1 {
+ .\32 xl\:row-gap-1 {
row-gap: 0.25rem;
}
- .row-gap-2xl-2 {
+ .\32 xl\:row-gap-2 {
row-gap: 0.5rem;
}
- .row-gap-2xl-3 {
+ .\32 xl\:row-gap-3 {
row-gap: 1rem;
}
- .row-gap-2xl-4 {
+ .\32 xl\:row-gap-4 {
row-gap: 1.5rem;
}
- .row-gap-2xl-5 {
+ .\32 xl\:row-gap-5 {
row-gap: 3rem;
}
- .column-gap-2xl-0 {
+ .\32 xl\:column-gap-0 {
-moz-column-gap: 0;
column-gap: 0;
}
- .column-gap-2xl-1 {
+ .\32 xl\:column-gap-1 {
-moz-column-gap: 0.25rem;
column-gap: 0.25rem;
}
- .column-gap-2xl-2 {
+ .\32 xl\:column-gap-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
- .column-gap-2xl-3 {
+ .\32 xl\:column-gap-3 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
- .column-gap-2xl-4 {
+ .\32 xl\:column-gap-4 {
-moz-column-gap: 1.5rem;
column-gap: 1.5rem;
}
- .column-gap-2xl-5 {
+ .\32 xl\:column-gap-5 {
-moz-column-gap: 3rem;
column-gap: 3rem;
}
- .text-2xl-start {
+ .\32 xl\:text-start {
text-align: start;
}
- .text-2xl-end {
+ .\32 xl\:text-end {
text-align: end;
}
- .text-2xl-center {
+ .\32 xl\:text-center {
text-align: center;
}
}
-{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","bootstrap-utilities.css","../../scss/_root.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/_config.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_position.scss","../../scss/layout/_breakpoints.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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ApII,gBA+CO;ElBotBb;EkB/nBE;IApII,kBA+CO;ElButBb;EkBloBE;IApII,mBA+CO;ElB0tBb;EkBroBE;IApII,kBA+CO;ElB6tBb;EkBxoBE;IApII,gBA+CO;ElBguBb;EkB3oBE;IApII,kBA+CO;ElBmuBb;EkB9oBE;IApII,mBA+CO;ElBsuBb;EkBjpBE;IApII,kBA+CO;ElByuBb;EkBppBE;IApII,2BA0CG;ElBivBT;EkBvpBE;IApII,oBA0CG;ElBovBT;EkB1pBE;IApII,eA+CO;ElBkvBb;EkB7pBE;IApII,qBA+CO;ElBqvBb;EkBhqBE;IApII,cA+CO;ElBwvBb;EkBnqBE;IApII,aA+CO;ElB2vBb;EkBtqBE;IApII,oBA+CO;ElB8vBb;EkBzqBE;IApII,cA+CO;ElBiwBb;EkB5qBE;IApII,kBA+CO;ElBowBb;EkB/qBE;IApII,mBA+CO;ElBuwBb;EkBlrBE;IApII,aA+CO;ElB0wBb;EkBrrBE;IApII,oBA+CO;ElB6wBb;EkBxrBE;IApII,iBA+CO;ElBgxBb;EkB3rBE;IApII,kBA+CO;ElBmxBb;EkB9rBE;IApII,aA+CO;ElBsxBb;EkBjsBE;IApII,gCA0CG;ElB8xBT;EkBpsBE;IApII,mCA0CG;ElBiyBT;EkBvsBE;IApII,mCA0CG;ElBoyBT;EkB1sBE;IApII,gBA0CG;ElBuyBT;EkB7sBE;IApII,iKA0CG;ElB0yBT;EkBhtBE;IApII,qKA0CG;ElB6yBT;EkBntBE;IApII,mKA0CG;ElBgzBT;EkBttBE;IApII,+JA0CG;ElBmzBT;EkBztBE;IApII,qKA0CG;ElBszBT;EkB5tBE;IApII,iKA0CG;ElByzBT;EkB/tBE;IApII,qHA0CG;ElB4zBT;EkBluBE;IApII,qHA0CG;ElB+zBT;EkBruBE;IApII,gBA+CO;ElB6zBb;EkBxuBE;IApII,kBA+CO;ElBg0Bb;EkB3uBE;IApII,kBA+CO;ElBm0Bb;EkB9uBE;IApII,eA+CO;ElBs0Bb;EkBjvBE;IApII,gBA+CO;ElBy0Bb;EkBpvBE;IApII,MA0CG;ElBi1BT;EkBvvBE;IApII,QA0CG;ElBo1BT;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BA+CO;ElB+rCb;EkB1mCE;IApII,2BA0CG;ElBusCT;EkB7mCE;IApII,yBA0CG;ElB0sCT;EkBhnCE;IApII,uBA0CG;ElB6sCT;EkBnnCE;IApII,8BA0CG;ElBgtCT;EkBtnCE;IApII,6BA0CG;ElBmtCT;EkBznCE;IApII,6BA0CG;ElBstCT;EkB5nCE;IApII,oBA0CG;ElBytCT;EkB/nCE;IApII,kBA0CG;ElB4tCT;EkBloCE;IApII,qBA0CG;ElB+tCT;EkBroCE;IApII,sBA0CG;ElBkuCT;EkBxoCE;IApII,wBA0CG;ElBquCT;EkB3oCE;IApII,sBA0CG;ElBwuCT;EkB9oCE;IApII,oBA0CG;ElB2uCT;EkBjpCE;IApII,uBA0CG;ElB8uCT;EkBppCE;IApII,qBA0CG;ElBivCT;EkBvpCE;IApII,mBA0CG;ElBovCT;EkB1pCE;IApII,qBA0CG;ElBuvCT;EkB7pCE;IApII,oBA0CG;ElB0vCT;EkBhqCE;IApII,yBA0CG;ElB6vCT;EkBnqCE;IApII,uBA0CG;ElBgwCT;EkBtqCE;IApII,qBA0CG;ElBmwCT;EkBzqCE;IApII,4BA0CG;ElBswCT;EkB5qCE;IApII,2BA0CG;ElBywCT;EkB/qCE;IApII,sBA0CG;ElB4wCT;EkBlrCE;IApII,gBA0CG;ElB+wCT;EkBrrCE;IApII,sBA0CG;ElBkxCT;EkBxrCE;IApII,oBA0CG;ElBqxCT;EkB3rCE;IApII,kBA0CG;ElBwxCT;EkB9rCE;IApII,oBA0CG;ElB2xCT;EkBjsCE;IApII,mBA0CG;ElB8xCT;EkBpsCE;IApII,kBA0CG;ElBiyCT;EkBvsCE;IApII,gBA0CG;ElBoyCT;EkB1sCE;IApII,mBA0CG;ElBuyCT;EkB7sCE;IApII,oBA0CG;ElB0yCT;EkBhtCE;IApII,qCA0CG;ElB6yCT;EkBntCE;IApII,qCA0CG;ElBgzCT;EkBttCE;IApII,qCA0CG;ElBmzCT;EkBztCE;IApII,qCA0CG;ElBszCT;EkB5tCE;IApII,mBA0CG;ElByzCT;EkB/tCE;IApII,mBA+CO;ElBuzCb;EkBluCE;IApII,sBA+CO;ElB0zCb;EkBruCE;IApII,qBA+CO;ElB6zCb;EkBxuCE;IApII,SA0CG;ElBq0CT;EkB3uCE;IApII,QA0CG;ElBw0CT;EkB9uCE;IApII,QA0CG;ElB20CT;EkBjvCE;IApII,QA0CG;ElB80CT;EkBpvCE;IApII,QA0CG;ElBi1CT;EkBvvCE;IApII,QA0CG;ElBo1CT;EkB1vCE;IApII,QA0CG;ElBu1CT;EkB7vCE;IApII,QA0CG;ElB01CT;EkBhwCE;IApII,SA0CG;ElB61CT;EkBnwCE;IApII,eA0CG;ElBg2CT;EkBtwCE;IApII,cA0CG;ElBm2CT;EkBzwCE;IApII,YA0CG;ElBs2CT;EkB5wCE;IApII,cA0CG;ElBy2CT;EkB/wCE;IApII,YA0CG;ElB42CT;EkBlxCE;IApII,YA0CG;ElB+2CT;EkBrxCE;IApII,gBA0CG;ElBk3CT;EkBxxCE;IApII,sBA0CG;ElBq3CT;EkB3xCE;IApII,qBA0CG;ElBw3CT;EkB9xCE;IApII,mBA0CG;ElB23CT;EkBjyCE;IApII,qBA0CG;ElB83CT;EkBpyCE;IApII,mBA0CG;ElBi4CT;EkBvyCE;IApII,mBA0CG;ElBo4CT;EkB1yCE;IApII,eA0CG;ElBu4CT;EkB7yCE;IApII,qBA0CG;ElB04CT;EkBhzCE;IApII,oBA0CG;ElB64CT;EkBnzCE;IApII,kBA0CG;ElBg5CT;EkBtzCE;IApII,oBA0CG;ElBm5CT;EkBzzCE;IApII,kBA0CG;ElBs5CT;EkB5zCE;IApII,kBA0CG;ElBy5CT;EkB/zCE;IApII,qBA0CG;ElB45CT;EkBl0CE;IApII,2BA0CG;ElB+5CT;EkBr0CE;IApII,0BA0CG;ElBk6CT;EkBx0CE;IApII,wBA0CG;ElBq6CT;EkB30CE;IApII,0BA0CG;ElBw6CT;EkB90CE;IApII,wBA0CG;ElB26CT;EkBj1CE;IApII,wBA0CG;ElB86CT;EkBp1CE;IApII,oBA0CG;ElBi7CT;EkBv1CE;IApII,0BA0CG;ElBo7CT;EkB11CE;IApII,yBA0CG;ElBu7CT;EkB71CE;IApII,uBA0CG;ElB07CT;EkBh2CE;IApII,yBA0CG;ElB67CT;EkBn2CE;IApII,uBA0CG;ElBg8CT;EkBt2CE;IApII,uBA0CG;ElBm8CT;EkBz2CE;IApII,mBA0CG;ElBs8CT;EkB52CE;IApII,yBA0CG;ElBy8CT;EkB/2CE;IApII,wBA0CG;ElB48CT;EkBl3CE;IApII,sBA0CG;ElB+8CT;EkBr3CE;IApII,wBA0CG;ElBk9CT;EkBx3CE;IApII,sBA0CG;ElBq9CT;EkB33CE;IApII,sBA0CG;ElBw9CT;EkB93CE;IApII,sBA0CG;ElB29CT;EkBj4CE;IApII,4BA0CG;ElB89CT;EkBp4CE;IApII,2BA0CG;ElBi+CT;EkBv4CE;IApII,yBA0CG;ElBo+CT;EkB14CE;IApII,2BA0CG;ElBu+CT;EkB74CE;IApII,yBA0CG;ElB0+CT;EkBh5CE;IApII,6BA0CG;ElB6+CT;EkBn5CE;IApII,4BA0CG;ElBg/CT;EkBt5CE;IApII,yBA0CG;ElBm/CT;EkBz5CE;IApII,UA0CG;ElBs/CT;EkB55CE;IApII,gBA0CG;ElBy/CT;EkB/5CE;IApII,eA0CG;ElB4/CT;EkBl6CE;IApII,aA0CG;ElB+/CT;EkBr6CE;IApII,eA0CG;ElBkgDT;EkBx6CE;IApII,aA0CG;ElBqgDT;EkB36CE;IApII,iBA0CG;ElBwgDT;EkB96CE;IApII,uBA0CG;ElB2gDT;EkBj7CE;IApII,sBA0CG;ElB8gDT;EkBp7CE;IApII,oBA0CG;ElBihDT;EkBv7CE;IApII,sBA0CG;ElBohDT;EkB17CE;IApII,oBA0CG;ElBuhDT;EkB77CE;IApII,gBA0CG;ElB0hDT;EkBh8CE;IApII,sBA0CG;ElB6hDT;EkBn8CE;IApII,qBA0CG;ElBgiDT;EkBt8CE;IApII,mBA0CG;ElBmiDT;EkBz8CE;IApII,qBA0CG;ElBsiDT;EkB58CE;IApII,mBA0CG;ElByiDT;EkB/8CE;IApII,sBA0CG;ElB4iDT;EkBl9CE;IApII,4BA0CG;ElB+iDT;EkBr9CE;IApII,2BA0CG;ElBkjDT;EkBx9CE;IApII,yBA0CG;ElBqjDT;EkB39CE;IApII,2BA0CG;ElBwjDT;EkB99CE;IAp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;IA3JA,iEA0CG;ElByhET;EkB/7DE;IApII,2BA0CG;ElB4hET;EkB36DM;IA3JA,2BA0CG;ElB+hET;EkBr8DE;IApII,8BA0CG;ElBkiET;EkBj7DM;IA3JA,8BA0CG;ElBqiET;EkB38DE;IApII,6BA0CG;ElBwiET;EkBv7DM;IA3JA,6BA0CG;ElB2iET;EkBj9DE;IApII,8BA0CG;ElB8iET;EkB77DM;IA3JA,8BA0CG;ElBijET;EkBv9DE;IApII,yEA0CG;ElBojET;EkB19DE;IApII,wHA0CG;ElBujET;EkB79DE;IApII,2EA0CG;ElB0jET;EkBh+DE;IApII,uEA0CG;ElB6jET;EkBn+DE;IApII,6EA0CG;ElBgkET;EkBt+DE;IApII,yEA0CG;ElBmkET;EkBz+DE;IApII,yEA0CG;ElBskET;EkB5+DE;IApII,yEA0CG;ElBykET;EkB/+DE;IApII,iFA0CG;ElB4kET;EkB39DM;IA3JA,iFA0CG;ElB+kET;EkBr/DE;IApII,iFA0CG;ElBklET;EkBj+DM;IA3JA,iFA0CG;ElBqlET;EkB3/DE;IApII,iFA0CG;ElBwlET;EkBv+DM;IA3JA,iFA0CG;ElB2lET;EkBjgEE;IApII,iFA0CG;ElB8lET;EkB7+DM;IA3JA,iFA0CG;ElBimET;EkBvgEE;IApII,iFA0CG;ElBomET;EkBn/DM;IA3JA,iFA0CG;ElBumET;EkB7gEE;IApII,iFA0CG;ElB0mET;EkBz/DM;IA3JA,iFA0CG;ElB6mET;EkBnhEE;IApII,iFA0CG;ElBgnET;EkB//DM;IA3JA,iFA0CG;ElBmnET;EkBzhEE;IApII,iFA0CG;ElBsnET;EkBrgEM;IA3JA,iFA0CG;ElBynET;EkB/hEE;IApII,iFA0CG;ElB4nET;EkB3gEM;IA3JA,iFA0CG;ElB+nET;EkBriEE;IApII,2CA0CG;ElBkoET;EkBjhEM;IA3JA,2CA0CG;ElBqoET;EkB3iEE;IApII,8BA0CG;ElBwoET;EkBvhEM;IA3JA,8BA0CG;ElB2oET;EkBjjEE;IApII,8BA0CG;ElB8oET;EkB7hEM;IA3JA,8BA0CG;ElBipET;EkBvjEE;IApII,8BA0CG;ElBopET;EkBniEM;IA3JA,8BA0CG;ElBupET;EkB7jEE;IApII,8BA0CG;ElB0pET;EkBziEM;IA3JA,8BA0CG;ElB6pET;EkBnkEE;IApII,8BA0CG;ElBgqET;EkB/iEM;IA3JA,8BA0CG;ElBmqET;EkBzkEE;IA7II,2BAmDG;IAnDH,8BAqES;ElBqpEf;EkB7kEE;IA7II,6BAmDG;IAnDH,8BAqES;ElBypEf;EkBjlEE;IA7II,4BAmDG;IAnDH,8BAqES;ElB6pEf;EkBrlEE;IA7II,0BAmDG;IAnDH,8BAqES;ElBiqEf;EkBzlEE;IA7II,6BAmDG;IAnDH,8BAqES;ElBqqEf;EkB7lEE;IA7II,2BAmDG;IAnDH,8BAqES;ElByqEf;EkBjmEE;IA7II,2DAmDG;IAnDH,8BAqES;ElB6qEf;EkBrmEE;IA7II,2DAmDG;IAnDH,8BAqES;ElBirEf;EkBzmEE;IA7II,wDAmDG;IAnDH,8BAqES;ElBqrEf;EkB7mEE;IA7II,2DAmDG;IAnDH,8BAqES;ElByrEf;EkBjnEE;IA7II,2DAmDG;IAnDH,8BAqES;ElB6rEf;EkBrnEE;IA7II,2DAmDG;IAnDH,8BAqES;ElBisEf;EkBznEE;IA7II,2DAmDG;IAnDH,8BAqES;ElBqsEf;EkB7nEE;IA7II,wBAmDG;IAnDH,8BAqES;ElBysEf;EkBjoEE;IA7II,wBAmDG;IAnDH,8BAqES;ElB6sEf;EkBroEE;IA7II,oBAmDG;IAnDH,8BAqES;ElBitEf;EkBzoEE;IA7II,gBAmDG;IAnDH,8BAqES;ElBqtEf;EkB7oEE;IA7II,2DAmDG;IAnDH,8BAqES;ElBytEf;EkBjpEE;IA7II,+DAmDG;IAnDH,8BAqES;ElB6tEf;EkBrpEE;IA7II,6DAmDG;IAnDH,8BAqES;ElBiuEf;EkBzpEE;IA7II,yDAmDG;IAnDH,8BAqES;ElBquEf;EkB7pEE;IA7II,+DAmDG;IAnDH,8BAqES;ElByuEf;EkBjqEE;IA7II,2DAmDG;IAnDH,8BAqES;ElB6uEf;EkBrqEE;IA7II,2DAmDG;IAnDH,8BAqES;ElBivEf;EkBzqEE;IA7II,2DAmDG;IAnDH,8BAqES;ElBqvEf;EkB7qEE;IA7II,2DAmDG;IAnDH,8BAqES;ElByvEf;EkBjrEE;IA7II,+DAmDG;IAnDH,8BAqES;ElB6vEf;EkBrrEE;IA7II,6DAmDG;IAnDH,8BAqES;ElBiwEf;EkBzrEE;IA7II,yDAmDG;IAnDH,8BAqES;ElBqwEf;EkB7rEE;IA7II,+DAmDG;IAnDH,8BAqES;ElBywEf;EkBjsEE;IA7II,2DAmDG;IAnDH,8BAqES;ElB6wEf;EkBrsEE;IA7II,2DAmDG;IAnDH,8BAqES;ElBixEf;EkBzsEE;IA7II,2DAmDG;IAnDH,8BAqES;ElBqxEf;EkB7sEE;IApII,oEA0CG;ElB0yET;EkBhtEE;IApII,oEA0CG;ElB6yET;EkBntEE;IApII,oEA0CG;ElBgzET;EkBttEE;IApII,oEA0CG;ElBmzET;EkBztEE;IApII,oEA0CG;ElBszET;EkB5tEE;IApII,oEA0CG;ElByzET;EkB/tEE;IApII,oEA0CG;ElB4zET;EkBluEE;IApII,oEA0CG;ElB+zET;EkBruEE;IApII,oEA0CG;ElBk0ET;EkBxuEE;IApII,8BA0CG;ElBq0ET;EkB3uEE;IA7II,oCAqES;IArET,+BAqES;ElBuzEf;EkB/uEE;IA7II,2CAqES;IArET,2BAqES;ElB2zEf;EkBnvEE;IA7II,0CAqES;IArET,oCAqES;ElB+zEf;EkBvvEE;IApII,2DA0CG;ElBo1ET;EkB1vEE;IApII,oCA0CG;ElBu1ET;EkB7vEE;IApII,wBA+CO;IA/CP,gBA+CO;ElBq1Eb;EkBhwEE;IApII,yBA+CO;IA/CP,iBA+CO;ElBw1Eb;EkBnwEE;IApII,yBA+CO;IA/CP,iBA+CO;ElB21Eb;EkBtwEE;IApII,yBA+CO;IA/CP,iBA+CO;ElB81Eb;EkBzwEE;IApII,oBA+CO;ElBi2Eb;EkB5wEE;IApII,oBA+CO;ElBo2Eb;EkB/wEE;IApII,sCA0CG;ElB42ET;EkBlxEE;IApII,gBA0CG;ElB+2ET;EkBrxEE;IApII,yCA0CG;ElBk3ET;EkBxxEE;IApII,sCA0CG;ElBq3ET;EkB3xEE;IApII,yCA0CG;ElBw3ET;EkB9xEE;IApII,yCA0CG;ElB23ET;EkBjyEE;IApII,0CA0CG;ElB83ET;EkBpyEE;IApII,kBA0CG;ElBi4ET;EkBvyEE;IApII,2CA0CG;ElBo4ET;EkB1yEE;IApII,kDA0CG;IA1CH,gDA0CG;ElBw4ET;EkB9yEE;IApII,4BA0CG;IA1CH,0BA0CG;ElB44ET;EkBlzEE;IApII,qDA0CG;IA1CH,mDA0CG;ElBg5ET;EkBtzEE;IApII,kDA0CG;IA1CH,gDA0CG;ElBo5ET;EkB1zEE;IApII,qDA0CG;IA1CH,mDA0CG;ElBw5ET;EkB9zEE;IApII,qDA0CG;IA1CH,mDA0CG;ElB45ET;EkBl0EE;IApII,sDA0CG;IA1CH,oDA0CG;ElBg6ET;EkBt0EE;IApII,8BA0CG;IA1CH,4BA0CG;ElBo6ET;EkB10EE;IApII,uDA0CG;IA1CH,qDA0CG;ElBw6ET;EkB90EE;IApII,8CA0CG;IA1CH,gDA0CG;ElB46ET;EkBl1EE;IApII,wBA0CG;IA1CH,0BA0CG;ElBg7ET;EkBt1EE;IApII,iDA0CG;IA1CH,mDA0CG;ElBo7ET;EkB11EE;IApII,8CA0CG;IA1CH,gDA0CG;ElBw7ET;EkB91EE;IApII,iDA0CG;IA1CH,mDA0CG;ElB47ET;EkBl2EE;IApII,iDA0CG;IA1CH,mDA0CG;ElBg8ET;EkBt2EE;IApII,kDA0CG;IA1CH,oDA0CG;ElBo8ET;EkB12EE;IApII,0BA0CG;IA1CH,4BA0CG;ElBw8ET;EkB92EE;IApII,mDA0CG;IA1CH,qDA0CG;ElB48ET;EkBl3EE;IApII,8CA0CG;IA1CH,gDA0CG;ElBg9ET;EkBt3EE;IApII,wBA0CG;IA1CH,0BA0CG;ElBo9ET;EkB13EE;IApII,iDA0CG;IA1CH,mDA0CG;ElBw9ET;EkB93EE;IApII,8CA0CG;IA1CH,gDA0CG;ElB49ET;EkBl4EE;IApII,iDA0CG;IA1CH,mDA0CG;ElBg+ET;EkBt4EE;IApII,iDA0CG;IA1CH,mDA0CG;ElBo+ET;EkB14EE;IApII,kDA0CG;IA1CH,oDA0CG;ElBw+ET;EkB94EE;IApII,0BA0CG;IA1CH,4BA0CG;ElB4+ET;EkBl5EE;IApII,mDA0CG;IA1CH,qDA0CG;ElBg/ET;EkBt5EE;IApII,kDA0CG;IA1CH,gDA0CG;ElBo/ET;EkB15EE;IApII,4BA0CG;IA1CH,0BA0CG;ElBw/ET;EkB95EE;IApII,qDA0CG;IA1CH,mDA0CG;ElB4/ET;EkBl6EE;IApII,kDA0CG;IA1CH,gDA0CG;ElBggFT;EkBt6EE;IApII,qDA0CG;IA1CH,mDA0CG;ElBogFT;EkB16EE;IApII,qDA0CG;IA1CH,mDA0CG;ElBwgFT;EkB96EE;IApII,sDA0CG;IA1CH,oDA0CG;ElB4gFT;EkBl7EE;IApII,8BA0CG;IA1CH,4BA0CG;ElBghFT;EkBt7EE;IApII,uDA0CG;IA1CH,qDA0CG;ElBohFT;EkB17EE;IApII,mBA0CG;ElBuhFT;EkB77EE;IApII,kBA0CG;ElB0hFT;EkBh8EE;IApII,WA0CG;ElB6hFT;EkBn8EE;IApII,UA0CG;ElBgiFT;EkBt8EE;IApII,UA0CG;ElBmiFT;EkBz8EE;IApII,UA0CG;ElBsiFT;EkB58EE;IApII,UA0CG;ElByiFT;EOtjFE;IWuGA;MApII,mBA0CG;IlB6iFP;IkBn9EA;MApII,iBA0CG;IlBgjFP;IkBt9EA;MApII,WA0CG;IlBmjFP;IkBz9EA;MApII,sBA0CG;MA1CH,mBA0CG;IlBsjFP;IkB59EA;MApII,oBA0CG;MA1CH,iBA0CG;IlByjFP;IkB/9EA;MApII,mBA0CG;MA1CH,gBA0CG;IlB4jFP;IkBl+EA;MApII,yBA0CG;MA1CH,sBA0CG;IlB+jFP;IkBr+EA;MApII,mBA0CG;MA1CH,gBA0CG;IlBkkFP;IkBx+EA;MApII,eA+CO;IlBgkFX;IkB3+EA;MApII,qBA+CO;IlBmkFX;IkB9+EA;MApII,cA+CO;IlBskFX;IkBj/EA;MApII,aA+CO;IlBykFX;IkBp/EA;MApII,oBA+CO;IlB4kFX;IkBv/EA;MApII,cA+CO;IlB+kFX;IkB1/EA;MApII,kBA+CO;IlBklFX;IkB7/EA;MApII,mBA+CO;IlBqlFX;IkBhgFA;MApII,aA+CO;IlBwlFX;IkBngFA;MApII,oBA+CO;IlB2lFX;IkBtgFA;MApII,iBA+CO;IlB8lFX;IkBzgFA;MApII,kBA+CO;IlBimFX;IkB5gFA;MApII,aA+CO;IlBomFX;IkB/gFA;MApII,cA0CG;IlB4mFP;IkBlhFA;MApII,mBA+CO;IlB0mFX;IkBrhFA;MApII,sBA+CO;IlB6mFX;IkBxhFA;MApII,2BA+CO;IlBgnFX;IkB3hFA;MApII,8BA+CO;IlBmnFX;IkB9hFA;MApII,YA0CG;IlB2nFP;IkBjiFA;MApII,YA0CG;IlB8nFP;IkBpiFA;MApII,cA0CG;IlBioFP;IkBviFA;MApII,cA0CG;IlBooFP;IkB1iFA;MApII,eA+CO;IlBkoFX;IkB7iFA;MApII,iBA+CO;IlBqoFX;IkBhjFA;MApII,uBA+CO;IlBwoFX;IkBnjFA;MApII,2BA0CG;IlBgpFP;IkBtjFA;MApII,yBA0CG;IlBmpFP;IkBzjFA;MApII,uBA0CG;IlBspFP;IkB5jFA;MApII,8BA0CG;IlBypFP;IkB/jFA;MApII,6BA0CG;IlB4pFP;IkBlkFA;MApII,6BA0CG;IlB+pFP;IkBrkFA;MApII,oBA0CG;IlBkqFP;IkBxkFA;MApII,kBA0CG;IlBqqFP;IkB3kFA;MApII,qBA0CG;IlBwqFP;IkB9kFA;MApII,sBA0CG;IlB2qFP;IkBjlFA;MApII,wBA0CG;IlB8qFP;IkBplFA;MApII,sBA0CG;IlBirFP;IkBvlFA;MApII,oBA0CG;IlBorFP;IkB1lFA;MApII,uBA0CG;IlBurFP;IkB7lFA;MApII,qBA0CG;IlB0rFP;IkBhmFA;MApII,mBA0CG;IlB6rFP;IkBnmFA;MApII,qBA0CG;IlBgsFP;IkBtmFA;MApII,oBA0CG;IlBmsFP;IkBzmFA;MApII,yBA0CG;IlBssFP;IkB5mFA;MApII,uBA0CG;IlBysFP;IkB/mFA;MApII,qBA0CG;IlB4sFP;IkBlnFA;MApII,4BA0CG;IlB+sFP;IkBrnFA;MApII,2BA0CG;IlBktFP;IkBxnFA;MApII,sBA0CG;IlBqtFP;IkB3nFA;MApII,gBA0CG;IlBwtFP;IkB9nFA;MApII,sBA0CG;IlB2tFP;IkBjoFA;MApII,oBA0CG;IlB8tFP;IkBpoFA;MApII,kBA0CG;IlBiuFP;IkBvoFA;MApII,oBA0CG;IlBouFP;IkB1oFA;MApII,mBA0CG;IlBuuFP;IkB7oFA;MApII,kBA0CG;IlB0uFP;IkBhpFA;MApII,gBA0CG;IlB6uFP;IkBnpFA;MApII,mBA0CG;IlBgvFP;IkBtpFA;MApII,oBA0CG;IlBmvFP;IkBzpFA;MApII,qCA0CG;IlBsvFP;IkB5pFA;MApII,qCA0CG;IlByvFP;IkB/pFA;MApII,qCA0CG;IlB4vFP;IkBlqFA;MApII,qCA0CG;IlB+vFP;IkBrqFA;MApII,mBA0CG;IlBkwFP;IkBxqFA;MApII,mBA+CO;IlBgwFX;IkB3qFA;MApII,sBA+CO;IlBmwFX;IkB9qFA;MApII,qBA+CO;IlBswFX;IkBjrFA;MApII,SA0CG;IlB8wFP;IkBprFA;MApII,QA0CG;IlBixFP;IkBvrFA;MApII,QA0CG;IlBoxFP;IkB1rFA;MApII,QA0CG;IlBuxFP;IkB7rFA;MApII,QA0CG;IlB0xFP;IkBhsFA;MApII,QA0CG;IlB6xFP;IkBnsFA;MApII,QA0CG;IlBgyFP;IkBtsFA;MApII,QA0CG;IlBmyFP;IkBzsFA;MApII,SA0CG;IlBsyFP;IkB5sFA;MApII,eA0CG;IlByyFP;IkB/sFA;MApII,cA0CG;IlB4yFP;IkBltFA;MApII,YA0CG;IlB+yFP;IkBrtFA;MApII,cA0CG;IlBkzFP;IkBxtFA;MApII,YA0CG;IlBqzFP;IkB3tFA;MApII,YA0CG;IlBwzFP;IkB9tFA;MApII,gBA0CG;IlB2zFP;IkBjuFA;MApII,sBA0CG;IlB8zFP;IkBpuFA;MApII,qBA0CG;IlBi0FP;IkBvuFA;MApII,mBA0CG;IlBo0FP;IkB1uFA;MApII,qBA0CG;IlBu0FP;IkB7uFA;MApII,mBA0CG;IlB00FP;IkBhvFA;MApII,mBA0CG;IlB60FP;IkBnvFA;MApII,eA0CG;IlBg1FP;IkBtvFA;MApII,qBA0CG;IlBm1FP;IkBzvFA;MApII,oBA0CG;IlBs1FP;IkB5vFA;MApII,kBA0CG;IlBy1FP;IkB/vFA;MApII,oBA0CG;IlB41FP;IkBlwFA;MApII,kBA0CG;IlB+1FP;IkBrwFA;MApII,kBA0CG;IlBk2FP;IkBxwFA;MApII,qBA0CG;IlBq2FP;IkB3wFA;MApII,2BA0CG;IlBw2FP;IkB9wFA;MApII,0BA0CG;IlB22FP;IkBjxFA;MApII,wBA0CG;IlB82FP;IkBpxFA;MApII,0BA0CG;IlBi3FP;IkBvxFA;MApII,wBA0CG;IlBo3FP;IkB1xFA;MApII,wBA0CG;IlBu3FP;IkB7xFA;MApII,oBA0CG;IlB03FP;IkBhyFA;MApII,0BA0CG;IlB63FP;IkBnyFA;MApII,yBA0CG;IlBg4FP;IkBtyFA;MApII,uBA0CG;IlBm4FP;IkBzyFA;MApII,yBA0CG;IlBs4FP;IkB5yFA;MApII,uBA0CG;IlBy4FP;IkB/yFA;MApII,uBA0CG;IlB44FP;IkBlzFA;MApII,mBA0CG;IlB+4FP;IkBrzFA;MApII,yBA0CG;IlBk5FP;IkBxzFA;MApII,wBA0CG;IlBq5FP;IkB3zFA;MApII,sBA0CG;IlBw5FP;IkB9zFA;MApII,wBA0CG;IlB25FP;IkBj0FA;MApII,sBA0CG;IlB85FP;IkBp0FA;MApII,sBA0CG;IlBi6FP;IkBv0FA;MApII,sBA0CG;IlBo6FP;IkB10FA;MApII,4BA0CG;IlBu6FP;IkB70FA;MApII,2BA0CG;IlB06FP;IkBh1FA;MApII,yBA0CG;IlB66FP;IkBn1FA;MApII,2BA0CG;IlBg7FP;IkBt1FA;MApII,yBA0CG;IlBm7FP;IkBz1FA;MApII,6BA0CG;IlBs7FP;IkB51FA;MApII,4BA0CG;IlBy7FP;IkB/1FA;MApII,yBA0CG;IlB47FP;IkBl2FA;MApII,UA0CG;IlB+7FP;IkBr2FA;MApII,gBA0CG;IlBk8FP;IkBx2FA;MApII,eA0CG;IlBq8FP;IkB32FA;MApII,aA0CG;IlBw8FP;IkB92FA;MApII,eA0CG;IlB28FP;IkBj3FA;MApII,aA0CG;IlB88FP;IkBp3FA;MApII,iBA0CG;IlBi9FP;IkBv3FA;MApII,uBA0CG;IlBo9FP;IkB13FA;MApII,sBA0CG;IlBu9FP;IkB73FA;MApII,oBA0CG;IlB09FP;IkBh4FA;MApII,sBA0CG;IlB69FP;IkBn4FA;MApII,oBA0CG;IlBg+FP;IkBt4FA;MApII,gBA0CG;IlBm+FP;IkBz4FA;MApII,sBA0CG;IlBs+FP;IkB54FA;MApII,qBA0CG;IlBy+FP;IkB/4FA;MApII,mBA0CG;IlB4+FP;IkBl5FA;MApII,qBA0CG;IlB++FP;IkBr5FA;MApII,mBA0CG;IlBk/FP;IkBx5FA;MApII,sBA0CG;IlBq/FP;IkB35FA;MApII,4BA0CG;IlBw/FP;IkB95FA;MApII,2BA0CG;IlB2/FP;IkBj6FA;MApII,yBA0CG;IlB8/FP;IkBp6FA;MApII,2BA0CG;IlBigGP;IkBv6FA;MApII,yBA0CG;IlBogGP;IkB16FA;MApII,qBA0CG;IlBugGP;IkB76FA;MApII,2BA0CG;IlB0gGP;IkBh7FA;MApII,0BA0CG;IlB6gGP;IkBn7FA;MApII,wBA0CG;IlBghGP;IkBt7FA;MApII,0BA0CG;IlBmhGP;IkBz7FA;MApII,wBA0CG;IlBshGP;IkB57FA;MApII,oBA0CG;IlByhGP;IkB/7FA;MApII,0BA0CG;IlB4hGP;IkBl8FA;MApII,yBA0CG;IlB+hGP;IkBr8FA;MApII,uBA0CG;IlBkiGP;IkBx8FA;MApII,yBA0CG;IlBqiGP;IkB38FA;MApII,uBA0CG;IlBwiGP;IkB98FA;MApII,uBA0CG;IlB2iGP;IkBj9FA;MApII,6BA0CG;IlB8iGP;IkBp9FA;MApII,4BA0CG;IlBijGP;IkBv9FA;MApII,0BA0CG;IlBojGP;IkB19FA;MApII,4BA0CG;IlBujGP;IkB79FA;MApII,0BA0CG;IlB0jGP;IkBh+FA;MApII,MA0CG;IlB6jGP;IkBn+FA;MApII,YA0CG;IlBgkGP;IkBt+FA;MApII,WA0CG;IlBmkGP;IkBz+FA;MApII,SA0CG;IlBskGP;IkB5+FA;MApII,WA0CG;IlBykGP;IkB/+FA;MApII,SA0CG;IlB4kGP;IkBl/FA;MApII,UA0CG;IlB+kGP;IkBr/FA;MApII,gBA0CG;IlBklGP;IkBx/FA;MApII,eA0CG;IlBqlGP;IkB3/FA;MApII,aA0CG;IlBwlGP;IkB9/FA;MApII,eA0CG;IlB2lGP;IkBjgGA;MApII,aA0CG;IlB8lGP;IkBpgGA;MApII,kBA0CG;MA1CH,aA0CG;IlBimGP;IkBvgGA;MApII,wBA0CG;MA1CH,mBA0CG;IlBomGP;IkB1gGA;MApII,uBA0CG;MA1CH,kBA0CG;IlBumGP;IkB7gGA;MApII,qBA0CG;MA1CH,gBA0CG;IlB0mGP;IkBhhGA;MApII,uBA0CG;MA1CH,kBA0CG;IlB6mGP;IkBnhGA;MApII,qBA0CG;MA1CH,gBA0CG;IlBgnGP;IkBthGA;MApII,iBA0CG;IlBmnGP;IkBzhGA;MApII,eA0CG;IlBsnGP;IkB5hGA;MApII,kBA0CG;IlBynGP;EACF;EOvoGE;IWuGA;MApII,mBA0CG;IlB8nGP;IkBpiGA;MApII,iBA0CG;IlBioGP;IkBviGA;MApII,WA0CG;IlBooGP;IkB1iGA;MApII,sBA0CG;MA1CH,mBA0CG;IlBuoGP;IkB7iGA;MApII,oBA0CG;MA1CH,iBA0CG;IlB0oGP;IkBhjGA;MApII,mBA0CG;MA1CH,gBA0CG;IlB6oGP;IkBnjGA;MApII,yBA0CG;MA1CH,sBA0CG;IlBgpGP;IkBtjGA;MApII,mBA0CG;MA1CH,gBA0CG;IlBmpGP;IkBzjGA;MApII,eA+CO;IlBipGX;IkB5jGA;MApII,qBA+CO;IlBopGX;IkB/jGA;MApII,cA+CO;IlBupGX;IkBlkGA;MApII,aA+CO;IlB0pGX;IkBrkGA;MApII,oBA+CO;IlB6pGX;IkBxkGA;MApII,cA+CO;IlBgqGX;IkB3kGA;MApII,kBA+CO;IlBmqGX;IkB9kGA;MApII,mBA+CO;IlBsqGX;IkBjlGA;MApII,aA+CO;IlByqGX;IkBplGA;MApII,oBA+CO;IlB4qGX;IkBvlGA;MApII,iBA+CO;IlB+qGX;IkB1lGA;MApII,kBA+CO;IlBkrGX;IkB7lGA;MApII,aA+CO;IlBqrGX;IkBhmGA;MApII,cA0CG;IlB6rGP;IkBnmGA;MApII,mBA+CO;IlB2rGX;IkBtmGA;MApII,sBA+CO;IlB8rGX;IkBzmGA;MApII,2BA+CO;IlBisGX;IkB5mGA;MApII,8BA+CO;IlBosGX;IkB/mGA;MApII,YA0CG;IlB4sGP;IkBlnGA;MApII,YA0CG;IlB+sGP;IkBrnGA;MApII,cA0CG;IlBktGP;IkBxnGA;MApII,cA0CG;IlBqtGP;IkB3nGA;MApII,eA+CO;IlBmtGX;IkB9nGA;MApII,iBA+CO;IlBstGX;IkBjoGA;MApII,uBA+CO;IlBytGX;IkBpoGA;MApII,2BA0CG;IlBiuGP;IkBvoGA;MApII,yBA0CG;IlBouGP;IkB1oGA;MApII,uBA0CG;IlBuuGP;IkB7oGA;MApII,8BA0CG;IlB0uGP;IkBhpGA;MApII,6BA0CG;IlB6uGP;IkBnpGA;MApII,6BA0CG;IlBgvGP;IkBtpGA;MApII,oBA0CG;IlBmvGP;IkBzpGA;MApII,kBA0CG;IlBsvGP;IkB5pGA;MApII,qBA0CG;IlByvGP;IkB/pGA;MApII,sBA0CG;IlB4vGP;IkBlqGA;MApII,wBA0CG;IlB+vGP;IkBrqGA;MApII,sBA0CG;IlBkwGP;IkBxqGA;MApII,oBA0CG;IlBqwGP;IkB3qGA;MApII,uBA0CG;IlBwwGP;IkB9qGA;MApII,qBA0CG;IlB2wGP;IkBjrGA;MApII,mBA0CG;IlB8wGP;IkBprGA;MApII,qBA0CG;IlBixGP;IkBvrGA;MApII,oBA0CG;IlBoxGP;IkB1rGA;MApII,yBA0CG;IlBuxGP;IkB7rGA;MApII,uBA0CG;IlB0xGP;IkBhsGA;MApII,qBA0CG;IlB6xGP;IkBnsGA;MApII,4BA0CG;IlBgyGP;IkBtsGA;MApII,2BA0CG;IlBmyGP;IkBzsGA;MApII,sBA0CG;IlBsyGP;IkB5sGA;MApII,gBA0CG;IlByyGP;IkB/sGA;MApII,sBA0CG;IlB4yGP;IkBltGA;MApII,oBA0CG;IlB+yGP;IkBrtGA;MApII,kBA0CG;IlBkzGP;IkBxtGA;MApII,oBA0CG;IlBqzGP;IkB3tGA;MApII,mBA0CG;IlBwzGP;IkB9tGA;MApII,kBA0CG;IlB2zGP;IkBjuGA;MApII,gBA0CG;IlB8zGP;IkBpuGA;MApII,mBA0CG;IlBi0GP;IkBvuGA;MApII,oBA0CG;IlBo0GP;IkB1uGA;MApII,qCA0CG;IlBu0GP;IkB7uGA;MApII,qCA0CG;IlB00GP;IkBhvGA;MApII,qCA0CG;IlB60GP;IkBnvGA;MApII,qCA0CG;IlBg1GP;IkBtvGA;MApII,mBA0CG;IlBm1GP;IkBzvGA;MApII,mBA+CO;IlBi1GX;IkB5vGA;MApII,sBA+CO;IlBo1GX;IkB/vGA;MApII,qBA+CO;IlBu1GX;IkBlwGA;MApII,SA0CG;IlB+1GP;IkBrwGA;MApII,QA0CG;IlBk2GP;IkBxwGA;MApII,QA0CG;IlBq2GP;IkB3wGA;MApII,QA0CG;IlBw2GP;IkB9wGA;MApII,QA0CG;IlB22GP;IkBjxGA;MApII,QA0CG;IlB82GP;IkBpxGA;MApII,QA0CG;IlBi3GP;IkBvxGA;MApII,QA0CG;IlBo3GP;IkB1xGA;MApII,SA0CG;IlBu3GP;IkB7xGA;MApII,eA0CG;IlB03GP;IkBhyGA;MApII,cA0CG;IlB63GP;IkBnyGA;MApII,YA0CG;IlBg4GP;IkBtyGA;MApII,cA0CG;IlBm4GP;IkBzyGA;MApII,YA0CG;IlBs4GP;IkB5yGA;MApII,YA0CG;IlBy4GP;IkB/yGA;MApII,gBA0CG;IlB44GP;IkBlzGA;MApII,sBA0CG;IlB+4GP;IkBrzGA;MApII,qBA0CG;IlBk5GP;IkBxzGA;MApII,mBA0CG;IlBq5GP;IkB3zGA;MApII,qBA0CG;IlBw5GP;IkB9zGA;MApII,mBA0CG;IlB25GP;IkBj0GA;MApII,mBA0CG;IlB85GP;IkBp0GA;MApII,eA0CG;IlBi6GP;IkBv0GA;MApII,qBA0CG;IlBo6GP;IkB10GA;MApII,oBA0CG;IlBu6GP;IkB70GA;MApII,kBA0CG;IlB06GP;IkBh1GA;MApII,oBA0CG;IlB66GP;IkBn1GA;MApII,kBA0CG;IlBg7GP;IkBt1GA;MApII,kBA0CG;IlBm7GP;IkBz1GA;MApII,qBA0CG;IlBs7GP;IkB51GA;MApII,2BA0CG;IlBy7GP;IkB/1GA;MApII,0BA0CG;IlB47GP;IkBl2GA;MApII,wBA0CG;IlB+7GP;IkBr2GA;MApII,0BA0CG;IlBk8GP;IkBx2GA;MApII,wBA0CG;IlBq8GP;IkB32GA;MApII,wBA0CG;IlBw8GP;IkB92GA;MApII,oBA0CG;IlB28GP;IkBj3GA;MApII,0BA0CG;IlB88GP;IkBp3GA;MApII,yBA0CG;IlBi9GP;IkBv3GA;MApII,uBA0CG;IlBo9GP;IkB13GA;MApII,yBA0CG;IlBu9GP;IkB73GA;MApII,uBA0CG;IlB09GP;IkBh4GA;MApII,uBA0CG;IlB69GP;IkBn4GA;MApII,mBA0CG;IlBg+GP;IkBt4GA;MApII,yBA0CG;IlBm+GP;IkBz4GA;MApII,wBA0CG;IlBs+GP;IkB54GA;MApII,sBA0CG;IlBy+GP;IkB/4GA;MApII,wBA0CG;IlB4+GP;IkBl5GA;MApII,sBA0CG;IlB++GP;IkBr5GA;MApII,sBA0CG;IlBk/GP;IkBx5GA;MApII,sBA0CG;IlBq/GP;IkB35GA;MApII,4BA0CG;IlBw/GP;IkB95GA;MApII,2BA0CG;IlB2/GP;IkBj6GA;MApII,yBA0CG;IlB8/GP;IkBp6GA;MApII,2BA0CG;IlBigHP;IkBv6GA;MApII,yBA0CG;IlBogHP;IkB16GA;MApII,6BA0CG;IlBugHP;IkB76GA;MApII,4BA0CG;IlB0gHP;IkBh7GA;MApII,yBA0CG;IlB6gHP;IkBn7GA;MApII,UA0CG;IlBghHP;IkBt7GA;MApII,gBA0CG;IlBmhHP;IkBz7GA;MApII,eA0CG;IlBshHP;IkB57GA;MApII,aA0CG;IlByhHP;IkB/7GA;MApII,eA0CG;IlB4hHP;IkBl8GA;MApII,aA0CG;IlB+hHP;IkBr8GA;MApII,iBA0CG;IlBkiHP;IkBx8GA;MApII,uBA0CG;IlBqiHP;IkB38GA;MApII,sBA0CG;IlBwiHP;IkB98GA;MApII,oBA0CG;IlB2iHP;IkBj9GA;MApII,sBA0CG;IlB8iHP;IkBp9GA;MApII,oBA0CG;IlBijHP;IkBv9GA;MApII,gBA0CG;IlBojHP;IkB19GA;MApII,sBA0CG;IlBujHP;IkB79GA;MApII,qBA0CG;IlB0jHP;IkBh+GA;MAp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lBoyHX;IkB/sHA;MApII,iBA+CO;IlBuyHX;IkBltHA;MApII,uBA+CO;IlB0yHX;IkBrtHA;MApII,2BA0CG;IlBkzHP;IkBxtHA;MApII,yBA0CG;IlBqzHP;IkB3tHA;MApII,uBA0CG;IlBwzHP;IkB9tHA;MApII,8BA0CG;IlB2zHP;IkBjuHA;MApII,6BA0CG;IlB8zHP;IkBpuHA;MApII,6BA0CG;IlBi0HP;IkBvuHA;MApII,oBA0CG;IlBo0HP;IkB1uHA;MApII,kBA0CG;IlBu0HP;IkB7uHA;MApII,qBA0CG;IlB00HP;IkBhvHA;MApII,sBA0CG;IlB60HP;IkBnvHA;MApII,wBA0CG;IlBg1HP;IkBtvHA;MApII,sBA0CG;IlBm1HP;IkBzvHA;MApII,oBA0CG;IlBs1HP;IkB5vHA;MApII,uBA0CG;IlBy1HP;IkB/vHA;MApII,qBA0CG;IlB41HP;IkBlwHA;MApII,mBA0CG;IlB+1HP;IkBrwHA;MApII,qBA0CG;IlBk2HP;IkBxwHA;MApII,oBA0CG;IlBq2HP;IkB3wHA;MApII,yBA0CG;IlBw2HP;IkB9wHA;MApII,uBA0CG;IlB22HP;IkBjxHA;MApII,qBA0CG;IlB82HP;IkBpxHA;MApII,4BA0CG;IlBi3HP;IkBvxHA;MApII,2BA0CG;IlBo3HP;IkB1xHA;MApII,sBA0CG;IlBu3HP;IkB7xHA;MApII,gBA0CG;IlB03HP;IkBhyHA;MApII,sBA0CG;IlB63HP;IkBnyHA;MApII,oBA0CG;IlBg4HP;IkBtyHA;MApII,kBA0CG;IlBm4HP;IkBzyHA;MApII,oBA0CG;IlBs4HP;IkB5yHA;MApII,mBA0CG;IlBy4HP;IkB/yHA;MApII,kBA0CG;IlB44HP;IkBlzHA;MApII,gBA0CG;IlB+4HP;IkBrzHA;MApII,mBA0CG;IlBk5HP;IkBxzHA;MApII,oBA0CG;IlBq5HP;IkB3zHA;MApII,qCA0CG;IlBw5HP;IkB9zHA;MApII,qCA0CG;IlB25HP;IkBj0HA;MApII,qCA0CG;IlB85HP;IkBp0HA;MApII,qCA0CG;IlBi6HP;IkBv0HA;MApII,mBA0CG;IlBo6HP;IkB10HA;MApII,mBA+CO;IlBk6HX;IkB70HA;MApII,sBA+CO;IlBq6HX;IkBh1HA;MApII,qBA+CO;IlBw6HX;IkBn1HA;MApII,SA0CG;IlBg7HP;IkBt1HA;MApII,QA0CG;IlBm7HP;IkBz1HA;MApII,QA0CG;IlBs7HP;IkB51HA;MApII,QA0CG;IlBy7HP;IkB/1HA;MApII,QA0CG;IlB47HP;IkBl2HA;MApII,QA0CG;IlB+7HP;IkBr2HA;MApII,QA0CG;IlBk8HP;IkBx2HA;MApII,QA0CG;IlBq8HP;IkB32HA;MApII,SA0CG;IlBw8HP;IkB92HA;MApII,eA0CG;IlB28HP;IkBj3HA;MApII,cA0CG;IlB88HP;IkBp3HA;MApII,YA0CG;IlBi9HP;IkBv3HA;MApII,cA0CG;IlBo9HP;IkB13HA;MApII,YA0CG;IlBu9HP;IkB73HA;MApII,YA0CG;IlB09HP;IkBh4HA;MApII,gBA0CG;IlB69HP;IkBn4HA;MApII,sBA0CG;IlBg+HP;IkBt4HA;MApII,qBA0CG;IlBm+HP;IkBz4HA;MApII,mBA0CG;IlBs+HP;IkB54HA;MApII,qBA0CG;IlBy+HP;IkB/4HA;MApII,mBA0CG;IlB4+HP;IkBl5HA;MApII,mBA0CG;IlB++HP;IkBr5HA;MApII,eA0CG;IlBk/HP;IkBx5HA;MApII,qBA0CG;IlBq/HP;IkB35HA;MApII,oBA0CG;IlBw/HP;IkB95HA;MApII,kBA0CG;IlB2/HP;IkBj6HA;MApII,oBA0CG;IlB8/HP;IkBp6HA;MApII,kBA0CG;IlBigIP;IkBv6HA;MApII,kBA0CG;IlBogIP;IkB16HA;MApII,qBA0CG;IlBugIP;IkB76HA;MApII,2BA0CG;IlB0gIP;IkBh7HA;MApII,0BA0CG;IlB6gIP;IkBn7HA;MApII,wBA0CG;IlBghIP;IkBt7HA;MApII,0BA0CG;IlBmhIP;IkBz7HA;MApII,wBA0CG;IlBshIP;IkB57HA;MApII,wBA0CG;IlByhIP;IkB/7HA;MApII,oBA0CG;IlB4hIP;IkBl8HA;MApII,0BA0CG;IlB+hIP;IkBr8HA;MApII,yBA0CG;IlBkiIP;IkBx8HA;MApII,uBA0CG;IlBqiIP;IkB38HA;MApII,yBA0CG;IlBwiIP;IkB98HA;MApII,uBA0CG;IlB2iIP;IkBj9HA;MApII,uBA0CG;IlB8iIP;IkBp9HA;MApII,mBA0CG;IlBijIP;IkBv9HA;MApII,yBA0CG;IlBojIP;IkB19HA;MApII,wBA0CG;IlBujIP;IkB79HA;MApII,sBA0CG;IlB0jIP;IkBh+HA;MApII,wBA0CG;IlB6jIP;IkBn+HA;MApII,sBA0CG;IlBgkIP;IkBt+HA;MApII,sBA0CG;IlBmkIP;IkBz+HA;MApII,sBA0CG;IlBskIP;IkB5+HA;MApII,4BA0CG;IlBykIP;IkB/+HA;MApII,2BA0CG;IlB4kIP;IkBl/HA;MApII,yBA0CG;IlB+kIP;IkBr/HA;MApII,2BA0CG;IlBklIP;IkBx/HA;MApII,yBA0CG;IlBqlIP;IkB3/HA;MApII,6BA0CG;IlBwlIP;IkB9/HA;MApII,4BA0CG;IlB2lIP;IkBjgIA;MApII,yBA0CG;IlB8lIP;IkBpgIA;MApII,UA0CG;IlBimIP;IkBvgIA;MApII,gBA0CG;IlBomIP;IkB1gIA;MApII,eA0CG;IlBumIP;IkB7gIA;MApII,aA0CG;IlB0mIP;IkBhhIA;MApII,eA0CG;IlB6mIP;IkBnhIA;MApII,aA0CG;IlBgnIP;IkBthIA;MApII,iBA0CG;IlBmnIP;IkBzhIA;MApII,uBA0CG;IlBsnIP;IkB5hIA;MApII,sBA0CG;IlBynIP;IkB/hIA;MApII,oBA0CG;IlB4nIP;IkBliIA;MApII,sBA0CG;IlB+nIP;IkBriIA;MApII,oBA0CG;IlBkoIP;IkBxiIA;MApII,gBA0CG;IlBqoIP;IkB3iIA;MApII,sBA0CG;IlBwoIP;IkB9iIA;MApII,qBA0CG;IlB2oIP;IkBjjIA;MApII,mBA0CG;IlB8oIP;IkBpjIA;MApII,qBA0CG;IlBipIP;IkBvjIA;MApII,mBA0CG;IlBopIP;IkB1jIA;MApII,sBA0CG;IlBupIP;IkB7jIA;MApII,4BA0CG;IlB0pIP;IkBhkIA;MApII,2BA0CG;IlB6pIP;IkBnkIA;MApII,yBA0CG;IlBgqIP;IkBtkIA;MApII,2BA0CG;IlBmqIP;IkBzkIA;MApII,yBA0CG;IlBsqIP;IkB5kIA;MApII,qBA0CG;IlByqIP;IkB/kIA;MApII,2BA0CG;IlB4qIP;IkBllIA;MApII,0BA0CG;IlB+qIP;IkBrlIA;MApII,wBA0CG;IlBkrIP;IkBxlIA;MApII,0BA0CG;IlBqrIP;IkB3lIA;MApII,wBA0CG;IlBwrIP;IkB9lIA;MApII,oBA0CG;IlB2rIP;IkBjmIA;MApII,0BA0CG;IlB8rIP;IkBpmIA;MApII,yBA0CG;IlBisIP;IkBvmIA;MApII,uBA0CG;IlBosIP;IkB1mIA;MApII,yBA0CG;IlBusIP;IkB7mIA;MApII,uBA0CG;IlB0sIP;IkBhnIA;MApII,uBA0CG;IlB6sIP;IkBnnIA;MApII,6BA0CG;IlBgtIP;IkBtnIA;MApII,4BA0CG;IlBmtIP;IkBznIA;MApII,0BA0CG;IlBstIP;IkB5nIA;MApII,4BA0CG;IlBytIP;IkB/nIA;MApII,0BA0CG;IlB4tIP;IkBloIA;MApII,MA0CG;IlB+tIP;IkBroIA;MApII,YA0CG;IlBkuIP;IkBxoIA;MApII,WA0CG;IlBquIP;IkB3oIA;MApII,SA0CG;IlBwuIP;IkB9oIA;MApII,WA0CG;IlB2uIP;IkBjpIA;MApII,SA0CG;IlB8uIP;IkBppIA;MApII,UA0CG;IlBivIP;IkBvpIA;MApII,gBA0CG;IlBovIP;IkB1pIA;MApII,eA0CG;IlBuvIP;IkB7pIA;MApII,aA0CG;IlB0vIP;IkBhqIA;MApII,eA0CG;IlB6vIP;IkBnqIA;MApII,aA0CG;IlBgwIP;IkBtqIA;MApII,kBA0CG;MA1CH,aA0CG;IlBmwIP;IkBzqIA;MApII,wBA0CG;MA1CH,mBA0CG;IlBswIP;IkB5qIA;MApII,uBA0CG;MA1CH,kBA0CG;IlBywIP;IkB/qIA;MApII,qBA0CG;MA1CH,gBA0CG;IlB4wIP;IkBlrIA;MApII,uBA0CG;MA1CH,kBA0CG;IlB+wIP;IkBrrIA;MApII,qBA0CG;MA1CH,gBA0CG;IlBkxIP;IkBxrIA;MApII,iBA0CG;IlBqxIP;IkB3rIA;MApII,eA0CG;IlBwxIP;IkB9rIA;MApII,kBA0CG;IlB2xIP;EACF;EOzyIE;IWuGA;MApII,mBA0CG;IlBgyIP;IkBtsIA;MApII,iBA0CG;IlBmyIP;IkBzsIA;MApII,WA0CG;IlBsyIP;IkB5sIA;MApII,sBA0CG;MA1CH,mBA0CG;IlByyIP;IkB/sIA;MApII,oBA0CG;MA1CH,iBA0CG;IlB4yIP;IkBltIA;MApII,mBA0CG;MA1CH,gBA0CG;IlB+yIP;IkBrtIA;MApII,yBA0CG;MA1CH,sBA0CG;IlBkzIP;IkBxtIA;MApII,mBA0CG;MA1CH,gBA0CG;IlBqzIP;IkB3tIA;MApII,eA+CO;IlBmzIX;IkB9tIA;MApII,qBA+CO;IlBszIX;IkBjuIA;MApII,cA+CO;IlByzIX;IkBpuIA;MApII,aA+CO;IlB4zIX;IkBvuIA;MApII,oBA+CO;IlB+zIX;IkB1uIA;MApII,cA+CO;IlBk0IX;IkB7uIA;MApII,kBA+CO;IlBq0IX;IkBhvIA;MApII,mBA+CO;IlBw0IX;IkBnvIA;MApII,aA+CO;IlB20IX;IkBtvIA;MApII,oBA+CO;IlB80IX;IkBzvIA;MApII,iBA+CO;IlBi1IX;IkB5vIA;MApII,kBA+CO;IlBo1IX;IkB/vIA;MApII,aA+CO;IlBu1IX;IkBlwIA;MApII,cA0CG;IlB+1IP;IkBrwIA;MApII,mBA+CO;IlB61IX;IkBxwIA;MApII,sBA+CO;IlBg2IX;IkB3wIA;MApII,2BA+CO;IlBm2IX;IkB9wIA;MApII,8BA+CO;IlBs2IX;IkBjxIA;MApII,YA0CG;IlB82IP;IkBpxIA;MApII,YA0CG;IlBi3IP;IkBvxIA;MApII,cA0CG;IlBo3IP;IkB1xIA;MApII,cA0CG;IlBu3IP;IkB7xIA;MApII,eA+CO;IlBq3IX;IkBhyIA;MApII,iBA+CO;IlBw3IX;IkBnyIA;MApII,uBA+CO;IlB23IX;IkBtyIA;MApII,2BA0CG;IlBm4IP;IkBzyIA;MApII,yBA0CG;IlBs4IP;IkB5yIA;MApII,uBA0CG;IlBy4IP;IkB/yIA;MApII,8BA0CG;IlB44IP;IkBlzIA;MApII,6BA0CG;IlB+4IP;IkBrzIA;MApII,6BA0CG;IlBk5IP;IkBxzIA;MApII,oBA0CG;IlBq5IP;IkB3zIA;MApII,kBA0CG;IlBw5IP;IkB9zIA;MApII,qBA0CG;IlB25IP;IkBj0IA;MApII,sBA0CG;IlB85IP;IkBp0IA;MApII,wBA0CG;IlBi6IP;IkBv0IA;MApII,sBA0CG;IlBo6IP;IkB10IA;MApII,oBA0CG;IlBu6IP;IkB70IA;MApII,uBA0CG;IlB06IP;IkBh1IA;MApII,qBA0CG;IlB66IP;IkBn1IA;MApII,mBA0CG;IlBg7IP;IkBt1IA;MApII,qBA0CG;IlBm7IP;IkBz1IA;MApII,oBA0CG;IlBs7IP;IkB51IA;MApII,yBA0CG;IlBy7IP;IkB/1IA;MApII,uBA0CG;IlB47IP;IkBl2IA;MApII,qBA0CG;IlB+7IP;IkBr2IA;MApII,4BA0CG;IlBk8IP;IkBx2IA;MApII,2BA0CG;IlBq8IP;IkB32IA;MApII,sBA0CG;IlBw8IP;IkB92IA;MApII,gBA0CG;IlB28IP;IkBj3IA;MApII,sBA0CG;IlB88IP;IkBp3IA;MApII,oBA0CG;IlBi9IP;IkBv3IA;MApII,kBA0CG;IlBo9IP;IkB13IA;MApII,oBA0CG;IlBu9IP;IkB73IA;MApII,mBA0CG;IlB09IP;IkBh4IA;MApII,kBA0CG;IlB69IP;IkBn4IA;MApII,gBA0CG;IlBg+IP;IkBt4IA;MApII,mBA0CG;IlBm+IP;IkBz4IA;MApII,oBA0CG;IlBs+IP;IkB54IA;MApII,qCA0CG;IlBy+IP;IkB/4IA;MApII,qCA0CG;IlB4+IP;IkBl5IA;MApII,qCA0CG;IlB++IP;IkBr5IA;MApII,qCA0CG;IlBk/IP;IkBx5IA;MApII,mBA0CG;IlBq/IP;IkB35IA;MApII,mBA+CO;IlBm/IX;IkB95IA;MApII,sBA+CO;IlBs/IX;IkBj6IA;MApII,qBA+CO;IlBy/IX;IkBp6IA;MApII,SA0CG;IlBigJP;IkBv6IA;MApII,QA0CG;IlBogJP;IkB16IA;MApII,QA0CG;IlBugJP;IkB76IA;MApII,QA0CG;IlB0gJP;IkBh7IA;MApII,QA0CG;IlB6gJP;IkBn7IA;MApII,QA0CG;IlBghJP;IkBt7IA;MApII,QA0CG;IlBmhJP;IkBz7IA;MApII,QA0CG;IlBshJP;IkB57IA;MApII,SA0CG;IlByhJP;IkB/7IA;MApII,eA0CG;IlB4hJP;IkBl8IA;MApII,cA0CG;IlB+hJP;IkBr8IA;MApII,YA0CG;IlBkiJP;IkBx8IA;MApII,cA0CG;IlBqiJP;IkB38IA;MApII,YA0CG;IlBwiJP;IkB98IA;MApII,YA0CG;IlB2iJP;IkBj9IA;MApII,gBA0CG;IlB8iJP;IkBp9IA;MApII,sBA0CG;IlBijJP;IkBv9IA;MApII,qBA0CG;IlBojJP;IkB19IA;MApII,mBA0CG;IlBujJP;IkB79IA;MApII,qBA0CG;IlB0jJP;IkBh+IA;MApII,mBA0CG;IlB6jJP;IkBn+IA;MApII,mBA0CG;IlBgkJP;IkBt+IA;MApII,eA0CG;IlBmkJP;IkBz+IA;MApII,qBA0CG;IlBskJP;IkB5+IA;MApII,oBA0CG;IlBykJP;IkB/+IA;MApII,kBA0CG;IlB4kJP;IkBl/IA;MApII,oBA0CG;IlB+kJP;IkBr/IA;MApII,kBA0CG;IlBklJP;IkBx/IA;MApII,kBA0CG;IlBqlJP;IkB3/IA;MApII,qBA0CG;IlBwlJP;IkB9/IA;MApII,2BA0CG;IlB2lJP;IkBjgJA;MApII,0BA0CG;IlB8lJP;IkBpgJA;MApII,wBA0CG;IlBimJP;IkBvgJA;MApII,0BA0CG;IlBomJP;IkB1gJA;MApII,wBA0CG;IlBumJP;IkB7gJA;MApII,wBA0CG;IlB0mJP;IkBhhJA;MApII,oBA0CG;IlB6mJP;IkBnhJA;MApII,0BA0CG;IlBgnJP;IkBthJA;MApII,yBA0CG;IlBmnJP;IkBzhJA;MApII,uBA0CG;IlBsnJP;IkB5hJA;MApII,yBA0CG;IlBynJP;IkB/hJA;MApII,uBA0CG;IlB4nJP;IkBliJA;MApII,uBA0CG;IlB+nJP;IkBriJA;MApII,mBA0CG;IlBkoJP;IkBxiJA;MApII,yBA0CG;IlBqoJP;IkB3iJA;MApII,wBA0CG;IlBwoJP;IkB9iJA;MApII,sBA0CG;IlB2oJP;IkBjjJA;MApII,wBA0CG;IlB8oJP;IkBpjJA;MApII,sBA0CG;IlBipJP;IkBvjJA;MApII,sBA0CG;IlBopJP;IkB1jJA;MApII,sBA0CG;IlBupJP;IkB7jJA;MApII,4BA0CG;IlB0pJP;IkBhkJA;MApII,2BA0CG;IlB6pJP;IkBnkJA;MApII,yBA0CG;IlBgqJP;IkBtkJA;MApII,2BA0CG;IlBmqJP;IkBzkJA;MApII,yBA0CG;IlBsqJP;IkB5kJA;MApII,6BA0CG;IlByqJP;IkB/kJA;MApII,4BA0CG;IlB4qJP;IkBllJA;MApII,yBA0CG;IlB+qJP;IkBrlJA;MApII,UA0CG;IlBkrJP;IkBxlJA;MApII,gBA0CG;IlBqrJP;IkB3lJA;MApII,eA0CG;IlBwrJP;IkB9lJA;MApII,aA0CG;IlB2rJP;IkBjmJA;MApII,eA0CG;IlB8rJP;IkBpmJA;MApII,aA0CG;IlBisJP;IkBvmJA;MApII,iBA0CG;IlBosJP;IkB1mJA;MApII,uBA0CG;IlBusJP;IkB7mJA;MApII,sBA0CG;IlB0sJP;IkBhnJA;MApII,oBA0CG;IlB6sJP;IkBnnJA;MApII,sBA0CG;IlBgtJP;IkBtnJA;MApII,oBA0CG;IlBmtJP;IkBznJA;MApII,gBA0CG;IlBstJP;IkB5nJA;MApII,sBA0CG;IlBytJP;IkB/nJA;MApII,qBA0CG;IlB4tJP;IkBloJA;MApII,mBA0CG;IlB+tJP;IkBroJA;MApII,qBA0CG;IlBkuJP;IkBxoJA;MApII,mBA0CG;IlBquJP;IkB3oJA;MApII,sBA0CG;IlBwuJP;IkB9oJA;MApII,4BA0CG;IlB2uJP;IkBjpJA;MApII,2BA0CG;IlB8uJP;IkBppJA;MApII,yBA0CG;IlBivJP;IkBvpJA;MApII,2BA0CG;IlBovJP;IkB1pJA;MApII,yBA0CG;IlBuvJP;IkB7pJA;MApII,qBA0CG;IlB0vJP;IkBhqJA;MApII,2BA0CG;IlB6vJP;IkBnqJA;MApII,0BA0CG;IlBgwJP;IkBtqJA;MApII,wBA0CG;IlBm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;IkBnhKA;MApII,cA0CG;IlBgnKP;IkBthKA;MApII,YA0CG;IlBmnKP;IkBzhKA;MApII,cA0CG;IlBsnKP;IkB5hKA;MApII,YA0CG;IlBynKP;IkB/hKA;MApII,YA0CG;IlB4nKP;IkBliKA;MApII,gBA0CG;IlB+nKP;IkBriKA;MApII,sBA0CG;IlBkoKP;IkBxiKA;MApII,qBA0CG;IlBqoKP;IkB3iKA;MApII,mBA0CG;IlBwoKP;IkB9iKA;MApII,qBA0CG;IlB2oKP;IkBjjKA;MApII,mBA0CG;IlB8oKP;IkBpjKA;MApII,mBA0CG;IlBipKP;IkBvjKA;MApII,eA0CG;IlBopKP;IkB1jKA;MApII,qBA0CG;IlBupKP;IkB7jKA;MApII,oBA0CG;IlB0pKP;IkBhkKA;MApII,kBA0CG;IlB6pKP;IkBnkKA;MApII,oBA0CG;IlBgqKP;IkBtkKA;MApII,kBA0CG;IlBmqKP;IkBzkKA;MApII,kBA0CG;IlBsqKP;IkB5kKA;MApII,qBA0CG;IlByqKP;IkB/kKA;MApII,2BA0CG;IlB4qKP;IkBllKA;MApII,0BA0CG;IlB+qKP;IkBrlKA;MApII,wBA0CG;IlBkrKP;IkBxlKA;MApII,0BA0CG;IlBqrKP;IkB3lKA;MApII,wBA0CG;IlBwrKP;IkB9lKA;MApII,wBA0CG;IlB2rKP;IkBjmKA;MApII,oBA0CG;IlB8rKP;IkBpmKA;MApII,0BA0CG;IlBisKP;IkBvmKA;MApII,yBA0CG;IlBosKP;IkB1mKA;MApII,uBA0CG;IlBusKP;IkB7mKA;MApII,yBA0CG;IlB0sKP;IkBhnKA;MApII,uBA0CG;IlB6sKP;IkBnnKA;MApII,uBA0CG;IlBgtKP;IkBtnKA;MApII,mBA0CG;IlBmtKP;IkBznKA;MApII,yBA0CG;IlBstKP;IkB5nKA;MApII,wBA0CG;IlBytKP;IkB/nKA;MApII,sBA0CG;IlB4tKP;IkBloKA;MApII,wBA0CG;IlB+tKP;IkBroKA;MApII,sBA0CG;IlBkuKP;IkBxoKA;MApII,sBA0CG;IlBquKP;IkB3oKA;MApII,sBA0CG;IlBwuKP;IkB9oKA;MApII,4BA0CG;IlB2uKP;IkBjpKA;MApII,2BA0CG;IlB8uKP;IkBppKA;MApII,yBA0CG;IlBivKP;IkBvpKA;MApII,2BA0CG;IlBovKP;IkB1pKA;MApII,yBA0CG;IlBuvKP;IkB7pKA;MApII,6BA0CG;IlB0vKP;IkBhqKA;MApII,4BA0CG;IlB6vKP;IkBnqKA;MApII,yBA0CG;IlBgwKP;IkBtqKA;MApII,UA0CG;IlBmwKP;IkBzqKA;MApII,gBA0CG;IlBswKP;IkB5qKA;MApII,eA0CG;IlBywKP;IkB/qKA;MApII,aA0CG;IlB4wKP;IkBlrKA;MApII,eA0CG;IlB+wKP;IkBrrKA;MApII,aA0CG;IlBkxKP;IkBxrKA;MApII,iBA0CG;IlBqxKP;IkB3rKA;MApII,uBA0CG;IlBwxKP;IkB9rKA;MApII,sBA0CG;IlB2xKP;IkBjsKA;MApII,oBA0CG;IlB8xKP;IkBpsKA;MApII,sBA0CG;IlBiyKP;IkBvsKA;MApII,oBA0CG;IlBoyKP;IkB1sKA;MApII,gBA0CG;IlBuyKP;IkB7sKA;MApII,sBA0CG;IlB0yKP;IkBhtKA;MApII,qBA0CG;IlB6yKP;IkBntKA;MApII,mBA0CG;IlBgzKP;IkBttKA;MApII,qBA0CG;IlBmzKP;IkBztKA;MApII,mBA0CG;IlBszKP;IkB5tKA;MApII,sBA0CG;IlByzKP;IkB/tKA;MApII,4BA0CG;IlB4zKP;IkBluKA;MApII,2BA0CG;IlB+zKP;IkBruKA;MApII,yBA0CG;IlBk0KP;IkBxuKA;MApII,2BA0CG;IlBq0KP;IkB3uKA;MApII,yBA0CG;IlBw0KP;IkB9uKA;MApII,qBA0CG;IlB20KP;IkBjvKA;MApII,2BA0CG;IlB80KP;IkBpvKA;MApII,0BA0CG;IlBi1KP;IkBvvKA;MApII,wBA0CG;IlBo1KP;IkB1vKA;MApII,0BA0CG;IlBu1KP;IkB7vKA;MApII,wBA0CG;IlB01KP;IkBhwKA;MApII,oBA0CG;IlB61KP;IkBnwKA;MApII,0BA0CG;IlBg2KP;IkBtwKA;MApII,yBA0CG;IlBm2KP;IkBzwKA;MApII,uBA0CG;IlBs2KP;IkB5wKA;MApII,yBA0CG;IlBy2KP;IkB/wKA;MApII,uBA0CG;IlB42KP;IkBlxKA;MApII,uBA0CG;IlB+2KP;IkBrxKA;MApII,6BA0CG;IlBk3KP;IkBxxKA;MApII,4BA0CG;IlBq3KP;IkB3xKA;MApII,0BA0CG;IlBw3KP;IkB9xKA;MApII,4BA0CG;IlB23KP;IkBjyKA;MApII,0BA0CG;IlB83KP;IkBpyKA;MApII,MA0CG;IlBi4KP;IkBvyKA;MApII,YA0CG;IlBo4KP;IkB1yKA;MApII,WA0CG;IlBu4KP;IkB7yKA;MApII,SA0CG;IlB04KP;IkBhzKA;MApII,WA0CG;IlB64KP;IkBnzKA;MApII,SA0CG;IlBg5KP;IkBtzKA;MApII,UA0CG;IlBm5KP;IkBzzKA;MApII,gBA0CG;IlBs5KP;IkB5zKA;MApII,eA0CG;IlBy5KP;IkB/zKA;MApII,aA0CG;IlB45KP;IkBl0KA;MApII,eA0CG;IlB+5KP;IkBr0KA;MApII,aA0CG;IlBk6KP;IkBx0KA;MApII,kBA0CG;MA1CH,aA0CG;IlBq6KP;IkB30KA;MApII,wBA0CG;MA1CH,mBA0CG;IlBw6KP;IkB90KA;MApII,uBA0CG;MA1CH,kBA0CG;IlB26KP;IkBj1KA;MApII,qBA0CG;MA1CH,gBA0CG;IlB86KP;IkBp1KA;MApII,uBA0CG;MA1CH,kBA0CG;IlBi7KP;IkBv1KA;MApII,qBA0CG;MA1CH,gBA0CG;IlBo7KP;IkB11KA;MApII,iBA0CG;IlBu7KP;IkB71KA;MApII,eA0CG;IlB07KP;IkBh2KA;MApII,kBA0CG;IlB67KP;EACF;AACF","file":"bootstrap-utilities.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"violet\": $violet,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"amber\": $amber,\n \"yellow\": $yellow,\n \"lime\": $lime,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"brown\": $brown,\n \"gray\": $gray,\n \"pewter\": $pewter,\n ),\n $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n \"025\": 94%,\n \"050\": 90%,\n \"100\": 80%,\n \"200\": 60%,\n \"300\": 40%,\n \"400\": 20%,\n) !default;\n\n$color-shades: (\n \"600\": 16%,\n \"700\": 32%,\n \"800\": 48%,\n \"900\": 64%,\n \"950\": 76%,\n \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n @each $stop, $percent in $color-tints {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n }\n $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n @each $stop, $percent in $color-shades {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n @each $prop, $value in $map {\n #{$prop}: #{$value};\n }\n}\n// scss-docs-end mixin-tokens\n","/*!\n * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n --blue-500: oklch(60% 0.24 240deg);\n --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n --indigo-500: oklch(56% 0.26 288deg);\n --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n --violet-500: oklch(56% 0.24 300deg);\n --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n --purple-500: oklch(56% 0.24 320deg);\n --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n --pink-500: oklch(60% 0.22 4deg);\n --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n --red-500: oklch(60% 0.22 20deg);\n --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n --orange-500: oklch(70% 0.22 52deg);\n --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n --amber-500: oklch(79% 0.2 78deg);\n --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n --yellow-500: oklch(88% 0.24 88deg);\n --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n --lime-500: oklch(65% 0.24 135deg);\n --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n --green-500: oklch(64% 0.22 160deg);\n --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n --teal-500: oklch(68% 0.22 190deg);\n --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n --cyan-500: oklch(69% 0.22 220deg);\n --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n --brown-500: oklch(60% 0.12 54deg);\n --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n --gray-500: oklch(60% 0.02 245deg);\n --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n --pewter-500: oklch(65% 0.01 290deg);\n --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n --black: #000;\n --white: #fff;\n --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n --font-weight-lighter: lighter;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-bolder: bolder;\n --body-font-family: system-ui;\n --body-font-size: var(--font-size-base);\n --body-font-weight: 400;\n --body-line-height: 1.5;\n --heading-color: inherit;\n --hr-border-color: var(--border-color);\n --link-color: light-dark(var(--primary-base), var(--primary-text));\n --link-decoration: underline;\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --code-font-size: 95%;\n --code-color: var(--fg-2);\n --border-width: 1px;\n --border-style: solid;\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --border-radius: 0.5rem;\n --border-radius-xs: 0.375rem;\n --border-radius-sm: 0.5rem;\n --border-radius-lg: 0.75rem;\n --border-radius-xl: 1rem;\n --border-radius-2xl: 2rem;\n --border-radius-pill: 50rem;\n --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --spacer: 1rem;\n --focus-ring-width: 3px;\n --focus-ring-offset: 1px;\n --focus-ring-color: var(--primary-focus-ring);\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n --control-checked-bg: var(--primary-base);\n --control-checked-border-color: var(--control-checked-bg);\n --control-active-bg: var(--primary-base);\n --control-active-border-color: var(--control-active-bg);\n --control-disabled-bg: var(--bg-3);\n --control-disabled-opacity: 0.65;\n --btn-input-fg: var(--fg-body);\n --btn-input-bg: var(--bg-body);\n --btn-input-min-height: 2.375rem;\n --btn-input-padding-y: 0.375rem;\n --btn-input-padding-x: 0.75rem;\n --btn-input-font-size: var(--font-size-base);\n --btn-input-line-height: var(--line-height-base);\n --btn-input-border-radius: var(--border-radius);\n --btn-input-xs-min-height: 1.5rem;\n --btn-input-xs-padding-y: 0.125rem;\n --btn-input-xs-padding-x: 0.5rem;\n --btn-input-xs-font-size: var(--font-size-xs);\n --btn-input-xs-line-height: 1.125;\n --btn-input-xs-border-radius: var(--border-radius-xs);\n --btn-input-sm-min-height: 2rem;\n --btn-input-sm-padding-y: 0.25rem;\n --btn-input-sm-padding-x: 0.625rem;\n --btn-input-sm-font-size: var(--font-size-sm);\n --btn-input-sm-line-height: var(--line-height-sm);\n --btn-input-sm-border-radius: var(--border-radius-sm);\n --btn-input-lg-min-height: 2.75rem;\n --btn-input-lg-padding-y: 0.5rem;\n --btn-input-lg-padding-x: 1rem;\n --btn-input-lg-font-size: var(--font-size-md);\n --btn-input-lg-line-height: var(--line-height-md);\n --btn-input-lg-border-radius: var(--border-radius-lg);\n --form-valid-color: var(--success-text);\n --form-valid-border-color: var(--success-text);\n --form-invalid-color: var(--danger-text);\n --form-invalid-border-color: var(--danger-text);\n --font-size-xs: 0.75rem;\n --line-height-xs: 1.25;\n --font-size-sm: 0.875rem;\n --line-height-sm: 1.5;\n --font-size-md: 1rem;\n --line-height-md: 1.5;\n --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n --line-height-lg: 1.5;\n --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n --line-height-xl: 1.4285714286;\n --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n --line-height-2xl: 1.3333333333;\n --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n --line-height-3xl: 1.2;\n --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n --line-height-4xl: 1.1;\n --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n --line-height-5xl: 1.1;\n --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n --line-height-6xl: 1;\n --primary-base: var(--blue-500);\n --primary-text: light-dark(var(--blue-600), var(--blue-400));\n --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n --primary-bg: var(--blue-500);\n --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n --primary-border: light-dark(var(--blue-300), var(--blue-600));\n --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n --primary-contrast: var(--white);\n --accent-base: var(--indigo-500);\n --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n --accent-bg: var(--indigo-500);\n --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n --accent-contrast: var(--white);\n --success-base: var(--green-500);\n --success-text: light-dark(var(--green-600), var(--green-400));\n --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n --success-bg: var(--green-500);\n --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n --success-border: light-dark(var(--green-300), var(--green-600));\n --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n --success-contrast: var(--white);\n --danger-base: var(--red-500);\n --danger-text: light-dark(var(--red-600), var(--red-400));\n --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n --danger-bg: var(--red-500);\n --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n --danger-border: light-dark(var(--red-300), var(--red-600));\n --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n --danger-contrast: var(--white);\n --warning-base: var(--yellow-500);\n --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n --warning-bg: var(--yellow-500);\n --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n --warning-contrast: var(--gray-900);\n --info-base: var(--cyan-500);\n --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n --info-bg: var(--cyan-500);\n --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n --info-contrast: var(--gray-900);\n --inverse-base: var(--gray-900);\n --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n --inverse-contrast: light-dark(var(--white), var(--gray-900));\n --secondary-base: var(--gray-200);\n --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n --secondary-contrast: light-dark(var(--gray-900), var(--white));\n --bg-body: light-dark(var(--white), var(--gray-975));\n --bg-1: light-dark(var(--gray-025), var(--gray-950));\n --bg-2: light-dark(var(--gray-050), var(--gray-900));\n --bg-3: light-dark(var(--gray-100), var(--gray-800));\n --bg-4: light-dark(var(--gray-200), var(--gray-700));\n --bg-white: var(--white);\n --bg-black: var(--black);\n --bg-transparent: transparent;\n --bg-inherit: inherit;\n --fg-body: light-dark(var(--gray-900), var(--gray-050));\n --fg-1: light-dark(var(--gray-800), var(--gray-200));\n --fg-2: light-dark(var(--gray-700), var(--gray-300));\n --fg-3: light-dark(var(--gray-600), var(--gray-500));\n --fg-4: light-dark(var(--gray-500), var(--gray-600));\n --fg-white: var(--white);\n --fg-black: var(--black);\n --fg-inherit: inherit;\n --border-bg: var(--bg-body);\n --border-body: light-dark(var(--gray-300), var(--gray-800));\n --border-muted: light-dark(var(--gray-200), var(--gray-800));\n --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n --border-white: var(--white);\n --border-black: var(--black);\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n color-scheme: light;\n}\n\n@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: 0.375rem;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n text-underline-offset: 0.25em;\n backface-visibility: hidden;\n }\n .icon-link > .bi {\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n fill: currentcolor;\n transition: 0.2s ease-in-out transform;\n }\n @media (prefers-reduced-motion: reduce) {\n .icon-link > .bi {\n transition: none;\n }\n }\n .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n }\n}\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: 1030;\n }\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: 1030;\n }\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n @media (width >= 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-sm-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-md-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1024px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-lg-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1280px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1536px) {\n .sticky-2xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-2xl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n}\n@layer helpers {\n .stack-container {\n container-type: inline-size;\n }\n [class*=hstack],\n [class*=vstack] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n .vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n .hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n @container (width >= 576px) {\n .vstack-sm {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 576px) {\n .hstack-sm {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 768px) {\n .vstack-md {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 768px) {\n .hstack-md {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1024px) {\n .vstack-lg {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1024px) {\n .hstack-lg {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1280px) {\n .vstack-xl {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1280px) {\n .hstack-xl {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1536px) {\n .vstack-2xl {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1536px) {\n .hstack-2xl {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n}\n@layer helpers {\n .theme-primary {\n --theme-base: var(--primary-base);\n --theme-text: var(--primary-text);\n --theme-text-emphasis: var(--primary-text-emphasis);\n --theme-bg: var(--primary-bg);\n --theme-bg-subtle: var(--primary-bg-subtle);\n --theme-bg-muted: var(--primary-bg-muted);\n --theme-border: var(--primary-border);\n --theme-focus-ring: var(--primary-focus-ring);\n --theme-contrast: var(--primary-contrast);\n }\n .theme-accent {\n --theme-base: var(--accent-base);\n --theme-text: var(--accent-text);\n --theme-text-emphasis: var(--accent-text-emphasis);\n --theme-bg: var(--accent-bg);\n --theme-bg-subtle: var(--accent-bg-subtle);\n --theme-bg-muted: var(--accent-bg-muted);\n --theme-border: var(--accent-border);\n --theme-focus-ring: var(--accent-focus-ring);\n --theme-contrast: var(--accent-contrast);\n }\n .theme-success {\n --theme-base: var(--success-base);\n --theme-text: var(--success-text);\n --theme-text-emphasis: var(--success-text-emphasis);\n --theme-bg: var(--success-bg);\n --theme-bg-subtle: var(--success-bg-subtle);\n --theme-bg-muted: var(--success-bg-muted);\n --theme-border: var(--success-border);\n --theme-focus-ring: var(--success-focus-ring);\n --theme-contrast: var(--success-contrast);\n }\n .theme-danger {\n --theme-base: var(--danger-base);\n --theme-text: var(--danger-text);\n --theme-text-emphasis: var(--danger-text-emphasis);\n --theme-bg: var(--danger-bg);\n --theme-bg-subtle: var(--danger-bg-subtle);\n --theme-bg-muted: var(--danger-bg-muted);\n --theme-border: var(--danger-border);\n --theme-focus-ring: var(--danger-focus-ring);\n --theme-contrast: var(--danger-contrast);\n }\n .theme-warning {\n --theme-base: var(--warning-base);\n --theme-text: var(--warning-text);\n --theme-text-emphasis: var(--warning-text-emphasis);\n --theme-bg: var(--warning-bg);\n --theme-bg-subtle: var(--warning-bg-subtle);\n --theme-bg-muted: var(--warning-bg-muted);\n --theme-border: var(--warning-border);\n --theme-focus-ring: var(--warning-focus-ring);\n --theme-contrast: var(--warning-contrast);\n }\n .theme-info {\n --theme-base: var(--info-base);\n --theme-text: var(--info-text);\n --theme-text-emphasis: var(--info-text-emphasis);\n --theme-bg: var(--info-bg);\n --theme-bg-subtle: var(--info-bg-subtle);\n --theme-bg-muted: var(--info-bg-muted);\n --theme-border: var(--info-border);\n --theme-focus-ring: var(--info-focus-ring);\n --theme-contrast: var(--info-contrast);\n }\n .theme-inverse {\n --theme-base: var(--inverse-base);\n --theme-text: var(--inverse-text);\n --theme-text-emphasis: var(--inverse-text-emphasis);\n --theme-bg: var(--inverse-bg);\n --theme-bg-subtle: var(--inverse-bg-subtle);\n --theme-bg-muted: var(--inverse-bg-muted);\n --theme-border: var(--inverse-border);\n --theme-focus-ring: var(--inverse-focus-ring);\n --theme-contrast: var(--inverse-contrast);\n }\n .theme-secondary {\n --theme-base: var(--secondary-base);\n --theme-text: var(--secondary-text);\n --theme-text-emphasis: var(--secondary-text-emphasis);\n --theme-bg: var(--secondary-bg);\n --theme-bg-subtle: var(--secondary-bg-subtle);\n --theme-bg-muted: var(--secondary-bg-muted);\n --theme-border: var(--secondary-border);\n --theme-focus-ring: var(--secondary-focus-ring);\n --theme-contrast: var(--secondary-contrast);\n }\n}\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n .visually-hidden:not(caption),\n .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n position: absolute !important;\n }\n .visually-hidden *,\n .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n overflow: hidden !important;\n }\n}\n@layer helpers {\n .stretched-link::after {\n position: absolute;\n inset: 0;\n z-index: 1;\n content: \"\";\n }\n}\n@layer helpers {\n .text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n@layer utilities {\n .align-baseline {\n vertical-align: baseline;\n }\n .align-top {\n vertical-align: top;\n }\n .align-middle {\n vertical-align: middle;\n }\n .align-bottom {\n vertical-align: bottom;\n }\n .align-text-bottom {\n vertical-align: text-bottom;\n }\n .align-text-top {\n vertical-align: text-top;\n }\n [class*=ratio-] {\n aspect-ratio: var(--ratio);\n }\n .ratio-auto {\n --ratio: auto;\n }\n .ratio-1x1 {\n --ratio: 1 / 1;\n }\n .ratio-4x3 {\n --ratio: 4 / 3;\n }\n .ratio-16x9 {\n --ratio: 16 / 9;\n }\n .ratio-21x9 {\n --ratio: 21 / 9;\n }\n .float-start {\n float: inline-start;\n }\n .float-end {\n float: inline-end;\n }\n .float-none {\n float: none;\n }\n .object-fit-contain {\n object-fit: contain;\n }\n .object-fit-cover {\n object-fit: cover;\n }\n .object-fit-fill {\n object-fit: fill;\n }\n .object-fit-scale {\n object-fit: scale-down;\n }\n .object-fit-none {\n object-fit: none;\n }\n .opacity-0 {\n opacity: 0;\n }\n .opacity-25 {\n opacity: 0.25;\n }\n .opacity-50 {\n opacity: 0.5;\n }\n .opacity-75 {\n opacity: 0.75;\n }\n .opacity-100 {\n opacity: 1;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-visible {\n overflow: visible;\n }\n .overflow-scroll {\n overflow: scroll;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n .overflow-x-visible {\n overflow-x: visible;\n }\n .overflow-x-scroll {\n overflow-x: scroll;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .overflow-y-hidden {\n overflow-y: hidden;\n }\n .overflow-y-visible {\n overflow-y: visible;\n }\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n .contains-inline {\n container-type: inline-size;\n }\n .contains-size {\n container-type: size;\n }\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .shadow {\n box-shadow: var(--box-shadow);\n }\n .shadow-sm {\n box-shadow: var(--box-shadow-sm);\n }\n .shadow-lg {\n box-shadow: var(--box-shadow-lg);\n }\n .shadow-none {\n box-shadow: none;\n }\n .focus-ring-primary {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n }\n .focus-ring-accent {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n }\n .focus-ring-success {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n }\n .focus-ring-danger {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n }\n .focus-ring-warning {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n }\n .focus-ring-info {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n }\n .focus-ring-inverse {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n }\n .focus-ring-secondary {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n }\n .position-static {\n position: static;\n }\n .position-relative {\n position: relative;\n }\n .position-absolute {\n position: absolute;\n }\n .position-fixed {\n position: fixed;\n }\n .position-sticky {\n position: sticky;\n }\n .top-0 {\n top: 0;\n }\n .top-50 {\n top: 50%;\n }\n .top-100 {\n top: 100%;\n }\n .bottom-0 {\n bottom: 0;\n }\n .bottom-50 {\n bottom: 50%;\n }\n .bottom-100 {\n bottom: 100%;\n }\n .start-0 {\n left: 0;\n }\n .start-50 {\n left: 50%;\n }\n .start-100 {\n left: 100%;\n }\n .end-0 {\n right: 0;\n }\n .end-50 {\n right: 50%;\n }\n .end-100 {\n right: 100%;\n }\n .translate-middle {\n transform: translate(-50%, -50%);\n }\n .translate-middle-x {\n transform: translateX(-50%);\n }\n .translate-middle-y {\n transform: translateY(-50%);\n }\n .border {\n border: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-0 {\n border: 0;\n }\n .border-top {\n border-block-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-top-0 {\n border-block-start: 0;\n }\n .border-end {\n border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-end-0 {\n border-inline-end: 0;\n }\n .border-bottom {\n border-block-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-bottom-0 {\n border-block-end: 0;\n }\n .border-start {\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-start-0 {\n border-inline-start: 0;\n }\n .border-block {\n border-block: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-block-0 {\n border-block: 0;\n }\n .border-inline {\n border-inline: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-inline-0 {\n border-inline: 0;\n }\n .border-primary {\n --border-color: var(--blue-500);\n border-color: var(--border-color);\n }\n .border-accent {\n --border-color: var(--indigo-500);\n border-color: var(--border-color);\n }\n .border-success {\n --border-color: var(--green-500);\n border-color: var(--border-color);\n }\n .border-danger {\n --border-color: var(--red-500);\n border-color: var(--border-color);\n }\n .border-warning {\n --border-color: var(--yellow-500);\n border-color: var(--border-color);\n }\n .border-info {\n --border-color: var(--cyan-500);\n border-color: var(--border-color);\n }\n .border-inverse {\n --border-color: light-dark(var(--gray-900), var(--gray-025));\n border-color: var(--border-color);\n }\n .border-secondary {\n --border-color: light-dark(var(--gray-100), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-bg {\n --border-color: var(--bg-body);\n border-color: var(--border-color);\n }\n .border-body {\n --border-color: light-dark(var(--gray-300), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-muted {\n --border-color: light-dark(var(--gray-200), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-subtle {\n --border-color: light-dark(var(--gray-100), var(--gray-900));\n border-color: var(--border-color);\n }\n .border-emphasized {\n --border-color: light-dark(var(--gray-400), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-white {\n --border-color: var(--white);\n border-color: var(--border-color);\n }\n .border-black {\n --border-color: var(--black);\n border-color: var(--border-color);\n }\n .border-subtle-primary {\n --border-color: light-dark(var(--blue-300), var(--blue-600));\n border-color: var(--border-color);\n }\n .border-subtle-accent {\n --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n border-color: var(--border-color);\n }\n .border-subtle-success {\n --border-color: light-dark(var(--green-300), var(--green-600));\n border-color: var(--border-color);\n }\n .border-subtle-danger {\n --border-color: light-dark(var(--red-300), var(--red-600));\n border-color: var(--border-color);\n }\n .border-subtle-warning {\n --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n border-color: var(--border-color);\n }\n .border-subtle-info {\n --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n border-color: var(--border-color);\n }\n .border-subtle-inverse {\n --border-color: light-dark(var(--gray-400), var(--gray-100));\n border-color: var(--border-color);\n }\n .border-subtle-secondary {\n --border-color: light-dark(var(--gray-300), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-1 {\n border-width: 1px;\n }\n .border-2 {\n border-width: 2px;\n }\n .border-3 {\n border-width: 3px;\n }\n .border-4 {\n border-width: 4px;\n }\n .border-5 {\n border-width: 5px;\n }\n .border-10 {\n border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n }\n .border-20 {\n border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n }\n .border-30 {\n border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n }\n .border-40 {\n border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n }\n .border-50 {\n border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n }\n .border-60 {\n border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n }\n .border-70 {\n border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n }\n .border-80 {\n border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n }\n .border-90 {\n border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n }\n .border-100 {\n border-color: var(--border-color);\n }\n .w-1 {\n width: 1rem;\n }\n .w-2 {\n width: 2rem;\n }\n .w-3 {\n width: 3rem;\n }\n .w-4 {\n width: 4rem;\n }\n .w-5 {\n width: 5rem;\n }\n .w-6 {\n width: 6rem;\n }\n .w-7 {\n width: 7rem;\n }\n .w-8 {\n width: 8rem;\n }\n .w-9 {\n width: 9rem;\n }\n .w-10 {\n width: 10rem;\n }\n .w-11 {\n width: 11rem;\n }\n .w-12 {\n width: 12rem;\n }\n .w-25 {\n width: 25%;\n }\n .w-50 {\n width: 50%;\n }\n .w-75 {\n width: 75%;\n }\n .w-100 {\n width: 100%;\n }\n .w-auto {\n width: auto;\n }\n .w-min {\n width: min-content;\n }\n .w-max {\n width: max-content;\n }\n .w-fit {\n width: fit-content;\n }\n .max-w-100 {\n max-width: 100%;\n }\n .min-w-0 {\n min-width: 0;\n }\n .min-w-100 {\n min-width: 100%;\n }\n .vw-100 {\n width: 100vw;\n }\n .min-vw-100 {\n min-width: 100vw;\n }\n .h-25 {\n height: 25%;\n }\n .h-50 {\n height: 50%;\n }\n .h-75 {\n height: 75%;\n }\n .h-100 {\n height: 100%;\n }\n .h-auto {\n height: auto;\n }\n .h-min {\n height: min-content;\n }\n .h-max {\n height: max-content;\n }\n .h-fit {\n height: fit-content;\n }\n .max-h-100 {\n max-height: 100%;\n }\n .min-h-0 {\n min-height: 0;\n }\n .min-h-100 {\n min-height: 100%;\n }\n .vh-100 {\n height: 100vh;\n }\n .min-vh-100 {\n min-height: 100vh;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .justify-self-start {\n justify-self: flex-start;\n }\n .justify-self-end {\n justify-self: flex-end;\n }\n .justify-self-center {\n justify-self: center;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .order-first {\n order: -1;\n }\n .order-0 {\n order: 0;\n }\n .order-1 {\n order: 1;\n }\n .order-2 {\n order: 2;\n }\n .order-3 {\n order: 3;\n }\n .order-4 {\n order: 4;\n }\n .order-5 {\n order: 5;\n }\n .order-last {\n order: 6;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n .gap-0 {\n gap: 0;\n }\n .gap-1 {\n gap: 0.25rem;\n }\n .gap-2 {\n gap: 0.5rem;\n }\n .gap-3 {\n gap: 1rem;\n }\n .gap-4 {\n gap: 1.5rem;\n }\n .gap-5 {\n gap: 3rem;\n }\n .row-gap-0 {\n row-gap: 0;\n }\n .row-gap-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2 {\n row-gap: 0.5rem;\n }\n .row-gap-3 {\n row-gap: 1rem;\n }\n .row-gap-4 {\n row-gap: 1.5rem;\n }\n .row-gap-5 {\n row-gap: 3rem;\n }\n .column-gap-0 {\n column-gap: 0;\n }\n .column-gap-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2 {\n column-gap: 0.5rem;\n }\n .column-gap-3 {\n column-gap: 1rem;\n }\n .column-gap-4 {\n column-gap: 1.5rem;\n }\n .column-gap-5 {\n column-gap: 3rem;\n }\n .font-monospace {\n font-family: var(--font-mono);\n }\n .font-body {\n font-family: var(--body-font-family);\n }\n .fs-xs {\n font-size: 0.75rem;\n }\n .fs-sm {\n font-size: 0.875rem;\n }\n .fs-md {\n font-size: 1rem;\n }\n .fs-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n }\n .fs-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n }\n .fs-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n }\n .fs-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n }\n .fs-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n }\n .fs-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n }\n .fs-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n }\n .text-xs {\n font-size: 0.75rem;\n line-height: 1.25;\n }\n .text-sm {\n font-size: 0.875rem;\n line-height: 1.5;\n }\n .text-md {\n font-size: 1rem;\n line-height: 1.5;\n }\n .text-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n line-height: 1.5;\n }\n .text-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n line-height: 1.4285714286;\n }\n .text-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n line-height: 1.3333333333;\n }\n .text-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n line-height: 1.2;\n }\n .text-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n line-height: 1.1;\n }\n .text-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n line-height: 1.1;\n }\n .text-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n line-height: 1;\n }\n .fst-italic {\n font-style: italic;\n }\n .fst-normal {\n font-style: normal;\n }\n .fw-lighter {\n font-weight: lighter;\n }\n .fw-light {\n font-weight: 300;\n }\n .fw-normal {\n font-weight: 400;\n }\n .fw-medium {\n font-weight: 500;\n }\n .fw-semibold {\n font-weight: 600;\n }\n .fw-bold {\n font-weight: 700;\n }\n .fw-bolder {\n font-weight: bolder;\n }\n .lh-1 {\n line-height: 1;\n }\n .lh-sm {\n line-height: 1.25;\n }\n .lh-base {\n line-height: 1.5;\n }\n .lh-lg {\n line-height: 2;\n }\n .text-start {\n text-align: start;\n }\n .text-end {\n text-align: end;\n }\n .text-center {\n text-align: center;\n }\n .text-decoration-none {\n text-decoration: none;\n }\n .text-decoration-underline {\n text-decoration: underline;\n }\n .text-decoration-line-through {\n text-decoration: line-through;\n }\n .text-lowercase {\n text-transform: lowercase;\n }\n .text-uppercase {\n text-transform: uppercase;\n }\n .text-capitalize {\n text-transform: capitalize;\n }\n .text-wrap {\n white-space: wrap;\n }\n .text-nowrap {\n white-space: nowrap;\n }\n .text-balance {\n white-space: balance;\n }\n .text-pretty {\n white-space: pretty;\n }\n .text-break {\n word-wrap: break-word;\n word-break: break-word;\n }\n .fg-primary {\n --fg: light-dark(var(--blue-600), var(--blue-400));\n color: var(--fg);\n }\n .fg-accent {\n --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n color: var(--fg);\n }\n .fg-success {\n --fg: light-dark(var(--green-600), var(--green-400));\n color: var(--fg);\n }\n .fg-danger {\n --fg: light-dark(var(--red-600), var(--red-400));\n color: var(--fg);\n }\n .fg-warning {\n --fg: light-dark(var(--yellow-700), var(--yellow-400));\n color: var(--fg);\n }\n .fg-info {\n --fg: light-dark(var(--cyan-600), var(--cyan-400));\n color: var(--fg);\n }\n .fg-inverse {\n --fg: light-dark(var(--gray-900), var(--gray-200));\n color: var(--fg);\n }\n .fg-secondary {\n --fg: light-dark(var(--gray-600), var(--gray-400));\n color: var(--fg);\n }\n .fg-body {\n --fg: light-dark(var(--gray-900), var(--gray-050));\n color: var(--fg);\n }\n .fg-1 {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-2 {\n --fg: light-dark(var(--gray-700), var(--gray-300));\n color: var(--fg);\n }\n .fg-3 {\n --fg: light-dark(var(--gray-600), var(--gray-500));\n color: var(--fg);\n }\n .fg-4 {\n --fg: light-dark(var(--gray-500), var(--gray-600));\n color: var(--fg);\n }\n .fg-white {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-black {\n --fg: var(--black);\n color: var(--fg);\n }\n .fg-inherit {\n --fg: inherit;\n color: var(--fg);\n }\n .fg-emphasis-primary {\n --fg: light-dark(var(--blue-800), var(--blue-200));\n color: var(--fg);\n }\n .fg-emphasis-accent {\n --fg: light-dark(var(--indigo-800), var(--indigo-300));\n color: var(--fg);\n }\n .fg-emphasis-success {\n --fg: light-dark(var(--green-800), var(--green-300));\n color: var(--fg);\n }\n .fg-emphasis-danger {\n --fg: light-dark(var(--red-800), var(--red-300));\n color: var(--fg);\n }\n .fg-emphasis-warning {\n --fg: light-dark(var(--yellow-800), var(--yellow-300));\n color: var(--fg);\n }\n .fg-emphasis-info {\n --fg: light-dark(var(--cyan-800), var(--cyan-300));\n color: var(--fg);\n }\n .fg-emphasis-inverse {\n --fg: light-dark(var(--gray-975), var(--white));\n color: var(--fg);\n }\n .fg-emphasis-secondary {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-contrast-primary {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-accent {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-success {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-danger {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-warning {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-info {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-inverse {\n --fg: light-dark(var(--white), var(--gray-900));\n color: var(--fg);\n }\n .fg-contrast-secondary {\n --fg: light-dark(var(--gray-900), var(--white));\n color: var(--fg);\n }\n .fg-10 {\n color: color-mix(in oklch, var(--fg) 10%, transparent);\n }\n .fg-20 {\n color: color-mix(in oklch, var(--fg) 20%, transparent);\n }\n .fg-30 {\n color: color-mix(in oklch, var(--fg) 30%, transparent);\n }\n .fg-40 {\n color: color-mix(in oklch, var(--fg) 40%, transparent);\n }\n .fg-50 {\n color: color-mix(in oklch, var(--fg) 50%, transparent);\n }\n .fg-60 {\n color: color-mix(in oklch, var(--fg) 60%, transparent);\n }\n .fg-70 {\n color: color-mix(in oklch, var(--fg) 70%, transparent);\n }\n .fg-80 {\n color: color-mix(in oklch, var(--fg) 80%, transparent);\n }\n .fg-90 {\n color: color-mix(in oklch, var(--fg) 90%, transparent);\n }\n .fg-100 {\n color: var(--fg);\n }\n .link-10 {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-10-hover:hover {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-20 {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-20-hover:hover {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-30 {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-30-hover:hover {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-40 {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-40-hover:hover {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-50 {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-50-hover:hover {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-60 {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-60-hover:hover {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-70 {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-70-hover:hover {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-80 {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-80-hover:hover {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-90 {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-90-hover:hover {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-100 {\n color: var(--link-color);\n }\n .link-100-hover:hover {\n color: var(--link-color);\n }\n .underline-offset-1 {\n text-underline-offset: 0.125em;\n }\n .underline-offset-1-hover:hover {\n text-underline-offset: 0.125em;\n }\n .underline-offset-2 {\n text-underline-offset: 0.25em;\n }\n .underline-offset-2-hover:hover {\n text-underline-offset: 0.25em;\n }\n .underline-offset-3 {\n text-underline-offset: 0.375em;\n }\n .underline-offset-3-hover:hover {\n text-underline-offset: 0.375em;\n }\n .underline-primary {\n text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n }\n .underline-accent {\n text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n }\n .underline-success {\n text-decoration-color: light-dark(var(--green-600), var(--green-400));\n }\n .underline-danger {\n text-decoration-color: light-dark(var(--red-600), var(--red-400));\n }\n .underline-warning {\n text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n }\n .underline-info {\n text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n }\n .underline-inverse {\n text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n }\n .underline-secondary {\n text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n }\n .underline-10 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-10-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-20 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-20-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-30 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-30-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-40 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-40-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-50 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-50-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-60 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-60-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-70 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-70-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-80 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-80-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-90 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-90-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-100 {\n text-decoration-color: var(--link-color);\n }\n .underline-100-hover:hover {\n text-decoration-color: var(--link-color);\n }\n .underline-thickness-1 {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-1-hover:hover {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-2 {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-2-hover:hover {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-3 {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-3-hover:hover {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-4 {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-4-hover:hover {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-5 {\n text-decoration-thickness: 5px;\n }\n .underline-thickness-5-hover:hover {\n text-decoration-thickness: 5px;\n }\n .bg-primary {\n --bg: var(--blue-500);\n background-color: var(--bg);\n }\n .bg-accent {\n --bg: var(--indigo-500);\n background-color: var(--bg);\n }\n .bg-success {\n --bg: var(--green-500);\n background-color: var(--bg);\n }\n .bg-danger {\n --bg: var(--red-500);\n background-color: var(--bg);\n }\n .bg-warning {\n --bg: var(--yellow-500);\n background-color: var(--bg);\n }\n .bg-info {\n --bg: var(--cyan-500);\n background-color: var(--bg);\n }\n .bg-inverse {\n --bg: light-dark(var(--gray-900), var(--gray-025));\n background-color: var(--bg);\n }\n .bg-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-600));\n background-color: var(--bg);\n }\n .bg-body {\n --bg: light-dark(var(--white), var(--gray-975));\n background-color: var(--bg);\n }\n .bg-1 {\n --bg: light-dark(var(--gray-025), var(--gray-950));\n background-color: var(--bg);\n }\n .bg-2 {\n --bg: light-dark(var(--gray-050), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-3 {\n --bg: light-dark(var(--gray-100), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-4 {\n --bg: light-dark(var(--gray-200), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-white {\n --bg: var(--white);\n background-color: var(--bg);\n }\n .bg-black {\n --bg: var(--black);\n background-color: var(--bg);\n }\n .bg-transparent {\n --bg: transparent;\n background-color: var(--bg);\n }\n .bg-inherit {\n --bg: inherit;\n background-color: var(--bg);\n }\n .bg-subtle-primary {\n --bg: light-dark(var(--blue-100), var(--blue-900));\n background-color: var(--bg);\n }\n .bg-subtle-accent {\n --bg: light-dark(var(--indigo-100), var(--indigo-900));\n background-color: var(--bg);\n }\n .bg-subtle-success {\n --bg: light-dark(var(--green-100), var(--green-900));\n background-color: var(--bg);\n }\n .bg-subtle-danger {\n --bg: light-dark(var(--red-100), var(--red-900));\n background-color: var(--bg);\n }\n .bg-subtle-warning {\n --bg: light-dark(var(--yellow-100), var(--yellow-900));\n background-color: var(--bg);\n }\n .bg-subtle-info {\n --bg: light-dark(var(--cyan-100), var(--cyan-900));\n background-color: var(--bg);\n }\n .bg-subtle-inverse {\n --bg: light-dark(var(--gray-100), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-subtle-secondary {\n --bg: light-dark(var(--gray-050), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-muted-primary {\n --bg: light-dark(var(--blue-200), var(--blue-800));\n background-color: var(--bg);\n }\n .bg-muted-accent {\n --bg: light-dark(var(--indigo-200), var(--indigo-800));\n background-color: var(--bg);\n }\n .bg-muted-success {\n --bg: light-dark(var(--green-200), var(--green-800));\n background-color: var(--bg);\n }\n .bg-muted-danger {\n --bg: light-dark(var(--red-200), var(--red-800));\n background-color: var(--bg);\n }\n .bg-muted-warning {\n --bg: light-dark(var(--yellow-200), var(--yellow-800));\n background-color: var(--bg);\n }\n .bg-muted-info {\n --bg: light-dark(var(--cyan-200), var(--cyan-800));\n background-color: var(--bg);\n }\n .bg-muted-inverse {\n --bg: light-dark(var(--gray-200), var(--gray-300));\n background-color: var(--bg);\n }\n .bg-muted-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-10 {\n background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n }\n .bg-20 {\n background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n }\n .bg-30 {\n background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n }\n .bg-40 {\n background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n }\n .bg-50 {\n background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n }\n .bg-60 {\n background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n }\n .bg-70 {\n background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n }\n .bg-80 {\n background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n }\n .bg-90 {\n background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n }\n .bg-100 {\n background-color: var(--bg);\n }\n .theme-contrast {\n background-color: var(--theme-bg);\n color: var(--theme-contrast);\n }\n .theme-subtle {\n background-color: var(--theme-bg-subtle);\n color: var(--theme-text);\n }\n .theme-muted {\n background-color: var(--theme-bg-muted);\n color: var(--theme-text-emphasis);\n }\n .theme-border {\n border: var(--border-width) solid var(--theme-border);\n }\n .bg-gradient {\n background-image: var(--gradient);\n }\n .user-select-all {\n user-select: all;\n }\n .user-select-auto {\n user-select: auto;\n }\n .user-select-text {\n user-select: text;\n }\n .user-select-none {\n user-select: none;\n }\n .pe-none {\n pointer-events: none;\n }\n .pe-auto {\n pointer-events: auto;\n }\n .rounded {\n border-radius: var(--border-radius);\n }\n .rounded-0 {\n border-radius: 0;\n }\n .rounded-1 {\n border-radius: var(--border-radius-sm);\n }\n .rounded-2 {\n border-radius: var(--border-radius);\n }\n .rounded-3 {\n border-radius: var(--border-radius-lg);\n }\n .rounded-4 {\n border-radius: var(--border-radius-xl);\n }\n .rounded-5 {\n border-radius: var(--border-radius-2xl);\n }\n .rounded-circle {\n border-radius: 50%;\n }\n .rounded-pill {\n border-radius: var(--border-radius-pill);\n }\n .rounded-top {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-top-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-top-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-top-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-top-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-top-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-top-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .rounded-end {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-end-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-end-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-end-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-end-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-end-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-end-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-bottom {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-bottom-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-bottom-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-bottom-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-bottom-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-bottom-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-bottom-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-start {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-start-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-start-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-start-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-start-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-start-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-start-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .visible {\n visibility: visible;\n }\n .invisible {\n visibility: hidden;\n }\n .z-n1 {\n z-index: -1;\n }\n .z-0 {\n z-index: 0;\n }\n .z-1 {\n z-index: 1;\n }\n .z-2 {\n z-index: 2;\n }\n .z-3 {\n z-index: 3;\n }\n @media (width >= 576px) {\n .float-sm-start {\n float: inline-start;\n }\n .float-sm-end {\n float: inline-end;\n }\n .float-sm-none {\n float: none;\n }\n .object-fit-sm-contain {\n object-fit: contain;\n }\n .object-fit-sm-cover {\n object-fit: cover;\n }\n .object-fit-sm-fill {\n object-fit: fill;\n }\n .object-fit-sm-scale {\n object-fit: scale-down;\n }\n .object-fit-sm-none {\n object-fit: none;\n }\n .d-sm-inline {\n display: inline;\n }\n .d-sm-inline-block {\n display: inline-block;\n }\n .d-sm-block {\n display: block;\n }\n .d-sm-grid {\n display: grid;\n }\n .d-sm-inline-grid {\n display: inline-grid;\n }\n .d-sm-table {\n display: table;\n }\n .d-sm-table-row {\n display: table-row;\n }\n .d-sm-table-cell {\n display: table-cell;\n }\n .d-sm-flex {\n display: flex;\n }\n .d-sm-inline-flex {\n display: inline-flex;\n }\n .d-sm-contents {\n display: contents;\n }\n .d-sm-flow-root {\n display: flow-root;\n }\n .d-sm-none {\n display: none;\n }\n .flex-sm-fill {\n flex: 1 1 auto;\n }\n .flex-sm-row {\n flex-direction: row;\n }\n .flex-sm-column {\n flex-direction: column;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-sm-grow-0 {\n flex-grow: 0;\n }\n .flex-sm-grow-1 {\n flex-grow: 1;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1;\n }\n .flex-sm-wrap {\n flex-wrap: wrap;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-sm-start {\n justify-content: flex-start;\n }\n .justify-content-sm-end {\n justify-content: flex-end;\n }\n .justify-content-sm-center {\n justify-content: center;\n }\n .justify-content-sm-between {\n justify-content: space-between;\n }\n .justify-content-sm-around {\n justify-content: space-around;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly;\n }\n .justify-items-sm-start {\n justify-items: start;\n }\n .justify-items-sm-end {\n justify-items: end;\n }\n .justify-items-sm-center {\n justify-items: center;\n }\n .justify-items-sm-stretch {\n justify-items: stretch;\n }\n .justify-self-sm-start {\n justify-self: flex-start;\n }\n .justify-self-sm-end {\n justify-self: flex-end;\n }\n .justify-self-sm-center {\n justify-self: center;\n }\n .align-items-sm-start {\n align-items: flex-start;\n }\n .align-items-sm-end {\n align-items: flex-end;\n }\n .align-items-sm-center {\n align-items: center;\n }\n .align-items-sm-baseline {\n align-items: baseline;\n }\n .align-items-sm-stretch {\n align-items: stretch;\n }\n .align-content-sm-start {\n align-content: flex-start;\n }\n .align-content-sm-end {\n align-content: flex-end;\n }\n .align-content-sm-center {\n align-content: center;\n }\n .align-content-sm-between {\n align-content: space-between;\n }\n .align-content-sm-around {\n align-content: space-around;\n }\n .align-content-sm-stretch {\n align-content: stretch;\n }\n .align-self-sm-auto {\n align-self: auto;\n }\n .align-self-sm-start {\n align-self: flex-start;\n }\n .align-self-sm-end {\n align-self: flex-end;\n }\n .align-self-sm-center {\n align-self: center;\n }\n .align-self-sm-baseline {\n align-self: baseline;\n }\n .align-self-sm-stretch {\n align-self: stretch;\n }\n .place-items-sm-start {\n place-items: start;\n }\n .place-items-sm-end {\n place-items: end;\n }\n .place-items-sm-center {\n place-items: center;\n }\n .place-items-sm-stretch {\n place-items: stretch;\n }\n .grid-cols-sm-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-sm-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-sm-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-sm-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-sm-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-sm-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-sm-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-sm-dense {\n grid-auto-flow: dense;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-last {\n order: 6;\n }\n .m-sm-0 {\n margin: 0;\n }\n .m-sm-1 {\n margin: 0.25rem;\n }\n .m-sm-2 {\n margin: 0.5rem;\n }\n .m-sm-3 {\n margin: 1rem;\n }\n .m-sm-4 {\n margin: 1.5rem;\n }\n .m-sm-5 {\n margin: 3rem;\n }\n .m-sm-auto {\n margin: auto;\n }\n .mx-sm-0 {\n margin-inline: 0;\n }\n .mx-sm-1 {\n margin-inline: 0.25rem;\n }\n .mx-sm-2 {\n margin-inline: 0.5rem;\n }\n .mx-sm-3 {\n margin-inline: 1rem;\n }\n .mx-sm-4 {\n margin-inline: 1.5rem;\n }\n .mx-sm-5 {\n margin-inline: 3rem;\n }\n .mx-sm-auto {\n margin-inline: auto;\n }\n .my-sm-0 {\n margin-block: 0;\n }\n .my-sm-1 {\n margin-block: 0.25rem;\n }\n .my-sm-2 {\n margin-block: 0.5rem;\n }\n .my-sm-3 {\n margin-block: 1rem;\n }\n .my-sm-4 {\n margin-block: 1.5rem;\n }\n .my-sm-5 {\n margin-block: 3rem;\n }\n .my-sm-auto {\n margin-block: auto;\n }\n .mt-sm-0 {\n margin-block-start: 0;\n }\n .mt-sm-1 {\n margin-block-start: 0.25rem;\n }\n .mt-sm-2 {\n margin-block-start: 0.5rem;\n }\n .mt-sm-3 {\n margin-block-start: 1rem;\n }\n .mt-sm-4 {\n margin-block-start: 1.5rem;\n }\n .mt-sm-5 {\n margin-block-start: 3rem;\n }\n .mt-sm-auto {\n margin-block-start: auto;\n }\n .me-sm-0 {\n margin-inline-end: 0;\n }\n .me-sm-1 {\n margin-inline-end: 0.25rem;\n }\n .me-sm-2 {\n margin-inline-end: 0.5rem;\n }\n .me-sm-3 {\n margin-inline-end: 1rem;\n }\n .me-sm-4 {\n margin-inline-end: 1.5rem;\n }\n .me-sm-5 {\n margin-inline-end: 3rem;\n }\n .me-sm-auto {\n margin-inline-end: auto;\n }\n .mb-sm-0 {\n margin-block-end: 0;\n }\n .mb-sm-1 {\n margin-block-end: 0.25rem;\n }\n .mb-sm-2 {\n margin-block-end: 0.5rem;\n }\n .mb-sm-3 {\n margin-block-end: 1rem;\n }\n .mb-sm-4 {\n margin-block-end: 1.5rem;\n }\n .mb-sm-5 {\n margin-block-end: 3rem;\n }\n .mb-sm-auto {\n margin-block-end: auto;\n }\n .ms-sm-0 {\n margin-inline-start: 0;\n }\n .ms-sm-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-sm-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-sm-3 {\n margin-inline-start: 1rem;\n }\n .ms-sm-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-sm-5 {\n margin-inline-start: 3rem;\n }\n .ms-sm--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-sm--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-sm-auto {\n margin-inline-start: auto;\n }\n .p-sm-0 {\n padding: 0;\n }\n .p-sm-1 {\n padding: 0.25rem;\n }\n .p-sm-2 {\n padding: 0.5rem;\n }\n .p-sm-3 {\n padding: 1rem;\n }\n .p-sm-4 {\n padding: 1.5rem;\n }\n .p-sm-5 {\n padding: 3rem;\n }\n .px-sm-0 {\n padding-inline: 0;\n }\n .px-sm-1 {\n padding-inline: 0.25rem;\n }\n .px-sm-2 {\n padding-inline: 0.5rem;\n }\n .px-sm-3 {\n padding-inline: 1rem;\n }\n .px-sm-4 {\n padding-inline: 1.5rem;\n }\n .px-sm-5 {\n padding-inline: 3rem;\n }\n .py-sm-0 {\n padding-block: 0;\n }\n .py-sm-1 {\n padding-block: 0.25rem;\n }\n .py-sm-2 {\n padding-block: 0.5rem;\n }\n .py-sm-3 {\n padding-block: 1rem;\n }\n .py-sm-4 {\n padding-block: 1.5rem;\n }\n .py-sm-5 {\n padding-block: 3rem;\n }\n .pt-sm-0 {\n padding-block-start: 0;\n }\n .pt-sm-1 {\n padding-block-start: 0.25rem;\n }\n .pt-sm-2 {\n padding-block-start: 0.5rem;\n }\n .pt-sm-3 {\n padding-block-start: 1rem;\n }\n .pt-sm-4 {\n padding-block-start: 1.5rem;\n }\n .pt-sm-5 {\n padding-block-start: 3rem;\n }\n .pe-sm-0 {\n padding-inline-end: 0;\n }\n .pe-sm-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-sm-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-sm-3 {\n padding-inline-end: 1rem;\n }\n .pe-sm-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-sm-5 {\n padding-inline-end: 3rem;\n }\n .pb-sm-0 {\n padding-block-end: 0;\n }\n .pb-sm-1 {\n padding-block-end: 0.25rem;\n }\n .pb-sm-2 {\n padding-block-end: 0.5rem;\n }\n .pb-sm-3 {\n padding-block-end: 1rem;\n }\n .pb-sm-4 {\n padding-block-end: 1.5rem;\n }\n .pb-sm-5 {\n padding-block-end: 3rem;\n }\n .ps-sm-0 {\n padding-inline-start: 0;\n }\n .ps-sm-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-sm-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-sm-3 {\n padding-inline-start: 1rem;\n }\n .ps-sm-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-sm-5 {\n padding-inline-start: 3rem;\n }\n .gap-sm-0 {\n gap: 0;\n }\n .gap-sm-1 {\n gap: 0.25rem;\n }\n .gap-sm-2 {\n gap: 0.5rem;\n }\n .gap-sm-3 {\n gap: 1rem;\n }\n .gap-sm-4 {\n gap: 1.5rem;\n }\n .gap-sm-5 {\n gap: 3rem;\n }\n .row-gap-sm-0 {\n row-gap: 0;\n }\n .row-gap-sm-1 {\n row-gap: 0.25rem;\n }\n .row-gap-sm-2 {\n row-gap: 0.5rem;\n }\n .row-gap-sm-3 {\n row-gap: 1rem;\n }\n .row-gap-sm-4 {\n row-gap: 1.5rem;\n }\n .row-gap-sm-5 {\n row-gap: 3rem;\n }\n .column-gap-sm-0 {\n column-gap: 0;\n }\n .column-gap-sm-1 {\n column-gap: 0.25rem;\n }\n .column-gap-sm-2 {\n column-gap: 0.5rem;\n }\n .column-gap-sm-3 {\n column-gap: 1rem;\n }\n .column-gap-sm-4 {\n column-gap: 1.5rem;\n }\n .column-gap-sm-5 {\n column-gap: 3rem;\n }\n .text-sm-start {\n text-align: start;\n }\n .text-sm-end {\n text-align: end;\n }\n .text-sm-center {\n text-align: center;\n }\n }\n @media (width >= 768px) {\n .float-md-start {\n float: inline-start;\n }\n .float-md-end {\n float: inline-end;\n }\n .float-md-none {\n float: none;\n }\n .object-fit-md-contain {\n object-fit: contain;\n }\n .object-fit-md-cover {\n object-fit: cover;\n }\n .object-fit-md-fill {\n object-fit: fill;\n }\n .object-fit-md-scale {\n object-fit: scale-down;\n }\n .object-fit-md-none {\n object-fit: none;\n }\n .d-md-inline {\n display: inline;\n }\n .d-md-inline-block {\n display: inline-block;\n }\n .d-md-block {\n display: block;\n }\n .d-md-grid {\n display: grid;\n }\n .d-md-inline-grid {\n display: inline-grid;\n }\n .d-md-table {\n display: table;\n }\n .d-md-table-row {\n display: table-row;\n }\n .d-md-table-cell {\n display: table-cell;\n }\n .d-md-flex {\n display: flex;\n }\n .d-md-inline-flex {\n display: inline-flex;\n }\n .d-md-contents {\n display: contents;\n }\n .d-md-flow-root {\n display: flow-root;\n }\n .d-md-none {\n display: none;\n }\n .flex-md-fill {\n flex: 1 1 auto;\n }\n .flex-md-row {\n flex-direction: row;\n }\n .flex-md-column {\n flex-direction: column;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-md-grow-0 {\n flex-grow: 0;\n }\n .flex-md-grow-1 {\n flex-grow: 1;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1;\n }\n .flex-md-wrap {\n flex-wrap: wrap;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-md-start {\n justify-content: flex-start;\n }\n .justify-content-md-end {\n justify-content: flex-end;\n }\n .justify-content-md-center {\n justify-content: center;\n }\n .justify-content-md-between {\n justify-content: space-between;\n }\n .justify-content-md-around {\n justify-content: space-around;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly;\n }\n .justify-items-md-start {\n justify-items: start;\n }\n .justify-items-md-end {\n justify-items: end;\n }\n .justify-items-md-center {\n justify-items: center;\n }\n .justify-items-md-stretch {\n justify-items: stretch;\n }\n .justify-self-md-start {\n justify-self: flex-start;\n }\n .justify-self-md-end {\n justify-self: flex-end;\n }\n .justify-self-md-center {\n justify-self: center;\n }\n .align-items-md-start {\n align-items: flex-start;\n }\n .align-items-md-end {\n align-items: flex-end;\n }\n .align-items-md-center {\n align-items: center;\n }\n .align-items-md-baseline {\n align-items: baseline;\n }\n .align-items-md-stretch {\n align-items: stretch;\n }\n .align-content-md-start {\n align-content: flex-start;\n }\n .align-content-md-end {\n align-content: flex-end;\n }\n .align-content-md-center {\n align-content: center;\n }\n .align-content-md-between {\n align-content: space-between;\n }\n .align-content-md-around {\n align-content: space-around;\n }\n .align-content-md-stretch {\n align-content: stretch;\n }\n .align-self-md-auto {\n align-self: auto;\n }\n .align-self-md-start {\n align-self: flex-start;\n }\n .align-self-md-end {\n align-self: flex-end;\n }\n .align-self-md-center {\n align-self: center;\n }\n .align-self-md-baseline {\n align-self: baseline;\n }\n .align-self-md-stretch {\n align-self: stretch;\n }\n .place-items-md-start {\n place-items: start;\n }\n .place-items-md-end {\n place-items: end;\n }\n .place-items-md-center {\n place-items: center;\n }\n .place-items-md-stretch {\n place-items: stretch;\n }\n .grid-cols-md-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-md-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-md-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-md-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-md-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-md-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-md-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-md-dense {\n grid-auto-flow: dense;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-last {\n order: 6;\n }\n .m-md-0 {\n margin: 0;\n }\n .m-md-1 {\n margin: 0.25rem;\n }\n .m-md-2 {\n margin: 0.5rem;\n }\n .m-md-3 {\n margin: 1rem;\n }\n .m-md-4 {\n margin: 1.5rem;\n }\n .m-md-5 {\n margin: 3rem;\n }\n .m-md-auto {\n margin: auto;\n }\n .mx-md-0 {\n margin-inline: 0;\n }\n .mx-md-1 {\n margin-inline: 0.25rem;\n }\n .mx-md-2 {\n margin-inline: 0.5rem;\n }\n .mx-md-3 {\n margin-inline: 1rem;\n }\n .mx-md-4 {\n margin-inline: 1.5rem;\n }\n .mx-md-5 {\n margin-inline: 3rem;\n }\n .mx-md-auto {\n margin-inline: auto;\n }\n .my-md-0 {\n margin-block: 0;\n }\n .my-md-1 {\n margin-block: 0.25rem;\n }\n .my-md-2 {\n margin-block: 0.5rem;\n }\n .my-md-3 {\n margin-block: 1rem;\n }\n .my-md-4 {\n margin-block: 1.5rem;\n }\n .my-md-5 {\n margin-block: 3rem;\n }\n .my-md-auto {\n margin-block: auto;\n }\n .mt-md-0 {\n margin-block-start: 0;\n }\n .mt-md-1 {\n margin-block-start: 0.25rem;\n }\n .mt-md-2 {\n margin-block-start: 0.5rem;\n }\n .mt-md-3 {\n margin-block-start: 1rem;\n }\n .mt-md-4 {\n margin-block-start: 1.5rem;\n }\n .mt-md-5 {\n margin-block-start: 3rem;\n }\n .mt-md-auto {\n margin-block-start: auto;\n }\n .me-md-0 {\n margin-inline-end: 0;\n }\n .me-md-1 {\n margin-inline-end: 0.25rem;\n }\n .me-md-2 {\n margin-inline-end: 0.5rem;\n }\n .me-md-3 {\n margin-inline-end: 1rem;\n }\n .me-md-4 {\n margin-inline-end: 1.5rem;\n }\n .me-md-5 {\n margin-inline-end: 3rem;\n }\n .me-md-auto {\n margin-inline-end: auto;\n }\n .mb-md-0 {\n margin-block-end: 0;\n }\n .mb-md-1 {\n margin-block-end: 0.25rem;\n }\n .mb-md-2 {\n margin-block-end: 0.5rem;\n }\n .mb-md-3 {\n margin-block-end: 1rem;\n }\n .mb-md-4 {\n margin-block-end: 1.5rem;\n }\n .mb-md-5 {\n margin-block-end: 3rem;\n }\n .mb-md-auto {\n margin-block-end: auto;\n }\n .ms-md-0 {\n margin-inline-start: 0;\n }\n .ms-md-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-md-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-md-3 {\n margin-inline-start: 1rem;\n }\n .ms-md-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-md-5 {\n margin-inline-start: 3rem;\n }\n .ms-md--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-md--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-md-auto {\n margin-inline-start: auto;\n }\n .p-md-0 {\n padding: 0;\n }\n .p-md-1 {\n padding: 0.25rem;\n }\n .p-md-2 {\n padding: 0.5rem;\n }\n .p-md-3 {\n padding: 1rem;\n }\n .p-md-4 {\n padding: 1.5rem;\n }\n .p-md-5 {\n padding: 3rem;\n }\n .px-md-0 {\n padding-inline: 0;\n }\n .px-md-1 {\n padding-inline: 0.25rem;\n }\n .px-md-2 {\n padding-inline: 0.5rem;\n }\n .px-md-3 {\n padding-inline: 1rem;\n }\n .px-md-4 {\n padding-inline: 1.5rem;\n }\n .px-md-5 {\n padding-inline: 3rem;\n }\n .py-md-0 {\n padding-block: 0;\n }\n .py-md-1 {\n padding-block: 0.25rem;\n }\n .py-md-2 {\n padding-block: 0.5rem;\n }\n .py-md-3 {\n padding-block: 1rem;\n }\n .py-md-4 {\n padding-block: 1.5rem;\n }\n .py-md-5 {\n padding-block: 3rem;\n }\n .pt-md-0 {\n padding-block-start: 0;\n }\n .pt-md-1 {\n padding-block-start: 0.25rem;\n }\n .pt-md-2 {\n padding-block-start: 0.5rem;\n }\n .pt-md-3 {\n padding-block-start: 1rem;\n }\n .pt-md-4 {\n padding-block-start: 1.5rem;\n }\n .pt-md-5 {\n padding-block-start: 3rem;\n }\n .pe-md-0 {\n padding-inline-end: 0;\n }\n .pe-md-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-md-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-md-3 {\n padding-inline-end: 1rem;\n }\n .pe-md-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-md-5 {\n padding-inline-end: 3rem;\n }\n .pb-md-0 {\n padding-block-end: 0;\n }\n .pb-md-1 {\n padding-block-end: 0.25rem;\n }\n .pb-md-2 {\n padding-block-end: 0.5rem;\n }\n .pb-md-3 {\n padding-block-end: 1rem;\n }\n .pb-md-4 {\n padding-block-end: 1.5rem;\n }\n .pb-md-5 {\n padding-block-end: 3rem;\n }\n .ps-md-0 {\n padding-inline-start: 0;\n }\n .ps-md-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-md-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-md-3 {\n padding-inline-start: 1rem;\n }\n .ps-md-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-md-5 {\n padding-inline-start: 3rem;\n }\n .gap-md-0 {\n gap: 0;\n }\n .gap-md-1 {\n gap: 0.25rem;\n }\n .gap-md-2 {\n gap: 0.5rem;\n }\n .gap-md-3 {\n gap: 1rem;\n }\n .gap-md-4 {\n gap: 1.5rem;\n }\n .gap-md-5 {\n gap: 3rem;\n }\n .row-gap-md-0 {\n row-gap: 0;\n }\n .row-gap-md-1 {\n row-gap: 0.25rem;\n }\n .row-gap-md-2 {\n row-gap: 0.5rem;\n }\n .row-gap-md-3 {\n row-gap: 1rem;\n }\n .row-gap-md-4 {\n row-gap: 1.5rem;\n }\n .row-gap-md-5 {\n row-gap: 3rem;\n }\n .column-gap-md-0 {\n column-gap: 0;\n }\n .column-gap-md-1 {\n column-gap: 0.25rem;\n }\n .column-gap-md-2 {\n column-gap: 0.5rem;\n }\n .column-gap-md-3 {\n column-gap: 1rem;\n }\n .column-gap-md-4 {\n column-gap: 1.5rem;\n }\n .column-gap-md-5 {\n column-gap: 3rem;\n }\n .text-md-start {\n text-align: start;\n }\n .text-md-end {\n text-align: end;\n }\n .text-md-center {\n text-align: center;\n }\n }\n @media (width >= 1024px) {\n .float-lg-start {\n float: inline-start;\n }\n .float-lg-end {\n float: inline-end;\n }\n .float-lg-none {\n float: none;\n }\n .object-fit-lg-contain {\n object-fit: contain;\n }\n .object-fit-lg-cover {\n object-fit: cover;\n }\n .object-fit-lg-fill {\n object-fit: fill;\n }\n .object-fit-lg-scale {\n object-fit: scale-down;\n }\n .object-fit-lg-none {\n object-fit: none;\n }\n .d-lg-inline {\n display: inline;\n }\n .d-lg-inline-block {\n display: inline-block;\n }\n .d-lg-block {\n display: block;\n }\n .d-lg-grid {\n display: grid;\n }\n .d-lg-inline-grid {\n display: inline-grid;\n }\n .d-lg-table {\n display: table;\n }\n .d-lg-table-row {\n display: table-row;\n }\n .d-lg-table-cell {\n display: table-cell;\n }\n .d-lg-flex {\n display: flex;\n }\n .d-lg-inline-flex {\n display: inline-flex;\n }\n .d-lg-contents {\n display: contents;\n }\n .d-lg-flow-root {\n display: flow-root;\n }\n .d-lg-none {\n display: none;\n }\n .flex-lg-fill {\n flex: 1 1 auto;\n }\n .flex-lg-row {\n flex-direction: row;\n }\n .flex-lg-column {\n flex-direction: column;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-lg-grow-0 {\n flex-grow: 0;\n }\n .flex-lg-grow-1 {\n flex-grow: 1;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1;\n }\n .flex-lg-wrap {\n flex-wrap: wrap;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-lg-start {\n justify-content: flex-start;\n }\n .justify-content-lg-end {\n justify-content: flex-end;\n }\n .justify-content-lg-center {\n justify-content: center;\n }\n .justify-content-lg-between {\n justify-content: space-between;\n }\n .justify-content-lg-around {\n justify-content: space-around;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly;\n }\n .justify-items-lg-start {\n justify-items: start;\n }\n .justify-items-lg-end {\n justify-items: end;\n }\n .justify-items-lg-center {\n justify-items: center;\n }\n .justify-items-lg-stretch {\n justify-items: stretch;\n }\n .justify-self-lg-start {\n justify-self: flex-start;\n }\n .justify-self-lg-end {\n justify-self: flex-end;\n }\n .justify-self-lg-center {\n justify-self: center;\n }\n .align-items-lg-start {\n align-items: flex-start;\n }\n .align-items-lg-end {\n align-items: flex-end;\n }\n .align-items-lg-center {\n align-items: center;\n }\n .align-items-lg-baseline {\n align-items: baseline;\n }\n .align-items-lg-stretch {\n align-items: stretch;\n }\n .align-content-lg-start {\n align-content: flex-start;\n }\n .align-content-lg-end {\n align-content: flex-end;\n }\n .align-content-lg-center {\n align-content: center;\n }\n .align-content-lg-between {\n align-content: space-between;\n }\n .align-content-lg-around {\n align-content: space-around;\n }\n .align-content-lg-stretch {\n align-content: stretch;\n }\n .align-self-lg-auto {\n align-self: auto;\n }\n .align-self-lg-start {\n align-self: flex-start;\n }\n .align-self-lg-end {\n align-self: flex-end;\n }\n .align-self-lg-center {\n align-self: center;\n }\n .align-self-lg-baseline {\n align-self: baseline;\n }\n .align-self-lg-stretch {\n align-self: stretch;\n }\n .place-items-lg-start {\n place-items: start;\n }\n .place-items-lg-end {\n place-items: end;\n }\n .place-items-lg-center {\n place-items: center;\n }\n .place-items-lg-stretch {\n place-items: stretch;\n }\n .grid-cols-lg-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-lg-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-lg-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-lg-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-lg-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-lg-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-lg-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-lg-dense {\n grid-auto-flow: dense;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-last {\n order: 6;\n }\n .m-lg-0 {\n margin: 0;\n }\n .m-lg-1 {\n margin: 0.25rem;\n }\n .m-lg-2 {\n margin: 0.5rem;\n }\n .m-lg-3 {\n margin: 1rem;\n }\n .m-lg-4 {\n margin: 1.5rem;\n }\n .m-lg-5 {\n margin: 3rem;\n }\n .m-lg-auto {\n margin: auto;\n }\n .mx-lg-0 {\n margin-inline: 0;\n }\n .mx-lg-1 {\n margin-inline: 0.25rem;\n }\n .mx-lg-2 {\n margin-inline: 0.5rem;\n }\n .mx-lg-3 {\n margin-inline: 1rem;\n }\n .mx-lg-4 {\n margin-inline: 1.5rem;\n }\n .mx-lg-5 {\n margin-inline: 3rem;\n }\n .mx-lg-auto {\n margin-inline: auto;\n }\n .my-lg-0 {\n margin-block: 0;\n }\n .my-lg-1 {\n margin-block: 0.25rem;\n }\n .my-lg-2 {\n margin-block: 0.5rem;\n }\n .my-lg-3 {\n margin-block: 1rem;\n }\n .my-lg-4 {\n margin-block: 1.5rem;\n }\n .my-lg-5 {\n margin-block: 3rem;\n }\n .my-lg-auto {\n margin-block: auto;\n }\n .mt-lg-0 {\n margin-block-start: 0;\n }\n .mt-lg-1 {\n margin-block-start: 0.25rem;\n }\n .mt-lg-2 {\n margin-block-start: 0.5rem;\n }\n .mt-lg-3 {\n margin-block-start: 1rem;\n }\n .mt-lg-4 {\n margin-block-start: 1.5rem;\n }\n .mt-lg-5 {\n margin-block-start: 3rem;\n }\n .mt-lg-auto {\n margin-block-start: auto;\n }\n .me-lg-0 {\n margin-inline-end: 0;\n }\n .me-lg-1 {\n margin-inline-end: 0.25rem;\n }\n .me-lg-2 {\n margin-inline-end: 0.5rem;\n }\n .me-lg-3 {\n margin-inline-end: 1rem;\n }\n .me-lg-4 {\n margin-inline-end: 1.5rem;\n }\n .me-lg-5 {\n margin-inline-end: 3rem;\n }\n .me-lg-auto {\n margin-inline-end: auto;\n }\n .mb-lg-0 {\n margin-block-end: 0;\n }\n .mb-lg-1 {\n margin-block-end: 0.25rem;\n }\n .mb-lg-2 {\n margin-block-end: 0.5rem;\n }\n .mb-lg-3 {\n margin-block-end: 1rem;\n }\n .mb-lg-4 {\n margin-block-end: 1.5rem;\n }\n .mb-lg-5 {\n margin-block-end: 3rem;\n }\n .mb-lg-auto {\n margin-block-end: auto;\n }\n .ms-lg-0 {\n margin-inline-start: 0;\n }\n .ms-lg-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-lg-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-lg-3 {\n margin-inline-start: 1rem;\n }\n .ms-lg-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-lg-5 {\n margin-inline-start: 3rem;\n }\n .ms-lg--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-lg--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-lg-auto {\n margin-inline-start: auto;\n }\n .p-lg-0 {\n padding: 0;\n }\n .p-lg-1 {\n padding: 0.25rem;\n }\n .p-lg-2 {\n padding: 0.5rem;\n }\n .p-lg-3 {\n padding: 1rem;\n }\n .p-lg-4 {\n padding: 1.5rem;\n }\n .p-lg-5 {\n padding: 3rem;\n }\n .px-lg-0 {\n padding-inline: 0;\n }\n .px-lg-1 {\n padding-inline: 0.25rem;\n }\n .px-lg-2 {\n padding-inline: 0.5rem;\n }\n .px-lg-3 {\n padding-inline: 1rem;\n }\n .px-lg-4 {\n padding-inline: 1.5rem;\n }\n .px-lg-5 {\n padding-inline: 3rem;\n }\n .py-lg-0 {\n padding-block: 0;\n }\n .py-lg-1 {\n padding-block: 0.25rem;\n }\n .py-lg-2 {\n padding-block: 0.5rem;\n }\n .py-lg-3 {\n padding-block: 1rem;\n }\n .py-lg-4 {\n padding-block: 1.5rem;\n }\n .py-lg-5 {\n padding-block: 3rem;\n }\n .pt-lg-0 {\n padding-block-start: 0;\n }\n .pt-lg-1 {\n padding-block-start: 0.25rem;\n }\n .pt-lg-2 {\n padding-block-start: 0.5rem;\n }\n .pt-lg-3 {\n padding-block-start: 1rem;\n }\n .pt-lg-4 {\n padding-block-start: 1.5rem;\n }\n .pt-lg-5 {\n padding-block-start: 3rem;\n }\n .pe-lg-0 {\n padding-inline-end: 0;\n }\n .pe-lg-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-lg-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-lg-3 {\n padding-inline-end: 1rem;\n }\n .pe-lg-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-lg-5 {\n padding-inline-end: 3rem;\n }\n .pb-lg-0 {\n padding-block-end: 0;\n }\n .pb-lg-1 {\n padding-block-end: 0.25rem;\n }\n .pb-lg-2 {\n padding-block-end: 0.5rem;\n }\n .pb-lg-3 {\n padding-block-end: 1rem;\n }\n .pb-lg-4 {\n padding-block-end: 1.5rem;\n }\n .pb-lg-5 {\n padding-block-end: 3rem;\n }\n .ps-lg-0 {\n padding-inline-start: 0;\n }\n .ps-lg-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-lg-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-lg-3 {\n padding-inline-start: 1rem;\n }\n .ps-lg-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-lg-5 {\n padding-inline-start: 3rem;\n }\n .gap-lg-0 {\n gap: 0;\n }\n .gap-lg-1 {\n gap: 0.25rem;\n }\n .gap-lg-2 {\n gap: 0.5rem;\n }\n .gap-lg-3 {\n gap: 1rem;\n }\n .gap-lg-4 {\n gap: 1.5rem;\n }\n .gap-lg-5 {\n gap: 3rem;\n }\n .row-gap-lg-0 {\n row-gap: 0;\n }\n .row-gap-lg-1 {\n row-gap: 0.25rem;\n }\n .row-gap-lg-2 {\n row-gap: 0.5rem;\n }\n .row-gap-lg-3 {\n row-gap: 1rem;\n }\n .row-gap-lg-4 {\n row-gap: 1.5rem;\n }\n .row-gap-lg-5 {\n row-gap: 3rem;\n }\n .column-gap-lg-0 {\n column-gap: 0;\n }\n .column-gap-lg-1 {\n column-gap: 0.25rem;\n }\n .column-gap-lg-2 {\n column-gap: 0.5rem;\n }\n .column-gap-lg-3 {\n column-gap: 1rem;\n }\n .column-gap-lg-4 {\n column-gap: 1.5rem;\n }\n .column-gap-lg-5 {\n column-gap: 3rem;\n }\n .text-lg-start {\n text-align: start;\n }\n .text-lg-end {\n text-align: end;\n }\n .text-lg-center {\n text-align: center;\n }\n }\n @media (width >= 1280px) {\n .float-xl-start {\n float: inline-start;\n }\n .float-xl-end {\n float: inline-end;\n }\n .float-xl-none {\n float: none;\n }\n .object-fit-xl-contain {\n object-fit: contain;\n }\n .object-fit-xl-cover {\n object-fit: cover;\n }\n .object-fit-xl-fill {\n object-fit: fill;\n }\n .object-fit-xl-scale {\n object-fit: scale-down;\n }\n .object-fit-xl-none {\n object-fit: none;\n }\n .d-xl-inline {\n display: inline;\n }\n .d-xl-inline-block {\n display: inline-block;\n }\n .d-xl-block {\n display: block;\n }\n .d-xl-grid {\n display: grid;\n }\n .d-xl-inline-grid {\n display: inline-grid;\n }\n .d-xl-table {\n display: table;\n }\n .d-xl-table-row {\n display: table-row;\n }\n .d-xl-table-cell {\n display: table-cell;\n }\n .d-xl-flex {\n display: flex;\n }\n .d-xl-inline-flex {\n display: inline-flex;\n }\n .d-xl-contents {\n display: contents;\n }\n .d-xl-flow-root {\n display: flow-root;\n }\n .d-xl-none {\n display: none;\n }\n .flex-xl-fill {\n flex: 1 1 auto;\n }\n .flex-xl-row {\n flex-direction: row;\n }\n .flex-xl-column {\n flex-direction: column;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-xl-grow-0 {\n flex-grow: 0;\n }\n .flex-xl-grow-1 {\n flex-grow: 1;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-xl-wrap {\n flex-wrap: wrap;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-xl-start {\n justify-content: flex-start;\n }\n .justify-content-xl-end {\n justify-content: flex-end;\n }\n .justify-content-xl-center {\n justify-content: center;\n }\n .justify-content-xl-between {\n justify-content: space-between;\n }\n .justify-content-xl-around {\n justify-content: space-around;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-xl-start {\n justify-items: start;\n }\n .justify-items-xl-end {\n justify-items: end;\n }\n .justify-items-xl-center {\n justify-items: center;\n }\n .justify-items-xl-stretch {\n justify-items: stretch;\n }\n .justify-self-xl-start {\n justify-self: flex-start;\n }\n .justify-self-xl-end {\n justify-self: flex-end;\n }\n .justify-self-xl-center {\n justify-self: center;\n }\n .align-items-xl-start {\n align-items: flex-start;\n }\n .align-items-xl-end {\n align-items: flex-end;\n }\n .align-items-xl-center {\n align-items: center;\n }\n .align-items-xl-baseline {\n align-items: baseline;\n }\n .align-items-xl-stretch {\n align-items: stretch;\n }\n .align-content-xl-start {\n align-content: flex-start;\n }\n .align-content-xl-end {\n align-content: flex-end;\n }\n .align-content-xl-center {\n align-content: center;\n }\n .align-content-xl-between {\n align-content: space-between;\n }\n .align-content-xl-around {\n align-content: space-around;\n }\n .align-content-xl-stretch {\n align-content: stretch;\n }\n .align-self-xl-auto {\n align-self: auto;\n }\n .align-self-xl-start {\n align-self: flex-start;\n }\n .align-self-xl-end {\n align-self: flex-end;\n }\n .align-self-xl-center {\n align-self: center;\n }\n .align-self-xl-baseline {\n align-self: baseline;\n }\n .align-self-xl-stretch {\n align-self: stretch;\n }\n .place-items-xl-start {\n place-items: start;\n }\n .place-items-xl-end {\n place-items: end;\n }\n .place-items-xl-center {\n place-items: center;\n }\n .place-items-xl-stretch {\n place-items: stretch;\n }\n .grid-cols-xl-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-xl-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-xl-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-xl-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-xl-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-xl-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-xl-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-xl-dense {\n grid-auto-flow: dense;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-last {\n order: 6;\n }\n .m-xl-0 {\n margin: 0;\n }\n .m-xl-1 {\n margin: 0.25rem;\n }\n .m-xl-2 {\n margin: 0.5rem;\n }\n .m-xl-3 {\n margin: 1rem;\n }\n .m-xl-4 {\n margin: 1.5rem;\n }\n .m-xl-5 {\n margin: 3rem;\n }\n .m-xl-auto {\n margin: auto;\n }\n .mx-xl-0 {\n margin-inline: 0;\n }\n .mx-xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-xl-3 {\n margin-inline: 1rem;\n }\n .mx-xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-xl-5 {\n margin-inline: 3rem;\n }\n .mx-xl-auto {\n margin-inline: auto;\n }\n .my-xl-0 {\n margin-block: 0;\n }\n .my-xl-1 {\n margin-block: 0.25rem;\n }\n .my-xl-2 {\n margin-block: 0.5rem;\n }\n .my-xl-3 {\n margin-block: 1rem;\n }\n .my-xl-4 {\n margin-block: 1.5rem;\n }\n .my-xl-5 {\n margin-block: 3rem;\n }\n .my-xl-auto {\n margin-block: auto;\n }\n .mt-xl-0 {\n margin-block-start: 0;\n }\n .mt-xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-xl-3 {\n margin-block-start: 1rem;\n }\n .mt-xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-xl-5 {\n margin-block-start: 3rem;\n }\n .mt-xl-auto {\n margin-block-start: auto;\n }\n .me-xl-0 {\n margin-inline-end: 0;\n }\n .me-xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-xl-3 {\n margin-inline-end: 1rem;\n }\n .me-xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-xl-5 {\n margin-inline-end: 3rem;\n }\n .me-xl-auto {\n margin-inline-end: auto;\n }\n .mb-xl-0 {\n margin-block-end: 0;\n }\n .mb-xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-xl-3 {\n margin-block-end: 1rem;\n }\n .mb-xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-xl-5 {\n margin-block-end: 3rem;\n }\n .mb-xl-auto {\n margin-block-end: auto;\n }\n .ms-xl-0 {\n margin-inline-start: 0;\n }\n .ms-xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-xl-auto {\n margin-inline-start: auto;\n }\n .p-xl-0 {\n padding: 0;\n }\n .p-xl-1 {\n padding: 0.25rem;\n }\n .p-xl-2 {\n padding: 0.5rem;\n }\n .p-xl-3 {\n padding: 1rem;\n }\n .p-xl-4 {\n padding: 1.5rem;\n }\n .p-xl-5 {\n padding: 3rem;\n }\n .px-xl-0 {\n padding-inline: 0;\n }\n .px-xl-1 {\n padding-inline: 0.25rem;\n }\n .px-xl-2 {\n padding-inline: 0.5rem;\n }\n .px-xl-3 {\n padding-inline: 1rem;\n }\n .px-xl-4 {\n padding-inline: 1.5rem;\n }\n .px-xl-5 {\n padding-inline: 3rem;\n }\n .py-xl-0 {\n padding-block: 0;\n }\n .py-xl-1 {\n padding-block: 0.25rem;\n }\n .py-xl-2 {\n padding-block: 0.5rem;\n }\n .py-xl-3 {\n padding-block: 1rem;\n }\n .py-xl-4 {\n padding-block: 1.5rem;\n }\n .py-xl-5 {\n padding-block: 3rem;\n }\n .pt-xl-0 {\n padding-block-start: 0;\n }\n .pt-xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-xl-3 {\n padding-block-start: 1rem;\n }\n .pt-xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-xl-5 {\n padding-block-start: 3rem;\n }\n .pe-xl-0 {\n padding-inline-end: 0;\n }\n .pe-xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-xl-0 {\n padding-block-end: 0;\n }\n .pb-xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-xl-3 {\n padding-block-end: 1rem;\n }\n .pb-xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-xl-5 {\n padding-block-end: 3rem;\n }\n .ps-xl-0 {\n padding-inline-start: 0;\n }\n .ps-xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-xl-5 {\n padding-inline-start: 3rem;\n }\n .gap-xl-0 {\n gap: 0;\n }\n .gap-xl-1 {\n gap: 0.25rem;\n }\n .gap-xl-2 {\n gap: 0.5rem;\n }\n .gap-xl-3 {\n gap: 1rem;\n }\n .gap-xl-4 {\n gap: 1.5rem;\n }\n .gap-xl-5 {\n gap: 3rem;\n }\n .row-gap-xl-0 {\n row-gap: 0;\n }\n .row-gap-xl-1 {\n row-gap: 0.25rem;\n }\n .row-gap-xl-2 {\n row-gap: 0.5rem;\n }\n .row-gap-xl-3 {\n row-gap: 1rem;\n }\n .row-gap-xl-4 {\n row-gap: 1.5rem;\n }\n .row-gap-xl-5 {\n row-gap: 3rem;\n }\n .column-gap-xl-0 {\n column-gap: 0;\n }\n .column-gap-xl-1 {\n column-gap: 0.25rem;\n }\n .column-gap-xl-2 {\n column-gap: 0.5rem;\n }\n .column-gap-xl-3 {\n column-gap: 1rem;\n }\n .column-gap-xl-4 {\n column-gap: 1.5rem;\n }\n .column-gap-xl-5 {\n column-gap: 3rem;\n }\n .text-xl-start {\n text-align: start;\n }\n .text-xl-end {\n text-align: end;\n }\n .text-xl-center {\n text-align: center;\n }\n }\n @media (width >= 1536px) {\n .float-2xl-start {\n float: inline-start;\n }\n .float-2xl-end {\n float: inline-end;\n }\n .float-2xl-none {\n float: none;\n }\n .object-fit-2xl-contain {\n object-fit: contain;\n }\n .object-fit-2xl-cover {\n object-fit: cover;\n }\n .object-fit-2xl-fill {\n object-fit: fill;\n }\n .object-fit-2xl-scale {\n object-fit: scale-down;\n }\n .object-fit-2xl-none {\n object-fit: none;\n }\n .d-2xl-inline {\n display: inline;\n }\n .d-2xl-inline-block {\n display: inline-block;\n }\n .d-2xl-block {\n display: block;\n }\n .d-2xl-grid {\n display: grid;\n }\n .d-2xl-inline-grid {\n display: inline-grid;\n }\n .d-2xl-table {\n display: table;\n }\n .d-2xl-table-row {\n display: table-row;\n }\n .d-2xl-table-cell {\n display: table-cell;\n }\n .d-2xl-flex {\n display: flex;\n }\n .d-2xl-inline-flex {\n display: inline-flex;\n }\n .d-2xl-contents {\n display: contents;\n }\n .d-2xl-flow-root {\n display: flow-root;\n }\n .d-2xl-none {\n display: none;\n }\n .flex-2xl-fill {\n flex: 1 1 auto;\n }\n .flex-2xl-row {\n flex-direction: row;\n }\n .flex-2xl-column {\n flex-direction: column;\n }\n .flex-2xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-2xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-2xl-grow-0 {\n flex-grow: 0;\n }\n .flex-2xl-grow-1 {\n flex-grow: 1;\n }\n .flex-2xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-2xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-2xl-wrap {\n flex-wrap: wrap;\n }\n .flex-2xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-2xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-2xl-start {\n justify-content: flex-start;\n }\n .justify-content-2xl-end {\n justify-content: flex-end;\n }\n .justify-content-2xl-center {\n justify-content: center;\n }\n .justify-content-2xl-between {\n justify-content: space-between;\n }\n .justify-content-2xl-around {\n justify-content: space-around;\n }\n .justify-content-2xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-2xl-start {\n justify-items: start;\n }\n .justify-items-2xl-end {\n justify-items: end;\n }\n .justify-items-2xl-center {\n justify-items: center;\n }\n .justify-items-2xl-stretch {\n justify-items: stretch;\n }\n .justify-self-2xl-start {\n justify-self: flex-start;\n }\n .justify-self-2xl-end {\n justify-self: flex-end;\n }\n .justify-self-2xl-center {\n justify-self: center;\n }\n .align-items-2xl-start {\n align-items: flex-start;\n }\n .align-items-2xl-end {\n align-items: flex-end;\n }\n .align-items-2xl-center {\n align-items: center;\n }\n .align-items-2xl-baseline {\n align-items: baseline;\n }\n .align-items-2xl-stretch {\n align-items: stretch;\n }\n .align-content-2xl-start {\n align-content: flex-start;\n }\n .align-content-2xl-end {\n align-content: flex-end;\n }\n .align-content-2xl-center {\n align-content: center;\n }\n .align-content-2xl-between {\n align-content: space-between;\n }\n .align-content-2xl-around {\n align-content: space-around;\n }\n .align-content-2xl-stretch {\n align-content: stretch;\n }\n .align-self-2xl-auto {\n align-self: auto;\n }\n .align-self-2xl-start {\n align-self: flex-start;\n }\n .align-self-2xl-end {\n align-self: flex-end;\n }\n .align-self-2xl-center {\n align-self: center;\n }\n .align-self-2xl-baseline {\n align-self: baseline;\n }\n .align-self-2xl-stretch {\n align-self: stretch;\n }\n .place-items-2xl-start {\n place-items: start;\n }\n .place-items-2xl-end {\n place-items: end;\n }\n .place-items-2xl-center {\n place-items: center;\n }\n .place-items-2xl-stretch {\n place-items: stretch;\n }\n .grid-cols-2xl-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-2xl-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-2xl-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-2xl-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-2xl-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-2xl-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-2xl-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-2xl-dense {\n grid-auto-flow: dense;\n }\n .order-2xl-first {\n order: -1;\n }\n .order-2xl-0 {\n order: 0;\n }\n .order-2xl-1 {\n order: 1;\n }\n .order-2xl-2 {\n order: 2;\n }\n .order-2xl-3 {\n order: 3;\n }\n .order-2xl-4 {\n order: 4;\n }\n .order-2xl-5 {\n order: 5;\n }\n .order-2xl-last {\n order: 6;\n }\n .m-2xl-0 {\n margin: 0;\n }\n .m-2xl-1 {\n margin: 0.25rem;\n }\n .m-2xl-2 {\n margin: 0.5rem;\n }\n .m-2xl-3 {\n margin: 1rem;\n }\n .m-2xl-4 {\n margin: 1.5rem;\n }\n .m-2xl-5 {\n margin: 3rem;\n }\n .m-2xl-auto {\n margin: auto;\n }\n .mx-2xl-0 {\n margin-inline: 0;\n }\n .mx-2xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-2xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-2xl-3 {\n margin-inline: 1rem;\n }\n .mx-2xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-2xl-5 {\n margin-inline: 3rem;\n }\n .mx-2xl-auto {\n margin-inline: auto;\n }\n .my-2xl-0 {\n margin-block: 0;\n }\n .my-2xl-1 {\n margin-block: 0.25rem;\n }\n .my-2xl-2 {\n margin-block: 0.5rem;\n }\n .my-2xl-3 {\n margin-block: 1rem;\n }\n .my-2xl-4 {\n margin-block: 1.5rem;\n }\n .my-2xl-5 {\n margin-block: 3rem;\n }\n .my-2xl-auto {\n margin-block: auto;\n }\n .mt-2xl-0 {\n margin-block-start: 0;\n }\n .mt-2xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-2xl-3 {\n margin-block-start: 1rem;\n }\n .mt-2xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-2xl-5 {\n margin-block-start: 3rem;\n }\n .mt-2xl-auto {\n margin-block-start: auto;\n }\n .me-2xl-0 {\n margin-inline-end: 0;\n }\n .me-2xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-2xl-3 {\n margin-inline-end: 1rem;\n }\n .me-2xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-2xl-5 {\n margin-inline-end: 3rem;\n }\n .me-2xl-auto {\n margin-inline-end: auto;\n }\n .mb-2xl-0 {\n margin-block-end: 0;\n }\n .mb-2xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-2xl-3 {\n margin-block-end: 1rem;\n }\n .mb-2xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-2xl-5 {\n margin-block-end: 3rem;\n }\n .mb-2xl-auto {\n margin-block-end: auto;\n }\n .ms-2xl-0 {\n margin-inline-start: 0;\n }\n .ms-2xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-2xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-2xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-2xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-2xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-2xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-2xl-auto {\n margin-inline-start: auto;\n }\n .p-2xl-0 {\n padding: 0;\n }\n .p-2xl-1 {\n padding: 0.25rem;\n }\n .p-2xl-2 {\n padding: 0.5rem;\n }\n .p-2xl-3 {\n padding: 1rem;\n }\n .p-2xl-4 {\n padding: 1.5rem;\n }\n .p-2xl-5 {\n padding: 3rem;\n }\n .px-2xl-0 {\n padding-inline: 0;\n }\n .px-2xl-1 {\n padding-inline: 0.25rem;\n }\n .px-2xl-2 {\n padding-inline: 0.5rem;\n }\n .px-2xl-3 {\n padding-inline: 1rem;\n }\n .px-2xl-4 {\n padding-inline: 1.5rem;\n }\n .px-2xl-5 {\n padding-inline: 3rem;\n }\n .py-2xl-0 {\n padding-block: 0;\n }\n .py-2xl-1 {\n padding-block: 0.25rem;\n }\n .py-2xl-2 {\n padding-block: 0.5rem;\n }\n .py-2xl-3 {\n padding-block: 1rem;\n }\n .py-2xl-4 {\n padding-block: 1.5rem;\n }\n .py-2xl-5 {\n padding-block: 3rem;\n }\n .pt-2xl-0 {\n padding-block-start: 0;\n }\n .pt-2xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-2xl-3 {\n padding-block-start: 1rem;\n }\n .pt-2xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-2xl-5 {\n padding-block-start: 3rem;\n }\n .pe-2xl-0 {\n padding-inline-end: 0;\n }\n .pe-2xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-2xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-2xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-2xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-2xl-0 {\n padding-block-end: 0;\n }\n .pb-2xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-2xl-3 {\n padding-block-end: 1rem;\n }\n .pb-2xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-2xl-5 {\n padding-block-end: 3rem;\n }\n .ps-2xl-0 {\n padding-inline-start: 0;\n }\n .ps-2xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-2xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-2xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-2xl-5 {\n padding-inline-start: 3rem;\n }\n .gap-2xl-0 {\n gap: 0;\n }\n .gap-2xl-1 {\n gap: 0.25rem;\n }\n .gap-2xl-2 {\n gap: 0.5rem;\n }\n .gap-2xl-3 {\n gap: 1rem;\n }\n .gap-2xl-4 {\n gap: 1.5rem;\n }\n .gap-2xl-5 {\n gap: 3rem;\n }\n .row-gap-2xl-0 {\n row-gap: 0;\n }\n .row-gap-2xl-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2xl-2 {\n row-gap: 0.5rem;\n }\n .row-gap-2xl-3 {\n row-gap: 1rem;\n }\n .row-gap-2xl-4 {\n row-gap: 1.5rem;\n }\n .row-gap-2xl-5 {\n row-gap: 3rem;\n }\n .column-gap-2xl-0 {\n column-gap: 0;\n }\n .column-gap-2xl-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2xl-2 {\n column-gap: 0.5rem;\n }\n .column-gap-2xl-3 {\n column-gap: 1rem;\n }\n .column-gap-2xl-4 {\n column-gap: 1.5rem;\n }\n .column-gap-2xl-5 {\n column-gap: 3rem;\n }\n .text-2xl-start {\n text-align: start;\n }\n .text-2xl-end {\n text-align: end;\n }\n .text-2xl-center {\n text-align: center;\n }\n }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n (\n --black: #{$black},\n --white: #{$white},\n\n --gradient: #{$gradient},\n\n // scss-docs-start root-font-weight-variables\n --font-weight-lighter: lighter,\n --font-weight-light: 300,\n --font-weight-normal: 400,\n --font-weight-medium: 500,\n --font-weight-semibold: 600,\n --font-weight-bold: 700,\n --font-weight-bolder: bolder,\n // scss-docs-end root-font-weight-variables\n\n // scss-docs-start root-body-variables\n --body-font-family: system-ui,\n --body-font-size: var(--font-size-base),\n --body-font-weight: #{$font-weight-base},\n --body-line-height: #{$line-height-base},\n\n --heading-color: #{$headings-color},\n\n --hr-border-color: var(--border-color),\n\n --link-color: light-dark(var(--primary-base), var(--primary-text)),\n --link-decoration: #{$link-decoration},\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n --code-font-size: 95%,\n --code-color: var(--fg-2),\n\n // scss-docs-start root-border-var\n --border-width: #{$border-width},\n --border-style: #{$border-style},\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n // scss-docs-end root-border-var\n\n // scss-docs-start root-border-radius-var\n --border-radius: .5rem,\n --border-radius-xs: .375rem,\n --border-radius-sm: .5rem,\n --border-radius-lg: .75rem,\n --border-radius-xl: 1rem,\n --border-radius-2xl: 2rem,\n --border-radius-pill: 50rem,\n // scss-docs-end root-border-radius-var\n\n // scss-docs-start root-box-shadow-variables\n --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n // scss-docs-end root-box-shadow-variables\n\n --spacer: 1rem,\n\n // scss-docs-start root-focus-variables\n --focus-ring-width: 3px,\n --focus-ring-offset: 1px,\n --focus-ring-color: var(--primary-focus-ring),\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-variables\n --control-checked-bg: var(--primary-base),\n --control-checked-border-color: var(--control-checked-bg),\n --control-active-bg: var(--primary-base),\n --control-active-border-color: var(--control-active-bg),\n --control-disabled-bg: var(--bg-3),\n --control-disabled-opacity: .65,\n\n --btn-input-fg: var(--fg-body),\n --btn-input-bg: var(--bg-body),\n\n --btn-input-min-height: 2.375rem,\n --btn-input-padding-y: .375rem,\n --btn-input-padding-x: .75rem,\n --btn-input-font-size: var(--font-size-base),\n --btn-input-line-height: var(--line-height-base),\n --btn-input-border-radius: var(--border-radius),\n\n --btn-input-xs-min-height: 1.5rem,\n --btn-input-xs-padding-y: .125rem,\n --btn-input-xs-padding-x: .5rem,\n --btn-input-xs-font-size: var(--font-size-xs),\n --btn-input-xs-line-height: 1.125,\n --btn-input-xs-border-radius: var(--border-radius-xs),\n\n --btn-input-sm-min-height: 2rem,\n --btn-input-sm-padding-y: .25rem,\n --btn-input-sm-padding-x: .625rem,\n --btn-input-sm-font-size: var(--font-size-sm),\n --btn-input-sm-line-height: var(--line-height-sm),\n --btn-input-sm-border-radius: var(--border-radius-sm),\n\n --btn-input-lg-min-height: 2.75rem,\n --btn-input-lg-padding-y: .5rem,\n --btn-input-lg-padding-x: 1rem,\n --btn-input-lg-font-size: var(--font-size-md),\n --btn-input-lg-line-height: var(--line-height-md),\n --btn-input-lg-border-radius: var(--border-radius-lg),\n // scss-docs-end root-form-variables\n\n // scss-docs-start root-form-validation-variables\n --form-valid-color: #{$form-valid-color},\n --form-valid-border-color: #{$form-valid-border-color},\n --form-invalid-color: #{$form-invalid-color},\n --form-invalid-border-color: #{$form-invalid-border-color},\n // scss-docs-end root-form-validation-variables\n ),\n $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n @each $key, $value in $color-map {\n $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n @include tokens($root-tokens);\n\n color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n color-scheme: light;\n}\n","@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: $icon-link-gap;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n text-underline-offset: $icon-link-underline-offset;\n backface-visibility: hidden;\n\n > .bi {\n flex-shrink: 0;\n width: $icon-link-icon-size;\n height: $icon-link-icon-size;\n fill: currentcolor;\n @include transition($icon-link-icon-transition);\n }\n }\n\n .icon-link-hover {\n &:hover,\n &:focus-visible {\n > .bi {\n transform: var(--icon-link-transform, $icon-link-icon-transform);\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n @if meta.type-of($defaults) == \"list\" {\n $map: ();\n @each $key in $defaults {\n $map: map.merge($map, ($key: true));\n }\n $defaults: $map;\n }\n $merged: map.merge($defaults, $overrides);\n @each $key, $value in $merged {\n @if $value == null {\n $merged: map.remove($merged, $key);\n }\n }\n @return $merged;\n}\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n\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\n$negative-spacers: (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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 breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !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\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, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\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// Links\n//\n// Style anchor elements.\n\n$link-decoration: underline !default;\n$link-underline-offset: .2em !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// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n\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$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// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n (\n \"xs\": (\n \"font-size\": .75rem,\n \"line-height\": 1.25\n ),\n \"sm\": (\n \"font-size\": .875rem,\n \"line-height\": 1.5\n ),\n \"md\": (\n \"font-size\": 1rem,\n \"line-height\": 1.5\n ),\n \"lg\": (\n \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n \"line-height\": 1.5\n ),\n \"xl\": (\n \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n \"line-height\": calc(2.5 / 1.75)\n ),\n \"2xl\": (\n \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n \"line-height\": calc(3 / 2.25)\n ),\n \"3xl\": (\n \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n \"line-height\": 1.2\n ),\n \"4xl\": (\n \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n \"line-height\": 1.1\n ),\n \"5xl\": (\n \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n \"line-height\": 1.1\n ),\n \"6xl\": (\n \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n \"line-height\": 1\n ),\n ),\n $font-sizes\n);\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 type-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// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-dialog: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@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 \"../layout/breakpoints\" as *;\n\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: $zindex-fixed;\n }\n\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: $zindex-fixed;\n }\n\n // Responsive sticky top and bottom\n @each $breakpoint in map.keys($breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n\n .sticky#{$infix}-bottom {\n position: sticky;\n bottom: 0;\n z-index: $zindex-sticky;\n }\n }\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $breakpoints) {\n @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$name}\");\n}\n\n// Iterate all breakpoints and provide the current name and infix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n @content($breakpoint, $infix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next infix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $infix: breakpoint-infix($next, $breakpoints);\n @content($breakpoint, $next, $infix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $infix) {\n @content($breakpoint, $next, $infix);\n }\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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (width >= $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (width < $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $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 @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n // scss-docs-start stacks\n .stack-container {\n @include set-container();\n }\n\n [class*=\"hstack\"],\n [class*=\"vstack\"] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n\n @include loop-breakpoints-up() using ($breakpoint, $infix) {\n .vstack#{$infix} {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n .hstack#{$infix} {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n }\n // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n @include generate-theme-classes();\n}\n","@use \"sass:meta\";\n@use \"sass:map\";\n\n@function theme-color-values($key) {\n $result: ();\n\n @each $color-name, $color-map in $theme-colors {\n @if map.has-key($color-map, $key) {\n $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n }\n }\n\n @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n $result: ();\n\n @each $key, $value in $opacities {\n @if $key == 100 {\n // For 100%, use direct variable reference (more efficient)\n $result: map.merge($result, ($key: var($color-var)));\n } @else {\n // For other values, use color-mix()\n $percentage: $key * 1%;\n $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n }\n }\n\n @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n @each $color-name, $color-map in $theme-colors {\n .theme-#{$color-name} {\n @each $key, $value in $color-map {\n --theme-#{$key}: var(--#{$color-name}-#{$key});\n }\n }\n }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n @each $key, $value in $map {\n // stylelint-disable-next-line scss/at-function-named-arguments\n $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n @if meta.type-of($value) == \"map\" {\n @include create-css-vars($value, $current-key);\n } @else {\n --#{$current-key}: #{$value};\n }\n }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n \"primary\": (\n \"base\": var(--blue-500),\n \"text\": light-dark(var(--blue-600), var(--blue-400)),\n \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n \"bg\": var(--blue-500),\n \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n \"border\": light-dark(var(--blue-300), var(--blue-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"accent\": (\n \"base\": var(--indigo-500),\n \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n \"bg\": var(--indigo-500),\n \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"success\": (\n \"base\": var(--green-500),\n \"text\": light-dark(var(--green-600), var(--green-400)),\n \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n \"bg\": var(--green-500),\n \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n \"border\": light-dark(var(--green-300), var(--green-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"danger\": (\n \"base\": var(--red-500),\n \"text\": light-dark(var(--red-600), var(--red-400)),\n \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n \"bg\": var(--red-500),\n \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n \"border\": light-dark(var(--red-300), var(--red-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"warning\": (\n \"base\": var(--yellow-500),\n \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n \"bg\": var(--yellow-500),\n \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"info\": (\n \"base\": var(--cyan-500),\n \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n \"bg\": var(--cyan-500),\n \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"inverse\": (\n \"base\": var(--gray-900),\n \"text\": light-dark(var(--gray-900), var(--gray-200)),\n \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n \"border\": light-dark(var(--gray-400), var(--gray-100)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--white), var(--gray-900))\n ),\n \"secondary\": (\n \"base\": var(--gray-200),\n \"text\": light-dark(var(--gray-600), var(--gray-400)),\n \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n \"border\": light-dark(var(--gray-300), var(--gray-600)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--gray-900), var(--white))\n )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n \"body\": light-dark(var(--white), var(--gray-975)),\n \"1\": light-dark(var(--gray-025), var(--gray-950)),\n \"2\": light-dark(var(--gray-050), var(--gray-900)),\n \"3\": light-dark(var(--gray-100), var(--gray-800)),\n \"4\": light-dark(var(--gray-200), var(--gray-700)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"transparent\": transparent,\n \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n \"body\": light-dark(var(--gray-900), var(--gray-050)),\n \"1\": light-dark(var(--gray-800), var(--gray-200)),\n \"2\": light-dark(var(--gray-700), var(--gray-300)),\n \"3\": light-dark(var(--gray-600), var(--gray-500)),\n \"4\": light-dark(var(--gray-500), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n \"bg\": var(--bg-body),\n \"body\": light-dark(var(--gray-300), var(--gray-800)),\n \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n 10: .1,\n 20: .2,\n 30: .3,\n 40: .4,\n 50: .5,\n 60: .6,\n 70: .7,\n 80: .8,\n 90: .9,\n 100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n\n // Fix for positioned table caption that could become anonymous cells\n &:not(caption) {\n position: absolute !important;\n }\n\n // Fix to prevent overflowing children to become focusable\n * {\n overflow: hidden !important;\n }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n &:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n .stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n inset: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n .text-truncate {\n @include text-truncate();\n }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../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($breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $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 // 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\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n // Validate required keys\n @if not map.has-key($utility, property) {\n @error \"Utility is missing required `property` key: #{$utility}\";\n }\n @if not map.has-key($utility, values) {\n @error \"Utility is missing required `values` key: #{$utility}\";\n }\n\n // Warn on unknown keys (likely typos)\n $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n @each $key in map.keys($utility) {\n @if not list.index($valid-keys, $key) {\n @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n }\n }\n\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selectorType) {\n @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selectorType != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n }\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n // Calculate infix once, before the loop\n // Note: $infix already includes the leading dash from breakpoint-infix()\n // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n // @debug \"Properties type: #{meta.type-of($properties)}\";\n // @debug \"Properties: #{$properties}\";\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n // For property maps, we need to determine the class from the utility definition\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // Use custom CSS variable name if present, otherwise default to `class`\n // mdo-do: restore?\n // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $infix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n // Use the fallback of the first property if no `class` key is used\n @if $customClass != \"\" {\n $selector: \".#{$customClass + $infix + $customClassModifier}\";\n } @else {\n $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","bootstrap-utilities.css","../../scss/_root.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/_config.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_position.scss","../../scss/layout/_breakpoints.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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AxHI,gBA+CO;ElBotBb;EkB3oBE;IAxHI,kBA+CO;ElButBb;EkB9oBE;IAxHI,mBA+CO;ElB0tBb;EkBjpBE;IAxHI,kBA+CO;ElB6tBb;EkBppBE;IAxHI,gBA+CO;ElBguBb;EkBvpBE;IAxHI,kBA+CO;ElBmuBb;EkB1pBE;IAxHI,mBA+CO;ElBsuBb;EkB7pBE;IAxHI,kBA+CO;ElByuBb;EkBhqBE;IAxHI,2BA0CG;ElBivBT;EkBnqBE;IAxHI,oBA0CG;ElBovBT;EkBtqBE;IAxHI,eA+CO;ElBkvBb;EkBzqBE;IAxHI,qBA+CO;ElBqvBb;EkB5qBE;IAxHI,cA+CO;ElBwvBb;EkB/qBE;IAxHI,aA+CO;ElB2vBb;EkBlrBE;IAxHI,oBA+CO;ElB8vBb;EkBrrBE;IAxHI,cA+CO;ElBiwBb;EkBxrBE;IAxHI,kBA+CO;ElBowBb;EkB3rBE;IAxHI,mBA+CO;ElBuwBb;EkB9rBE;IAxHI,aA+CO;ElB0wBb;EkBjsBE;IAxHI,oBA+CO;ElB6wBb;EkBpsBE;IAxHI,iBA+CO;ElBgxBb;EkBvsBE;IAxHI,kBA+CO;ElBmxBb;EkB1sBE;IAxHI,aA+CO;ElBsxBb;EkB7sBE;IAxHI,gCA0CG;ElB8xBT;EkBhtBE;IAxHI,mCA0CG;ElBiyBT;EkBntBE;IAxHI,mCA0CG;ElBoyBT;EkBttBE;IAxHI,gBA0CG;ElBuyBT;EkBztBE;IAxHI,iKA0CG;ElB0yBT;EkB5tBE;IAxHI,qKA0CG;ElB6yBT;EkB/tBE;IAxHI,mKA0CG;ElBgzBT;EkBluBE;IAxHI,+JA0CG;ElBmzBT;EkBruBE;IAxHI,qKA0CG;ElBszBT;EkBxuBE;IAxHI,iKA0CG;ElByzBT;EkB3uBE;IAxHI,qHA0CG;ElB4zBT;EkB9uBE;IAxHI,qHA0CG;ElB+zBT;EkBjvBE;IAxHI,gBA+CO;ElB6zBb;EkBpvBE;IAxHI,kBA+CO;ElBg0Bb;EkBvvBE;IAxHI,kBA+CO;ElBm0Bb;EkB1vBE;IAxHI,eA+CO;ElBs0Bb;EkB7vBE;IAxHI,gBA+CO;ElBy0Bb;EkBhwBE;IAxHI,MA0CG;ElBi1BT;EkBnwBE;IAxHI,QA0CG;ElBo1BT;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BA+CO;ElB+rCb;EkBtnCE;IAxHI,2BA0CG;ElBusCT;EkBznCE;IAxHI,yBA0CG;ElB0sCT;EkB5nCE;IAxHI,uBA0CG;ElB6sCT;EkB/nCE;IAxHI,8BA0CG;ElBgtCT;EkBloCE;IAxHI,6BA0CG;ElBmtCT;EkBroCE;IAxHI,6BA0CG;ElBstCT;EkBxoCE;IAxHI,oBA0CG;ElBytCT;EkB3oCE;IAxHI,kBA0CG;ElB4tCT;EkB9oCE;IAxHI,qBA0CG;ElB+tCT;EkBjpCE;IAxHI,sBA0CG;ElBkuCT;EkBppCE;IAxHI,wBA0CG;ElBquCT;EkBvpCE;IAxHI,sBA0CG;ElBwuCT;EkB1pCE;IAxHI,oBA0CG;ElB2uCT;EkB7pCE;IAxHI,uBA0CG;ElB8uCT;EkBhqCE;IAxHI,qBA0CG;ElBivCT;EkBnqCE;IAxHI,mBA0CG;ElBovCT;EkBtqCE;IAxHI,qBA0CG;ElBuvCT;EkBzqCE;IAxHI,oBA0CG;ElB0vCT;EkB5qCE;IAxHI,yBA0CG;ElB6vCT;EkB/qCE;IAxHI,uBA0CG;ElBgwCT;EkBlrCE;IAxHI,qBA0CG;ElBmwCT;EkBrrCE;IAxHI,4BA0CG;ElBswCT;EkBxrCE;IAxHI,2BA0CG;ElBywCT;EkB3rCE;IAxHI,sBA0CG;ElB4wCT;EkB9rCE;IAxHI,gBA0CG;ElB+wCT;EkBjsCE;IAxHI,sBA0CG;ElBkxCT;EkBpsCE;IAxHI,oBA0CG;ElBqxCT;EkBvsCE;IAxHI,kBA0CG;ElBwxCT;EkB1sCE;IAxHI,oBA0CG;ElB2xCT;EkB7sCE;IAxHI,mBA0CG;ElB8xCT;EkBhtCE;IAxHI,kBA0CG;ElBiyCT;EkBntCE;IAxHI,gBA0CG;ElBoyCT;EkBttCE;IAxHI,mBA0CG;ElBuyCT;EkBztCE;IAxHI,oBA0CG;ElB0yCT;EkB5tCE;IAxHI,qCA0CG;ElB6yCT;EkB/tCE;IAxHI,qCA0CG;ElBgzCT;EkBluCE;IAxHI,qCA0CG;ElBmzCT;EkBruCE;IAxHI,qCA0CG;ElBszCT;EkBxuCE;IAxHI,mBA0CG;ElByzCT;EkB3uCE;IAxHI,mBA+CO;ElBuzCb;EkB9uCE;IAxHI,sBA+CO;ElB0zCb;EkBjvCE;IAxHI,qBA+CO;ElB6zCb;EkBpvCE;IAxHI,SA0CG;ElBq0CT;EkBvvCE;IAxHI,QA0CG;ElBw0CT;EkB1vCE;IAxHI,QA0CG;ElB20CT;EkB7vCE;IAxHI,QA0CG;ElB80CT;EkBhwCE;IAxHI,QA0CG;ElBi1CT;EkBnwCE;IAxHI,QA0CG;ElBo1CT;EkBtwCE;IAxHI,QA0CG;ElBu1CT;EkBzwCE;IAxHI,QA0CG;ElB01CT;EkB5wCE;IAxHI,SA0CG;ElB61CT;EkB/wCE;IAxHI,eA0CG;ElBg2CT;EkBlxCE;IAxHI,cA0CG;ElBm2CT;EkBrxCE;IAxHI,YA0CG;ElBs2CT;EkBxxCE;IAxHI,cA0CG;ElBy2CT;EkB3xCE;IAxHI,YA0CG;ElB42CT;EkB9xCE;IAxHI,YA0CG;ElB+2CT;EkBjyCE;IAxHI,gBA0CG;ElBk3CT;EkBpyCE;IAxHI,sBA0CG;ElBq3CT;EkBvyCE;IAxHI,qBA0CG;ElBw3CT;EkB1yCE;IAxHI,mBA0CG;ElB23CT;EkB7yCE;IAxHI,qBA0CG;ElB83CT;EkBhzCE;IAxHI,mBA0CG;ElBi4CT;EkBnzCE;IAxHI,mBA0CG;ElBo4CT;EkBtzCE;IAxHI,eA0CG;ElBu4CT;EkBzzCE;IAxHI,qBA0CG;ElB04CT;EkB5zCE;IAxHI,oBA0CG;ElB64CT;EkB/zCE;IAxHI,kBA0CG;ElBg5CT;EkBl0CE;IAxHI,oBA0CG;ElBm5CT;EkBr0CE;IAxHI,kBA0CG;ElBs5CT;EkBx0CE;IAxHI,kBA0CG;ElBy5CT;EkB30CE;IAxHI,qBA0CG;ElB45CT;EkB90CE;IAxHI,2BA0CG;ElB+5CT;EkBj1CE;IAxHI,0BA0CG;ElBk6CT;EkBp1CE;IAxHI,wBA0CG;ElBq6CT;EkBv1CE;IAxHI,0BA0CG;ElBw6CT;EkB11CE;IAxHI,wBA0CG;ElB26CT;EkB71CE;IAxHI,wBA0CG;ElB86CT;EkBh2CE;IAxHI,oBA0CG;ElBi7CT;EkBn2CE;IAxHI,0BA0CG;ElBo7CT;EkBt2CE;IAxHI,yBA0CG;ElBu7CT;EkBz2CE;IAxHI,uBA0CG;ElB07CT;EkB52CE;IAxHI,yBA0CG;ElB67CT;EkB/2CE;IAxHI,uBA0CG;ElBg8CT;EkBl3CE;IAxHI,uBA0CG;ElBm8CT;EkBr3CE;IAxHI,mBA0CG;ElBs8CT;EkBx3CE;IAxHI,yBA0CG;ElBy8CT;EkB33CE;IAxHI,wBA0CG;ElB48CT;EkB93CE;IAxHI,sBA0CG;ElB+8CT;EkBj4CE;IAxHI,wBA0CG;ElBk9CT;EkBp4CE;IAxHI,sBA0CG;ElBq9CT;EkBv4CE;IAxHI,sBA0CG;ElBw9CT;EkB14CE;IAxHI,sBA0CG;ElB29CT;EkB74CE;IAxHI,4BA0CG;ElB89CT;EkBh5CE;IAxHI,2BA0CG;ElBi+CT;EkBn5CE;IAxHI,yBA0CG;ElBo+CT;EkBt5CE;IAxHI,2BA0CG;ElBu+CT;EkBz5CE;IAxHI,yBA0CG;ElB0+CT;EkB55CE;IAxHI,6BA0CG;ElB6+CT;EkB/5CE;IAxHI,4BA0CG;ElBg/CT;EkBl6CE;IAxHI,yBA0CG;ElBm/CT;EkBr6CE;IAxHI,UA0CG;ElBs/CT;EkBx6CE;IAxHI,gBA0CG;ElBy/CT;EkB36CE;IAxHI,eA0CG;ElB4/CT;EkB96CE;IAxHI,aA0CG;ElB+/CT;EkBj7CE;IAxHI,eA0CG;ElBkgDT;EkBp7CE;IAxHI,aA0CG;ElBqgDT;EkBv7CE;IAxHI,iBA0CG;ElBwgDT;EkB17CE;IAxHI,uBA0CG;ElB2gDT;EkB77CE;IAxHI,sBA0CG;ElB8gDT;EkBh8CE;IAxHI,oBA0CG;ElBihDT;EkBn8CE;IAxHI,sBA0CG;ElBohDT;EkBt8CE;IAxHI,oBA0CG;ElBuhDT;EkBz8CE;IAxHI,gBA0CG;ElB0hDT;EkB58CE;IAxHI,sBA0CG;ElB6hDT;EkB/8CE;IAxHI,qBA0CG;ElBgiDT;EkBl9CE;IAxHI,mBA0CG;ElBmiDT;EkBr9CE;IAxHI,qBA0CG;ElBsiDT;EkBx9CE;IAxHI,mBA0CG;ElByiDT;EkB39CE;IAxHI,sBA0CG;ElB4iDT;EkB99CE;IAxHI,4BA0CG;ElB+iDT;EkBj+CE;IAxHI,2BA0CG;ElBkjDT;EkBp+CE;IAxHI,yBA0CG;ElBqjDT;EkBv+CE;IAxHI,2BA0CG;ElBwjDT;EkB1+CE;IAx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;IA/IA,iEA0CG;ElByhET;EkB38DE;IAxHI,2BA0CG;ElB4hET;EkBv7DM;IA/IA,2BA0CG;ElB+hET;EkBj9DE;IAxHI,8BA0CG;ElBkiET;EkB77DM;IA/IA,8BA0CG;ElBqiET;EkBv9DE;IAxHI,6BA0CG;ElBwiET;EkBn8DM;IA/IA,6BA0CG;ElB2iET;EkB79DE;IAxHI,8BA0CG;ElB8iET;EkBz8DM;IA/IA,8BA0CG;ElBijET;EkBn+DE;IAxHI,yEA0CG;ElBojET;EkBt+DE;IAxHI,wHA0CG;ElBujET;EkBz+DE;IAxHI,2EA0CG;ElB0jET;EkB5+DE;IAxHI,uEA0CG;ElB6jET;EkB/+DE;IAxHI,6EA0CG;ElBgkET;EkBl/DE;IAxHI,yEA0CG;ElBmkET;EkBr/DE;IAxHI,yEA0CG;ElBskET;EkBx/DE;IAxHI,yEA0CG;ElBykET;EkB3/DE;IAxHI,iFA0CG;ElB4kET;EkBv+DM;IA/IA,iFA0CG;ElB+kET;EkBjgEE;IAxHI,iFA0CG;ElBklET;EkB7+DM;IA/IA,iFA0CG;ElBqlET;EkBvgEE;IAxHI,iFA0CG;ElBwlET;EkBn/DM;IA/IA,iFA0CG;ElB2lET;EkB7gEE;IAxHI,iFA0CG;ElB8lET;EkBz/DM;IA/IA,iFA0CG;ElBimET;EkBnhEE;IAxHI,iFA0CG;ElBomET;EkB//DM;IA/IA,iFA0CG;ElBumET;EkBzhEE;IAxHI,iFA0CG;ElB0mET;EkBrgEM;IA/IA,iFA0CG;ElB6mET;EkB/hEE;IAxHI,iFA0CG;ElBgnET;EkB3gEM;IA/IA,iFA0CG;ElBmnET;EkBriEE;IAxHI,iFA0CG;ElBsnET;EkBjhEM;IA/IA,iFA0CG;ElBynET;EkB3iEE;IAxHI,iFA0CG;ElB4nET;EkBvhEM;IA/IA,iFA0CG;ElB+nET;EkBjjEE;IAxHI,2CA0CG;ElBkoET;EkB7hEM;IA/IA,2CA0CG;ElBqoET;EkBvjEE;IAxHI,8BA0CG;ElBwoET;EkBniEM;IA/IA,8BA0CG;ElB2oET;EkB7jEE;IAxHI,8BA0CG;ElB8oET;EkBziEM;IA/IA,8BA0CG;ElBipET;EkBnkEE;IAxHI,8BA0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kBlhFA;MAxHI,iBA+CO;IlB8lFX;IkBrhFA;MAxHI,kBA+CO;IlBimFX;IkBxhFA;MAxHI,aA+CO;IlBomFX;IkB3hFA;MAxHI,cA0CG;IlB4mFP;IkB9hFA;MAxHI,mBA+CO;IlB0mFX;IkBjiFA;MAxHI,sBA+CO;IlB6mFX;IkBpiFA;MAxHI,2BA+CO;IlBgnFX;IkBviFA;MAxHI,8BA+CO;IlBmnFX;IkB1iFA;MAxHI,YA0CG;IlB2nFP;IkB7iFA;MAxHI,YA0CG;IlB8nFP;IkBhjFA;MAxHI,cA0CG;IlBioFP;IkBnjFA;MAxHI,cA0CG;IlBooFP;IkBtjFA;MAxHI,eA+CO;IlBkoFX;IkBzjFA;MAxHI,iBA+CO;IlBqoFX;IkB5jFA;MAxHI,uBA+CO;IlBwoFX;IkB/jFA;MAxHI,2BA0CG;IlBgpFP;IkBlkFA;MAxHI,yBA0CG;IlBmpFP;IkBrkFA;MAxHI,uBA0CG;IlBspFP;IkBxkFA;MAxHI,8BA0CG;IlBypFP;IkB3kFA;MAxHI,6BA0CG;IlB4pFP;IkB9kFA;MAxHI,6BA0CG;IlB+pFP;IkBjlFA;MAxHI,oBA0CG;IlBkqFP;IkBplFA;MAxHI,kBA0CG;IlBqqFP;IkBvlFA;MAxHI,qBA0CG;IlBwqFP;IkB1lFA;MAxHI,sBA0CG;IlB2qFP;IkB7lFA;MAxHI,wBA0CG;IlB8qFP;IkBhmFA;MAxHI,sBA0CG;IlBirFP;IkBnmFA;MAxHI,oBA0CG;IlBorFP;IkBtmFA;MAxHI,uBA0CG;IlBurFP;IkBzmFA;MAxHI,qBA0CG;IlB0rFP;IkB5mFA;MAxHI,mBA0CG;IlB6rFP;IkB/mFA;MAxHI,qBA0CG;IlBgsFP;IkBlnFA;MAxHI,oBA0CG;IlBmsFP;IkBrnFA;MAxHI,yBA0CG;IlBssFP;IkBxnFA;MAxHI,uBA0CG;IlBysFP;IkB3nFA;MAxHI,qBA0CG;IlB4sFP;IkB9nFA;MAxHI,4BA0CG;IlB+sFP;IkBjoFA;MAxHI,2BA0CG;IlBktFP;IkBpoFA;MAxHI,sBA0CG;IlBqtFP;IkBvoFA;MAxHI,gBA0CG;IlBwtFP;IkB1oFA;MAxHI,sBA0CG;IlB2tFP;IkB7oFA;MAxHI,oBA0CG;IlB8tFP;IkBhpFA;MAxHI,kBA0CG;IlBiuFP;IkBnpFA;MAxHI,oBA0CG;IlBouFP;IkBtpFA;MAxHI,mBA0CG;IlBuuFP;IkBzpFA;MAxHI,kBA0CG;IlB0uFP;IkB5pFA;MAxHI,gBA0CG;IlB6uFP;IkB/pFA;MAxHI,mBA0CG;IlBgvFP;IkBlqFA;MAxHI,oBA0CG;IlBmvFP;IkBrqFA;MAxHI,qCA0CG;IlBsvFP;IkBxqFA;MAxHI,qCA0CG;IlByvFP;IkB3qFA;MAxHI,qCA0CG;IlB4vFP;IkB9qFA;MAxHI,qCA0CG;IlB+vFP;IkBjrFA;MAxHI,mBA0CG;IlBkwFP;IkBprFA;MAxHI,mBA+CO;IlBgwFX;IkBvrFA;MAxHI,sBA+CO;IlBmwFX;IkB1rFA;MAxHI,qBA+CO;IlBswFX;IkB7rFA;MAxHI,SA0CG;IlB8wFP;IkBhsFA;MAxHI,QA0CG;IlBixFP;IkBnsFA;MAxHI,QA0CG;IlBoxFP;IkBtsFA;MAxHI,QA0CG;IlBuxFP;IkBzsFA;MAxHI,QA0CG;IlB0xFP;IkB5sFA;MAxHI,QA0CG;IlB6xFP;IkB/sFA;MAxHI,QA0CG;IlBgyFP;IkBltFA;MAxHI,QA0CG;IlBmyFP;IkBrtFA;MAxHI,SA0CG;IlBsyFP;IkBxtFA;MAxHI,eA0CG;IlByyFP;IkB3tFA;MAxHI,cA0CG;IlB4yFP;IkB9tFA;MAxHI,YA0CG;IlB+yFP;IkBjuFA;MAxHI,cA0CG;IlBkzFP;IkBpuFA;MAxHI,YA0CG;IlBqzFP;IkBvuFA;MAxHI,YA0CG;IlBwzFP;IkB1uFA;MAxHI,gBA0CG;IlB2zFP;IkB7uFA;MAxHI,sBA0CG;IlB8zFP;IkBhvFA;MAxHI,qBA0CG;IlBi0FP;IkBnvFA;MAxHI,mBA0CG;IlBo0FP;IkBtvFA;MAxHI,qBA0CG;IlBu0FP;IkBzvFA;MAxHI,mBA0CG;IlB00FP;IkB5vFA;MAxHI,mBA0CG;IlB60FP;IkB/vFA;MAxHI,eA0CG;IlBg1FP;IkBlwFA;MAxHI,qBA0CG;IlBm1FP;IkBrwFA;MAxHI,oBA0CG;IlBs1FP;IkBxwFA;MAxHI,kBA0CG;IlBy1FP;IkB3wFA;MAxHI,oBA0CG;IlB41FP;IkB9wFA;MAxHI,kBA0CG;IlB+1FP;IkBjxFA;MAxHI,kBA0CG;IlBk2FP;IkBpxFA;MAxHI,qBA0CG;IlBq2FP;IkBvxFA;MAxHI,2BA0CG;IlBw2FP;IkB1xFA;MAxHI,0BA0CG;IlB22FP;IkB7xFA;MAxHI,wBA0CG;IlB82FP;IkBhyFA;MAxHI,0BA0CG;IlBi3FP;IkBnyFA;MAxHI,wBA0CG;IlBo3FP;IkBtyFA;MAxHI,wBA0CG;IlBu3FP;IkBzyFA;MAxHI,oBA0CG;IlB03FP;IkB5yFA;MAxHI,0BA0CG;IlB63FP;IkB/yFA;MAxHI,yBA0CG;IlBg4FP;IkBlzFA;MAxHI,uBA0CG;IlBm4FP;IkBrzFA;MAxHI,yBA0CG;IlBs4FP;IkBxzFA;MAxHI,uBA0CG;IlBy4FP;IkB3zFA;MAxHI,uBA0CG;IlB44FP;IkB9zFA;MAxHI,mBA0CG;IlB+4FP;IkBj0FA;MAxHI,yBA0CG;IlBk5FP;IkBp0FA;MAxHI,wBA0CG;IlBq5FP;IkBv0FA;MAxHI,sBA0CG;IlBw5FP;IkB10FA;MAxHI,wBA0CG;IlB25FP;IkB70FA;MAxHI,sBA0CG;IlB85FP;IkBh1FA;MAxHI,sBA0CG;IlBi6FP;IkBn1FA;MAxHI,sBA0CG;IlBo6FP;IkBt1FA;MAxHI,4BA0CG;IlBu6FP;IkBz1FA;MAxHI,2BA0CG;IlB06FP;IkB51FA;MAxHI,yBA0CG;IlB66FP;IkB/1FA;MAxHI,2BA0CG;IlBg7FP;IkBl2FA;MAxHI,yBA0CG;IlBm7FP;IkBr2FA;MAxHI,6BA0CG;IlBs7FP;IkBx2FA;MAxHI,4BA0CG;IlBy7FP;IkB32FA;MAxHI,yBA0CG;IlB47FP;IkB92FA;MAxHI,UA0CG;IlB+7FP;IkBj3FA;MAxHI,gBA0CG;IlBk8FP;IkBp3FA;MAxHI,eA0CG;IlBq8FP;IkBv3FA;MAxHI,aA0CG;IlBw8FP;IkB13FA;MAxHI,eA0CG;IlB28FP;IkB73FA;MAxHI,aA0CG;IlB88FP;IkBh4FA;MAxHI,iBA0CG;IlBi9FP;IkBn4FA;MAxHI,uBA0CG;IlBo9FP;IkBt4FA;MAxHI,sBA0CG;IlBu9FP;IkBz4FA;MAxHI,oBA0CG;IlB09FP;IkB54FA;MAxHI,sBA0CG;IlB69FP;IkB/4FA;MAxHI,oBA0CG;IlBg+FP;IkBl5FA;MAxHI,gBA0CG;IlBm+FP;IkBr5FA;MAxHI,sBA0CG;IlBs+FP;IkBx5FA;MAxHI,qBA0CG;IlBy+FP;IkB35FA;MAxHI,mBA0CG;IlB4+FP;IkB95FA;MAxHI,qBA0CG;IlB++FP;IkBj6FA;MAxHI,mBA0CG;IlBk/FP;IkBp6FA;MAxHI,sBA0CG;IlBq/FP;IkBv6FA;MAxHI,4BA0CG;IlBw/FP;IkB16FA;MAxHI,2BA0CG;IlB2/FP;IkB76FA;MAxHI,yBA0CG;IlB8/FP;IkBh7FA;MAxHI,2BA0CG;IlBigGP;IkBn7FA;MAxHI,yBA0CG;IlBogGP;IkBt7FA;MAxHI,qBA0CG;IlBugGP;IkBz7FA;MAxHI,2BA0CG;IlB0gGP;IkB57FA;MAxHI,0BA0CG;IlB6gGP;IkB/7FA;MAxHI,wBA0CG;IlBghGP;IkBl8FA;MAxHI,0BA0CG;IlBmhGP;IkBr8FA;MAxHI,wBA0CG;IlBshGP;IkBx8FA;MAxHI,oBA0CG;IlByhGP;IkB38FA;MAxHI,0BA0CG;IlB4hGP;IkB98FA;MAxHI,yBA0CG;IlB+hGP;IkBj9FA;MAxHI,uBA0CG;IlBkiGP;IkBp9FA;MAxHI,yBA0CG;IlBqiGP;IkBv9FA;MAxHI,uBA0CG;IlBwiGP;IkB19FA;MAxHI,uBA0CG;IlB2iGP;IkB79FA;MAxHI,6BA0CG;IlB8iGP;IkBh+FA;MAxHI,4BA0CG;IlBijGP;IkBn+FA;MAxHI,0BA0CG;IlBojGP;IkBt+FA;MAxHI,4BA0CG;IlBujGP;IkBz+FA;MAxHI,0BA0CG;IlB0jGP;IkB5+FA;MAxHI,MA0CG;IlB6jGP;IkB/+FA;MAxHI,YA0CG;IlBgkGP;IkBl/FA;MAxHI,WA0CG;IlBmkGP;IkBr/FA;MAxHI,SA0CG;IlBskGP;IkBx/FA;MAxHI,WA0CG;IlBykGP;IkB3/FA;MAxHI,SA0CG;IlB4kGP;IkB9/FA;MAxHI,UA0CG;IlB+kGP;IkBjgGA;MAxHI,gBA0CG;IlBklGP;IkBpgGA;MAxHI,eA0CG;IlBqlGP;IkBvgGA;MAxHI,aA0CG;IlBwlGP;IkB1gGA;MAxHI,eA0CG;IlB2lGP;IkB7gGA;MAxHI,aA0CG;IlB8lGP;IkBhhGA;MAxHI,kBA0CG;MA1CH,aA0CG;IlBimGP;IkBnhGA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlBomGP;IkBthGA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlBumGP;IkBzhGA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlB0mGP;IkB5hGA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlB6mGP;IkB/hGA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlBgnGP;IkBliGA;MAxHI,iBA0CG;IlBmnGP;IkBriGA;MAxHI,eA0CG;IlBsnGP;IkBxiGA;MAxHI,kBA0CG;IlBynGP;EACF;EOjnGE;IWqEA;MAxHI,mBA0CG;IlB8nGP;IkBhjGA;MAxHI,iBA0CG;IlBioGP;IkBnjGA;MAxHI,WA0CG;IlBooGP;IkBtjGA;MAxHI,sBA0CG;MA1CH,mBA0CG;IlBuoGP;IkBzjGA;MAxHI,oBA0CG;MA1CH,iBA0CG;IlB0oGP;IkB5jGA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlB6oGP;IkB/jGA;MAxHI,yBA0CG;MA1CH,sBA0CG;IlBgpGP;IkBlkGA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlBmpGP;IkBrkGA;MAxHI,eA+CO;IlBipGX;IkBxkGA;MAxHI,qBA+CO;IlBopGX;IkB3kGA;MAxHI,cA+CO;IlBupGX;IkB9kGA;MAxHI,aA+CO;IlB0pGX;IkBjlGA;MAxHI,oBA+CO;IlB6pGX;IkBplGA;MAxHI,cA+CO;IlBgqGX;IkBvlGA;MAxHI,kBA+CO;IlBmqGX;IkB1lGA;MAxHI,mBA+CO;IlBsqGX;IkB7lGA;MAxHI,aA+CO;IlByqGX;IkBhmGA;MAxHI,oBA+CO;IlB4qGX;IkBnmGA;MAxHI,iBA+CO;IlB+qGX;IkBtmGA;MAxHI,kBA+CO;IlBkrGX;IkBzmGA;MAxHI,aA+CO;IlBqrGX;IkB5mGA;MAxHI,cA0CG;IlB6rGP;IkB/mGA;MAxHI,mBA+CO;IlB2rGX;IkBlnGA;MAxHI,sBA+CO;IlB8rGX;IkBrnGA;MAxHI,2BA+CO;IlBisGX;IkBxnGA;MAxHI,8BA+CO;IlBosGX;IkB3nGA;MAxHI,YA0CG;IlB4sGP;IkB9nGA;MAxHI,YA0CG;IlB+sGP;IkBjoGA;MAxHI,cA0CG;IlBktGP;IkBpoGA;MAxHI,cA0CG;IlBqtGP;IkBvoGA;MAxHI,eA+CO;IlBmtGX;IkB1oGA;MAxHI,iBA+CO;IlBstGX;IkB7oGA;MAxHI,uBA+CO;IlBytGX;IkBhpGA;MAxHI,2BA0CG;IlBiuGP;IkBnpGA;MAxHI,yBA0CG;IlBouGP;IkBtpGA;MAxHI,uBA0CG;IlBuuGP;IkBzpGA;MAxHI,8BA0CG;IlB0uGP;IkB5pGA;MAxHI,6BA0CG;IlB6uGP;IkB/pGA;MAxHI,6BA0CG;IlBgvGP;IkBlqGA;MAxHI,oBA0CG;IlBmvGP;IkBrqGA;MAxHI,kBA0CG;IlBsvGP;IkBxqGA;MAxHI,qBA0CG;IlByvGP;IkB3qGA;MAxHI,sBA0CG;IlB4vGP;IkB9qGA;MAxHI,wBA0CG;IlB+vGP;IkBjrGA;MAxHI,sBA0CG;IlBkwGP;IkBprGA;MAxHI,oBA0CG;IlBqwGP;IkBvrGA;MAxHI,uBA0CG;IlBwwGP;IkB1rGA;MAxHI,qBA0CG;IlB2wGP;IkB7rGA;MAxHI,mBA0CG;IlB8wGP;IkBhsGA;MAxHI,qBA0CG;IlBixGP;IkBnsGA;MAxHI,oBA0CG;IlBoxGP;IkBtsGA;MAxHI,yBA0CG;IlBuxGP;IkBzsGA;MAxHI,uBA0CG;IlB0xGP;IkB5sGA;MAxHI,qBA0CG;IlB6xGP;IkB/sGA;MAxHI,4BA0CG;IlBgyGP;IkBltGA;MAxHI,2BA0CG;IlBmyGP;IkBrtGA;MAxHI,sBA0CG;IlBsyGP;IkBxtGA;MAxHI,gBA0CG;IlByyGP;IkB3tGA;MAxHI,sBA0CG;IlB4yGP;IkB9tGA;MAxHI,oBA0CG;IlB+yGP;IkBjuGA;MAxHI,kBA0CG;IlBkzGP;IkBpuGA;MAxHI,oBA0CG;IlBqzGP;IkBvuGA;MAxHI,mBA0CG;IlBwzGP;IkB1uGA;MAxHI,kBA0CG;IlB2zGP;IkB7uGA;MAxHI,gBA0CG;IlB8zGP;IkBhvGA;MAxHI,mBA0CG;IlBi0GP;IkBnvGA;MAxHI,oBA0CG;IlBo0GP;IkBtvGA;MAxHI,qCA0CG;IlBu0GP;IkBzvGA;MAxHI,qCA0CG;IlB00GP;IkB5vGA;MAxHI,qCA0CG;IlB60GP;IkB/vGA;MAxHI,qCA0CG;IlBg1GP;IkBlwGA;MAxHI,mBA0CG;IlBm1GP;IkBrwGA;MAxHI,mBA+CO;IlBi1GX;IkBxwGA;MAxHI,sBA+CO;IlBo1GX;IkB3wGA;MAxHI,qBA+CO;IlBu1GX;IkB9wGA;MAxHI,SA0CG;IlB+1GP;IkBjxGA;MAxHI,QA0CG;IlBk2GP;IkBpxGA;MAxHI,QA0CG;IlBq2GP;IkBvxGA;MAxHI,QA0CG;IlBw2GP;IkB1xGA;MAxHI,QA0CG;IlB22GP;IkB7xGA;MAxHI,QA0CG;IlB82GP;IkBhyGA;MAxHI,QA0CG;IlBi3GP;IkBnyGA;MAxHI,QA0CG;IlBo3GP;IkBtyGA;MAxHI,SA0CG;IlBu3GP;IkBzyGA;MAxHI,eA0CG;IlB03GP;IkB5yGA;MAxHI,cA0CG;IlB63GP;IkB/yGA;MAxHI,YA0CG;IlBg4GP;IkBlzGA;MAxHI,cA0CG;IlBm4GP;IkBrzGA;MAxHI,YA0CG;IlBs4GP;IkBxzGA;MAxHI,YA0CG;IlBy4GP;IkB3zGA;MAxHI,gBA0CG;IlB44GP;IkB9zGA;MAxHI,sBA0CG;IlB+4GP;IkBj0GA;MAxHI,qBA0CG;IlBk5GP;IkBp0GA;MAxHI,mBA0CG;IlBq5GP;IkBv0GA;MAxHI,qBA0CG;IlBw5GP;IkB10GA;MAxHI,mBA0CG;IlB25GP;IkB70GA;MAxHI,mBA0CG;IlB85GP;IkBh1GA;MAxHI,eA0CG;IlBi6GP;IkBn1GA;MAxHI,qBA0CG;IlBo6GP;IkBt1GA;MAxHI,oBA0CG;IlBu6GP;IkBz1GA;MAxHI,kBA0CG;IlB06GP;IkB51GA;MAxHI,oBA0CG;IlB66GP;IkB/1GA;MAxHI,kBA0CG;IlBg7GP;IkBl2GA;MAxHI,kBA0CG;IlBm7GP;IkBr2GA;MAxHI,qBA0CG;IlBs7GP;IkBx2GA;MAxHI,2BA0CG;IlBy7GP;IkB32GA;MAxHI,0BA0CG;IlB47GP;IkB92GA;MAxHI,wBA0CG;IlB+7GP;IkBj3GA;MAxHI,0BA0CG;IlBk8GP;IkBp3GA;MAxHI,wBA0CG;IlBq8GP;IkBv3GA;MAxHI,wBA0CG;IlBw8GP;IkB13GA;MAxHI,oBA0CG;IlB28GP;IkB73GA;MAxHI,0BA0CG;IlB88GP;IkBh4GA;MAxHI,yBA0CG;IlBi9GP;IkBn4GA;MAxHI,uBA0CG;IlBo9GP;IkBt4GA;MAxHI,yBA0CG;IlBu9GP;IkBz4GA;MAxHI,uBA0CG;IlB09GP;IkB54GA;MAxHI,uBA0CG;IlB69GP;IkB/4GA;MAxHI,mBA0CG;IlBg+GP;IkBl5GA;MAxHI,yBA0CG;IlBm+GP;IkBr5GA;MAxHI,wBA0CG;IlBs+GP;IkBx5GA;MAxHI,sBA0CG;IlBy+GP;IkB35GA;MAxHI,wBA0CG;IlB4+GP;IkB95GA;MAxHI,sBA0CG;IlB++GP;IkBj6GA;MAxHI,sBA0CG;IlBk/GP;IkBp6GA;MAxHI,sBA0CG;IlBq/GP;IkBv6GA;MAxHI,4BA0CG;IlBw/GP;IkB16GA;MAxHI,2BA0CG;IlB2/GP;IkB76GA;MAxHI,yBA0CG;IlB8/GP;IkBh7GA;MAxHI,2BA0CG;IlBigHP;IkBn7GA;MAxHI,yBA0CG;IlBogHP;IkBt7GA;MAxHI,6BA0CG;IlBugHP;IkBz7GA;MAxHI,4BA0CG;IlB0gHP;IkB57GA;MAxHI,yBA0CG;IlB6gHP;IkB/7GA;MAxHI,UA0CG;IlBghHP;IkBl8GA;MAxHI,gBA0CG;IlBmhHP;IkBr8GA;MAxHI,eA0CG;IlBshHP;IkBx8GA;MAxHI,aA0CG;IlByhHP;IkB38GA;MAxHI,eA0CG;IlB4hHP;IkB98GA;MAxHI,aA0CG;IlB+hHP;IkBj9GA;MAxHI,iBA0CG;IlBkiHP;IkBp9GA;MAxHI,uBA0CG;IlBqiHP;IkBv9GA;MAxHI,sBA0CG;IlBwiHP;IkB19GA;MAxHI,oBA0CG;IlB2iHP;IkB79GA;MAxHI,sBA0CG;IlB8iHP;IkBh+GA;MAxHI,oBA0CG;IlBijHP;IkBn+GA;MAxHI,gBA0CG;IlBojHP;IkBt+GA;MAxHI,sBA0CG;IlBujHP;IkBz+GA;MAxHI,qBA0CG;IlB0jHP;IkB5+GA;MAx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lBoyHX;IkB3tHA;MAxHI,iBA+CO;IlBuyHX;IkB9tHA;MAxHI,uBA+CO;IlB0yHX;IkBjuHA;MAxHI,2BA0CG;IlBkzHP;IkBpuHA;MAxHI,yBA0CG;IlBqzHP;IkBvuHA;MAxHI,uBA0CG;IlBwzHP;IkB1uHA;MAxHI,8BA0CG;IlB2zHP;IkB7uHA;MAxHI,6BA0CG;IlB8zHP;IkBhvHA;MAxHI,6BA0CG;IlBi0HP;IkBnvHA;MAxHI,oBA0CG;IlBo0HP;IkBtvHA;MAxHI,kBA0CG;IlBu0HP;IkBzvHA;MAxHI,qBA0CG;IlB00HP;IkB5vHA;MAxHI,sBA0CG;IlB60HP;IkB/vHA;MAxHI,wBA0CG;IlBg1HP;IkBlwHA;MAxHI,sBA0CG;IlBm1HP;IkBrwHA;MAxHI,oBA0CG;IlBs1HP;IkBxwHA;MAxHI,uBA0CG;IlBy1HP;IkB3wHA;MAxHI,qBA0CG;IlB41HP;IkB9wHA;MAxHI,mBA0CG;IlB+1HP;IkBjxHA;MAxHI,qBA0CG;IlBk2HP;IkBpxHA;MAxHI,oBA0CG;IlBq2HP;IkBvxHA;MAxHI,yBA0CG;IlBw2HP;IkB1xHA;MAxHI,uBA0CG;IlB22HP;IkB7xHA;MAxHI,qBA0CG;IlB82HP;IkBhyHA;MAxHI,4BA0CG;IlBi3HP;IkBnyHA;MAxHI,2BA0CG;IlBo3HP;IkBtyHA;MAxHI,sBA0CG;IlBu3HP;IkBzyHA;MAxHI,gBA0CG;IlB03HP;IkB5yHA;MAxHI,sBA0CG;IlB63HP;IkB/yHA;MAxHI,oBA0CG;IlBg4HP;IkBlzHA;MAxHI,kBA0CG;IlBm4HP;IkBrzHA;MAxHI,oBA0CG;IlBs4HP;IkBxzHA;MAxHI,mBA0CG;IlBy4HP;IkB3zHA;MAxHI,kBA0CG;IlB44HP;IkB9zHA;MAxHI,gBA0CG;IlB+4HP;IkBj0HA;MAxHI,mBA0CG;IlBk5HP;IkBp0HA;MAxHI,oBA0CG;IlBq5HP;IkBv0HA;MAxHI,qCA0CG;IlBw5HP;IkB10HA;MAxHI,qCA0CG;IlB25HP;IkB70HA;MAxHI,qCA0CG;IlB85HP;IkBh1HA;MAxHI,qCA0CG;IlBi6HP;IkBn1HA;MAxHI,mBA0CG;IlBo6HP;IkBt1HA;MAxHI,mBA+CO;IlBk6HX;IkBz1HA;MAxHI,sBA+CO;IlBq6HX;IkB51HA;MAxHI,qBA+CO;IlBw6HX;IkB/1HA;MAxHI,SA0CG;IlBg7HP;IkBl2HA;MAxHI,QA0CG;IlBm7HP;IkBr2HA;MAxHI,QA0CG;IlBs7HP;IkBx2HA;MAxHI,QA0CG;IlBy7HP;IkB32HA;MAxHI,QA0CG;IlB47HP;IkB92HA;MAxHI,QA0CG;IlB+7HP;IkBj3HA;MAxHI,QA0CG;IlBk8HP;IkBp3HA;MAxHI,QA0CG;IlBq8HP;IkBv3HA;MAxHI,SA0CG;IlBw8HP;IkB13HA;MAxHI,eA0CG;IlB28HP;IkB73HA;MAxHI,cA0CG;IlB88HP;IkBh4HA;MAxHI,YA0CG;IlBi9HP;IkBn4HA;MAxHI,cA0CG;IlBo9HP;IkBt4HA;MAxHI,YA0CG;IlBu9HP;IkBz4HA;MAxHI,YA0CG;IlB09HP;IkB54HA;MAxHI,gBA0CG;IlB69HP;IkB/4HA;MAxHI,sBA0CG;IlBg+HP;IkBl5HA;MAxHI,qBA0CG;IlBm+HP;IkBr5HA;MAxHI,mBA0CG;IlBs+HP;IkBx5HA;MAxHI,qBA0CG;IlBy+HP;IkB35HA;MAxHI,mBA0CG;IlB4+HP;IkB95HA;MAxHI,mBA0CG;IlB++HP;IkBj6HA;MAxHI,eA0CG;IlBk/HP;IkBp6HA;MAxHI,qBA0CG;IlBq/HP;IkBv6HA;MAxHI,oBA0CG;IlBw/HP;IkB16HA;MAxHI,kBA0CG;IlB2/HP;IkB76HA;MAxHI,oBA0CG;IlB8/HP;IkBh7HA;MAxHI,kBA0CG;IlBigIP;IkBn7HA;MAxHI,kBA0CG;IlBogIP;IkBt7HA;MAxHI,qBA0CG;IlBugIP;IkBz7HA;MAxHI,2BA0CG;IlB0gIP;IkB57HA;MAxHI,0BA0CG;IlB6gIP;IkB/7HA;MAxHI,wBA0CG;IlBghIP;IkBl8HA;MAxHI,0BA0CG;IlBmhIP;IkBr8HA;MAxHI,wBA0CG;IlBshIP;IkBx8HA;MAxHI,wBA0CG;IlByhIP;IkB38HA;MAxHI,oBA0CG;IlB4hIP;IkB98HA;MAxHI,0BA0CG;IlB+hIP;IkBj9HA;MAxHI,yBA0CG;IlBkiIP;IkBp9HA;MAxHI,uBA0CG;IlBqiIP;IkBv9HA;MAxHI,yBA0CG;IlBwiIP;IkB19HA;MAxHI,uBA0CG;IlB2iIP;IkB79HA;MAxHI,uBA0CG;IlB8iIP;IkBh+HA;MAxHI,mBA0CG;IlBijIP;IkBn+HA;MAxHI,yBA0CG;IlBojIP;IkBt+HA;MAxHI,wBA0CG;IlBujIP;IkBz+HA;MAxHI,sBA0CG;IlB0jIP;IkB5+HA;MAxHI,wBA0CG;IlB6jIP;IkB/+HA;MAxHI,sBA0CG;IlBgkIP;IkBl/HA;MAxHI,sBA0CG;IlBmkIP;IkBr/HA;MAxHI,sBA0CG;IlBskIP;IkBx/HA;MAxHI,4BA0CG;IlBykIP;IkB3/HA;MAxHI,2BA0CG;IlB4kIP;IkB9/HA;MAxHI,yBA0CG;IlB+kIP;IkBjgIA;MAxHI,2BA0CG;IlBklIP;IkBpgIA;MAxHI,yBA0CG;IlBqlIP;IkBvgIA;MAxHI,6BA0CG;IlBwlIP;IkB1gIA;MAxHI,4BA0CG;IlB2lIP;IkB7gIA;MAxHI,yBA0CG;IlB8lIP;IkBhhIA;MAxHI,UA0CG;IlBimIP;IkBnhIA;MAxHI,gBA0CG;IlBomIP;IkBthIA;MAxHI,eA0CG;IlBumIP;IkBzhIA;MAxHI,aA0CG;IlB0mIP;IkB5hIA;MAxHI,eA0CG;IlB6mIP;IkB/hIA;MAxHI,aA0CG;IlBgnIP;IkBliIA;MAxHI,iBA0CG;IlBmnIP;IkBriIA;MAxHI,uBA0CG;IlBsnIP;IkBxiIA;MAxHI,sBA0CG;IlBynIP;IkB3iIA;MAxHI,oBA0CG;IlB4nIP;IkB9iIA;MAxHI,sBA0CG;IlB+nIP;IkBjjIA;MAxHI,oBA0CG;IlBkoIP;IkBpjIA;MAxHI,gBA0CG;IlBqoIP;IkBvjIA;MAxHI,sBA0CG;IlBwoIP;IkB1jIA;MAxHI,qBA0CG;IlB2oIP;IkB7jIA;MAxHI,mBA0CG;IlB8oIP;IkBhkIA;MAxHI,qBA0CG;IlBipIP;IkBnkIA;MAxHI,mBA0CG;IlBopIP;IkBtkIA;MAxHI,sBA0CG;IlBupIP;IkBzkIA;MAxHI,4BA0CG;IlB0pIP;IkB5kIA;MAxHI,2BA0CG;IlB6pIP;IkB/kIA;MAxHI,yBA0CG;IlBgqIP;IkBllIA;MAxHI,2BA0CG;IlBmqIP;IkBrlIA;MAxHI,yBA0CG;IlBsqIP;IkBxlIA;MAxHI,qBA0CG;IlByqIP;IkB3lIA;MAxHI,2BA0CG;IlB4qIP;IkB9lIA;MAxHI,0BA0CG;IlB+qIP;IkBjmIA;MAxHI,wBA0CG;IlBkrIP;IkBpmIA;MAxHI,0BA0CG;IlBqrIP;IkBvmIA;MAxHI,wBA0CG;IlBwrIP;IkB1mIA;MAxHI,oBA0CG;IlB2rIP;IkB7mIA;MAxHI,0BA0CG;IlB8rIP;IkBhnIA;MAxHI,yBA0CG;IlBisIP;IkBnnIA;MAxHI,uBA0CG;IlBosIP;IkBtnIA;MAxHI,yBA0CG;IlBusIP;IkBznIA;MAxHI,uBA0CG;IlB0sIP;IkB5nIA;MAxHI,uBA0CG;IlB6sIP;IkB/nIA;MAxHI,6BA0CG;IlBgtIP;IkBloIA;MAxHI,4BA0CG;IlBmtIP;IkBroIA;MAxHI,0BA0CG;IlBstIP;IkBxoIA;MAxHI,4BA0CG;IlBytIP;IkB3oIA;MAxHI,0BA0CG;IlB4tIP;IkB9oIA;MAxHI,MA0CG;IlB+tIP;IkBjpIA;MAxHI,YA0CG;IlBkuIP;IkBppIA;MAxHI,WA0CG;IlBquIP;IkBvpIA;MAxHI,SA0CG;IlBwuIP;IkB1pIA;MAxHI,WA0CG;IlB2uIP;IkB7pIA;MAxHI,SA0CG;IlB8uIP;IkBhqIA;MAxHI,UA0CG;IlBivIP;IkBnqIA;MAxHI,gBA0CG;IlBovIP;IkBtqIA;MAxHI,eA0CG;IlBuvIP;IkBzqIA;MAxHI,aA0CG;IlB0vIP;IkB5qIA;MAxHI,eA0CG;IlB6vIP;IkB/qIA;MAxHI,aA0CG;IlBgwIP;IkBlrIA;MAxHI,kBA0CG;MA1CH,aA0CG;IlBmwIP;IkBrrIA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlBswIP;IkBxrIA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlBywIP;IkB3rIA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlB4wIP;IkB9rIA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlB+wIP;IkBjsIA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlBkxIP;IkBpsIA;MAxHI,iBA0CG;IlBqxIP;IkBvsIA;MAxHI,eA0CG;IlBwxIP;IkB1sIA;MAxHI,kBA0CG;IlB2xIP;EACF;EOnxIE;IWqEA;MAxHI,mBA0CG;IlBgyIP;IkBltIA;MAxHI,iBA0CG;IlBmyIP;IkBrtIA;MAxHI,WA0CG;IlBsyIP;IkBxtIA;MAxHI,sBA0CG;MA1CH,mBA0CG;IlByyIP;IkB3tIA;MAxHI,oBA0CG;MA1CH,iBA0CG;IlB4yIP;IkB9tIA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlB+yIP;IkBjuIA;MAxHI,yBA0CG;MA1CH,sBA0CG;IlBkzIP;IkBpuIA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlBqzIP;IkBvuIA;MAxHI,eA+CO;IlBmzIX;IkB1uIA;MAxHI,qBA+CO;IlBszIX;IkB7uIA;MAxHI,cA+CO;IlByzIX;IkBhvIA;MAxHI,aA+CO;IlB4zIX;IkBnvIA;MAxHI,oBA+CO;IlB+zIX;IkBtvIA;MAxHI,cA+CO;IlBk0IX;IkBzvIA;MAxHI,kBA+CO;IlBq0IX;IkB5vIA;MAxHI,mBA+CO;IlBw0IX;IkB/vIA;MAxHI,aA+CO;IlB20IX;IkBlwIA;MAxHI,oBA+CO;IlB80IX;IkBrwIA;MAxHI,iBA+CO;IlBi1IX;IkBxwIA;MAxHI,kBA+CO;IlBo1IX;IkB3wIA;MAxHI,aA+CO;IlBu1IX;IkB9wIA;MAxHI,cA0CG;IlB+1IP;IkBjxIA;MAxHI,mBA+CO;IlB61IX;IkBpxIA;MAxHI,sBA+CO;IlBg2IX;IkBvxIA;MAxHI,2BA+CO;IlBm2IX;IkB1xIA;MAxHI,8BA+CO;IlBs2IX;IkB7xIA;MAxHI,YA0CG;IlB82IP;IkBhyIA;MAxHI,YA0CG;IlBi3IP;IkBnyIA;MAxHI,cA0CG;IlBo3IP;IkBtyIA;MAxHI,cA0CG;IlBu3IP;IkBzyIA;MAxHI,eA+CO;IlBq3IX;IkB5yIA;MAxHI,iBA+CO;IlBw3IX;IkB/yIA;MAxHI,uBA+CO;IlB23IX;IkBlzIA;MAxHI,2BA0CG;IlBm4IP;IkBrzIA;MAxHI,yBA0CG;IlBs4IP;IkBxzIA;MAxHI,uBA0CG;IlBy4IP;IkB3zIA;MAxHI,8BA0CG;IlB44IP;IkB9zIA;MAxHI,6BA0CG;IlB+4IP;IkBj0IA;MAxHI,6BA0CG;IlBk5IP;IkBp0IA;MAxHI,oBA0CG;IlBq5IP;IkBv0IA;MAxHI,kBA0CG;IlBw5IP;IkB10IA;MAxHI,qBA0CG;IlB25IP;IkB70IA;MAxHI,sBA0CG;IlB85IP;IkBh1IA;MAxHI,wBA0CG;IlBi6IP;IkBn1IA;MAxHI,sBA0CG;IlBo6IP;IkBt1IA;MAxHI,oBA0CG;IlBu6IP;IkBz1IA;MAxHI,uBA0CG;IlB06IP;IkB51IA;MAxHI,qBA0CG;IlB66IP;IkB/1IA;MAxHI,mBA0CG;IlBg7IP;IkBl2IA;MAxHI,qBA0CG;IlBm7IP;IkBr2IA;MAxHI,oBA0CG;IlBs7IP;IkBx2IA;MAxHI,yBA0CG;IlBy7IP;IkB32IA;MAxHI,uBA0CG;IlB47IP;IkB92IA;MAxHI,qBA0CG;IlB+7IP;IkBj3IA;MAxHI,4BA0CG;IlBk8IP;IkBp3IA;MAxHI,2BA0CG;IlBq8IP;IkBv3IA;MAxHI,sBA0CG;IlBw8IP;IkB13IA;MAxHI,gBA0CG;IlB28IP;IkB73IA;MAxHI,sBA0CG;IlB88IP;IkBh4IA;MAxHI,oBA0CG;IlBi9IP;IkBn4IA;MAxHI,kBA0CG;IlBo9IP;IkBt4IA;MAxHI,oBA0CG;IlBu9IP;IkBz4IA;MAxHI,mBA0CG;IlB09IP;IkB54IA;MAxHI,kBA0CG;IlB69IP;IkB/4IA;MAxHI,gBA0CG;IlBg+IP;IkBl5IA;MAxHI,mBA0CG;IlBm+IP;IkBr5IA;MAxHI,oBA0CG;IlBs+IP;IkBx5IA;MAxHI,qCA0CG;IlBy+IP;IkB35IA;MAxHI,qCA0CG;IlB4+IP;IkB95IA;MAxHI,qCA0CG;IlB++IP;IkBj6IA;MAxHI,qCA0CG;IlBk/IP;IkBp6IA;MAxHI,mBA0CG;IlBq/IP;IkBv6IA;MAxHI,mBA+CO;IlBm/IX;IkB16IA;MAxHI,sBA+CO;IlBs/IX;IkB76IA;MAxHI,qBA+CO;IlBy/IX;IkBh7IA;MAxHI,SA0CG;IlBigJP;IkBn7IA;MAxHI,QA0CG;IlBogJP;IkBt7IA;MAxHI,QA0CG;IlBugJP;IkBz7IA;MAxHI,QA0CG;IlB0gJP;IkB57IA;MAxHI,QA0CG;IlB6gJP;IkB/7IA;MAxHI,QA0CG;IlBghJP;IkBl8IA;MAxHI,QA0CG;IlBmhJP;IkBr8IA;MAxHI,QA0CG;IlBshJP;IkBx8IA;MAxHI,SA0CG;IlByhJP;IkB38IA;MAxHI,eA0CG;IlB4hJP;IkB98IA;MAxHI,cA0CG;IlB+hJP;IkBj9IA;MAxHI,YA0CG;IlBkiJP;IkBp9IA;MAxHI,cA0CG;IlBqiJP;IkBv9IA;MAxHI,YA0CG;IlBwiJP;IkB19IA;MAxHI,YA0CG;IlB2iJP;IkB79IA;MAxHI,gBA0CG;IlB8iJP;IkBh+IA;MAxHI,sBA0CG;IlBijJP;IkBn+IA;MAxHI,qBA0CG;IlBojJP;IkBt+IA;MAxHI,mBA0CG;IlBujJP;IkBz+IA;MAxHI,qBA0CG;IlB0jJP;IkB5+IA;MAxHI,mBA0CG;IlB6jJP;IkB/+IA;MAxHI,mBA0CG;IlBgkJP;IkBl/IA;MAxHI,eA0CG;IlBmkJP;IkBr/IA;MAxHI,qBA0CG;IlBskJP;IkBx/IA;MAxHI,oBA0CG;IlBykJP;IkB3/IA;MAxHI,kBA0CG;IlB4kJP;IkB9/IA;MAxHI,oBA0CG;IlB+kJP;IkBjgJA;MAxHI,kBA0CG;IlBklJP;IkBpgJA;MAxHI,kBA0CG;IlBqlJP;IkBvgJA;MAxHI,qBA0CG;IlBwlJP;IkB1gJA;MAxHI,2BA0CG;IlB2lJP;IkB7gJA;MAxHI,0BA0CG;IlB8lJP;IkBhhJA;MAxHI,wBA0CG;IlBimJP;IkBnhJA;MAxHI,0BA0CG;IlBomJP;IkBthJA;MAxHI,wBA0CG;IlBumJP;IkBzhJA;MAxHI,wBA0CG;IlB0mJP;IkB5hJA;MAxHI,oBA0CG;IlB6mJP;IkB/hJA;MAxHI,0BA0CG;IlBgnJP;IkBliJA;MAxHI,yBA0CG;IlBmnJP;IkBriJA;MAxHI,uBA0CG;IlBsnJP;IkBxiJA;MAxHI,yBA0CG;IlBynJP;IkB3iJA;MAxHI,uBA0CG;IlB4nJP;IkB9iJA;MAxHI,uBA0CG;IlB+nJP;IkBjjJA;MAxHI,mBA0CG;IlBkoJP;IkBpjJA;MAxHI,yBA0CG;IlBqoJP;IkBvjJA;MAxHI,wBA0CG;IlBwoJP;IkB1jJA;MAxHI,sBA0CG;IlB2oJP;IkB7jJA;MAxHI,wBA0CG;IlB8oJP;IkBhkJA;MAxHI,sBA0CG;IlBipJP;IkBnkJA;MAxHI,sBA0CG;IlBopJP;IkBtkJA;MAxHI,sBA0CG;IlBupJP;IkBzkJA;MAxHI,4BA0CG;IlB0pJP;IkB5kJA;MAxHI,2BA0CG;IlB6pJP;IkB/kJA;MAxHI,yBA0CG;IlBgqJP;IkBllJA;MAxHI,2BA0CG;IlBmqJP;IkBrlJA;MAxHI,yBA0CG;IlBsqJP;IkBxlJA;MAxHI,6BA0CG;IlByqJP;IkB3lJA;MAxHI,4BA0CG;IlB4qJP;IkB9lJA;MAxHI,yBA0CG;IlB+qJP;IkBjmJA;MAxHI,UA0CG;IlBkrJP;IkBpmJA;MAxHI,gBA0CG;IlBqrJP;IkBvmJA;MAxHI,eA0CG;IlBwrJP;IkB1mJA;MAxHI,aA0CG;IlB2rJP;IkB7mJA;MAxHI,eA0CG;IlB8rJP;IkBhnJA;MAxHI,aA0CG;IlBisJP;IkBnnJA;MAxHI,iBA0CG;IlBosJP;IkBtnJA;MAxHI,uBA0CG;IlBusJP;IkBznJA;MAxHI,sBA0CG;IlB0sJP;IkB5nJA;MAxHI,oBA0CG;IlB6sJP;IkB/nJA;MAxHI,sBA0CG;IlBgtJP;IkBloJA;MAxHI,oBA0CG;IlBmtJP;IkBroJA;MAxHI,gBA0CG;IlBstJP;IkBxoJA;MAxHI,sBA0CG;IlBytJP;IkB3oJA;MAxHI,qBA0CG;IlB4tJP;IkB9oJA;MAxHI,mBA0CG;IlB+tJP;IkBjpJA;MAxHI,qBA0CG;IlBkuJP;IkBppJA;MAxHI,mBA0CG;IlBquJP;IkBvpJA;MAxHI,sBA0CG;IlBwuJP;IkB1pJA;MAxHI,4BA0CG;IlB2uJP;IkB7pJA;MAxHI,2BA0CG;IlB8uJP;IkBhqJA;MAxHI,yBA0CG;IlBivJP;IkBnqJA;MAxHI,2BA0CG;IlBovJP;IkBtqJA;MAxHI,yBA0CG;IlBuvJP;IkBzqJA;MAxHI,qBA0CG;IlB0vJP;IkB5qJA;MAxHI,2BA0CG;IlB6vJP;IkB/qJA;MAxHI,0BA0CG;IlBgwJP;IkBlrJA;MAxHI,wBA0CG;IlBm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;IkB/hKA;MAxHI,cA0CG;IlBgnKP;IkBliKA;MAxHI,YA0CG;IlBmnKP;IkBriKA;MAxHI,cA0CG;IlBsnKP;IkBxiKA;MAxHI,YA0CG;IlBynKP;IkB3iKA;MAxHI,YA0CG;IlB4nKP;IkB9iKA;MAxHI,gBA0CG;IlB+nKP;IkBjjKA;MAxHI,sBA0CG;IlBkoKP;IkBpjKA;MAxHI,qBA0CG;IlBqoKP;IkBvjKA;MAxHI,mBA0CG;IlBwoKP;IkB1jKA;MAxHI,qBA0CG;IlB2oKP;IkB7jKA;MAxHI,mBA0CG;IlB8oKP;IkBhkKA;MAxHI,mBA0CG;IlBipKP;IkBnkKA;MAxHI,eA0CG;IlBopKP;IkBtkKA;MAxHI,qBA0CG;IlBupKP;IkBzkKA;MAxHI,oBA0CG;IlB0pKP;IkB5kKA;MAxHI,kBA0CG;IlB6pKP;IkB/kKA;MAxHI,oBA0CG;IlBgqKP;IkBllKA;MAxHI,kBA0CG;IlBmqKP;IkBrlKA;MAxHI,kBA0CG;IlBsqKP;IkBxlKA;MAxHI,qBA0CG;IlByqKP;IkB3lKA;MAxHI,2BA0CG;IlB4qKP;IkB9lKA;MAxHI,0BA0CG;IlB+qKP;IkBjmKA;MAxHI,wBA0CG;IlBkrKP;IkBpmKA;MAxHI,0BA0CG;IlBqrKP;IkBvmKA;MAxHI,wBA0CG;IlBwrKP;IkB1mKA;MAxHI,wBA0CG;IlB2rKP;IkB7mKA;MAxHI,oBA0CG;IlB8rKP;IkBhnKA;MAxHI,0BA0CG;IlBisKP;IkBnnKA;MAxHI,yBA0CG;IlBosKP;IkBtnKA;MAxHI,uBA0CG;IlBusKP;IkBznKA;MAxHI,yBA0CG;IlB0sKP;IkB5nKA;MAxHI,uBA0CG;IlB6sKP;IkB/nKA;MAxHI,uBA0CG;IlBgtKP;IkBloKA;MAxHI,mBA0CG;IlBmtKP;IkBroKA;MAxHI,yBA0CG;IlBstKP;IkBxoKA;MAxHI,wBA0CG;IlBytKP;IkB3oKA;MAxHI,sBA0CG;IlB4tKP;IkB9oKA;MAxHI,wBA0CG;IlB+tKP;IkBjpKA;MAxHI,sBA0CG;IlBkuKP;IkBppKA;MAxHI,sBA0CG;IlBquKP;IkBvpKA;MAxHI,sBA0CG;IlBwuKP;IkB1pKA;MAxHI,4BA0CG;IlB2uKP;IkB7pKA;MAxHI,2BA0CG;IlB8uKP;IkBhqKA;MAxHI,yBA0CG;IlBivKP;IkBnqKA;MAxHI,2BA0CG;IlBovKP;IkBtqKA;MAxHI,yBA0CG;IlBuvKP;IkBzqKA;MAxHI,6BA0CG;IlB0vKP;IkB5qKA;MAxHI,4BA0CG;IlB6vKP;IkB/qKA;MAxHI,yBA0CG;IlBgwKP;IkBlrKA;MAxHI,UA0CG;IlBmwKP;IkBrrKA;MAxHI,gBA0CG;IlBswKP;IkBxrKA;MAxHI,eA0CG;IlBywKP;IkB3rKA;MAxHI,aA0CG;IlB4wKP;IkB9rKA;MAxHI,eA0CG;IlB+wKP;IkBjsKA;MAxHI,aA0CG;IlBkxKP;IkBpsKA;MAxHI,iBA0CG;IlBqxKP;IkBvsKA;MAxHI,uBA0CG;IlBwxKP;IkB1sKA;MAxHI,sBA0CG;IlB2xKP;IkB7sKA;MAxHI,oBA0CG;IlB8xKP;IkBhtKA;MAxHI,sBA0CG;IlBiyKP;IkBntKA;MAxHI,oBA0CG;IlBoyKP;IkBttKA;MAxHI,gBA0CG;IlBuyKP;IkBztKA;MAxHI,sBA0CG;IlB0yKP;IkB5tKA;MAxHI,qBA0CG;IlB6yKP;IkB/tKA;MAxHI,mBA0CG;IlBgzKP;IkBluKA;MAxHI,qBA0CG;IlBmzKP;IkBruKA;MAxHI,mBA0CG;IlBszKP;IkBxuKA;MAxHI,sBA0CG;IlByzKP;IkB3uKA;MAxHI,4BA0CG;IlB4zKP;IkB9uKA;MAxHI,2BA0CG;IlB+zKP;IkBjvKA;MAxHI,yBA0CG;IlBk0KP;IkBpvKA;MAxHI,2BA0CG;IlBq0KP;IkBvvKA;MAxHI,yBA0CG;IlBw0KP;IkB1vKA;MAxHI,qBA0CG;IlB20KP;IkB7vKA;MAxHI,2BA0CG;IlB80KP;IkBhwKA;MAxHI,0BA0CG;IlBi1KP;IkBnwKA;MAxHI,wBA0CG;IlBo1KP;IkBtwKA;MAxHI,0BA0CG;IlBu1KP;IkBzwKA;MAxHI,wBA0CG;IlB01KP;IkB5wKA;MAxHI,oBA0CG;IlB61KP;IkB/wKA;MAxHI,0BA0CG;IlBg2KP;IkBlxKA;MAxHI,yBA0CG;IlBm2KP;IkBrxKA;MAxHI,uBA0CG;IlBs2KP;IkBxxKA;MAxHI,yBA0CG;IlBy2KP;IkB3xKA;MAxHI,uBA0CG;IlB42KP;IkB9xKA;MAxHI,uBA0CG;IlB+2KP;IkBjyKA;MAxHI,6BA0CG;IlBk3KP;IkBpyKA;MAxHI,4BA0CG;IlBq3KP;IkBvyKA;MAxHI,0BA0CG;IlBw3KP;IkB1yKA;MAxHI,4BA0CG;IlB23KP;IkB7yKA;MAxHI,0BA0CG;IlB83KP;IkBhzKA;MAxHI,MA0CG;IlBi4KP;IkBnzKA;MAxHI,YA0CG;IlBo4KP;IkBtzKA;MAxHI,WA0CG;IlBu4KP;IkBzzKA;MAxHI,SA0CG;IlB04KP;IkB5zKA;MAxHI,WA0CG;IlB64KP;IkB/zKA;MAxHI,SA0CG;IlBg5KP;IkBl0KA;MAxHI,UA0CG;IlBm5KP;IkBr0KA;MAxHI,gBA0CG;IlBs5KP;IkBx0KA;MAxHI,eA0CG;IlBy5KP;IkB30KA;MAxHI,aA0CG;IlB45KP;IkB90KA;MAxHI,eA0CG;IlB+5KP;IkBj1KA;MAxHI,aA0CG;IlBk6KP;IkBp1KA;MAxHI,kBA0CG;MA1CH,aA0CG;IlBq6KP;IkBv1KA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlBw6KP;IkB11KA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlB26KP;IkB71KA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlB86KP;IkBh2KA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlBi7KP;IkBn2KA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlBo7KP;IkBt2KA;MAxHI,iBA0CG;IlBu7KP;IkBz2KA;MAxHI,eA0CG;IlB07KP;IkB52KA;MAxHI,kBA0CG;IlB67KP;EACF;AACF","file":"bootstrap-utilities.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"violet\": $violet,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"amber\": $amber,\n \"yellow\": $yellow,\n \"lime\": $lime,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"brown\": $brown,\n \"gray\": $gray,\n \"pewter\": $pewter,\n ),\n $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n \"025\": 94%,\n \"050\": 90%,\n \"100\": 80%,\n \"200\": 60%,\n \"300\": 40%,\n \"400\": 20%,\n) !default;\n\n$color-shades: (\n \"600\": 16%,\n \"700\": 32%,\n \"800\": 48%,\n \"900\": 64%,\n \"950\": 76%,\n \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n @each $stop, $percent in $color-tints {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n }\n $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n @each $stop, $percent in $color-shades {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n @each $prop, $value in $map {\n #{$prop}: #{$value};\n }\n}\n// scss-docs-end mixin-tokens\n","/*!\n * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n --blue-500: oklch(60% 0.24 240deg);\n --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n --indigo-500: oklch(56% 0.26 288deg);\n --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n --violet-500: oklch(56% 0.24 300deg);\n --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n --purple-500: oklch(56% 0.24 320deg);\n --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n --pink-500: oklch(60% 0.22 4deg);\n --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n --red-500: oklch(60% 0.22 20deg);\n --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n --orange-500: oklch(70% 0.22 52deg);\n --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n --amber-500: oklch(79% 0.2 78deg);\n --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n --yellow-500: oklch(88% 0.24 88deg);\n --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n --lime-500: oklch(65% 0.24 135deg);\n --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n --green-500: oklch(64% 0.22 160deg);\n --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n --teal-500: oklch(68% 0.22 190deg);\n --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n --cyan-500: oklch(69% 0.22 220deg);\n --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n --brown-500: oklch(60% 0.12 54deg);\n --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n --gray-500: oklch(60% 0.02 245deg);\n --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n --pewter-500: oklch(65% 0.01 290deg);\n --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n --black: #000;\n --white: #fff;\n --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n --font-weight-lighter: lighter;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-bolder: bolder;\n --body-font-family: system-ui;\n --body-font-size: var(--font-size-base);\n --body-font-weight: 400;\n --body-line-height: 1.5;\n --heading-color: inherit;\n --hr-border-color: var(--border-color);\n --link-color: light-dark(var(--primary-base), var(--primary-text));\n --link-decoration: underline;\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --code-font-size: 95%;\n --code-color: var(--fg-2);\n --border-width: 1px;\n --border-style: solid;\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --border-radius: 0.5rem;\n --border-radius-xs: 0.375rem;\n --border-radius-sm: 0.5rem;\n --border-radius-lg: 0.75rem;\n --border-radius-xl: 1rem;\n --border-radius-2xl: 2rem;\n --border-radius-pill: 50rem;\n --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --spacer: 1rem;\n --focus-ring-width: 3px;\n --focus-ring-offset: 1px;\n --focus-ring-color: var(--primary-focus-ring);\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n --control-checked-bg: var(--primary-base);\n --control-checked-border-color: var(--control-checked-bg);\n --control-active-bg: var(--primary-base);\n --control-active-border-color: var(--control-active-bg);\n --control-disabled-bg: var(--bg-3);\n --control-disabled-opacity: 0.65;\n --btn-input-fg: var(--fg-body);\n --btn-input-bg: var(--bg-body);\n --btn-input-min-height: 2.375rem;\n --btn-input-padding-y: 0.375rem;\n --btn-input-padding-x: 0.75rem;\n --btn-input-font-size: var(--font-size-base);\n --btn-input-line-height: var(--line-height-base);\n --btn-input-border-radius: var(--border-radius);\n --btn-input-xs-min-height: 1.5rem;\n --btn-input-xs-padding-y: 0.125rem;\n --btn-input-xs-padding-x: 0.5rem;\n --btn-input-xs-font-size: var(--font-size-xs);\n --btn-input-xs-line-height: 1.125;\n --btn-input-xs-border-radius: var(--border-radius-xs);\n --btn-input-sm-min-height: 2rem;\n --btn-input-sm-padding-y: 0.25rem;\n --btn-input-sm-padding-x: 0.625rem;\n --btn-input-sm-font-size: var(--font-size-sm);\n --btn-input-sm-line-height: var(--line-height-sm);\n --btn-input-sm-border-radius: var(--border-radius-sm);\n --btn-input-lg-min-height: 2.75rem;\n --btn-input-lg-padding-y: 0.5rem;\n --btn-input-lg-padding-x: 1rem;\n --btn-input-lg-font-size: var(--font-size-md);\n --btn-input-lg-line-height: var(--line-height-md);\n --btn-input-lg-border-radius: var(--border-radius-lg);\n --form-valid-color: var(--success-text);\n --form-valid-border-color: var(--success-text);\n --form-invalid-color: var(--danger-text);\n --form-invalid-border-color: var(--danger-text);\n --font-size-xs: 0.75rem;\n --line-height-xs: 1.25;\n --font-size-sm: 0.875rem;\n --line-height-sm: 1.5;\n --font-size-md: 1rem;\n --line-height-md: 1.5;\n --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n --line-height-lg: 1.5;\n --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n --line-height-xl: 1.4285714286;\n --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n --line-height-2xl: 1.3333333333;\n --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n --line-height-3xl: 1.2;\n --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n --line-height-4xl: 1.1;\n --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n --line-height-5xl: 1.1;\n --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n --line-height-6xl: 1;\n --primary-base: var(--blue-500);\n --primary-text: light-dark(var(--blue-600), var(--blue-400));\n --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n --primary-bg: var(--blue-500);\n --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n --primary-border: light-dark(var(--blue-300), var(--blue-600));\n --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n --primary-contrast: var(--white);\n --accent-base: var(--indigo-500);\n --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n --accent-bg: var(--indigo-500);\n --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n --accent-contrast: var(--white);\n --success-base: var(--green-500);\n --success-text: light-dark(var(--green-600), var(--green-400));\n --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n --success-bg: var(--green-500);\n --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n --success-border: light-dark(var(--green-300), var(--green-600));\n --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n --success-contrast: var(--white);\n --danger-base: var(--red-500);\n --danger-text: light-dark(var(--red-600), var(--red-400));\n --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n --danger-bg: var(--red-500);\n --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n --danger-border: light-dark(var(--red-300), var(--red-600));\n --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n --danger-contrast: var(--white);\n --warning-base: var(--yellow-500);\n --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n --warning-bg: var(--yellow-500);\n --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n --warning-contrast: var(--gray-900);\n --info-base: var(--cyan-500);\n --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n --info-bg: var(--cyan-500);\n --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n --info-contrast: var(--gray-900);\n --inverse-base: var(--gray-900);\n --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n --inverse-contrast: light-dark(var(--white), var(--gray-900));\n --secondary-base: var(--gray-200);\n --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n --secondary-contrast: light-dark(var(--gray-900), var(--white));\n --bg-body: light-dark(var(--white), var(--gray-975));\n --bg-1: light-dark(var(--gray-025), var(--gray-950));\n --bg-2: light-dark(var(--gray-050), var(--gray-900));\n --bg-3: light-dark(var(--gray-100), var(--gray-800));\n --bg-4: light-dark(var(--gray-200), var(--gray-700));\n --bg-white: var(--white);\n --bg-black: var(--black);\n --bg-transparent: transparent;\n --bg-inherit: inherit;\n --fg-body: light-dark(var(--gray-900), var(--gray-050));\n --fg-1: light-dark(var(--gray-800), var(--gray-200));\n --fg-2: light-dark(var(--gray-700), var(--gray-300));\n --fg-3: light-dark(var(--gray-600), var(--gray-500));\n --fg-4: light-dark(var(--gray-500), var(--gray-600));\n --fg-white: var(--white);\n --fg-black: var(--black);\n --fg-inherit: inherit;\n --border-bg: var(--bg-body);\n --border-body: light-dark(var(--gray-300), var(--gray-800));\n --border-muted: light-dark(var(--gray-200), var(--gray-800));\n --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n --border-white: var(--white);\n --border-black: var(--black);\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n color-scheme: light;\n}\n\n@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: 0.375rem;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n text-underline-offset: 0.25em;\n backface-visibility: hidden;\n }\n .icon-link > .bi {\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n fill: currentcolor;\n transition: 0.2s ease-in-out transform;\n }\n @media (prefers-reduced-motion: reduce) {\n .icon-link > .bi {\n transition: none;\n }\n }\n .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n }\n}\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: 1030;\n }\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: 1030;\n }\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n @media (width >= 576px) {\n .sm\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sm\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 768px) {\n .md\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .md\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1024px) {\n .lg\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .lg\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1280px) {\n .xl\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .xl\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .\\32 xl\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n}\n@layer helpers {\n .stack-container {\n container-type: inline-size;\n }\n [class*=hstack],\n [class*=vstack] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n .vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n .hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n @container (width >= 576px) {\n .sm\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 576px) {\n .sm\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 768px) {\n .md\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 768px) {\n .md\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1024px) {\n .lg\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1024px) {\n .lg\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1280px) {\n .xl\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1280px) {\n .xl\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n}\n@layer helpers {\n .theme-primary {\n --theme-base: var(--primary-base);\n --theme-text: var(--primary-text);\n --theme-text-emphasis: var(--primary-text-emphasis);\n --theme-bg: var(--primary-bg);\n --theme-bg-subtle: var(--primary-bg-subtle);\n --theme-bg-muted: var(--primary-bg-muted);\n --theme-border: var(--primary-border);\n --theme-focus-ring: var(--primary-focus-ring);\n --theme-contrast: var(--primary-contrast);\n }\n .theme-accent {\n --theme-base: var(--accent-base);\n --theme-text: var(--accent-text);\n --theme-text-emphasis: var(--accent-text-emphasis);\n --theme-bg: var(--accent-bg);\n --theme-bg-subtle: var(--accent-bg-subtle);\n --theme-bg-muted: var(--accent-bg-muted);\n --theme-border: var(--accent-border);\n --theme-focus-ring: var(--accent-focus-ring);\n --theme-contrast: var(--accent-contrast);\n }\n .theme-success {\n --theme-base: var(--success-base);\n --theme-text: var(--success-text);\n --theme-text-emphasis: var(--success-text-emphasis);\n --theme-bg: var(--success-bg);\n --theme-bg-subtle: var(--success-bg-subtle);\n --theme-bg-muted: var(--success-bg-muted);\n --theme-border: var(--success-border);\n --theme-focus-ring: var(--success-focus-ring);\n --theme-contrast: var(--success-contrast);\n }\n .theme-danger {\n --theme-base: var(--danger-base);\n --theme-text: var(--danger-text);\n --theme-text-emphasis: var(--danger-text-emphasis);\n --theme-bg: var(--danger-bg);\n --theme-bg-subtle: var(--danger-bg-subtle);\n --theme-bg-muted: var(--danger-bg-muted);\n --theme-border: var(--danger-border);\n --theme-focus-ring: var(--danger-focus-ring);\n --theme-contrast: var(--danger-contrast);\n }\n .theme-warning {\n --theme-base: var(--warning-base);\n --theme-text: var(--warning-text);\n --theme-text-emphasis: var(--warning-text-emphasis);\n --theme-bg: var(--warning-bg);\n --theme-bg-subtle: var(--warning-bg-subtle);\n --theme-bg-muted: var(--warning-bg-muted);\n --theme-border: var(--warning-border);\n --theme-focus-ring: var(--warning-focus-ring);\n --theme-contrast: var(--warning-contrast);\n }\n .theme-info {\n --theme-base: var(--info-base);\n --theme-text: var(--info-text);\n --theme-text-emphasis: var(--info-text-emphasis);\n --theme-bg: var(--info-bg);\n --theme-bg-subtle: var(--info-bg-subtle);\n --theme-bg-muted: var(--info-bg-muted);\n --theme-border: var(--info-border);\n --theme-focus-ring: var(--info-focus-ring);\n --theme-contrast: var(--info-contrast);\n }\n .theme-inverse {\n --theme-base: var(--inverse-base);\n --theme-text: var(--inverse-text);\n --theme-text-emphasis: var(--inverse-text-emphasis);\n --theme-bg: var(--inverse-bg);\n --theme-bg-subtle: var(--inverse-bg-subtle);\n --theme-bg-muted: var(--inverse-bg-muted);\n --theme-border: var(--inverse-border);\n --theme-focus-ring: var(--inverse-focus-ring);\n --theme-contrast: var(--inverse-contrast);\n }\n .theme-secondary {\n --theme-base: var(--secondary-base);\n --theme-text: var(--secondary-text);\n --theme-text-emphasis: var(--secondary-text-emphasis);\n --theme-bg: var(--secondary-bg);\n --theme-bg-subtle: var(--secondary-bg-subtle);\n --theme-bg-muted: var(--secondary-bg-muted);\n --theme-border: var(--secondary-border);\n --theme-focus-ring: var(--secondary-focus-ring);\n --theme-contrast: var(--secondary-contrast);\n }\n}\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n .visually-hidden:not(caption),\n .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n position: absolute !important;\n }\n .visually-hidden *,\n .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n overflow: hidden !important;\n }\n}\n@layer helpers {\n .stretched-link::after {\n position: absolute;\n inset: 0;\n z-index: 1;\n content: \"\";\n }\n}\n@layer helpers {\n .text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n@layer utilities {\n .align-baseline {\n vertical-align: baseline;\n }\n .align-top {\n vertical-align: top;\n }\n .align-middle {\n vertical-align: middle;\n }\n .align-bottom {\n vertical-align: bottom;\n }\n .align-text-bottom {\n vertical-align: text-bottom;\n }\n .align-text-top {\n vertical-align: text-top;\n }\n [class*=ratio-] {\n aspect-ratio: var(--ratio);\n }\n .ratio-auto {\n --ratio: auto;\n }\n .ratio-1x1 {\n --ratio: 1 / 1;\n }\n .ratio-4x3 {\n --ratio: 4 / 3;\n }\n .ratio-16x9 {\n --ratio: 16 / 9;\n }\n .ratio-21x9 {\n --ratio: 21 / 9;\n }\n .float-start {\n float: inline-start;\n }\n .float-end {\n float: inline-end;\n }\n .float-none {\n float: none;\n }\n .object-fit-contain {\n object-fit: contain;\n }\n .object-fit-cover {\n object-fit: cover;\n }\n .object-fit-fill {\n object-fit: fill;\n }\n .object-fit-scale {\n object-fit: scale-down;\n }\n .object-fit-none {\n object-fit: none;\n }\n .opacity-0 {\n opacity: 0;\n }\n .opacity-25 {\n opacity: 0.25;\n }\n .opacity-50 {\n opacity: 0.5;\n }\n .opacity-75 {\n opacity: 0.75;\n }\n .opacity-100 {\n opacity: 1;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-visible {\n overflow: visible;\n }\n .overflow-scroll {\n overflow: scroll;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n .overflow-x-visible {\n overflow-x: visible;\n }\n .overflow-x-scroll {\n overflow-x: scroll;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .overflow-y-hidden {\n overflow-y: hidden;\n }\n .overflow-y-visible {\n overflow-y: visible;\n }\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n .contains-inline {\n container-type: inline-size;\n }\n .contains-size {\n container-type: size;\n }\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .shadow {\n box-shadow: var(--box-shadow);\n }\n .shadow-sm {\n box-shadow: var(--box-shadow-sm);\n }\n .shadow-lg {\n box-shadow: var(--box-shadow-lg);\n }\n .shadow-none {\n box-shadow: none;\n }\n .focus-ring-primary {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n }\n .focus-ring-accent {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n }\n .focus-ring-success {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n }\n .focus-ring-danger {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n }\n .focus-ring-warning {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n }\n .focus-ring-info {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n }\n .focus-ring-inverse {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n }\n .focus-ring-secondary {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n }\n .position-static {\n position: static;\n }\n .position-relative {\n position: relative;\n }\n .position-absolute {\n position: absolute;\n }\n .position-fixed {\n position: fixed;\n }\n .position-sticky {\n position: sticky;\n }\n .top-0 {\n top: 0;\n }\n .top-50 {\n top: 50%;\n }\n .top-100 {\n top: 100%;\n }\n .bottom-0 {\n bottom: 0;\n }\n .bottom-50 {\n bottom: 50%;\n }\n .bottom-100 {\n bottom: 100%;\n }\n .start-0 {\n left: 0;\n }\n .start-50 {\n left: 50%;\n }\n .start-100 {\n left: 100%;\n }\n .end-0 {\n right: 0;\n }\n .end-50 {\n right: 50%;\n }\n .end-100 {\n right: 100%;\n }\n .translate-middle {\n transform: translate(-50%, -50%);\n }\n .translate-middle-x {\n transform: translateX(-50%);\n }\n .translate-middle-y {\n transform: translateY(-50%);\n }\n .border {\n border: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-0 {\n border: 0;\n }\n .border-top {\n border-block-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-top-0 {\n border-block-start: 0;\n }\n .border-end {\n border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-end-0 {\n border-inline-end: 0;\n }\n .border-bottom {\n border-block-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-bottom-0 {\n border-block-end: 0;\n }\n .border-start {\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-start-0 {\n border-inline-start: 0;\n }\n .border-block {\n border-block: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-block-0 {\n border-block: 0;\n }\n .border-inline {\n border-inline: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-inline-0 {\n border-inline: 0;\n }\n .border-primary {\n --border-color: var(--blue-500);\n border-color: var(--border-color);\n }\n .border-accent {\n --border-color: var(--indigo-500);\n border-color: var(--border-color);\n }\n .border-success {\n --border-color: var(--green-500);\n border-color: var(--border-color);\n }\n .border-danger {\n --border-color: var(--red-500);\n border-color: var(--border-color);\n }\n .border-warning {\n --border-color: var(--yellow-500);\n border-color: var(--border-color);\n }\n .border-info {\n --border-color: var(--cyan-500);\n border-color: var(--border-color);\n }\n .border-inverse {\n --border-color: light-dark(var(--gray-900), var(--gray-025));\n border-color: var(--border-color);\n }\n .border-secondary {\n --border-color: light-dark(var(--gray-100), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-bg {\n --border-color: var(--bg-body);\n border-color: var(--border-color);\n }\n .border-body {\n --border-color: light-dark(var(--gray-300), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-muted {\n --border-color: light-dark(var(--gray-200), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-subtle {\n --border-color: light-dark(var(--gray-100), var(--gray-900));\n border-color: var(--border-color);\n }\n .border-emphasized {\n --border-color: light-dark(var(--gray-400), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-white {\n --border-color: var(--white);\n border-color: var(--border-color);\n }\n .border-black {\n --border-color: var(--black);\n border-color: var(--border-color);\n }\n .border-subtle-primary {\n --border-color: light-dark(var(--blue-300), var(--blue-600));\n border-color: var(--border-color);\n }\n .border-subtle-accent {\n --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n border-color: var(--border-color);\n }\n .border-subtle-success {\n --border-color: light-dark(var(--green-300), var(--green-600));\n border-color: var(--border-color);\n }\n .border-subtle-danger {\n --border-color: light-dark(var(--red-300), var(--red-600));\n border-color: var(--border-color);\n }\n .border-subtle-warning {\n --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n border-color: var(--border-color);\n }\n .border-subtle-info {\n --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n border-color: var(--border-color);\n }\n .border-subtle-inverse {\n --border-color: light-dark(var(--gray-400), var(--gray-100));\n border-color: var(--border-color);\n }\n .border-subtle-secondary {\n --border-color: light-dark(var(--gray-300), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-1 {\n border-width: 1px;\n }\n .border-2 {\n border-width: 2px;\n }\n .border-3 {\n border-width: 3px;\n }\n .border-4 {\n border-width: 4px;\n }\n .border-5 {\n border-width: 5px;\n }\n .border-10 {\n border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n }\n .border-20 {\n border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n }\n .border-30 {\n border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n }\n .border-40 {\n border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n }\n .border-50 {\n border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n }\n .border-60 {\n border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n }\n .border-70 {\n border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n }\n .border-80 {\n border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n }\n .border-90 {\n border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n }\n .border-100 {\n border-color: var(--border-color);\n }\n .w-1 {\n width: 1rem;\n }\n .w-2 {\n width: 2rem;\n }\n .w-3 {\n width: 3rem;\n }\n .w-4 {\n width: 4rem;\n }\n .w-5 {\n width: 5rem;\n }\n .w-6 {\n width: 6rem;\n }\n .w-7 {\n width: 7rem;\n }\n .w-8 {\n width: 8rem;\n }\n .w-9 {\n width: 9rem;\n }\n .w-10 {\n width: 10rem;\n }\n .w-11 {\n width: 11rem;\n }\n .w-12 {\n width: 12rem;\n }\n .w-25 {\n width: 25%;\n }\n .w-50 {\n width: 50%;\n }\n .w-75 {\n width: 75%;\n }\n .w-100 {\n width: 100%;\n }\n .w-auto {\n width: auto;\n }\n .w-min {\n width: min-content;\n }\n .w-max {\n width: max-content;\n }\n .w-fit {\n width: fit-content;\n }\n .max-w-100 {\n max-width: 100%;\n }\n .min-w-0 {\n min-width: 0;\n }\n .min-w-100 {\n min-width: 100%;\n }\n .vw-100 {\n width: 100vw;\n }\n .min-vw-100 {\n min-width: 100vw;\n }\n .h-25 {\n height: 25%;\n }\n .h-50 {\n height: 50%;\n }\n .h-75 {\n height: 75%;\n }\n .h-100 {\n height: 100%;\n }\n .h-auto {\n height: auto;\n }\n .h-min {\n height: min-content;\n }\n .h-max {\n height: max-content;\n }\n .h-fit {\n height: fit-content;\n }\n .max-h-100 {\n max-height: 100%;\n }\n .min-h-0 {\n min-height: 0;\n }\n .min-h-100 {\n min-height: 100%;\n }\n .vh-100 {\n height: 100vh;\n }\n .min-vh-100 {\n min-height: 100vh;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .justify-self-start {\n justify-self: flex-start;\n }\n .justify-self-end {\n justify-self: flex-end;\n }\n .justify-self-center {\n justify-self: center;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .order-first {\n order: -1;\n }\n .order-0 {\n order: 0;\n }\n .order-1 {\n order: 1;\n }\n .order-2 {\n order: 2;\n }\n .order-3 {\n order: 3;\n }\n .order-4 {\n order: 4;\n }\n .order-5 {\n order: 5;\n }\n .order-last {\n order: 6;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n .gap-0 {\n gap: 0;\n }\n .gap-1 {\n gap: 0.25rem;\n }\n .gap-2 {\n gap: 0.5rem;\n }\n .gap-3 {\n gap: 1rem;\n }\n .gap-4 {\n gap: 1.5rem;\n }\n .gap-5 {\n gap: 3rem;\n }\n .row-gap-0 {\n row-gap: 0;\n }\n .row-gap-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2 {\n row-gap: 0.5rem;\n }\n .row-gap-3 {\n row-gap: 1rem;\n }\n .row-gap-4 {\n row-gap: 1.5rem;\n }\n .row-gap-5 {\n row-gap: 3rem;\n }\n .column-gap-0 {\n column-gap: 0;\n }\n .column-gap-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2 {\n column-gap: 0.5rem;\n }\n .column-gap-3 {\n column-gap: 1rem;\n }\n .column-gap-4 {\n column-gap: 1.5rem;\n }\n .column-gap-5 {\n column-gap: 3rem;\n }\n .font-monospace {\n font-family: var(--font-mono);\n }\n .font-body {\n font-family: var(--body-font-family);\n }\n .fs-xs {\n font-size: 0.75rem;\n }\n .fs-sm {\n font-size: 0.875rem;\n }\n .fs-md {\n font-size: 1rem;\n }\n .fs-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n }\n .fs-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n }\n .fs-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n }\n .fs-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n }\n .fs-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n }\n .fs-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n }\n .fs-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n }\n .text-xs {\n font-size: 0.75rem;\n line-height: 1.25;\n }\n .text-sm {\n font-size: 0.875rem;\n line-height: 1.5;\n }\n .text-md {\n font-size: 1rem;\n line-height: 1.5;\n }\n .text-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n line-height: 1.5;\n }\n .text-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n line-height: 1.4285714286;\n }\n .text-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n line-height: 1.3333333333;\n }\n .text-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n line-height: 1.2;\n }\n .text-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n line-height: 1.1;\n }\n .text-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n line-height: 1.1;\n }\n .text-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n line-height: 1;\n }\n .fst-italic {\n font-style: italic;\n }\n .fst-normal {\n font-style: normal;\n }\n .fw-lighter {\n font-weight: lighter;\n }\n .fw-light {\n font-weight: 300;\n }\n .fw-normal {\n font-weight: 400;\n }\n .fw-medium {\n font-weight: 500;\n }\n .fw-semibold {\n font-weight: 600;\n }\n .fw-bold {\n font-weight: 700;\n }\n .fw-bolder {\n font-weight: bolder;\n }\n .lh-1 {\n line-height: 1;\n }\n .lh-sm {\n line-height: 1.25;\n }\n .lh-base {\n line-height: 1.5;\n }\n .lh-lg {\n line-height: 2;\n }\n .text-start {\n text-align: start;\n }\n .text-end {\n text-align: end;\n }\n .text-center {\n text-align: center;\n }\n .text-decoration-none {\n text-decoration: none;\n }\n .text-decoration-underline {\n text-decoration: underline;\n }\n .text-decoration-line-through {\n text-decoration: line-through;\n }\n .text-lowercase {\n text-transform: lowercase;\n }\n .text-uppercase {\n text-transform: uppercase;\n }\n .text-capitalize {\n text-transform: capitalize;\n }\n .text-wrap {\n white-space: wrap;\n }\n .text-nowrap {\n white-space: nowrap;\n }\n .text-balance {\n white-space: balance;\n }\n .text-pretty {\n white-space: pretty;\n }\n .text-break {\n word-wrap: break-word;\n word-break: break-word;\n }\n .fg-primary {\n --fg: light-dark(var(--blue-600), var(--blue-400));\n color: var(--fg);\n }\n .fg-accent {\n --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n color: var(--fg);\n }\n .fg-success {\n --fg: light-dark(var(--green-600), var(--green-400));\n color: var(--fg);\n }\n .fg-danger {\n --fg: light-dark(var(--red-600), var(--red-400));\n color: var(--fg);\n }\n .fg-warning {\n --fg: light-dark(var(--yellow-700), var(--yellow-400));\n color: var(--fg);\n }\n .fg-info {\n --fg: light-dark(var(--cyan-600), var(--cyan-400));\n color: var(--fg);\n }\n .fg-inverse {\n --fg: light-dark(var(--gray-900), var(--gray-200));\n color: var(--fg);\n }\n .fg-secondary {\n --fg: light-dark(var(--gray-600), var(--gray-400));\n color: var(--fg);\n }\n .fg-body {\n --fg: light-dark(var(--gray-900), var(--gray-050));\n color: var(--fg);\n }\n .fg-1 {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-2 {\n --fg: light-dark(var(--gray-700), var(--gray-300));\n color: var(--fg);\n }\n .fg-3 {\n --fg: light-dark(var(--gray-600), var(--gray-500));\n color: var(--fg);\n }\n .fg-4 {\n --fg: light-dark(var(--gray-500), var(--gray-600));\n color: var(--fg);\n }\n .fg-white {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-black {\n --fg: var(--black);\n color: var(--fg);\n }\n .fg-inherit {\n --fg: inherit;\n color: var(--fg);\n }\n .fg-emphasis-primary {\n --fg: light-dark(var(--blue-800), var(--blue-200));\n color: var(--fg);\n }\n .fg-emphasis-accent {\n --fg: light-dark(var(--indigo-800), var(--indigo-300));\n color: var(--fg);\n }\n .fg-emphasis-success {\n --fg: light-dark(var(--green-800), var(--green-300));\n color: var(--fg);\n }\n .fg-emphasis-danger {\n --fg: light-dark(var(--red-800), var(--red-300));\n color: var(--fg);\n }\n .fg-emphasis-warning {\n --fg: light-dark(var(--yellow-800), var(--yellow-300));\n color: var(--fg);\n }\n .fg-emphasis-info {\n --fg: light-dark(var(--cyan-800), var(--cyan-300));\n color: var(--fg);\n }\n .fg-emphasis-inverse {\n --fg: light-dark(var(--gray-975), var(--white));\n color: var(--fg);\n }\n .fg-emphasis-secondary {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-contrast-primary {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-accent {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-success {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-danger {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-warning {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-info {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-inverse {\n --fg: light-dark(var(--white), var(--gray-900));\n color: var(--fg);\n }\n .fg-contrast-secondary {\n --fg: light-dark(var(--gray-900), var(--white));\n color: var(--fg);\n }\n .fg-10 {\n color: color-mix(in oklch, var(--fg) 10%, transparent);\n }\n .fg-20 {\n color: color-mix(in oklch, var(--fg) 20%, transparent);\n }\n .fg-30 {\n color: color-mix(in oklch, var(--fg) 30%, transparent);\n }\n .fg-40 {\n color: color-mix(in oklch, var(--fg) 40%, transparent);\n }\n .fg-50 {\n color: color-mix(in oklch, var(--fg) 50%, transparent);\n }\n .fg-60 {\n color: color-mix(in oklch, var(--fg) 60%, transparent);\n }\n .fg-70 {\n color: color-mix(in oklch, var(--fg) 70%, transparent);\n }\n .fg-80 {\n color: color-mix(in oklch, var(--fg) 80%, transparent);\n }\n .fg-90 {\n color: color-mix(in oklch, var(--fg) 90%, transparent);\n }\n .fg-100 {\n color: var(--fg);\n }\n .link-10 {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-10-hover:hover {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-20 {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-20-hover:hover {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-30 {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-30-hover:hover {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-40 {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-40-hover:hover {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-50 {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-50-hover:hover {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-60 {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-60-hover:hover {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-70 {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-70-hover:hover {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-80 {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-80-hover:hover {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-90 {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-90-hover:hover {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-100 {\n color: var(--link-color);\n }\n .link-100-hover:hover {\n color: var(--link-color);\n }\n .underline-offset-1 {\n text-underline-offset: 0.125em;\n }\n .underline-offset-1-hover:hover {\n text-underline-offset: 0.125em;\n }\n .underline-offset-2 {\n text-underline-offset: 0.25em;\n }\n .underline-offset-2-hover:hover {\n text-underline-offset: 0.25em;\n }\n .underline-offset-3 {\n text-underline-offset: 0.375em;\n }\n .underline-offset-3-hover:hover {\n text-underline-offset: 0.375em;\n }\n .underline-primary {\n text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n }\n .underline-accent {\n text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n }\n .underline-success {\n text-decoration-color: light-dark(var(--green-600), var(--green-400));\n }\n .underline-danger {\n text-decoration-color: light-dark(var(--red-600), var(--red-400));\n }\n .underline-warning {\n text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n }\n .underline-info {\n text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n }\n .underline-inverse {\n text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n }\n .underline-secondary {\n text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n }\n .underline-10 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-10-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-20 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-20-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-30 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-30-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-40 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-40-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-50 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-50-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-60 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-60-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-70 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-70-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-80 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-80-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-90 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-90-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-100 {\n text-decoration-color: var(--link-color);\n }\n .underline-100-hover:hover {\n text-decoration-color: var(--link-color);\n }\n .underline-thickness-1 {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-1-hover:hover {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-2 {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-2-hover:hover {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-3 {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-3-hover:hover {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-4 {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-4-hover:hover {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-5 {\n text-decoration-thickness: 5px;\n }\n .underline-thickness-5-hover:hover {\n text-decoration-thickness: 5px;\n }\n .bg-primary {\n --bg: var(--blue-500);\n background-color: var(--bg);\n }\n .bg-accent {\n --bg: var(--indigo-500);\n background-color: var(--bg);\n }\n .bg-success {\n --bg: var(--green-500);\n background-color: var(--bg);\n }\n .bg-danger {\n --bg: var(--red-500);\n background-color: var(--bg);\n }\n .bg-warning {\n --bg: var(--yellow-500);\n background-color: var(--bg);\n }\n .bg-info {\n --bg: var(--cyan-500);\n background-color: var(--bg);\n }\n .bg-inverse {\n --bg: light-dark(var(--gray-900), var(--gray-025));\n background-color: var(--bg);\n }\n .bg-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-600));\n background-color: var(--bg);\n }\n .bg-body {\n --bg: light-dark(var(--white), var(--gray-975));\n background-color: var(--bg);\n }\n .bg-1 {\n --bg: light-dark(var(--gray-025), var(--gray-950));\n background-color: var(--bg);\n }\n .bg-2 {\n --bg: light-dark(var(--gray-050), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-3 {\n --bg: light-dark(var(--gray-100), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-4 {\n --bg: light-dark(var(--gray-200), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-white {\n --bg: var(--white);\n background-color: var(--bg);\n }\n .bg-black {\n --bg: var(--black);\n background-color: var(--bg);\n }\n .bg-transparent {\n --bg: transparent;\n background-color: var(--bg);\n }\n .bg-inherit {\n --bg: inherit;\n background-color: var(--bg);\n }\n .bg-subtle-primary {\n --bg: light-dark(var(--blue-100), var(--blue-900));\n background-color: var(--bg);\n }\n .bg-subtle-accent {\n --bg: light-dark(var(--indigo-100), var(--indigo-900));\n background-color: var(--bg);\n }\n .bg-subtle-success {\n --bg: light-dark(var(--green-100), var(--green-900));\n background-color: var(--bg);\n }\n .bg-subtle-danger {\n --bg: light-dark(var(--red-100), var(--red-900));\n background-color: var(--bg);\n }\n .bg-subtle-warning {\n --bg: light-dark(var(--yellow-100), var(--yellow-900));\n background-color: var(--bg);\n }\n .bg-subtle-info {\n --bg: light-dark(var(--cyan-100), var(--cyan-900));\n background-color: var(--bg);\n }\n .bg-subtle-inverse {\n --bg: light-dark(var(--gray-100), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-subtle-secondary {\n --bg: light-dark(var(--gray-050), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-muted-primary {\n --bg: light-dark(var(--blue-200), var(--blue-800));\n background-color: var(--bg);\n }\n .bg-muted-accent {\n --bg: light-dark(var(--indigo-200), var(--indigo-800));\n background-color: var(--bg);\n }\n .bg-muted-success {\n --bg: light-dark(var(--green-200), var(--green-800));\n background-color: var(--bg);\n }\n .bg-muted-danger {\n --bg: light-dark(var(--red-200), var(--red-800));\n background-color: var(--bg);\n }\n .bg-muted-warning {\n --bg: light-dark(var(--yellow-200), var(--yellow-800));\n background-color: var(--bg);\n }\n .bg-muted-info {\n --bg: light-dark(var(--cyan-200), var(--cyan-800));\n background-color: var(--bg);\n }\n .bg-muted-inverse {\n --bg: light-dark(var(--gray-200), var(--gray-300));\n background-color: var(--bg);\n }\n .bg-muted-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-10 {\n background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n }\n .bg-20 {\n background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n }\n .bg-30 {\n background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n }\n .bg-40 {\n background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n }\n .bg-50 {\n background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n }\n .bg-60 {\n background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n }\n .bg-70 {\n background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n }\n .bg-80 {\n background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n }\n .bg-90 {\n background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n }\n .bg-100 {\n background-color: var(--bg);\n }\n .theme-contrast {\n background-color: var(--theme-bg);\n color: var(--theme-contrast);\n }\n .theme-subtle {\n background-color: var(--theme-bg-subtle);\n color: var(--theme-text);\n }\n .theme-muted {\n background-color: var(--theme-bg-muted);\n color: var(--theme-text-emphasis);\n }\n .theme-border {\n border: var(--border-width) solid var(--theme-border);\n }\n .bg-gradient {\n background-image: var(--gradient);\n }\n .user-select-all {\n user-select: all;\n }\n .user-select-auto {\n user-select: auto;\n }\n .user-select-text {\n user-select: text;\n }\n .user-select-none {\n user-select: none;\n }\n .pe-none {\n pointer-events: none;\n }\n .pe-auto {\n pointer-events: auto;\n }\n .rounded {\n border-radius: var(--border-radius);\n }\n .rounded-0 {\n border-radius: 0;\n }\n .rounded-1 {\n border-radius: var(--border-radius-sm);\n }\n .rounded-2 {\n border-radius: var(--border-radius);\n }\n .rounded-3 {\n border-radius: var(--border-radius-lg);\n }\n .rounded-4 {\n border-radius: var(--border-radius-xl);\n }\n .rounded-5 {\n border-radius: var(--border-radius-2xl);\n }\n .rounded-circle {\n border-radius: 50%;\n }\n .rounded-pill {\n border-radius: var(--border-radius-pill);\n }\n .rounded-top {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-top-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-top-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-top-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-top-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-top-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-top-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .rounded-end {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-end-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-end-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-end-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-end-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-end-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-end-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-bottom {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-bottom-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-bottom-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-bottom-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-bottom-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-bottom-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-bottom-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-start {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-start-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-start-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-start-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-start-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-start-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-start-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .visible {\n visibility: visible;\n }\n .invisible {\n visibility: hidden;\n }\n .z-n1 {\n z-index: -1;\n }\n .z-0 {\n z-index: 0;\n }\n .z-1 {\n z-index: 1;\n }\n .z-2 {\n z-index: 2;\n }\n .z-3 {\n z-index: 3;\n }\n @media (width >= 576px) {\n .sm\\:float-start {\n float: inline-start;\n }\n .sm\\:float-end {\n float: inline-end;\n }\n .sm\\:float-none {\n float: none;\n }\n .sm\\:object-fit-contain {\n object-fit: contain;\n }\n .sm\\:object-fit-cover {\n object-fit: cover;\n }\n .sm\\:object-fit-fill {\n object-fit: fill;\n }\n .sm\\:object-fit-scale {\n object-fit: scale-down;\n }\n .sm\\:object-fit-none {\n object-fit: none;\n }\n .sm\\:d-inline {\n display: inline;\n }\n .sm\\:d-inline-block {\n display: inline-block;\n }\n .sm\\:d-block {\n display: block;\n }\n .sm\\:d-grid {\n display: grid;\n }\n .sm\\:d-inline-grid {\n display: inline-grid;\n }\n .sm\\:d-table {\n display: table;\n }\n .sm\\:d-table-row {\n display: table-row;\n }\n .sm\\:d-table-cell {\n display: table-cell;\n }\n .sm\\:d-flex {\n display: flex;\n }\n .sm\\:d-inline-flex {\n display: inline-flex;\n }\n .sm\\:d-contents {\n display: contents;\n }\n .sm\\:d-flow-root {\n display: flow-root;\n }\n .sm\\:d-none {\n display: none;\n }\n .sm\\:flex-fill {\n flex: 1 1 auto;\n }\n .sm\\:flex-row {\n flex-direction: row;\n }\n .sm\\:flex-column {\n flex-direction: column;\n }\n .sm\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .sm\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .sm\\:flex-grow-0 {\n flex-grow: 0;\n }\n .sm\\:flex-grow-1 {\n flex-grow: 1;\n }\n .sm\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .sm\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .sm\\:flex-wrap {\n flex-wrap: wrap;\n }\n .sm\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .sm\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .sm\\:justify-content-start {\n justify-content: flex-start;\n }\n .sm\\:justify-content-end {\n justify-content: flex-end;\n }\n .sm\\:justify-content-center {\n justify-content: center;\n }\n .sm\\:justify-content-between {\n justify-content: space-between;\n }\n .sm\\:justify-content-around {\n justify-content: space-around;\n }\n .sm\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .sm\\:justify-items-start {\n justify-items: start;\n }\n .sm\\:justify-items-end {\n justify-items: end;\n }\n .sm\\:justify-items-center {\n justify-items: center;\n }\n .sm\\:justify-items-stretch {\n justify-items: stretch;\n }\n .sm\\:justify-self-start {\n justify-self: flex-start;\n }\n .sm\\:justify-self-end {\n justify-self: flex-end;\n }\n .sm\\:justify-self-center {\n justify-self: center;\n }\n .sm\\:align-items-start {\n align-items: flex-start;\n }\n .sm\\:align-items-end {\n align-items: flex-end;\n }\n .sm\\:align-items-center {\n align-items: center;\n }\n .sm\\:align-items-baseline {\n align-items: baseline;\n }\n .sm\\:align-items-stretch {\n align-items: stretch;\n }\n .sm\\:align-content-start {\n align-content: flex-start;\n }\n .sm\\:align-content-end {\n align-content: flex-end;\n }\n .sm\\:align-content-center {\n align-content: center;\n }\n .sm\\:align-content-between {\n align-content: space-between;\n }\n .sm\\:align-content-around {\n align-content: space-around;\n }\n .sm\\:align-content-stretch {\n align-content: stretch;\n }\n .sm\\:align-self-auto {\n align-self: auto;\n }\n .sm\\:align-self-start {\n align-self: flex-start;\n }\n .sm\\:align-self-end {\n align-self: flex-end;\n }\n .sm\\:align-self-center {\n align-self: center;\n }\n .sm\\:align-self-baseline {\n align-self: baseline;\n }\n .sm\\:align-self-stretch {\n align-self: stretch;\n }\n .sm\\:place-items-start {\n place-items: start;\n }\n .sm\\:place-items-end {\n place-items: end;\n }\n .sm\\:place-items-center {\n place-items: center;\n }\n .sm\\:place-items-stretch {\n place-items: stretch;\n }\n .sm\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .sm\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .sm\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .sm\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .sm\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .sm\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .sm\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .sm\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .sm\\:order-first {\n order: -1;\n }\n .sm\\:order-0 {\n order: 0;\n }\n .sm\\:order-1 {\n order: 1;\n }\n .sm\\:order-2 {\n order: 2;\n }\n .sm\\:order-3 {\n order: 3;\n }\n .sm\\:order-4 {\n order: 4;\n }\n .sm\\:order-5 {\n order: 5;\n }\n .sm\\:order-last {\n order: 6;\n }\n .sm\\:m-0 {\n margin: 0;\n }\n .sm\\:m-1 {\n margin: 0.25rem;\n }\n .sm\\:m-2 {\n margin: 0.5rem;\n }\n .sm\\:m-3 {\n margin: 1rem;\n }\n .sm\\:m-4 {\n margin: 1.5rem;\n }\n .sm\\:m-5 {\n margin: 3rem;\n }\n .sm\\:m-auto {\n margin: auto;\n }\n .sm\\:mx-0 {\n margin-inline: 0;\n }\n .sm\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .sm\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .sm\\:mx-3 {\n margin-inline: 1rem;\n }\n .sm\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .sm\\:mx-5 {\n margin-inline: 3rem;\n }\n .sm\\:mx-auto {\n margin-inline: auto;\n }\n .sm\\:my-0 {\n margin-block: 0;\n }\n .sm\\:my-1 {\n margin-block: 0.25rem;\n }\n .sm\\:my-2 {\n margin-block: 0.5rem;\n }\n .sm\\:my-3 {\n margin-block: 1rem;\n }\n .sm\\:my-4 {\n margin-block: 1.5rem;\n }\n .sm\\:my-5 {\n margin-block: 3rem;\n }\n .sm\\:my-auto {\n margin-block: auto;\n }\n .sm\\:mt-0 {\n margin-block-start: 0;\n }\n .sm\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .sm\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .sm\\:mt-3 {\n margin-block-start: 1rem;\n }\n .sm\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .sm\\:mt-5 {\n margin-block-start: 3rem;\n }\n .sm\\:mt-auto {\n margin-block-start: auto;\n }\n .sm\\:me-0 {\n margin-inline-end: 0;\n }\n .sm\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .sm\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .sm\\:me-3 {\n margin-inline-end: 1rem;\n }\n .sm\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .sm\\:me-5 {\n margin-inline-end: 3rem;\n }\n .sm\\:me-auto {\n margin-inline-end: auto;\n }\n .sm\\:mb-0 {\n margin-block-end: 0;\n }\n .sm\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .sm\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .sm\\:mb-3 {\n margin-block-end: 1rem;\n }\n .sm\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .sm\\:mb-5 {\n margin-block-end: 3rem;\n }\n .sm\\:mb-auto {\n margin-block-end: auto;\n }\n .sm\\:ms-0 {\n margin-inline-start: 0;\n }\n .sm\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .sm\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .sm\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .sm\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .sm\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .sm\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .sm\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .sm\\:ms-auto {\n margin-inline-start: auto;\n }\n .sm\\:p-0 {\n padding: 0;\n }\n .sm\\:p-1 {\n padding: 0.25rem;\n }\n .sm\\:p-2 {\n padding: 0.5rem;\n }\n .sm\\:p-3 {\n padding: 1rem;\n }\n .sm\\:p-4 {\n padding: 1.5rem;\n }\n .sm\\:p-5 {\n padding: 3rem;\n }\n .sm\\:px-0 {\n padding-inline: 0;\n }\n .sm\\:px-1 {\n padding-inline: 0.25rem;\n }\n .sm\\:px-2 {\n padding-inline: 0.5rem;\n }\n .sm\\:px-3 {\n padding-inline: 1rem;\n }\n .sm\\:px-4 {\n padding-inline: 1.5rem;\n }\n .sm\\:px-5 {\n padding-inline: 3rem;\n }\n .sm\\:py-0 {\n padding-block: 0;\n }\n .sm\\:py-1 {\n padding-block: 0.25rem;\n }\n .sm\\:py-2 {\n padding-block: 0.5rem;\n }\n .sm\\:py-3 {\n padding-block: 1rem;\n }\n .sm\\:py-4 {\n padding-block: 1.5rem;\n }\n .sm\\:py-5 {\n padding-block: 3rem;\n }\n .sm\\:pt-0 {\n padding-block-start: 0;\n }\n .sm\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .sm\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .sm\\:pt-3 {\n padding-block-start: 1rem;\n }\n .sm\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .sm\\:pt-5 {\n padding-block-start: 3rem;\n }\n .sm\\:pe-0 {\n padding-inline-end: 0;\n }\n .sm\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .sm\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .sm\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .sm\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .sm\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .sm\\:pb-0 {\n padding-block-end: 0;\n }\n .sm\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .sm\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .sm\\:pb-3 {\n padding-block-end: 1rem;\n }\n .sm\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .sm\\:pb-5 {\n padding-block-end: 3rem;\n }\n .sm\\:ps-0 {\n padding-inline-start: 0;\n }\n .sm\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .sm\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .sm\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .sm\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .sm\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .sm\\:gap-0 {\n gap: 0;\n }\n .sm\\:gap-1 {\n gap: 0.25rem;\n }\n .sm\\:gap-2 {\n gap: 0.5rem;\n }\n .sm\\:gap-3 {\n gap: 1rem;\n }\n .sm\\:gap-4 {\n gap: 1.5rem;\n }\n .sm\\:gap-5 {\n gap: 3rem;\n }\n .sm\\:row-gap-0 {\n row-gap: 0;\n }\n .sm\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .sm\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .sm\\:row-gap-3 {\n row-gap: 1rem;\n }\n .sm\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .sm\\:row-gap-5 {\n row-gap: 3rem;\n }\n .sm\\:column-gap-0 {\n column-gap: 0;\n }\n .sm\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .sm\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .sm\\:column-gap-3 {\n column-gap: 1rem;\n }\n .sm\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .sm\\:column-gap-5 {\n column-gap: 3rem;\n }\n .sm\\:text-start {\n text-align: start;\n }\n .sm\\:text-end {\n text-align: end;\n }\n .sm\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 768px) {\n .md\\:float-start {\n float: inline-start;\n }\n .md\\:float-end {\n float: inline-end;\n }\n .md\\:float-none {\n float: none;\n }\n .md\\:object-fit-contain {\n object-fit: contain;\n }\n .md\\:object-fit-cover {\n object-fit: cover;\n }\n .md\\:object-fit-fill {\n object-fit: fill;\n }\n .md\\:object-fit-scale {\n object-fit: scale-down;\n }\n .md\\:object-fit-none {\n object-fit: none;\n }\n .md\\:d-inline {\n display: inline;\n }\n .md\\:d-inline-block {\n display: inline-block;\n }\n .md\\:d-block {\n display: block;\n }\n .md\\:d-grid {\n display: grid;\n }\n .md\\:d-inline-grid {\n display: inline-grid;\n }\n .md\\:d-table {\n display: table;\n }\n .md\\:d-table-row {\n display: table-row;\n }\n .md\\:d-table-cell {\n display: table-cell;\n }\n .md\\:d-flex {\n display: flex;\n }\n .md\\:d-inline-flex {\n display: inline-flex;\n }\n .md\\:d-contents {\n display: contents;\n }\n .md\\:d-flow-root {\n display: flow-root;\n }\n .md\\:d-none {\n display: none;\n }\n .md\\:flex-fill {\n flex: 1 1 auto;\n }\n .md\\:flex-row {\n flex-direction: row;\n }\n .md\\:flex-column {\n flex-direction: column;\n }\n .md\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .md\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .md\\:flex-grow-0 {\n flex-grow: 0;\n }\n .md\\:flex-grow-1 {\n flex-grow: 1;\n }\n .md\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .md\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .md\\:flex-wrap {\n flex-wrap: wrap;\n }\n .md\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .md\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .md\\:justify-content-start {\n justify-content: flex-start;\n }\n .md\\:justify-content-end {\n justify-content: flex-end;\n }\n .md\\:justify-content-center {\n justify-content: center;\n }\n .md\\:justify-content-between {\n justify-content: space-between;\n }\n .md\\:justify-content-around {\n justify-content: space-around;\n }\n .md\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .md\\:justify-items-start {\n justify-items: start;\n }\n .md\\:justify-items-end {\n justify-items: end;\n }\n .md\\:justify-items-center {\n justify-items: center;\n }\n .md\\:justify-items-stretch {\n justify-items: stretch;\n }\n .md\\:justify-self-start {\n justify-self: flex-start;\n }\n .md\\:justify-self-end {\n justify-self: flex-end;\n }\n .md\\:justify-self-center {\n justify-self: center;\n }\n .md\\:align-items-start {\n align-items: flex-start;\n }\n .md\\:align-items-end {\n align-items: flex-end;\n }\n .md\\:align-items-center {\n align-items: center;\n }\n .md\\:align-items-baseline {\n align-items: baseline;\n }\n .md\\:align-items-stretch {\n align-items: stretch;\n }\n .md\\:align-content-start {\n align-content: flex-start;\n }\n .md\\:align-content-end {\n align-content: flex-end;\n }\n .md\\:align-content-center {\n align-content: center;\n }\n .md\\:align-content-between {\n align-content: space-between;\n }\n .md\\:align-content-around {\n align-content: space-around;\n }\n .md\\:align-content-stretch {\n align-content: stretch;\n }\n .md\\:align-self-auto {\n align-self: auto;\n }\n .md\\:align-self-start {\n align-self: flex-start;\n }\n .md\\:align-self-end {\n align-self: flex-end;\n }\n .md\\:align-self-center {\n align-self: center;\n }\n .md\\:align-self-baseline {\n align-self: baseline;\n }\n .md\\:align-self-stretch {\n align-self: stretch;\n }\n .md\\:place-items-start {\n place-items: start;\n }\n .md\\:place-items-end {\n place-items: end;\n }\n .md\\:place-items-center {\n place-items: center;\n }\n .md\\:place-items-stretch {\n place-items: stretch;\n }\n .md\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .md\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .md\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .md\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .md\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .md\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .md\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .md\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .md\\:order-first {\n order: -1;\n }\n .md\\:order-0 {\n order: 0;\n }\n .md\\:order-1 {\n order: 1;\n }\n .md\\:order-2 {\n order: 2;\n }\n .md\\:order-3 {\n order: 3;\n }\n .md\\:order-4 {\n order: 4;\n }\n .md\\:order-5 {\n order: 5;\n }\n .md\\:order-last {\n order: 6;\n }\n .md\\:m-0 {\n margin: 0;\n }\n .md\\:m-1 {\n margin: 0.25rem;\n }\n .md\\:m-2 {\n margin: 0.5rem;\n }\n .md\\:m-3 {\n margin: 1rem;\n }\n .md\\:m-4 {\n margin: 1.5rem;\n }\n .md\\:m-5 {\n margin: 3rem;\n }\n .md\\:m-auto {\n margin: auto;\n }\n .md\\:mx-0 {\n margin-inline: 0;\n }\n .md\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .md\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .md\\:mx-3 {\n margin-inline: 1rem;\n }\n .md\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .md\\:mx-5 {\n margin-inline: 3rem;\n }\n .md\\:mx-auto {\n margin-inline: auto;\n }\n .md\\:my-0 {\n margin-block: 0;\n }\n .md\\:my-1 {\n margin-block: 0.25rem;\n }\n .md\\:my-2 {\n margin-block: 0.5rem;\n }\n .md\\:my-3 {\n margin-block: 1rem;\n }\n .md\\:my-4 {\n margin-block: 1.5rem;\n }\n .md\\:my-5 {\n margin-block: 3rem;\n }\n .md\\:my-auto {\n margin-block: auto;\n }\n .md\\:mt-0 {\n margin-block-start: 0;\n }\n .md\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .md\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .md\\:mt-3 {\n margin-block-start: 1rem;\n }\n .md\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .md\\:mt-5 {\n margin-block-start: 3rem;\n }\n .md\\:mt-auto {\n margin-block-start: auto;\n }\n .md\\:me-0 {\n margin-inline-end: 0;\n }\n .md\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .md\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .md\\:me-3 {\n margin-inline-end: 1rem;\n }\n .md\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .md\\:me-5 {\n margin-inline-end: 3rem;\n }\n .md\\:me-auto {\n margin-inline-end: auto;\n }\n .md\\:mb-0 {\n margin-block-end: 0;\n }\n .md\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .md\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .md\\:mb-3 {\n margin-block-end: 1rem;\n }\n .md\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .md\\:mb-5 {\n margin-block-end: 3rem;\n }\n .md\\:mb-auto {\n margin-block-end: auto;\n }\n .md\\:ms-0 {\n margin-inline-start: 0;\n }\n .md\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .md\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .md\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .md\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .md\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .md\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .md\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .md\\:ms-auto {\n margin-inline-start: auto;\n }\n .md\\:p-0 {\n padding: 0;\n }\n .md\\:p-1 {\n padding: 0.25rem;\n }\n .md\\:p-2 {\n padding: 0.5rem;\n }\n .md\\:p-3 {\n padding: 1rem;\n }\n .md\\:p-4 {\n padding: 1.5rem;\n }\n .md\\:p-5 {\n padding: 3rem;\n }\n .md\\:px-0 {\n padding-inline: 0;\n }\n .md\\:px-1 {\n padding-inline: 0.25rem;\n }\n .md\\:px-2 {\n padding-inline: 0.5rem;\n }\n .md\\:px-3 {\n padding-inline: 1rem;\n }\n .md\\:px-4 {\n padding-inline: 1.5rem;\n }\n .md\\:px-5 {\n padding-inline: 3rem;\n }\n .md\\:py-0 {\n padding-block: 0;\n }\n .md\\:py-1 {\n padding-block: 0.25rem;\n }\n .md\\:py-2 {\n padding-block: 0.5rem;\n }\n .md\\:py-3 {\n padding-block: 1rem;\n }\n .md\\:py-4 {\n padding-block: 1.5rem;\n }\n .md\\:py-5 {\n padding-block: 3rem;\n }\n .md\\:pt-0 {\n padding-block-start: 0;\n }\n .md\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .md\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .md\\:pt-3 {\n padding-block-start: 1rem;\n }\n .md\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .md\\:pt-5 {\n padding-block-start: 3rem;\n }\n .md\\:pe-0 {\n padding-inline-end: 0;\n }\n .md\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .md\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .md\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .md\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .md\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .md\\:pb-0 {\n padding-block-end: 0;\n }\n .md\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .md\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .md\\:pb-3 {\n padding-block-end: 1rem;\n }\n .md\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .md\\:pb-5 {\n padding-block-end: 3rem;\n }\n .md\\:ps-0 {\n padding-inline-start: 0;\n }\n .md\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .md\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .md\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .md\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .md\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .md\\:gap-0 {\n gap: 0;\n }\n .md\\:gap-1 {\n gap: 0.25rem;\n }\n .md\\:gap-2 {\n gap: 0.5rem;\n }\n .md\\:gap-3 {\n gap: 1rem;\n }\n .md\\:gap-4 {\n gap: 1.5rem;\n }\n .md\\:gap-5 {\n gap: 3rem;\n }\n .md\\:row-gap-0 {\n row-gap: 0;\n }\n .md\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .md\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .md\\:row-gap-3 {\n row-gap: 1rem;\n }\n .md\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .md\\:row-gap-5 {\n row-gap: 3rem;\n }\n .md\\:column-gap-0 {\n column-gap: 0;\n }\n .md\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .md\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .md\\:column-gap-3 {\n column-gap: 1rem;\n }\n .md\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .md\\:column-gap-5 {\n column-gap: 3rem;\n }\n .md\\:text-start {\n text-align: start;\n }\n .md\\:text-end {\n text-align: end;\n }\n .md\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 1024px) {\n .lg\\:float-start {\n float: inline-start;\n }\n .lg\\:float-end {\n float: inline-end;\n }\n .lg\\:float-none {\n float: none;\n }\n .lg\\:object-fit-contain {\n object-fit: contain;\n }\n .lg\\:object-fit-cover {\n object-fit: cover;\n }\n .lg\\:object-fit-fill {\n object-fit: fill;\n }\n .lg\\:object-fit-scale {\n object-fit: scale-down;\n }\n .lg\\:object-fit-none {\n object-fit: none;\n }\n .lg\\:d-inline {\n display: inline;\n }\n .lg\\:d-inline-block {\n display: inline-block;\n }\n .lg\\:d-block {\n display: block;\n }\n .lg\\:d-grid {\n display: grid;\n }\n .lg\\:d-inline-grid {\n display: inline-grid;\n }\n .lg\\:d-table {\n display: table;\n }\n .lg\\:d-table-row {\n display: table-row;\n }\n .lg\\:d-table-cell {\n display: table-cell;\n }\n .lg\\:d-flex {\n display: flex;\n }\n .lg\\:d-inline-flex {\n display: inline-flex;\n }\n .lg\\:d-contents {\n display: contents;\n }\n .lg\\:d-flow-root {\n display: flow-root;\n }\n .lg\\:d-none {\n display: none;\n }\n .lg\\:flex-fill {\n flex: 1 1 auto;\n }\n .lg\\:flex-row {\n flex-direction: row;\n }\n .lg\\:flex-column {\n flex-direction: column;\n }\n .lg\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .lg\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .lg\\:flex-grow-0 {\n flex-grow: 0;\n }\n .lg\\:flex-grow-1 {\n flex-grow: 1;\n }\n .lg\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .lg\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .lg\\:flex-wrap {\n flex-wrap: wrap;\n }\n .lg\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .lg\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .lg\\:justify-content-start {\n justify-content: flex-start;\n }\n .lg\\:justify-content-end {\n justify-content: flex-end;\n }\n .lg\\:justify-content-center {\n justify-content: center;\n }\n .lg\\:justify-content-between {\n justify-content: space-between;\n }\n .lg\\:justify-content-around {\n justify-content: space-around;\n }\n .lg\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .lg\\:justify-items-start {\n justify-items: start;\n }\n .lg\\:justify-items-end {\n justify-items: end;\n }\n .lg\\:justify-items-center {\n justify-items: center;\n }\n .lg\\:justify-items-stretch {\n justify-items: stretch;\n }\n .lg\\:justify-self-start {\n justify-self: flex-start;\n }\n .lg\\:justify-self-end {\n justify-self: flex-end;\n }\n .lg\\:justify-self-center {\n justify-self: center;\n }\n .lg\\:align-items-start {\n align-items: flex-start;\n }\n .lg\\:align-items-end {\n align-items: flex-end;\n }\n .lg\\:align-items-center {\n align-items: center;\n }\n .lg\\:align-items-baseline {\n align-items: baseline;\n }\n .lg\\:align-items-stretch {\n align-items: stretch;\n }\n .lg\\:align-content-start {\n align-content: flex-start;\n }\n .lg\\:align-content-end {\n align-content: flex-end;\n }\n .lg\\:align-content-center {\n align-content: center;\n }\n .lg\\:align-content-between {\n align-content: space-between;\n }\n .lg\\:align-content-around {\n align-content: space-around;\n }\n .lg\\:align-content-stretch {\n align-content: stretch;\n }\n .lg\\:align-self-auto {\n align-self: auto;\n }\n .lg\\:align-self-start {\n align-self: flex-start;\n }\n .lg\\:align-self-end {\n align-self: flex-end;\n }\n .lg\\:align-self-center {\n align-self: center;\n }\n .lg\\:align-self-baseline {\n align-self: baseline;\n }\n .lg\\:align-self-stretch {\n align-self: stretch;\n }\n .lg\\:place-items-start {\n place-items: start;\n }\n .lg\\:place-items-end {\n place-items: end;\n }\n .lg\\:place-items-center {\n place-items: center;\n }\n .lg\\:place-items-stretch {\n place-items: stretch;\n }\n .lg\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .lg\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .lg\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .lg\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .lg\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .lg\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .lg\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .lg\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .lg\\:order-first {\n order: -1;\n }\n .lg\\:order-0 {\n order: 0;\n }\n .lg\\:order-1 {\n order: 1;\n }\n .lg\\:order-2 {\n order: 2;\n }\n .lg\\:order-3 {\n order: 3;\n }\n .lg\\:order-4 {\n order: 4;\n }\n .lg\\:order-5 {\n order: 5;\n }\n .lg\\:order-last {\n order: 6;\n }\n .lg\\:m-0 {\n margin: 0;\n }\n .lg\\:m-1 {\n margin: 0.25rem;\n }\n .lg\\:m-2 {\n margin: 0.5rem;\n }\n .lg\\:m-3 {\n margin: 1rem;\n }\n .lg\\:m-4 {\n margin: 1.5rem;\n }\n .lg\\:m-5 {\n margin: 3rem;\n }\n .lg\\:m-auto {\n margin: auto;\n }\n .lg\\:mx-0 {\n margin-inline: 0;\n }\n .lg\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .lg\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .lg\\:mx-3 {\n margin-inline: 1rem;\n }\n .lg\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .lg\\:mx-5 {\n margin-inline: 3rem;\n }\n .lg\\:mx-auto {\n margin-inline: auto;\n }\n .lg\\:my-0 {\n margin-block: 0;\n }\n .lg\\:my-1 {\n margin-block: 0.25rem;\n }\n .lg\\:my-2 {\n margin-block: 0.5rem;\n }\n .lg\\:my-3 {\n margin-block: 1rem;\n }\n .lg\\:my-4 {\n margin-block: 1.5rem;\n }\n .lg\\:my-5 {\n margin-block: 3rem;\n }\n .lg\\:my-auto {\n margin-block: auto;\n }\n .lg\\:mt-0 {\n margin-block-start: 0;\n }\n .lg\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .lg\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .lg\\:mt-3 {\n margin-block-start: 1rem;\n }\n .lg\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .lg\\:mt-5 {\n margin-block-start: 3rem;\n }\n .lg\\:mt-auto {\n margin-block-start: auto;\n }\n .lg\\:me-0 {\n margin-inline-end: 0;\n }\n .lg\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .lg\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .lg\\:me-3 {\n margin-inline-end: 1rem;\n }\n .lg\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .lg\\:me-5 {\n margin-inline-end: 3rem;\n }\n .lg\\:me-auto {\n margin-inline-end: auto;\n }\n .lg\\:mb-0 {\n margin-block-end: 0;\n }\n .lg\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .lg\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .lg\\:mb-3 {\n margin-block-end: 1rem;\n }\n .lg\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .lg\\:mb-5 {\n margin-block-end: 3rem;\n }\n .lg\\:mb-auto {\n margin-block-end: auto;\n }\n .lg\\:ms-0 {\n margin-inline-start: 0;\n }\n .lg\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .lg\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .lg\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .lg\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .lg\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .lg\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .lg\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .lg\\:ms-auto {\n margin-inline-start: auto;\n }\n .lg\\:p-0 {\n padding: 0;\n }\n .lg\\:p-1 {\n padding: 0.25rem;\n }\n .lg\\:p-2 {\n padding: 0.5rem;\n }\n .lg\\:p-3 {\n padding: 1rem;\n }\n .lg\\:p-4 {\n padding: 1.5rem;\n }\n .lg\\:p-5 {\n padding: 3rem;\n }\n .lg\\:px-0 {\n padding-inline: 0;\n }\n .lg\\:px-1 {\n padding-inline: 0.25rem;\n }\n .lg\\:px-2 {\n padding-inline: 0.5rem;\n }\n .lg\\:px-3 {\n padding-inline: 1rem;\n }\n .lg\\:px-4 {\n padding-inline: 1.5rem;\n }\n .lg\\:px-5 {\n padding-inline: 3rem;\n }\n .lg\\:py-0 {\n padding-block: 0;\n }\n .lg\\:py-1 {\n padding-block: 0.25rem;\n }\n .lg\\:py-2 {\n padding-block: 0.5rem;\n }\n .lg\\:py-3 {\n padding-block: 1rem;\n }\n .lg\\:py-4 {\n padding-block: 1.5rem;\n }\n .lg\\:py-5 {\n padding-block: 3rem;\n }\n .lg\\:pt-0 {\n padding-block-start: 0;\n }\n .lg\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .lg\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .lg\\:pt-3 {\n padding-block-start: 1rem;\n }\n .lg\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .lg\\:pt-5 {\n padding-block-start: 3rem;\n }\n .lg\\:pe-0 {\n padding-inline-end: 0;\n }\n .lg\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .lg\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .lg\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .lg\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .lg\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .lg\\:pb-0 {\n padding-block-end: 0;\n }\n .lg\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .lg\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .lg\\:pb-3 {\n padding-block-end: 1rem;\n }\n .lg\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .lg\\:pb-5 {\n padding-block-end: 3rem;\n }\n .lg\\:ps-0 {\n padding-inline-start: 0;\n }\n .lg\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .lg\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .lg\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .lg\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .lg\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .lg\\:gap-0 {\n gap: 0;\n }\n .lg\\:gap-1 {\n gap: 0.25rem;\n }\n .lg\\:gap-2 {\n gap: 0.5rem;\n }\n .lg\\:gap-3 {\n gap: 1rem;\n }\n .lg\\:gap-4 {\n gap: 1.5rem;\n }\n .lg\\:gap-5 {\n gap: 3rem;\n }\n .lg\\:row-gap-0 {\n row-gap: 0;\n }\n .lg\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .lg\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .lg\\:row-gap-3 {\n row-gap: 1rem;\n }\n .lg\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .lg\\:row-gap-5 {\n row-gap: 3rem;\n }\n .lg\\:column-gap-0 {\n column-gap: 0;\n }\n .lg\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .lg\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .lg\\:column-gap-3 {\n column-gap: 1rem;\n }\n .lg\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .lg\\:column-gap-5 {\n column-gap: 3rem;\n }\n .lg\\:text-start {\n text-align: start;\n }\n .lg\\:text-end {\n text-align: end;\n }\n .lg\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 1280px) {\n .xl\\:float-start {\n float: inline-start;\n }\n .xl\\:float-end {\n float: inline-end;\n }\n .xl\\:float-none {\n float: none;\n }\n .xl\\:object-fit-contain {\n object-fit: contain;\n }\n .xl\\:object-fit-cover {\n object-fit: cover;\n }\n .xl\\:object-fit-fill {\n object-fit: fill;\n }\n .xl\\:object-fit-scale {\n object-fit: scale-down;\n }\n .xl\\:object-fit-none {\n object-fit: none;\n }\n .xl\\:d-inline {\n display: inline;\n }\n .xl\\:d-inline-block {\n display: inline-block;\n }\n .xl\\:d-block {\n display: block;\n }\n .xl\\:d-grid {\n display: grid;\n }\n .xl\\:d-inline-grid {\n display: inline-grid;\n }\n .xl\\:d-table {\n display: table;\n }\n .xl\\:d-table-row {\n display: table-row;\n }\n .xl\\:d-table-cell {\n display: table-cell;\n }\n .xl\\:d-flex {\n display: flex;\n }\n .xl\\:d-inline-flex {\n display: inline-flex;\n }\n .xl\\:d-contents {\n display: contents;\n }\n .xl\\:d-flow-root {\n display: flow-root;\n }\n .xl\\:d-none {\n display: none;\n }\n .xl\\:flex-fill {\n flex: 1 1 auto;\n }\n .xl\\:flex-row {\n flex-direction: row;\n }\n .xl\\:flex-column {\n flex-direction: column;\n }\n .xl\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .xl\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .xl\\:flex-grow-0 {\n flex-grow: 0;\n }\n .xl\\:flex-grow-1 {\n flex-grow: 1;\n }\n .xl\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .xl\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .xl\\:flex-wrap {\n flex-wrap: wrap;\n }\n .xl\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .xl\\:justify-content-start {\n justify-content: flex-start;\n }\n .xl\\:justify-content-end {\n justify-content: flex-end;\n }\n .xl\\:justify-content-center {\n justify-content: center;\n }\n .xl\\:justify-content-between {\n justify-content: space-between;\n }\n .xl\\:justify-content-around {\n justify-content: space-around;\n }\n .xl\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .xl\\:justify-items-start {\n justify-items: start;\n }\n .xl\\:justify-items-end {\n justify-items: end;\n }\n .xl\\:justify-items-center {\n justify-items: center;\n }\n .xl\\:justify-items-stretch {\n justify-items: stretch;\n }\n .xl\\:justify-self-start {\n justify-self: flex-start;\n }\n .xl\\:justify-self-end {\n justify-self: flex-end;\n }\n .xl\\:justify-self-center {\n justify-self: center;\n }\n .xl\\:align-items-start {\n align-items: flex-start;\n }\n .xl\\:align-items-end {\n align-items: flex-end;\n }\n .xl\\:align-items-center {\n align-items: center;\n }\n .xl\\:align-items-baseline {\n align-items: baseline;\n }\n .xl\\:align-items-stretch {\n align-items: stretch;\n }\n .xl\\:align-content-start {\n align-content: flex-start;\n }\n .xl\\:align-content-end {\n align-content: flex-end;\n }\n .xl\\:align-content-center {\n align-content: center;\n }\n .xl\\:align-content-between {\n align-content: space-between;\n }\n .xl\\:align-content-around {\n align-content: space-around;\n }\n .xl\\:align-content-stretch {\n align-content: stretch;\n }\n .xl\\:align-self-auto {\n align-self: auto;\n }\n .xl\\:align-self-start {\n align-self: flex-start;\n }\n .xl\\:align-self-end {\n align-self: flex-end;\n }\n .xl\\:align-self-center {\n align-self: center;\n }\n .xl\\:align-self-baseline {\n align-self: baseline;\n }\n .xl\\:align-self-stretch {\n align-self: stretch;\n }\n .xl\\:place-items-start {\n place-items: start;\n }\n .xl\\:place-items-end {\n place-items: end;\n }\n .xl\\:place-items-center {\n place-items: center;\n }\n .xl\\:place-items-stretch {\n place-items: stretch;\n }\n .xl\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .xl\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .xl\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .xl\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .xl\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .xl\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .xl\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .xl\\:order-first {\n order: -1;\n }\n .xl\\:order-0 {\n order: 0;\n }\n .xl\\:order-1 {\n order: 1;\n }\n .xl\\:order-2 {\n order: 2;\n }\n .xl\\:order-3 {\n order: 3;\n }\n .xl\\:order-4 {\n order: 4;\n }\n .xl\\:order-5 {\n order: 5;\n }\n .xl\\:order-last {\n order: 6;\n }\n .xl\\:m-0 {\n margin: 0;\n }\n .xl\\:m-1 {\n margin: 0.25rem;\n }\n .xl\\:m-2 {\n margin: 0.5rem;\n }\n .xl\\:m-3 {\n margin: 1rem;\n }\n .xl\\:m-4 {\n margin: 1.5rem;\n }\n .xl\\:m-5 {\n margin: 3rem;\n }\n .xl\\:m-auto {\n margin: auto;\n }\n .xl\\:mx-0 {\n margin-inline: 0;\n }\n .xl\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .xl\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .xl\\:mx-3 {\n margin-inline: 1rem;\n }\n .xl\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .xl\\:mx-5 {\n margin-inline: 3rem;\n }\n .xl\\:mx-auto {\n margin-inline: auto;\n }\n .xl\\:my-0 {\n margin-block: 0;\n }\n .xl\\:my-1 {\n margin-block: 0.25rem;\n }\n .xl\\:my-2 {\n margin-block: 0.5rem;\n }\n .xl\\:my-3 {\n margin-block: 1rem;\n }\n .xl\\:my-4 {\n margin-block: 1.5rem;\n }\n .xl\\:my-5 {\n margin-block: 3rem;\n }\n .xl\\:my-auto {\n margin-block: auto;\n }\n .xl\\:mt-0 {\n margin-block-start: 0;\n }\n .xl\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .xl\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .xl\\:mt-3 {\n margin-block-start: 1rem;\n }\n .xl\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .xl\\:mt-5 {\n margin-block-start: 3rem;\n }\n .xl\\:mt-auto {\n margin-block-start: auto;\n }\n .xl\\:me-0 {\n margin-inline-end: 0;\n }\n .xl\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .xl\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .xl\\:me-3 {\n margin-inline-end: 1rem;\n }\n .xl\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .xl\\:me-5 {\n margin-inline-end: 3rem;\n }\n .xl\\:me-auto {\n margin-inline-end: auto;\n }\n .xl\\:mb-0 {\n margin-block-end: 0;\n }\n .xl\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .xl\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .xl\\:mb-3 {\n margin-block-end: 1rem;\n }\n .xl\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .xl\\:mb-5 {\n margin-block-end: 3rem;\n }\n .xl\\:mb-auto {\n margin-block-end: auto;\n }\n .xl\\:ms-0 {\n margin-inline-start: 0;\n }\n .xl\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .xl\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .xl\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .xl\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .xl\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .xl\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .xl\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .xl\\:ms-auto {\n margin-inline-start: auto;\n }\n .xl\\:p-0 {\n padding: 0;\n }\n .xl\\:p-1 {\n padding: 0.25rem;\n }\n .xl\\:p-2 {\n padding: 0.5rem;\n }\n .xl\\:p-3 {\n padding: 1rem;\n }\n .xl\\:p-4 {\n padding: 1.5rem;\n }\n .xl\\:p-5 {\n padding: 3rem;\n }\n .xl\\:px-0 {\n padding-inline: 0;\n }\n .xl\\:px-1 {\n padding-inline: 0.25rem;\n }\n .xl\\:px-2 {\n padding-inline: 0.5rem;\n }\n .xl\\:px-3 {\n padding-inline: 1rem;\n }\n .xl\\:px-4 {\n padding-inline: 1.5rem;\n }\n .xl\\:px-5 {\n padding-inline: 3rem;\n }\n .xl\\:py-0 {\n padding-block: 0;\n }\n .xl\\:py-1 {\n padding-block: 0.25rem;\n }\n .xl\\:py-2 {\n padding-block: 0.5rem;\n }\n .xl\\:py-3 {\n padding-block: 1rem;\n }\n .xl\\:py-4 {\n padding-block: 1.5rem;\n }\n .xl\\:py-5 {\n padding-block: 3rem;\n }\n .xl\\:pt-0 {\n padding-block-start: 0;\n }\n .xl\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .xl\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .xl\\:pt-3 {\n padding-block-start: 1rem;\n }\n .xl\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .xl\\:pt-5 {\n padding-block-start: 3rem;\n }\n .xl\\:pe-0 {\n padding-inline-end: 0;\n }\n .xl\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .xl\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .xl\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .xl\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .xl\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .xl\\:pb-0 {\n padding-block-end: 0;\n }\n .xl\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .xl\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .xl\\:pb-3 {\n padding-block-end: 1rem;\n }\n .xl\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .xl\\:pb-5 {\n padding-block-end: 3rem;\n }\n .xl\\:ps-0 {\n padding-inline-start: 0;\n }\n .xl\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .xl\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .xl\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .xl\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .xl\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .xl\\:gap-0 {\n gap: 0;\n }\n .xl\\:gap-1 {\n gap: 0.25rem;\n }\n .xl\\:gap-2 {\n gap: 0.5rem;\n }\n .xl\\:gap-3 {\n gap: 1rem;\n }\n .xl\\:gap-4 {\n gap: 1.5rem;\n }\n .xl\\:gap-5 {\n gap: 3rem;\n }\n .xl\\:row-gap-0 {\n row-gap: 0;\n }\n .xl\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .xl\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .xl\\:row-gap-3 {\n row-gap: 1rem;\n }\n .xl\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .xl\\:row-gap-5 {\n row-gap: 3rem;\n }\n .xl\\:column-gap-0 {\n column-gap: 0;\n }\n .xl\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .xl\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .xl\\:column-gap-3 {\n column-gap: 1rem;\n }\n .xl\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .xl\\:column-gap-5 {\n column-gap: 3rem;\n }\n .xl\\:text-start {\n text-align: start;\n }\n .xl\\:text-end {\n text-align: end;\n }\n .xl\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:float-start {\n float: inline-start;\n }\n .\\32 xl\\:float-end {\n float: inline-end;\n }\n .\\32 xl\\:float-none {\n float: none;\n }\n .\\32 xl\\:object-fit-contain {\n object-fit: contain;\n }\n .\\32 xl\\:object-fit-cover {\n object-fit: cover;\n }\n .\\32 xl\\:object-fit-fill {\n object-fit: fill;\n }\n .\\32 xl\\:object-fit-scale {\n object-fit: scale-down;\n }\n .\\32 xl\\:object-fit-none {\n object-fit: none;\n }\n .\\32 xl\\:d-inline {\n display: inline;\n }\n .\\32 xl\\:d-inline-block {\n display: inline-block;\n }\n .\\32 xl\\:d-block {\n display: block;\n }\n .\\32 xl\\:d-grid {\n display: grid;\n }\n .\\32 xl\\:d-inline-grid {\n display: inline-grid;\n }\n .\\32 xl\\:d-table {\n display: table;\n }\n .\\32 xl\\:d-table-row {\n display: table-row;\n }\n .\\32 xl\\:d-table-cell {\n display: table-cell;\n }\n .\\32 xl\\:d-flex {\n display: flex;\n }\n .\\32 xl\\:d-inline-flex {\n display: inline-flex;\n }\n .\\32 xl\\:d-contents {\n display: contents;\n }\n .\\32 xl\\:d-flow-root {\n display: flow-root;\n }\n .\\32 xl\\:d-none {\n display: none;\n }\n .\\32 xl\\:flex-fill {\n flex: 1 1 auto;\n }\n .\\32 xl\\:flex-row {\n flex-direction: row;\n }\n .\\32 xl\\:flex-column {\n flex-direction: column;\n }\n .\\32 xl\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .\\32 xl\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .\\32 xl\\:flex-grow-0 {\n flex-grow: 0;\n }\n .\\32 xl\\:flex-grow-1 {\n flex-grow: 1;\n }\n .\\32 xl\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .\\32 xl\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .\\32 xl\\:flex-wrap {\n flex-wrap: wrap;\n }\n .\\32 xl\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .\\32 xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .\\32 xl\\:justify-content-start {\n justify-content: flex-start;\n }\n .\\32 xl\\:justify-content-end {\n justify-content: flex-end;\n }\n .\\32 xl\\:justify-content-center {\n justify-content: center;\n }\n .\\32 xl\\:justify-content-between {\n justify-content: space-between;\n }\n .\\32 xl\\:justify-content-around {\n justify-content: space-around;\n }\n .\\32 xl\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .\\32 xl\\:justify-items-start {\n justify-items: start;\n }\n .\\32 xl\\:justify-items-end {\n justify-items: end;\n }\n .\\32 xl\\:justify-items-center {\n justify-items: center;\n }\n .\\32 xl\\:justify-items-stretch {\n justify-items: stretch;\n }\n .\\32 xl\\:justify-self-start {\n justify-self: flex-start;\n }\n .\\32 xl\\:justify-self-end {\n justify-self: flex-end;\n }\n .\\32 xl\\:justify-self-center {\n justify-self: center;\n }\n .\\32 xl\\:align-items-start {\n align-items: flex-start;\n }\n .\\32 xl\\:align-items-end {\n align-items: flex-end;\n }\n .\\32 xl\\:align-items-center {\n align-items: center;\n }\n .\\32 xl\\:align-items-baseline {\n align-items: baseline;\n }\n .\\32 xl\\:align-items-stretch {\n align-items: stretch;\n }\n .\\32 xl\\:align-content-start {\n align-content: flex-start;\n }\n .\\32 xl\\:align-content-end {\n align-content: flex-end;\n }\n .\\32 xl\\:align-content-center {\n align-content: center;\n }\n .\\32 xl\\:align-content-between {\n align-content: space-between;\n }\n .\\32 xl\\:align-content-around {\n align-content: space-around;\n }\n .\\32 xl\\:align-content-stretch {\n align-content: stretch;\n }\n .\\32 xl\\:align-self-auto {\n align-self: auto;\n }\n .\\32 xl\\:align-self-start {\n align-self: flex-start;\n }\n .\\32 xl\\:align-self-end {\n align-self: flex-end;\n }\n .\\32 xl\\:align-self-center {\n align-self: center;\n }\n .\\32 xl\\:align-self-baseline {\n align-self: baseline;\n }\n .\\32 xl\\:align-self-stretch {\n align-self: stretch;\n }\n .\\32 xl\\:place-items-start {\n place-items: start;\n }\n .\\32 xl\\:place-items-end {\n place-items: end;\n }\n .\\32 xl\\:place-items-center {\n place-items: center;\n }\n .\\32 xl\\:place-items-stretch {\n place-items: stretch;\n }\n .\\32 xl\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .\\32 xl\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .\\32 xl\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .\\32 xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .\\32 xl\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .\\32 xl\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .\\32 xl\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .\\32 xl\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .\\32 xl\\:order-first {\n order: -1;\n }\n .\\32 xl\\:order-0 {\n order: 0;\n }\n .\\32 xl\\:order-1 {\n order: 1;\n }\n .\\32 xl\\:order-2 {\n order: 2;\n }\n .\\32 xl\\:order-3 {\n order: 3;\n }\n .\\32 xl\\:order-4 {\n order: 4;\n }\n .\\32 xl\\:order-5 {\n order: 5;\n }\n .\\32 xl\\:order-last {\n order: 6;\n }\n .\\32 xl\\:m-0 {\n margin: 0;\n }\n .\\32 xl\\:m-1 {\n margin: 0.25rem;\n }\n .\\32 xl\\:m-2 {\n margin: 0.5rem;\n }\n .\\32 xl\\:m-3 {\n margin: 1rem;\n }\n .\\32 xl\\:m-4 {\n margin: 1.5rem;\n }\n .\\32 xl\\:m-5 {\n margin: 3rem;\n }\n .\\32 xl\\:m-auto {\n margin: auto;\n }\n .\\32 xl\\:mx-0 {\n margin-inline: 0;\n }\n .\\32 xl\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .\\32 xl\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .\\32 xl\\:mx-3 {\n margin-inline: 1rem;\n }\n .\\32 xl\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .\\32 xl\\:mx-5 {\n margin-inline: 3rem;\n }\n .\\32 xl\\:mx-auto {\n margin-inline: auto;\n }\n .\\32 xl\\:my-0 {\n margin-block: 0;\n }\n .\\32 xl\\:my-1 {\n margin-block: 0.25rem;\n }\n .\\32 xl\\:my-2 {\n margin-block: 0.5rem;\n }\n .\\32 xl\\:my-3 {\n margin-block: 1rem;\n }\n .\\32 xl\\:my-4 {\n margin-block: 1.5rem;\n }\n .\\32 xl\\:my-5 {\n margin-block: 3rem;\n }\n .\\32 xl\\:my-auto {\n margin-block: auto;\n }\n .\\32 xl\\:mt-0 {\n margin-block-start: 0;\n }\n .\\32 xl\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .\\32 xl\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .\\32 xl\\:mt-3 {\n margin-block-start: 1rem;\n }\n .\\32 xl\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .\\32 xl\\:mt-5 {\n margin-block-start: 3rem;\n }\n .\\32 xl\\:mt-auto {\n margin-block-start: auto;\n }\n .\\32 xl\\:me-0 {\n margin-inline-end: 0;\n }\n .\\32 xl\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .\\32 xl\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .\\32 xl\\:me-3 {\n margin-inline-end: 1rem;\n }\n .\\32 xl\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .\\32 xl\\:me-5 {\n margin-inline-end: 3rem;\n }\n .\\32 xl\\:me-auto {\n margin-inline-end: auto;\n }\n .\\32 xl\\:mb-0 {\n margin-block-end: 0;\n }\n .\\32 xl\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .\\32 xl\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .\\32 xl\\:mb-3 {\n margin-block-end: 1rem;\n }\n .\\32 xl\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .\\32 xl\\:mb-5 {\n margin-block-end: 3rem;\n }\n .\\32 xl\\:mb-auto {\n margin-block-end: auto;\n }\n .\\32 xl\\:ms-0 {\n margin-inline-start: 0;\n }\n .\\32 xl\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .\\32 xl\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .\\32 xl\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .\\32 xl\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .\\32 xl\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .\\32 xl\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .\\32 xl\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .\\32 xl\\:ms-auto {\n margin-inline-start: auto;\n }\n .\\32 xl\\:p-0 {\n padding: 0;\n }\n .\\32 xl\\:p-1 {\n padding: 0.25rem;\n }\n .\\32 xl\\:p-2 {\n padding: 0.5rem;\n }\n .\\32 xl\\:p-3 {\n padding: 1rem;\n }\n .\\32 xl\\:p-4 {\n padding: 1.5rem;\n }\n .\\32 xl\\:p-5 {\n padding: 3rem;\n }\n .\\32 xl\\:px-0 {\n padding-inline: 0;\n }\n .\\32 xl\\:px-1 {\n padding-inline: 0.25rem;\n }\n .\\32 xl\\:px-2 {\n padding-inline: 0.5rem;\n }\n .\\32 xl\\:px-3 {\n padding-inline: 1rem;\n }\n .\\32 xl\\:px-4 {\n padding-inline: 1.5rem;\n }\n .\\32 xl\\:px-5 {\n padding-inline: 3rem;\n }\n .\\32 xl\\:py-0 {\n padding-block: 0;\n }\n .\\32 xl\\:py-1 {\n padding-block: 0.25rem;\n }\n .\\32 xl\\:py-2 {\n padding-block: 0.5rem;\n }\n .\\32 xl\\:py-3 {\n padding-block: 1rem;\n }\n .\\32 xl\\:py-4 {\n padding-block: 1.5rem;\n }\n .\\32 xl\\:py-5 {\n padding-block: 3rem;\n }\n .\\32 xl\\:pt-0 {\n padding-block-start: 0;\n }\n .\\32 xl\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .\\32 xl\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .\\32 xl\\:pt-3 {\n padding-block-start: 1rem;\n }\n .\\32 xl\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .\\32 xl\\:pt-5 {\n padding-block-start: 3rem;\n }\n .\\32 xl\\:pe-0 {\n padding-inline-end: 0;\n }\n .\\32 xl\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .\\32 xl\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .\\32 xl\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .\\32 xl\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .\\32 xl\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .\\32 xl\\:pb-0 {\n padding-block-end: 0;\n }\n .\\32 xl\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .\\32 xl\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .\\32 xl\\:pb-3 {\n padding-block-end: 1rem;\n }\n .\\32 xl\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .\\32 xl\\:pb-5 {\n padding-block-end: 3rem;\n }\n .\\32 xl\\:ps-0 {\n padding-inline-start: 0;\n }\n .\\32 xl\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .\\32 xl\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .\\32 xl\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .\\32 xl\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .\\32 xl\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .\\32 xl\\:gap-0 {\n gap: 0;\n }\n .\\32 xl\\:gap-1 {\n gap: 0.25rem;\n }\n .\\32 xl\\:gap-2 {\n gap: 0.5rem;\n }\n .\\32 xl\\:gap-3 {\n gap: 1rem;\n }\n .\\32 xl\\:gap-4 {\n gap: 1.5rem;\n }\n .\\32 xl\\:gap-5 {\n gap: 3rem;\n }\n .\\32 xl\\:row-gap-0 {\n row-gap: 0;\n }\n .\\32 xl\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .\\32 xl\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .\\32 xl\\:row-gap-3 {\n row-gap: 1rem;\n }\n .\\32 xl\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .\\32 xl\\:row-gap-5 {\n row-gap: 3rem;\n }\n .\\32 xl\\:column-gap-0 {\n column-gap: 0;\n }\n .\\32 xl\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .\\32 xl\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .\\32 xl\\:column-gap-3 {\n column-gap: 1rem;\n }\n .\\32 xl\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .\\32 xl\\:column-gap-5 {\n column-gap: 3rem;\n }\n .\\32 xl\\:text-start {\n text-align: start;\n }\n .\\32 xl\\:text-end {\n text-align: end;\n }\n .\\32 xl\\:text-center {\n text-align: center;\n }\n }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n (\n --black: #{$black},\n --white: #{$white},\n\n --gradient: #{$gradient},\n\n // scss-docs-start root-font-weight-variables\n --font-weight-lighter: lighter,\n --font-weight-light: 300,\n --font-weight-normal: 400,\n --font-weight-medium: 500,\n --font-weight-semibold: 600,\n --font-weight-bold: 700,\n --font-weight-bolder: bolder,\n // scss-docs-end root-font-weight-variables\n\n // scss-docs-start root-body-variables\n --body-font-family: system-ui,\n --body-font-size: var(--font-size-base),\n --body-font-weight: #{$font-weight-base},\n --body-line-height: #{$line-height-base},\n\n --heading-color: #{$headings-color},\n\n --hr-border-color: var(--border-color),\n\n --link-color: light-dark(var(--primary-base), var(--primary-text)),\n --link-decoration: #{$link-decoration},\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n --code-font-size: 95%,\n --code-color: var(--fg-2),\n\n // scss-docs-start root-border-var\n --border-width: #{$border-width},\n --border-style: #{$border-style},\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n // scss-docs-end root-border-var\n\n // scss-docs-start root-border-radius-var\n --border-radius: .5rem,\n --border-radius-xs: .375rem,\n --border-radius-sm: .5rem,\n --border-radius-lg: .75rem,\n --border-radius-xl: 1rem,\n --border-radius-2xl: 2rem,\n --border-radius-pill: 50rem,\n // scss-docs-end root-border-radius-var\n\n // scss-docs-start root-box-shadow-variables\n --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n // scss-docs-end root-box-shadow-variables\n\n --spacer: 1rem,\n\n // scss-docs-start root-focus-variables\n --focus-ring-width: 3px,\n --focus-ring-offset: 1px,\n --focus-ring-color: var(--primary-focus-ring),\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-variables\n --control-checked-bg: var(--primary-base),\n --control-checked-border-color: var(--control-checked-bg),\n --control-active-bg: var(--primary-base),\n --control-active-border-color: var(--control-active-bg),\n --control-disabled-bg: var(--bg-3),\n --control-disabled-opacity: .65,\n\n --btn-input-fg: var(--fg-body),\n --btn-input-bg: var(--bg-body),\n\n --btn-input-min-height: 2.375rem,\n --btn-input-padding-y: .375rem,\n --btn-input-padding-x: .75rem,\n --btn-input-font-size: var(--font-size-base),\n --btn-input-line-height: var(--line-height-base),\n --btn-input-border-radius: var(--border-radius),\n\n --btn-input-xs-min-height: 1.5rem,\n --btn-input-xs-padding-y: .125rem,\n --btn-input-xs-padding-x: .5rem,\n --btn-input-xs-font-size: var(--font-size-xs),\n --btn-input-xs-line-height: 1.125,\n --btn-input-xs-border-radius: var(--border-radius-xs),\n\n --btn-input-sm-min-height: 2rem,\n --btn-input-sm-padding-y: .25rem,\n --btn-input-sm-padding-x: .625rem,\n --btn-input-sm-font-size: var(--font-size-sm),\n --btn-input-sm-line-height: var(--line-height-sm),\n --btn-input-sm-border-radius: var(--border-radius-sm),\n\n --btn-input-lg-min-height: 2.75rem,\n --btn-input-lg-padding-y: .5rem,\n --btn-input-lg-padding-x: 1rem,\n --btn-input-lg-font-size: var(--font-size-md),\n --btn-input-lg-line-height: var(--line-height-md),\n --btn-input-lg-border-radius: var(--border-radius-lg),\n // scss-docs-end root-form-variables\n\n // scss-docs-start root-form-validation-variables\n --form-valid-color: #{$form-valid-color},\n --form-valid-border-color: #{$form-valid-border-color},\n --form-invalid-color: #{$form-invalid-color},\n --form-invalid-border-color: #{$form-invalid-border-color},\n // scss-docs-end root-form-validation-variables\n ),\n $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n @each $key, $value in $color-map {\n $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n @include tokens($root-tokens);\n\n color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n color-scheme: light;\n}\n","@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: $icon-link-gap;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n text-underline-offset: $icon-link-underline-offset;\n backface-visibility: hidden;\n\n > .bi {\n flex-shrink: 0;\n width: $icon-link-icon-size;\n height: $icon-link-icon-size;\n fill: currentcolor;\n @include transition($icon-link-icon-transition);\n }\n }\n\n .icon-link-hover {\n &:hover,\n &:focus-visible {\n > .bi {\n transform: var(--icon-link-transform, $icon-link-icon-transform);\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n @if meta.type-of($defaults) == \"list\" {\n $map: ();\n @each $key in $defaults {\n $map: map.merge($map, ($key: true));\n }\n $defaults: $map;\n }\n $merged: map.merge($defaults, $overrides);\n @each $key, $value in $merged {\n @if $value == null {\n $merged: map.remove($merged, $key);\n }\n }\n @return $merged;\n}\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n\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\n$negative-spacers: (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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 breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !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\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, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\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// Links\n//\n// Style anchor elements.\n\n$link-decoration: underline !default;\n$link-underline-offset: .2em !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// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n\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$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// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n (\n \"xs\": (\n \"font-size\": .75rem,\n \"line-height\": 1.25\n ),\n \"sm\": (\n \"font-size\": .875rem,\n \"line-height\": 1.5\n ),\n \"md\": (\n \"font-size\": 1rem,\n \"line-height\": 1.5\n ),\n \"lg\": (\n \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n \"line-height\": 1.5\n ),\n \"xl\": (\n \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n \"line-height\": calc(2.5 / 1.75)\n ),\n \"2xl\": (\n \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n \"line-height\": calc(3 / 2.25)\n ),\n \"3xl\": (\n \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n \"line-height\": 1.2\n ),\n \"4xl\": (\n \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n \"line-height\": 1.1\n ),\n \"5xl\": (\n \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n \"line-height\": 1.1\n ),\n \"6xl\": (\n \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n \"line-height\": 1\n ),\n ),\n $font-sizes\n);\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 type-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// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-dialog: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@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 \"../layout/breakpoints\" as *;\n\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: $zindex-fixed;\n }\n\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: $zindex-fixed;\n }\n\n // Responsive sticky top and bottom\n @each $breakpoint in map.keys($breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n .#{$prefix}sticky-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n\n .#{$prefix}sticky-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 \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n $name-str: \"#{$name}\";\n $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n $first: string.slice($name-str, 1, 1);\n\n @if list.index($digits, $first) {\n @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n }\n\n @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n// >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"sm\\:\"\n// >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n @if breakpoint-min($name, $breakpoints) == null {\n @return \"\";\n }\n\n @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n @content($breakpoint, $prefix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $prefix: breakpoint-prefix($next, $breakpoints);\n @content($breakpoint, $next, $prefix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n @content($breakpoint, $next, $prefix);\n }\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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (width >= $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (width < $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $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 @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n // scss-docs-start stacks\n .stack-container {\n @include set-container();\n }\n\n [class*=\"hstack\"],\n [class*=\"vstack\"] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n\n @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n .#{$prefix}vstack {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n .#{$prefix}hstack {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n }\n // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n @include generate-theme-classes();\n}\n","@use \"sass:meta\";\n@use \"sass:map\";\n\n@function theme-color-values($key) {\n $result: ();\n\n @each $color-name, $color-map in $theme-colors {\n @if map.has-key($color-map, $key) {\n $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n }\n }\n\n @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n $result: ();\n\n @each $key, $value in $opacities {\n @if $key == 100 {\n // For 100%, use direct variable reference (more efficient)\n $result: map.merge($result, ($key: var($color-var)));\n } @else {\n // For other values, use color-mix()\n $percentage: $key * 1%;\n $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n }\n }\n\n @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n @each $color-name, $color-map in $theme-colors {\n .theme-#{$color-name} {\n @each $key, $value in $color-map {\n --theme-#{$key}: var(--#{$color-name}-#{$key});\n }\n }\n }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n @each $key, $value in $map {\n // stylelint-disable-next-line scss/at-function-named-arguments\n $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n @if meta.type-of($value) == \"map\" {\n @include create-css-vars($value, $current-key);\n } @else {\n --#{$current-key}: #{$value};\n }\n }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n \"primary\": (\n \"base\": var(--blue-500),\n \"text\": light-dark(var(--blue-600), var(--blue-400)),\n \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n \"bg\": var(--blue-500),\n \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n \"border\": light-dark(var(--blue-300), var(--blue-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"accent\": (\n \"base\": var(--indigo-500),\n \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n \"bg\": var(--indigo-500),\n \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"success\": (\n \"base\": var(--green-500),\n \"text\": light-dark(var(--green-600), var(--green-400)),\n \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n \"bg\": var(--green-500),\n \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n \"border\": light-dark(var(--green-300), var(--green-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"danger\": (\n \"base\": var(--red-500),\n \"text\": light-dark(var(--red-600), var(--red-400)),\n \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n \"bg\": var(--red-500),\n \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n \"border\": light-dark(var(--red-300), var(--red-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"warning\": (\n \"base\": var(--yellow-500),\n \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n \"bg\": var(--yellow-500),\n \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"info\": (\n \"base\": var(--cyan-500),\n \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n \"bg\": var(--cyan-500),\n \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"inverse\": (\n \"base\": var(--gray-900),\n \"text\": light-dark(var(--gray-900), var(--gray-200)),\n \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n \"border\": light-dark(var(--gray-400), var(--gray-100)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--white), var(--gray-900))\n ),\n \"secondary\": (\n \"base\": var(--gray-200),\n \"text\": light-dark(var(--gray-600), var(--gray-400)),\n \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n \"border\": light-dark(var(--gray-300), var(--gray-600)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--gray-900), var(--white))\n )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n \"body\": light-dark(var(--white), var(--gray-975)),\n \"1\": light-dark(var(--gray-025), var(--gray-950)),\n \"2\": light-dark(var(--gray-050), var(--gray-900)),\n \"3\": light-dark(var(--gray-100), var(--gray-800)),\n \"4\": light-dark(var(--gray-200), var(--gray-700)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"transparent\": transparent,\n \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n \"body\": light-dark(var(--gray-900), var(--gray-050)),\n \"1\": light-dark(var(--gray-800), var(--gray-200)),\n \"2\": light-dark(var(--gray-700), var(--gray-300)),\n \"3\": light-dark(var(--gray-600), var(--gray-500)),\n \"4\": light-dark(var(--gray-500), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n \"bg\": var(--bg-body),\n \"body\": light-dark(var(--gray-300), var(--gray-800)),\n \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n 10: .1,\n 20: .2,\n 30: .3,\n 40: .4,\n 50: .5,\n 60: .6,\n 70: .7,\n 80: .8,\n 90: .9,\n 100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n\n // Fix for positioned table caption that could become anonymous cells\n &:not(caption) {\n position: absolute !important;\n }\n\n // Fix to prevent overflowing children to become focusable\n * {\n overflow: hidden !important;\n }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n &:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n .stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n inset: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n .text-truncate {\n @include text-truncate();\n }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../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($breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $prefix: breakpoint-prefix($breakpoint, $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 $prefix == \"\") {\n @include generate-utility($utility, $prefix);\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\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n // Validate required keys\n @if not map.has-key($utility, property) {\n @error \"Utility is missing required `property` key: #{$utility}\";\n }\n @if not map.has-key($utility, values) {\n @error \"Utility is missing required `values` key: #{$utility}\";\n }\n\n // Warn on unknown keys (likely typos)\n $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n @each $key in map.keys($utility) {\n @if not list.index($valid-keys, $key) {\n @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n }\n }\n\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selectorType) {\n @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selectorType != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n }\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // Don't add a dash before value key if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $prefix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n @if $customClass != \"\" {\n $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n } @else if $selectorClass != null and $selectorClass != \"\" {\n $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n } @else {\n $selector: \".#{$prefix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n"]}
\ No newline at end of file
* Copyright 2011-2026 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
-:root{--bs-blue-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .24 240));--bs-blue-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .24 240));--bs-blue-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .24 240));--bs-blue-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .24 240));--bs-blue-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .24 240));--bs-blue-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .24 240));--bs-blue-500:oklch(60% .24 240);--bs-blue-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .24 240));--bs-blue-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .24 240));--bs-blue-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .24 240));--bs-blue-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .24 240));--bs-blue-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .24 240));--bs-blue-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .24 240));--bs-indigo-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .26 288));--bs-indigo-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .26 288));--bs-indigo-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .26 288));--bs-indigo-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .26 288));--bs-indigo-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .26 288));--bs-indigo-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .26 288));--bs-indigo-500:oklch(56% .26 288);--bs-indigo-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .26 288));--bs-indigo-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .26 288));--bs-indigo-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .26 288));--bs-indigo-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .26 288));--bs-indigo-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .26 288));--bs-indigo-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .26 288));--bs-violet-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 300));--bs-violet-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 300));--bs-violet-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 300));--bs-violet-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 300));--bs-violet-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 300));--bs-violet-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 300));--bs-violet-500:oklch(56% .24 300);--bs-violet-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 300));--bs-violet-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 300));--bs-violet-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 300));--bs-violet-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 300));--bs-violet-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 300));--bs-violet-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 300));--bs-purple-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 320));--bs-purple-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 320));--bs-purple-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 320));--bs-purple-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 320));--bs-purple-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 320));--bs-purple-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 320));--bs-purple-500:oklch(56% .24 320);--bs-purple-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 320));--bs-purple-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 320));--bs-purple-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 320));--bs-purple-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 320));--bs-purple-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 320));--bs-purple-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 320));--bs-pink-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 4));--bs-pink-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 4));--bs-pink-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 4));--bs-pink-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 4));--bs-pink-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 4));--bs-pink-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 4));--bs-pink-500:oklch(60% .22 4);--bs-pink-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 4));--bs-pink-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 4));--bs-pink-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 4));--bs-pink-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 4));--bs-pink-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 4));--bs-pink-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 4));--bs-red-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 20));--bs-red-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 20));--bs-red-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 20));--bs-red-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 20));--bs-red-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 20));--bs-red-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 20));--bs-red-500:oklch(60% .22 20);--bs-red-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 20));--bs-red-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 20));--bs-red-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 20));--bs-red-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 20));--bs-red-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 20));--bs-red-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 20));--bs-orange-025:color-mix(in lab, var(--bs-white) 94%, oklch(70% .22 52));--bs-orange-050:color-mix(in lab, var(--bs-white) 90%, oklch(70% .22 52));--bs-orange-100:color-mix(in lab, var(--bs-white) 80%, oklch(70% .22 52));--bs-orange-200:color-mix(in lab, var(--bs-white) 60%, oklch(70% .22 52));--bs-orange-300:color-mix(in lab, var(--bs-white) 40%, oklch(70% .22 52));--bs-orange-400:color-mix(in lab, var(--bs-white) 20%, oklch(70% .22 52));--bs-orange-500:oklch(70% .22 52);--bs-orange-600:color-mix(in lab, var(--bs-black) 16%, oklch(70% .22 52));--bs-orange-700:color-mix(in lab, var(--bs-black) 32%, oklch(70% .22 52));--bs-orange-800:color-mix(in lab, var(--bs-black) 48%, oklch(70% .22 52));--bs-orange-900:color-mix(in lab, var(--bs-black) 64%, oklch(70% .22 52));--bs-orange-950:color-mix(in lab, var(--bs-black) 76%, oklch(70% .22 52));--bs-orange-975:color-mix(in lab, var(--bs-black) 88%, oklch(70% .22 52));--bs-amber-025:color-mix(in lab, var(--bs-white) 94%, oklch(79% .2 78));--bs-amber-050:color-mix(in lab, var(--bs-white) 90%, oklch(79% .2 78));--bs-amber-100:color-mix(in lab, var(--bs-white) 80%, oklch(79% .2 78));--bs-amber-200:color-mix(in lab, var(--bs-white) 60%, oklch(79% .2 78));--bs-amber-300:color-mix(in lab, var(--bs-white) 40%, oklch(79% .2 78));--bs-amber-400:color-mix(in lab, var(--bs-white) 20%, oklch(79% .2 78));--bs-amber-500:oklch(79% .2 78);--bs-amber-600:color-mix(in lab, var(--bs-black) 16%, oklch(79% .2 78));--bs-amber-700:color-mix(in lab, var(--bs-black) 32%, oklch(79% .2 78));--bs-amber-800:color-mix(in lab, var(--bs-black) 48%, oklch(79% .2 78));--bs-amber-900:color-mix(in lab, var(--bs-black) 64%, oklch(79% .2 78));--bs-amber-950:color-mix(in lab, var(--bs-black) 76%, oklch(79% .2 78));--bs-amber-975:color-mix(in lab, var(--bs-black) 88%, oklch(79% .2 78));--bs-yellow-025:color-mix(in lab, var(--bs-white) 94%, oklch(88% .24 88));--bs-yellow-050:color-mix(in lab, var(--bs-white) 90%, oklch(88% .24 88));--bs-yellow-100:color-mix(in lab, var(--bs-white) 80%, oklch(88% .24 88));--bs-yellow-200:color-mix(in lab, var(--bs-white) 60%, oklch(88% .24 88));--bs-yellow-300:color-mix(in lab, var(--bs-white) 40%, oklch(88% .24 88));--bs-yellow-400:color-mix(in lab, var(--bs-white) 20%, oklch(88% .24 88));--bs-yellow-500:oklch(88% .24 88);--bs-yellow-600:color-mix(in lab, var(--bs-black) 16%, oklch(88% .24 88));--bs-yellow-700:color-mix(in lab, var(--bs-black) 32%, oklch(88% .24 88));--bs-yellow-800:color-mix(in lab, var(--bs-black) 48%, oklch(88% .24 88));--bs-yellow-900:color-mix(in lab, var(--bs-black) 64%, oklch(88% .24 88));--bs-yellow-950:color-mix(in lab, var(--bs-black) 76%, oklch(88% .24 88));--bs-yellow-975:color-mix(in lab, var(--bs-black) 88%, oklch(88% .24 88));--bs-lime-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .24 135));--bs-lime-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .24 135));--bs-lime-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .24 135));--bs-lime-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .24 135));--bs-lime-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .24 135));--bs-lime-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .24 135));--bs-lime-500:oklch(65% .24 135);--bs-lime-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .24 135));--bs-lime-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .24 135));--bs-lime-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .24 135));--bs-lime-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .24 135));--bs-lime-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .24 135));--bs-lime-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .24 135));--bs-green-025:color-mix(in lab, var(--bs-white) 94%, oklch(64% .22 160));--bs-green-050:color-mix(in lab, var(--bs-white) 90%, oklch(64% .22 160));--bs-green-100:color-mix(in lab, var(--bs-white) 80%, oklch(64% .22 160));--bs-green-200:color-mix(in lab, var(--bs-white) 60%, oklch(64% .22 160));--bs-green-300:color-mix(in lab, var(--bs-white) 40%, oklch(64% .22 160));--bs-green-400:color-mix(in lab, var(--bs-white) 20%, oklch(64% .22 160));--bs-green-500:oklch(64% .22 160);--bs-green-600:color-mix(in lab, var(--bs-black) 16%, oklch(64% .22 160));--bs-green-700:color-mix(in lab, var(--bs-black) 32%, oklch(64% .22 160));--bs-green-800:color-mix(in lab, var(--bs-black) 48%, oklch(64% .22 160));--bs-green-900:color-mix(in lab, var(--bs-black) 64%, oklch(64% .22 160));--bs-green-950:color-mix(in lab, var(--bs-black) 76%, oklch(64% .22 160));--bs-green-975:color-mix(in lab, var(--bs-black) 88%, oklch(64% .22 160));--bs-teal-025:color-mix(in lab, var(--bs-white) 94%, oklch(68% .22 190));--bs-teal-050:color-mix(in lab, var(--bs-white) 90%, oklch(68% .22 190));--bs-teal-100:color-mix(in lab, var(--bs-white) 80%, oklch(68% .22 190));--bs-teal-200:color-mix(in lab, var(--bs-white) 60%, oklch(68% .22 190));--bs-teal-300:color-mix(in lab, var(--bs-white) 40%, oklch(68% .22 190));--bs-teal-400:color-mix(in lab, var(--bs-white) 20%, oklch(68% .22 190));--bs-teal-500:oklch(68% .22 190);--bs-teal-600:color-mix(in lab, var(--bs-black) 16%, oklch(68% .22 190));--bs-teal-700:color-mix(in lab, var(--bs-black) 32%, oklch(68% .22 190));--bs-teal-800:color-mix(in lab, var(--bs-black) 48%, oklch(68% .22 190));--bs-teal-900:color-mix(in lab, var(--bs-black) 64%, oklch(68% .22 190));--bs-teal-950:color-mix(in lab, var(--bs-black) 76%, oklch(68% .22 190));--bs-teal-975:color-mix(in lab, var(--bs-black) 88%, oklch(68% .22 190));--bs-cyan-025:color-mix(in lab, var(--bs-white) 94%, oklch(69% .22 220));--bs-cyan-050:color-mix(in lab, var(--bs-white) 90%, oklch(69% .22 220));--bs-cyan-100:color-mix(in lab, var(--bs-white) 80%, oklch(69% .22 220));--bs-cyan-200:color-mix(in lab, var(--bs-white) 60%, oklch(69% .22 220));--bs-cyan-300:color-mix(in lab, var(--bs-white) 40%, oklch(69% .22 220));--bs-cyan-400:color-mix(in lab, var(--bs-white) 20%, oklch(69% .22 220));--bs-cyan-500:oklch(69% .22 220);--bs-cyan-600:color-mix(in lab, var(--bs-black) 16%, oklch(69% .22 220));--bs-cyan-700:color-mix(in lab, var(--bs-black) 32%, oklch(69% .22 220));--bs-cyan-800:color-mix(in lab, var(--bs-black) 48%, oklch(69% .22 220));--bs-cyan-900:color-mix(in lab, var(--bs-black) 64%, oklch(69% .22 220));--bs-cyan-950:color-mix(in lab, var(--bs-black) 76%, oklch(69% .22 220));--bs-cyan-975:color-mix(in lab, var(--bs-black) 88%, oklch(69% .22 220));--bs-brown-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .12 54));--bs-brown-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .12 54));--bs-brown-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .12 54));--bs-brown-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .12 54));--bs-brown-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .12 54));--bs-brown-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .12 54));--bs-brown-500:oklch(60% .12 54);--bs-brown-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .12 54));--bs-brown-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .12 54));--bs-brown-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .12 54));--bs-brown-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .12 54));--bs-brown-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .12 54));--bs-brown-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .12 54));--bs-gray-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .02 245));--bs-gray-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .02 245));--bs-gray-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .02 245));--bs-gray-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .02 245));--bs-gray-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .02 245));--bs-gray-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .02 245));--bs-gray-500:oklch(60% .02 245);--bs-gray-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .02 245));--bs-gray-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .02 245));--bs-gray-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .02 245));--bs-gray-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .02 245));--bs-gray-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .02 245));--bs-gray-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .02 245));--bs-pewter-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .01 290));--bs-pewter-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .01 290));--bs-pewter-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .01 290));--bs-pewter-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .01 290));--bs-pewter-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .01 290));--bs-pewter-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .01 290));--bs-pewter-500:oklch(65% .01 290);--bs-pewter-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .01 290));--bs-pewter-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .01 290));--bs-pewter-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .01 290));--bs-pewter-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .01 290));--bs-pewter-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .01 290));--bs-pewter-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .01 290))}@layer colors,theme,config,root,reboot,layout,content,forms,components,custom;@layer helpers{.focus-ring:focus-visible{outline:var(--bs-focus-ring)}.icon-link{-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity,.5));text-underline-offset:.25em;backface-visibility:hidden;align-items:center;gap:.375rem;display:inline-flex}.icon-link>.bi{fill:currentColor;flex-shrink:0;width:1em;height:1em;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em, 0, 0))}.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em, 0, 0))}.fixed-top{z-index:1030;position:fixed;inset:0 0 auto}.fixed-bottom{z-index:1030;position:fixed;inset:auto 0 0}.sticky-top{z-index:1020;position:sticky;top:0}.sticky-bottom{z-index:1020;position:sticky;bottom:0}@media (min-width:576px){.sticky-sm-top{z-index:1020;position:sticky;top:0}.sticky-sm-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:768px){.sticky-md-top{z-index:1020;position:sticky;top:0}.sticky-md-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1024px){.sticky-lg-top{z-index:1020;position:sticky;top:0}.sticky-lg-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1280px){.sticky-xl-top{z-index:1020;position:sticky;top:0}.sticky-xl-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1536px){.sticky-2xl-top{z-index:1020;position:sticky;top:0}.sticky-2xl-bottom{z-index:1020;position:sticky;bottom:0}}.stack-container{container-type:inline-size}[class*=hstack],[class*=vstack]{flex:var(--bs-stack-flex,1 1 auto);flex-direction:var(--bs-stack-direction,row);align-items:var(--bs-stack-align-items,center);align-self:var(--bs-stack-align-self,stretch);display:flex}.vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}@container (width>=576px){.vstack-sm{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack-sm{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=768px){.vstack-md{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack-md{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1024px){.vstack-lg{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack-lg{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1280px){.vstack-xl{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack-xl{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1536px){.vstack-2xl{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack-2xl{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important}.visually-hidden-focusable:not(:focus):not(:focus-within){clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important}.visually-hidden:not(caption){position:absolute!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.visually-hidden *{overflow:hidden!important}.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link:after{z-index:1;content:"";position:absolute;inset:0}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vr{width:var(--bs-vr-border-width,var(--bs-border-width));background-color:var(--bs-border-color);align-self:stretch;min-height:1em;display:inline-block}}@layer utilities{.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-bottom{vertical-align:text-bottom}.align-text-top{vertical-align:text-top}[class*=ratio-]{aspect-ratio:var(--bs-ratio)}.ratio-auto{--bs-ratio:auto}.ratio-1x1{--bs-ratio:1 / 1}.ratio-4x3{--bs-ratio:4 / 3}.ratio-16x9{--bs-ratio:16 / 9}.ratio-21x9{--bs-ratio:21 / 9}.float-start{float:inline-start}.float-end{float:inline-end}.float-none{float:none}.object-fit-contain{-o-object-fit:contain;object-fit:contain}.object-fit-cover{-o-object-fit:cover;object-fit:cover}.object-fit-fill{-o-object-fit:fill;object-fit:fill}.object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-none{-o-object-fit:none;object-fit:none}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.contains-inline{container-type:inline-size}.contains-size{container-type:size}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.shadow{box-shadow:var(--bs-box-shadow)}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)}.shadow-none{box-shadow:none}.focus-ring-primary{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)))}.focus-ring-accent{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)))}.focus-ring-success{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)))}.focus-ring-danger{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)))}.focus-ring-warning{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)))}.focus-ring-info{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)))}.focus-ring-inverse{--bs-focus-ring-color:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-100)) 50%, var(--bs-bg-body))}.focus-ring-secondary{--bs-focus-ring-color:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-300)) 50%, var(--bs-bg-body))}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.top-0{top:0}.top-50{top:50%}.top-100{top:100%}.bottom-0{bottom:0}.bottom-50{bottom:50%}.bottom-100{bottom:100%}.start-0{left:0}.start-50{left:50%}.start-100{left:100%}.end-0{right:0}.end-50{right:50%}.end-100{right:100%}.translate-middle{transform:translate(-50%,-50%)}.translate-middle-x{transform:translate(-50%)}.translate-middle-y{transform:translateY(-50%)}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-0{border:0}.border-top{border-block-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-top-0{border-block-start:0}.border-end{border-inline-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-end-0{border-inline-end:0}.border-bottom{border-block-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-bottom-0{border-block-end:0}.border-start{border-inline-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-start-0{border-inline-start:0}.border-block{border-block:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-block-0{border-block:0}.border-inline{border-inline:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-inline-0{border-inline:0}.border-primary{--bs-border-color:var(--bs-blue-500);border-color:var(--bs-border-color)}.border-accent{--bs-border-color:var(--bs-indigo-500);border-color:var(--bs-border-color)}.border-success{--bs-border-color:var(--bs-green-500);border-color:var(--bs-border-color)}.border-danger{--bs-border-color:var(--bs-red-500);border-color:var(--bs-border-color)}.border-warning{--bs-border-color:var(--bs-yellow-500);border-color:var(--bs-border-color)}.border-info{--bs-border-color:var(--bs-cyan-500);border-color:var(--bs-border-color)}.border-inverse{--bs-border-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));border-color:var(--bs-border-color)}.border-secondary{--bs-border-color:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-bg{--bs-border-color:var(--bs-bg-body);border-color:var(--bs-border-color)}.border-body{--bs-border-color:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-800));border-color:var(--bs-border-color)}.border-muted{--bs-border-color:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-800));border-color:var(--bs-border-color)}.border-subtle{--bs-border-color:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));border-color:var(--bs-border-color)}.border-emphasized{--bs-border-color:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-white{--bs-border-color:var(--bs-white);border-color:var(--bs-border-color)}.border-black{--bs-border-color:var(--bs-black);border-color:var(--bs-border-color)}.border-subtle-primary{--bs-border-color:var(--lightningcss-light,var(--bs-blue-300))var(--lightningcss-dark,var(--bs-blue-600));border-color:var(--bs-border-color)}.border-subtle-accent{--bs-border-color:var(--lightningcss-light,var(--bs-indigo-300))var(--lightningcss-dark,var(--bs-indigo-600));border-color:var(--bs-border-color)}.border-subtle-success{--bs-border-color:var(--lightningcss-light,var(--bs-green-300))var(--lightningcss-dark,var(--bs-green-600));border-color:var(--bs-border-color)}.border-subtle-danger{--bs-border-color:var(--lightningcss-light,var(--bs-red-300))var(--lightningcss-dark,var(--bs-red-600));border-color:var(--bs-border-color)}.border-subtle-warning{--bs-border-color:var(--lightningcss-light,var(--bs-yellow-300))var(--lightningcss-dark,var(--bs-yellow-600));border-color:var(--bs-border-color)}.border-subtle-info{--bs-border-color:var(--lightningcss-light,var(--bs-cyan-300))var(--lightningcss-dark,var(--bs-cyan-600));border-color:var(--bs-border-color)}.border-subtle-inverse{--bs-border-color:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-100));border-color:var(--bs-border-color)}.border-subtle-secondary{--bs-border-color:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-1{border-width:1px}.border-2{border-width:2px}.border-3{border-width:3px}.border-4{border-width:4px}.border-5{border-width:5px}.border-10{border-color:color-mix(in oklch, var(--bs-border-color) 10%, transparent)}.border-20{border-color:color-mix(in oklch, var(--bs-border-color) 20%, transparent)}.border-30{border-color:color-mix(in oklch, var(--bs-border-color) 30%, transparent)}.border-40{border-color:color-mix(in oklch, var(--bs-border-color) 40%, transparent)}.border-50{border-color:color-mix(in oklch, var(--bs-border-color) 50%, transparent)}.border-60{border-color:color-mix(in oklch, var(--bs-border-color) 60%, transparent)}.border-70{border-color:color-mix(in oklch, var(--bs-border-color) 70%, transparent)}.border-80{border-color:color-mix(in oklch, var(--bs-border-color) 80%, transparent)}.border-90{border-color:color-mix(in oklch, var(--bs-border-color) 90%, transparent)}.border-100{border-color:var(--bs-border-color)}.w-1{width:1rem}.w-2{width:2rem}.w-3{width:3rem}.w-4{width:4rem}.w-5{width:5rem}.w-6{width:6rem}.w-7{width:7rem}.w-8{width:8rem}.w-9{width:9rem}.w-10{width:10rem}.w-11{width:11rem}.w-12{width:12rem}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.w-min{width:min-content}.w-max{width:max-content}.w-fit{width:fit-content}.max-w-100{max-width:100%}.min-w-0{min-width:0}.min-w-100{min-width:100%}.vw-100{width:100vw}.min-vw-100{min-width:100vw}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.h-min{height:min-content}.h-max{height:max-content}.h-fit{height:fit-content}.max-h-100{max-height:100%}.min-h-0{min-height:0}.min-h-100{min-height:100%}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.flex-fill{flex:auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.justify-self-start{justify-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-center{justify-self:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch stretch}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:.25rem}.mx-2{margin-inline:.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:.25rem}.my-2{margin-block:.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:.25rem}.mt-2{margin-block-start:.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:.25rem}.mb-2{margin-block-end:.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms--1{margin-inline-start:-.25rem}.ms--2{margin-inline-start:-.5rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:.25rem}.px-2{padding-inline:.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:.25rem}.py-2{padding-block:.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:.25rem}.pt-2{padding-block-start:.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:.25rem}.pb-2{padding-block-end:.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:1rem}.row-gap-4{row-gap:1.5rem}.row-gap-5{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.font-monospace{font-family:var(--bs-font-mono)}.font-body{font-family:var(--bs-body-font-family)}.fs-xs{font-size:.75rem}.fs-sm{font-size:.875rem}.fs-md{font-size:1rem}.fs-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem)}.fs-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem)}.fs-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem)}.fs-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem)}.fs-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem)}.fs-5xl{font-size:clamp(3rem,2rem + 5vw,4rem)}.fs-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem)}.text-xs{font-size:.75rem;line-height:1.25}.text-sm{font-size:.875rem;line-height:1.5}.text-md{font-size:1rem;line-height:1.5}.text-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem);line-height:1.5}.text-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem);line-height:1.42857}.text-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem);line-height:1.33333}.text-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem);line-height:1.2}.text-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem);line-height:1.1}.text-5xl{font-size:clamp(3rem,2rem + 5vw,4rem);line-height:1.1}.text-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem);line-height:1}.fst-italic{font-style:italic}.fst-normal{font-style:normal}.fw-lighter{font-weight:lighter}.fw-light{font-weight:300}.fw-normal{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.fw-bolder{font-weight:bolder}.lh-1{line-height:1}.lh-sm{line-height:1.25}.lh-base{line-height:1.5}.lh-lg{line-height:2}.text-start{text-align:start}.text-end{text-align:end}.text-center{text-align:center}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-decoration-line-through{text-decoration:line-through}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-wrap{white-space:wrap}.text-nowrap{white-space:nowrap}.text-balance{white-space:balance}.text-pretty{white-space:pretty}.text-break{word-wrap:break-word;word-break:break-word}.fg-primary{--bs-fg:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));color:var(--bs-fg)}.fg-accent{--bs-fg:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));color:var(--bs-fg)}.fg-success{--bs-fg:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));color:var(--bs-fg)}.fg-danger{--bs-fg:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));color:var(--bs-fg)}.fg-warning{--bs-fg:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));color:var(--bs-fg)}.fg-info{--bs-fg:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));color:var(--bs-fg)}.fg-inverse{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));color:var(--bs-fg)}.fg-body{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-050));color:var(--bs-fg)}.fg-1{--bs-fg:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-2{--bs-fg:var(--lightningcss-light,var(--bs-gray-700))var(--lightningcss-dark,var(--bs-gray-300));color:var(--bs-fg)}.fg-3{--bs-fg:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-500));color:var(--bs-fg)}.fg-4{--bs-fg:var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-600));color:var(--bs-fg)}.fg-white{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-black{--bs-fg:var(--bs-black);color:var(--bs-fg)}.fg-inherit{--bs-fg:inherit;color:var(--bs-fg)}.fg-emphasis-primary{--bs-fg:var(--lightningcss-light,var(--bs-blue-800))var(--lightningcss-dark,var(--bs-blue-200));color:var(--bs-fg)}.fg-emphasis-accent{--bs-fg:var(--lightningcss-light,var(--bs-indigo-800))var(--lightningcss-dark,var(--bs-indigo-300));color:var(--bs-fg)}.fg-emphasis-success{--bs-fg:var(--lightningcss-light,var(--bs-green-800))var(--lightningcss-dark,var(--bs-green-300));color:var(--bs-fg)}.fg-emphasis-danger{--bs-fg:var(--lightningcss-light,var(--bs-red-800))var(--lightningcss-dark,var(--bs-red-300));color:var(--bs-fg)}.fg-emphasis-warning{--bs-fg:var(--lightningcss-light,var(--bs-yellow-800))var(--lightningcss-dark,var(--bs-yellow-300));color:var(--bs-fg)}.fg-emphasis-info{--bs-fg:var(--lightningcss-light,var(--bs-cyan-800))var(--lightningcss-dark,var(--bs-cyan-300));color:var(--bs-fg)}.fg-emphasis-inverse{--bs-fg:var(--lightningcss-light,var(--bs-gray-975))var(--lightningcss-dark,var(--bs-white));color:var(--bs-fg)}.fg-emphasis-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-contrast-primary,.fg-contrast-accent,.fg-contrast-success,.fg-contrast-danger{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-warning,.fg-contrast-info{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-inverse{--bs-fg:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-900));color:var(--bs-fg)}.fg-contrast-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));color:var(--bs-fg)}.fg-10{color:color-mix(in oklch, var(--bs-fg) 10%, transparent)}.fg-20{color:color-mix(in oklch, var(--bs-fg) 20%, transparent)}.fg-30{color:color-mix(in oklch, var(--bs-fg) 30%, transparent)}.fg-40{color:color-mix(in oklch, var(--bs-fg) 40%, transparent)}.fg-50{color:color-mix(in oklch, var(--bs-fg) 50%, transparent)}.fg-60{color:color-mix(in oklch, var(--bs-fg) 60%, transparent)}.fg-70{color:color-mix(in oklch, var(--bs-fg) 70%, transparent)}.fg-80{color:color-mix(in oklch, var(--bs-fg) 80%, transparent)}.fg-90{color:color-mix(in oklch, var(--bs-fg) 90%, transparent)}.fg-100{color:var(--bs-fg)}.link-10,.link-10-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.link-20,.link-20-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.link-30,.link-30-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.link-40,.link-40-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.link-50,.link-50-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.link-60,.link-60-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.link-70,.link-70-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.link-80,.link-80-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.link-90,.link-90-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.link-100,.link-100-hover:hover{color:var(--bs-link-color)}.underline-offset-1,.underline-offset-1-hover:hover{text-underline-offset:.125em}.underline-offset-2,.underline-offset-2-hover:hover{text-underline-offset:.25em}.underline-offset-3,.underline-offset-3-hover:hover{text-underline-offset:.375em}.underline-primary{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));text-decoration-color:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400))}.underline-accent{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));text-decoration-color:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)))}.underline-success{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));text-decoration-color:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400))}.underline-danger{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));text-decoration-color:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400))}.underline-warning{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));text-decoration-color:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400))}.underline-info{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));text-decoration-color:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400))}.underline-inverse{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));text-decoration-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200))}.underline-secondary{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));text-decoration-color:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400))}.underline-10,.underline-10-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 10%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.underline-20,.underline-20-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 20%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.underline-30,.underline-30-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 30%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.underline-40,.underline-40-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 40%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.underline-50,.underline-50-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 50%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.underline-60,.underline-60-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 60%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.underline-70,.underline-70-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 70%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.underline-80,.underline-80-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 80%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.underline-90,.underline-90-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 90%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.underline-100,.underline-100-hover:hover{-webkit-text-decoration-color:var(--bs-link-color);text-decoration-color:var(--bs-link-color)}.underline-thickness-1,.underline-thickness-1-hover:hover{text-decoration-thickness:1px}.underline-thickness-2,.underline-thickness-2-hover:hover{text-decoration-thickness:2px}.underline-thickness-3,.underline-thickness-3-hover:hover{text-decoration-thickness:3px}.underline-thickness-4,.underline-thickness-4-hover:hover{text-decoration-thickness:4px}.underline-thickness-5,.underline-thickness-5-hover:hover{text-decoration-thickness:5px}.bg-primary{--bs-bg:var(--bs-blue-500);background-color:var(--bs-bg)}.bg-accent{--bs-bg:var(--bs-indigo-500);background-color:var(--bs-bg)}.bg-success{--bs-bg:var(--bs-green-500);background-color:var(--bs-bg)}.bg-danger{--bs-bg:var(--bs-red-500);background-color:var(--bs-bg)}.bg-warning{--bs-bg:var(--bs-yellow-500);background-color:var(--bs-bg)}.bg-info{--bs-bg:var(--bs-cyan-500);background-color:var(--bs-bg)}.bg-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));background-color:var(--bs-bg)}.bg-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));background-color:var(--bs-bg)}.bg-body{--bs-bg:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-975));background-color:var(--bs-bg)}.bg-1{--bs-bg:var(--lightningcss-light,var(--bs-gray-025))var(--lightningcss-dark,var(--bs-gray-950));background-color:var(--bs-bg)}.bg-2{--bs-bg:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-900));background-color:var(--bs-bg)}.bg-3{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-800));background-color:var(--bs-bg)}.bg-4{--bs-bg:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-700));background-color:var(--bs-bg)}.bg-white{--bs-bg:var(--bs-white);background-color:var(--bs-bg)}.bg-black{--bs-bg:var(--bs-black);background-color:var(--bs-bg)}.bg-transparent{--bs-bg:transparent;background-color:var(--bs-bg)}.bg-inherit{--bs-bg:inherit;background-color:var(--bs-bg)}.bg-subtle-primary{--bs-bg:var(--lightningcss-light,var(--bs-blue-100))var(--lightningcss-dark,var(--bs-blue-900));background-color:var(--bs-bg)}.bg-subtle-accent{--bs-bg:var(--lightningcss-light,var(--bs-indigo-100))var(--lightningcss-dark,var(--bs-indigo-900));background-color:var(--bs-bg)}.bg-subtle-success{--bs-bg:var(--lightningcss-light,var(--bs-green-100))var(--lightningcss-dark,var(--bs-green-900));background-color:var(--bs-bg)}.bg-subtle-danger{--bs-bg:var(--lightningcss-light,var(--bs-red-100))var(--lightningcss-dark,var(--bs-red-900));background-color:var(--bs-bg)}.bg-subtle-warning{--bs-bg:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));background-color:var(--bs-bg)}.bg-subtle-info{--bs-bg:var(--lightningcss-light,var(--bs-cyan-100))var(--lightningcss-dark,var(--bs-cyan-900));background-color:var(--bs-bg)}.bg-subtle-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));background-color:var(--bs-bg)}.bg-subtle-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-800));background-color:var(--bs-bg)}.bg-muted-primary{--bs-bg:var(--lightningcss-light,var(--bs-blue-200))var(--lightningcss-dark,var(--bs-blue-800));background-color:var(--bs-bg)}.bg-muted-accent{--bs-bg:var(--lightningcss-light,var(--bs-indigo-200))var(--lightningcss-dark,var(--bs-indigo-800));background-color:var(--bs-bg)}.bg-muted-success{--bs-bg:var(--lightningcss-light,var(--bs-green-200))var(--lightningcss-dark,var(--bs-green-800));background-color:var(--bs-bg)}.bg-muted-danger{--bs-bg:var(--lightningcss-light,var(--bs-red-200))var(--lightningcss-dark,var(--bs-red-800));background-color:var(--bs-bg)}.bg-muted-warning{--bs-bg:var(--lightningcss-light,var(--bs-yellow-200))var(--lightningcss-dark,var(--bs-yellow-800));background-color:var(--bs-bg)}.bg-muted-info{--bs-bg:var(--lightningcss-light,var(--bs-cyan-200))var(--lightningcss-dark,var(--bs-cyan-800));background-color:var(--bs-bg)}.bg-muted-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-300));background-color:var(--bs-bg)}.bg-muted-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-700));background-color:var(--bs-bg)}.bg-10{background-color:color-mix(in oklch, var(--bs-bg) 10%, transparent)}.bg-20{background-color:color-mix(in oklch, var(--bs-bg) 20%, transparent)}.bg-30{background-color:color-mix(in oklch, var(--bs-bg) 30%, transparent)}.bg-40{background-color:color-mix(in oklch, var(--bs-bg) 40%, transparent)}.bg-50{background-color:color-mix(in oklch, var(--bs-bg) 50%, transparent)}.bg-60{background-color:color-mix(in oklch, var(--bs-bg) 60%, transparent)}.bg-70{background-color:color-mix(in oklch, var(--bs-bg) 70%, transparent)}.bg-80{background-color:color-mix(in oklch, var(--bs-bg) 80%, transparent)}.bg-90{background-color:color-mix(in oklch, var(--bs-bg) 90%, transparent)}.bg-100{background-color:var(--bs-bg)}.theme-contrast{background-color:var(--bs-theme-bg);color:var(--bs-theme-contrast)}.theme-subtle{background-color:var(--bs-theme-bg-subtle);color:var(--bs-theme-text)}.theme-muted{background-color:var(--bs-theme-bg-muted);color:var(--bs-theme-text-emphasis)}.theme-border{border:var(--bs-border-width) solid var(--bs-theme-border)}.bg-gradient{background-image:var(--bs-gradient)}.user-select-all{-webkit-user-select:all;user-select:all}.user-select-auto{-webkit-user-select:auto;user-select:auto}.user-select-text{-webkit-user-select:text;user-select:text}.user-select-none{-webkit-user-select:none;user-select:none}.pe-none{pointer-events:none}.pe-auto{pointer-events:auto}.rounded{border-radius:var(--bs-border-radius)}.rounded-0{border-radius:0}.rounded-1{border-radius:var(--bs-border-radius-sm)}.rounded-2{border-radius:var(--bs-border-radius)}.rounded-3{border-radius:var(--bs-border-radius-lg)}.rounded-4{border-radius:var(--bs-border-radius-xl)}.rounded-5{border-radius:var(--bs-border-radius-2xl)}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:var(--bs-border-radius-pill)}.rounded-top{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-top-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-top-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-top-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-top-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-top-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-top-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.rounded-end{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-end-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-end-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-end-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-end-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-end-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-end-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-bottom{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-bottom-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-bottom-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-bottom-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-bottom-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-bottom-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-bottom-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-start{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-start-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-start-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-start-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-start-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-start-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-start-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.visible{visibility:visible}.invisible{visibility:hidden}.z-n1{z-index:-1}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}@media (min-width:576px){.float-sm-start{float:inline-start}.float-sm-end{float:inline-end}.float-sm-none{float:none}.object-fit-sm-contain{-o-object-fit:contain;object-fit:contain}.object-fit-sm-cover{-o-object-fit:cover;object-fit:cover}.object-fit-sm-fill{-o-object-fit:fill;object-fit:fill}.object-fit-sm-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-sm-none{-o-object-fit:none;object-fit:none}.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-block{display:block}.d-sm-grid{display:grid}.d-sm-inline-grid{display:inline-grid}.d-sm-table{display:table}.d-sm-table-row{display:table-row}.d-sm-table-cell{display:table-cell}.d-sm-flex{display:flex}.d-sm-inline-flex{display:inline-flex}.d-sm-contents{display:contents}.d-sm-flow-root{display:flow-root}.d-sm-none{display:none}.flex-sm-fill{flex:auto}.flex-sm-row{flex-direction:row}.flex-sm-column{flex-direction:column}.flex-sm-row-reverse{flex-direction:row-reverse}.flex-sm-column-reverse{flex-direction:column-reverse}.flex-sm-grow-0{flex-grow:0}.flex-sm-grow-1{flex-grow:1}.flex-sm-shrink-0{flex-shrink:0}.flex-sm-shrink-1{flex-shrink:1}.flex-sm-wrap{flex-wrap:wrap}.flex-sm-nowrap{flex-wrap:nowrap}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-sm-start{justify-content:flex-start}.justify-content-sm-end{justify-content:flex-end}.justify-content-sm-center{justify-content:center}.justify-content-sm-between{justify-content:space-between}.justify-content-sm-around{justify-content:space-around}.justify-content-sm-evenly{justify-content:space-evenly}.justify-items-sm-start{justify-items:start}.justify-items-sm-end{justify-items:end}.justify-items-sm-center{justify-items:center}.justify-items-sm-stretch{justify-items:stretch}.justify-self-sm-start{justify-self:flex-start}.justify-self-sm-end{justify-self:flex-end}.justify-self-sm-center{justify-self:center}.align-items-sm-start{align-items:flex-start}.align-items-sm-end{align-items:flex-end}.align-items-sm-center{align-items:center}.align-items-sm-baseline{align-items:baseline}.align-items-sm-stretch{align-items:stretch}.align-content-sm-start{align-content:flex-start}.align-content-sm-end{align-content:flex-end}.align-content-sm-center{align-content:center}.align-content-sm-between{align-content:space-between}.align-content-sm-around{align-content:space-around}.align-content-sm-stretch{align-content:stretch}.align-self-sm-auto{align-self:auto}.align-self-sm-start{align-self:flex-start}.align-self-sm-end{align-self:flex-end}.align-self-sm-center{align-self:center}.align-self-sm-baseline{align-self:baseline}.align-self-sm-stretch{align-self:stretch}.place-items-sm-start{place-items:start}.place-items-sm-end{place-items:end}.place-items-sm-center{place-items:center}.place-items-sm-stretch{place-items:stretch stretch}.grid-cols-sm-2{grid-template-columns:repeat(2,1fr)}.grid-cols-sm-3{grid-template-columns:repeat(3,1fr)}.grid-cols-sm-4{grid-template-columns:repeat(4,1fr)}.grid-cols-sm-6{grid-template-columns:repeat(6,1fr)}.grid-cols-sm-fill{grid-column:1/-1}.grid-auto-flow-sm-row{grid-auto-flow:row}.grid-auto-flow-sm-column{grid-auto-flow:column}.grid-auto-flow-sm-dense{grid-auto-flow:dense}.order-sm-first{order:-1}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-last{order:6}.m-sm-0{margin:0}.m-sm-1{margin:.25rem}.m-sm-2{margin:.5rem}.m-sm-3{margin:1rem}.m-sm-4{margin:1.5rem}.m-sm-5{margin:3rem}.m-sm-auto{margin:auto}.mx-sm-0{margin-inline:0}.mx-sm-1{margin-inline:.25rem}.mx-sm-2{margin-inline:.5rem}.mx-sm-3{margin-inline:1rem}.mx-sm-4{margin-inline:1.5rem}.mx-sm-5{margin-inline:3rem}.mx-sm-auto{margin-inline:auto}.my-sm-0{margin-block:0}.my-sm-1{margin-block:.25rem}.my-sm-2{margin-block:.5rem}.my-sm-3{margin-block:1rem}.my-sm-4{margin-block:1.5rem}.my-sm-5{margin-block:3rem}.my-sm-auto{margin-block:auto}.mt-sm-0{margin-block-start:0}.mt-sm-1{margin-block-start:.25rem}.mt-sm-2{margin-block-start:.5rem}.mt-sm-3{margin-block-start:1rem}.mt-sm-4{margin-block-start:1.5rem}.mt-sm-5{margin-block-start:3rem}.mt-sm-auto{margin-block-start:auto}.me-sm-0{margin-inline-end:0}.me-sm-1{margin-inline-end:.25rem}.me-sm-2{margin-inline-end:.5rem}.me-sm-3{margin-inline-end:1rem}.me-sm-4{margin-inline-end:1.5rem}.me-sm-5{margin-inline-end:3rem}.me-sm-auto{margin-inline-end:auto}.mb-sm-0{margin-block-end:0}.mb-sm-1{margin-block-end:.25rem}.mb-sm-2{margin-block-end:.5rem}.mb-sm-3{margin-block-end:1rem}.mb-sm-4{margin-block-end:1.5rem}.mb-sm-5{margin-block-end:3rem}.mb-sm-auto{margin-block-end:auto}.ms-sm-0{margin-inline-start:0}.ms-sm-1{margin-inline-start:.25rem}.ms-sm-2{margin-inline-start:.5rem}.ms-sm-3{margin-inline-start:1rem}.ms-sm-4{margin-inline-start:1.5rem}.ms-sm-5{margin-inline-start:3rem}.ms-sm--1{margin-inline-start:-.25rem}.ms-sm--2{margin-inline-start:-.5rem}.ms-sm-auto{margin-inline-start:auto}.p-sm-0{padding:0}.p-sm-1{padding:.25rem}.p-sm-2{padding:.5rem}.p-sm-3{padding:1rem}.p-sm-4{padding:1.5rem}.p-sm-5{padding:3rem}.px-sm-0{padding-inline:0}.px-sm-1{padding-inline:.25rem}.px-sm-2{padding-inline:.5rem}.px-sm-3{padding-inline:1rem}.px-sm-4{padding-inline:1.5rem}.px-sm-5{padding-inline:3rem}.py-sm-0{padding-block:0}.py-sm-1{padding-block:.25rem}.py-sm-2{padding-block:.5rem}.py-sm-3{padding-block:1rem}.py-sm-4{padding-block:1.5rem}.py-sm-5{padding-block:3rem}.pt-sm-0{padding-block-start:0}.pt-sm-1{padding-block-start:.25rem}.pt-sm-2{padding-block-start:.5rem}.pt-sm-3{padding-block-start:1rem}.pt-sm-4{padding-block-start:1.5rem}.pt-sm-5{padding-block-start:3rem}.pe-sm-0{padding-inline-end:0}.pe-sm-1{padding-inline-end:.25rem}.pe-sm-2{padding-inline-end:.5rem}.pe-sm-3{padding-inline-end:1rem}.pe-sm-4{padding-inline-end:1.5rem}.pe-sm-5{padding-inline-end:3rem}.pb-sm-0{padding-block-end:0}.pb-sm-1{padding-block-end:.25rem}.pb-sm-2{padding-block-end:.5rem}.pb-sm-3{padding-block-end:1rem}.pb-sm-4{padding-block-end:1.5rem}.pb-sm-5{padding-block-end:3rem}.ps-sm-0{padding-inline-start:0}.ps-sm-1{padding-inline-start:.25rem}.ps-sm-2{padding-inline-start:.5rem}.ps-sm-3{padding-inline-start:1rem}.ps-sm-4{padding-inline-start:1.5rem}.ps-sm-5{padding-inline-start:3rem}.gap-sm-0{gap:0}.gap-sm-1{gap:.25rem}.gap-sm-2{gap:.5rem}.gap-sm-3{gap:1rem}.gap-sm-4{gap:1.5rem}.gap-sm-5{gap:3rem}.row-gap-sm-0{row-gap:0}.row-gap-sm-1{row-gap:.25rem}.row-gap-sm-2{row-gap:.5rem}.row-gap-sm-3{row-gap:1rem}.row-gap-sm-4{row-gap:1.5rem}.row-gap-sm-5{row-gap:3rem}.column-gap-sm-0{-moz-column-gap:0;column-gap:0}.column-gap-sm-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-sm-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-sm-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-sm-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-sm-5{-moz-column-gap:3rem;column-gap:3rem}.text-sm-start{text-align:start}.text-sm-end{text-align:end}.text-sm-center{text-align:center}}@media (min-width:768px){.float-md-start{float:inline-start}.float-md-end{float:inline-end}.float-md-none{float:none}.object-fit-md-contain{-o-object-fit:contain;object-fit:contain}.object-fit-md-cover{-o-object-fit:cover;object-fit:cover}.object-fit-md-fill{-o-object-fit:fill;object-fit:fill}.object-fit-md-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-md-none{-o-object-fit:none;object-fit:none}.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-block{display:block}.d-md-grid{display:grid}.d-md-inline-grid{display:inline-grid}.d-md-table{display:table}.d-md-table-row{display:table-row}.d-md-table-cell{display:table-cell}.d-md-flex{display:flex}.d-md-inline-flex{display:inline-flex}.d-md-contents{display:contents}.d-md-flow-root{display:flow-root}.d-md-none{display:none}.flex-md-fill{flex:auto}.flex-md-row{flex-direction:row}.flex-md-column{flex-direction:column}.flex-md-row-reverse{flex-direction:row-reverse}.flex-md-column-reverse{flex-direction:column-reverse}.flex-md-grow-0{flex-grow:0}.flex-md-grow-1{flex-grow:1}.flex-md-shrink-0{flex-shrink:0}.flex-md-shrink-1{flex-shrink:1}.flex-md-wrap{flex-wrap:wrap}.flex-md-nowrap{flex-wrap:nowrap}.flex-md-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-md-start{justify-content:flex-start}.justify-content-md-end{justify-content:flex-end}.justify-content-md-center{justify-content:center}.justify-content-md-between{justify-content:space-between}.justify-content-md-around{justify-content:space-around}.justify-content-md-evenly{justify-content:space-evenly}.justify-items-md-start{justify-items:start}.justify-items-md-end{justify-items:end}.justify-items-md-center{justify-items:center}.justify-items-md-stretch{justify-items:stretch}.justify-self-md-start{justify-self:flex-start}.justify-self-md-end{justify-self:flex-end}.justify-self-md-center{justify-self:center}.align-items-md-start{align-items:flex-start}.align-items-md-end{align-items:flex-end}.align-items-md-center{align-items:center}.align-items-md-baseline{align-items:baseline}.align-items-md-stretch{align-items:stretch}.align-content-md-start{align-content:flex-start}.align-content-md-end{align-content:flex-end}.align-content-md-center{align-content:center}.align-content-md-between{align-content:space-between}.align-content-md-around{align-content:space-around}.align-content-md-stretch{align-content:stretch}.align-self-md-auto{align-self:auto}.align-self-md-start{align-self:flex-start}.align-self-md-end{align-self:flex-end}.align-self-md-center{align-self:center}.align-self-md-baseline{align-self:baseline}.align-self-md-stretch{align-self:stretch}.place-items-md-start{place-items:start}.place-items-md-end{place-items:end}.place-items-md-center{place-items:center}.place-items-md-stretch{place-items:stretch stretch}.grid-cols-md-2{grid-template-columns:repeat(2,1fr)}.grid-cols-md-3{grid-template-columns:repeat(3,1fr)}.grid-cols-md-4{grid-template-columns:repeat(4,1fr)}.grid-cols-md-6{grid-template-columns:repeat(6,1fr)}.grid-cols-md-fill{grid-column:1/-1}.grid-auto-flow-md-row{grid-auto-flow:row}.grid-auto-flow-md-column{grid-auto-flow:column}.grid-auto-flow-md-dense{grid-auto-flow:dense}.order-md-first{order:-1}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-last{order:6}.m-md-0{margin:0}.m-md-1{margin:.25rem}.m-md-2{margin:.5rem}.m-md-3{margin:1rem}.m-md-4{margin:1.5rem}.m-md-5{margin:3rem}.m-md-auto{margin:auto}.mx-md-0{margin-inline:0}.mx-md-1{margin-inline:.25rem}.mx-md-2{margin-inline:.5rem}.mx-md-3{margin-inline:1rem}.mx-md-4{margin-inline:1.5rem}.mx-md-5{margin-inline:3rem}.mx-md-auto{margin-inline:auto}.my-md-0{margin-block:0}.my-md-1{margin-block:.25rem}.my-md-2{margin-block:.5rem}.my-md-3{margin-block:1rem}.my-md-4{margin-block:1.5rem}.my-md-5{margin-block:3rem}.my-md-auto{margin-block:auto}.mt-md-0{margin-block-start:0}.mt-md-1{margin-block-start:.25rem}.mt-md-2{margin-block-start:.5rem}.mt-md-3{margin-block-start:1rem}.mt-md-4{margin-block-start:1.5rem}.mt-md-5{margin-block-start:3rem}.mt-md-auto{margin-block-start:auto}.me-md-0{margin-inline-end:0}.me-md-1{margin-inline-end:.25rem}.me-md-2{margin-inline-end:.5rem}.me-md-3{margin-inline-end:1rem}.me-md-4{margin-inline-end:1.5rem}.me-md-5{margin-inline-end:3rem}.me-md-auto{margin-inline-end:auto}.mb-md-0{margin-block-end:0}.mb-md-1{margin-block-end:.25rem}.mb-md-2{margin-block-end:.5rem}.mb-md-3{margin-block-end:1rem}.mb-md-4{margin-block-end:1.5rem}.mb-md-5{margin-block-end:3rem}.mb-md-auto{margin-block-end:auto}.ms-md-0{margin-inline-start:0}.ms-md-1{margin-inline-start:.25rem}.ms-md-2{margin-inline-start:.5rem}.ms-md-3{margin-inline-start:1rem}.ms-md-4{margin-inline-start:1.5rem}.ms-md-5{margin-inline-start:3rem}.ms-md--1{margin-inline-start:-.25rem}.ms-md--2{margin-inline-start:-.5rem}.ms-md-auto{margin-inline-start:auto}.p-md-0{padding:0}.p-md-1{padding:.25rem}.p-md-2{padding:.5rem}.p-md-3{padding:1rem}.p-md-4{padding:1.5rem}.p-md-5{padding:3rem}.px-md-0{padding-inline:0}.px-md-1{padding-inline:.25rem}.px-md-2{padding-inline:.5rem}.px-md-3{padding-inline:1rem}.px-md-4{padding-inline:1.5rem}.px-md-5{padding-inline:3rem}.py-md-0{padding-block:0}.py-md-1{padding-block:.25rem}.py-md-2{padding-block:.5rem}.py-md-3{padding-block:1rem}.py-md-4{padding-block:1.5rem}.py-md-5{padding-block:3rem}.pt-md-0{padding-block-start:0}.pt-md-1{padding-block-start:.25rem}.pt-md-2{padding-block-start:.5rem}.pt-md-3{padding-block-start:1rem}.pt-md-4{padding-block-start:1.5rem}.pt-md-5{padding-block-start:3rem}.pe-md-0{padding-inline-end:0}.pe-md-1{padding-inline-end:.25rem}.pe-md-2{padding-inline-end:.5rem}.pe-md-3{padding-inline-end:1rem}.pe-md-4{padding-inline-end:1.5rem}.pe-md-5{padding-inline-end:3rem}.pb-md-0{padding-block-end:0}.pb-md-1{padding-block-end:.25rem}.pb-md-2{padding-block-end:.5rem}.pb-md-3{padding-block-end:1rem}.pb-md-4{padding-block-end:1.5rem}.pb-md-5{padding-block-end:3rem}.ps-md-0{padding-inline-start:0}.ps-md-1{padding-inline-start:.25rem}.ps-md-2{padding-inline-start:.5rem}.ps-md-3{padding-inline-start:1rem}.ps-md-4{padding-inline-start:1.5rem}.ps-md-5{padding-inline-start:3rem}.gap-md-0{gap:0}.gap-md-1{gap:.25rem}.gap-md-2{gap:.5rem}.gap-md-3{gap:1rem}.gap-md-4{gap:1.5rem}.gap-md-5{gap:3rem}.row-gap-md-0{row-gap:0}.row-gap-md-1{row-gap:.25rem}.row-gap-md-2{row-gap:.5rem}.row-gap-md-3{row-gap:1rem}.row-gap-md-4{row-gap:1.5rem}.row-gap-md-5{row-gap:3rem}.column-gap-md-0{-moz-column-gap:0;column-gap:0}.column-gap-md-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-md-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-md-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-md-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-md-5{-moz-column-gap:3rem;column-gap:3rem}.text-md-start{text-align:start}.text-md-end{text-align:end}.text-md-center{text-align:center}}@media (min-width:1024px){.float-lg-start{float:inline-start}.float-lg-end{float:inline-end}.float-lg-none{float:none}.object-fit-lg-contain{-o-object-fit:contain;object-fit:contain}.object-fit-lg-cover{-o-object-fit:cover;object-fit:cover}.object-fit-lg-fill{-o-object-fit:fill;object-fit:fill}.object-fit-lg-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-lg-none{-o-object-fit:none;object-fit:none}.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-block{display:block}.d-lg-grid{display:grid}.d-lg-inline-grid{display:inline-grid}.d-lg-table{display:table}.d-lg-table-row{display:table-row}.d-lg-table-cell{display:table-cell}.d-lg-flex{display:flex}.d-lg-inline-flex{display:inline-flex}.d-lg-contents{display:contents}.d-lg-flow-root{display:flow-root}.d-lg-none{display:none}.flex-lg-fill{flex:auto}.flex-lg-row{flex-direction:row}.flex-lg-column{flex-direction:column}.flex-lg-row-reverse{flex-direction:row-reverse}.flex-lg-column-reverse{flex-direction:column-reverse}.flex-lg-grow-0{flex-grow:0}.flex-lg-grow-1{flex-grow:1}.flex-lg-shrink-0{flex-shrink:0}.flex-lg-shrink-1{flex-shrink:1}.flex-lg-wrap{flex-wrap:wrap}.flex-lg-nowrap{flex-wrap:nowrap}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-lg-start{justify-content:flex-start}.justify-content-lg-end{justify-content:flex-end}.justify-content-lg-center{justify-content:center}.justify-content-lg-between{justify-content:space-between}.justify-content-lg-around{justify-content:space-around}.justify-content-lg-evenly{justify-content:space-evenly}.justify-items-lg-start{justify-items:start}.justify-items-lg-end{justify-items:end}.justify-items-lg-center{justify-items:center}.justify-items-lg-stretch{justify-items:stretch}.justify-self-lg-start{justify-self:flex-start}.justify-self-lg-end{justify-self:flex-end}.justify-self-lg-center{justify-self:center}.align-items-lg-start{align-items:flex-start}.align-items-lg-end{align-items:flex-end}.align-items-lg-center{align-items:center}.align-items-lg-baseline{align-items:baseline}.align-items-lg-stretch{align-items:stretch}.align-content-lg-start{align-content:flex-start}.align-content-lg-end{align-content:flex-end}.align-content-lg-center{align-content:center}.align-content-lg-between{align-content:space-between}.align-content-lg-around{align-content:space-around}.align-content-lg-stretch{align-content:stretch}.align-self-lg-auto{align-self:auto}.align-self-lg-start{align-self:flex-start}.align-self-lg-end{align-self:flex-end}.align-self-lg-center{align-self:center}.align-self-lg-baseline{align-self:baseline}.align-self-lg-stretch{align-self:stretch}.place-items-lg-start{place-items:start}.place-items-lg-end{place-items:end}.place-items-lg-center{place-items:center}.place-items-lg-stretch{place-items:stretch stretch}.grid-cols-lg-2{grid-template-columns:repeat(2,1fr)}.grid-cols-lg-3{grid-template-columns:repeat(3,1fr)}.grid-cols-lg-4{grid-template-columns:repeat(4,1fr)}.grid-cols-lg-6{grid-template-columns:repeat(6,1fr)}.grid-cols-lg-fill{grid-column:1/-1}.grid-auto-flow-lg-row{grid-auto-flow:row}.grid-auto-flow-lg-column{grid-auto-flow:column}.grid-auto-flow-lg-dense{grid-auto-flow:dense}.order-lg-first{order:-1}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-last{order:6}.m-lg-0{margin:0}.m-lg-1{margin:.25rem}.m-lg-2{margin:.5rem}.m-lg-3{margin:1rem}.m-lg-4{margin:1.5rem}.m-lg-5{margin:3rem}.m-lg-auto{margin:auto}.mx-lg-0{margin-inline:0}.mx-lg-1{margin-inline:.25rem}.mx-lg-2{margin-inline:.5rem}.mx-lg-3{margin-inline:1rem}.mx-lg-4{margin-inline:1.5rem}.mx-lg-5{margin-inline:3rem}.mx-lg-auto{margin-inline:auto}.my-lg-0{margin-block:0}.my-lg-1{margin-block:.25rem}.my-lg-2{margin-block:.5rem}.my-lg-3{margin-block:1rem}.my-lg-4{margin-block:1.5rem}.my-lg-5{margin-block:3rem}.my-lg-auto{margin-block:auto}.mt-lg-0{margin-block-start:0}.mt-lg-1{margin-block-start:.25rem}.mt-lg-2{margin-block-start:.5rem}.mt-lg-3{margin-block-start:1rem}.mt-lg-4{margin-block-start:1.5rem}.mt-lg-5{margin-block-start:3rem}.mt-lg-auto{margin-block-start:auto}.me-lg-0{margin-inline-end:0}.me-lg-1{margin-inline-end:.25rem}.me-lg-2{margin-inline-end:.5rem}.me-lg-3{margin-inline-end:1rem}.me-lg-4{margin-inline-end:1.5rem}.me-lg-5{margin-inline-end:3rem}.me-lg-auto{margin-inline-end:auto}.mb-lg-0{margin-block-end:0}.mb-lg-1{margin-block-end:.25rem}.mb-lg-2{margin-block-end:.5rem}.mb-lg-3{margin-block-end:1rem}.mb-lg-4{margin-block-end:1.5rem}.mb-lg-5{margin-block-end:3rem}.mb-lg-auto{margin-block-end:auto}.ms-lg-0{margin-inline-start:0}.ms-lg-1{margin-inline-start:.25rem}.ms-lg-2{margin-inline-start:.5rem}.ms-lg-3{margin-inline-start:1rem}.ms-lg-4{margin-inline-start:1.5rem}.ms-lg-5{margin-inline-start:3rem}.ms-lg--1{margin-inline-start:-.25rem}.ms-lg--2{margin-inline-start:-.5rem}.ms-lg-auto{margin-inline-start:auto}.p-lg-0{padding:0}.p-lg-1{padding:.25rem}.p-lg-2{padding:.5rem}.p-lg-3{padding:1rem}.p-lg-4{padding:1.5rem}.p-lg-5{padding:3rem}.px-lg-0{padding-inline:0}.px-lg-1{padding-inline:.25rem}.px-lg-2{padding-inline:.5rem}.px-lg-3{padding-inline:1rem}.px-lg-4{padding-inline:1.5rem}.px-lg-5{padding-inline:3rem}.py-lg-0{padding-block:0}.py-lg-1{padding-block:.25rem}.py-lg-2{padding-block:.5rem}.py-lg-3{padding-block:1rem}.py-lg-4{padding-block:1.5rem}.py-lg-5{padding-block:3rem}.pt-lg-0{padding-block-start:0}.pt-lg-1{padding-block-start:.25rem}.pt-lg-2{padding-block-start:.5rem}.pt-lg-3{padding-block-start:1rem}.pt-lg-4{padding-block-start:1.5rem}.pt-lg-5{padding-block-start:3rem}.pe-lg-0{padding-inline-end:0}.pe-lg-1{padding-inline-end:.25rem}.pe-lg-2{padding-inline-end:.5rem}.pe-lg-3{padding-inline-end:1rem}.pe-lg-4{padding-inline-end:1.5rem}.pe-lg-5{padding-inline-end:3rem}.pb-lg-0{padding-block-end:0}.pb-lg-1{padding-block-end:.25rem}.pb-lg-2{padding-block-end:.5rem}.pb-lg-3{padding-block-end:1rem}.pb-lg-4{padding-block-end:1.5rem}.pb-lg-5{padding-block-end:3rem}.ps-lg-0{padding-inline-start:0}.ps-lg-1{padding-inline-start:.25rem}.ps-lg-2{padding-inline-start:.5rem}.ps-lg-3{padding-inline-start:1rem}.ps-lg-4{padding-inline-start:1.5rem}.ps-lg-5{padding-inline-start:3rem}.gap-lg-0{gap:0}.gap-lg-1{gap:.25rem}.gap-lg-2{gap:.5rem}.gap-lg-3{gap:1rem}.gap-lg-4{gap:1.5rem}.gap-lg-5{gap:3rem}.row-gap-lg-0{row-gap:0}.row-gap-lg-1{row-gap:.25rem}.row-gap-lg-2{row-gap:.5rem}.row-gap-lg-3{row-gap:1rem}.row-gap-lg-4{row-gap:1.5rem}.row-gap-lg-5{row-gap:3rem}.column-gap-lg-0{-moz-column-gap:0;column-gap:0}.column-gap-lg-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-lg-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-lg-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-lg-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-lg-5{-moz-column-gap:3rem;column-gap:3rem}.text-lg-start{text-align:start}.text-lg-end{text-align:end}.text-lg-center{text-align:center}}@media (min-width:1280px){.float-xl-start{float:inline-start}.float-xl-end{float:inline-end}.float-xl-none{float:none}.object-fit-xl-contain{-o-object-fit:contain;object-fit:contain}.object-fit-xl-cover{-o-object-fit:cover;object-fit:cover}.object-fit-xl-fill{-o-object-fit:fill;object-fit:fill}.object-fit-xl-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-xl-none{-o-object-fit:none;object-fit:none}.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-block{display:block}.d-xl-grid{display:grid}.d-xl-inline-grid{display:inline-grid}.d-xl-table{display:table}.d-xl-table-row{display:table-row}.d-xl-table-cell{display:table-cell}.d-xl-flex{display:flex}.d-xl-inline-flex{display:inline-flex}.d-xl-contents{display:contents}.d-xl-flow-root{display:flow-root}.d-xl-none{display:none}.flex-xl-fill{flex:auto}.flex-xl-row{flex-direction:row}.flex-xl-column{flex-direction:column}.flex-xl-row-reverse{flex-direction:row-reverse}.flex-xl-column-reverse{flex-direction:column-reverse}.flex-xl-grow-0{flex-grow:0}.flex-xl-grow-1{flex-grow:1}.flex-xl-shrink-0{flex-shrink:0}.flex-xl-shrink-1{flex-shrink:1}.flex-xl-wrap{flex-wrap:wrap}.flex-xl-nowrap{flex-wrap:nowrap}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-xl-start{justify-content:flex-start}.justify-content-xl-end{justify-content:flex-end}.justify-content-xl-center{justify-content:center}.justify-content-xl-between{justify-content:space-between}.justify-content-xl-around{justify-content:space-around}.justify-content-xl-evenly{justify-content:space-evenly}.justify-items-xl-start{justify-items:start}.justify-items-xl-end{justify-items:end}.justify-items-xl-center{justify-items:center}.justify-items-xl-stretch{justify-items:stretch}.justify-self-xl-start{justify-self:flex-start}.justify-self-xl-end{justify-self:flex-end}.justify-self-xl-center{justify-self:center}.align-items-xl-start{align-items:flex-start}.align-items-xl-end{align-items:flex-end}.align-items-xl-center{align-items:center}.align-items-xl-baseline{align-items:baseline}.align-items-xl-stretch{align-items:stretch}.align-content-xl-start{align-content:flex-start}.align-content-xl-end{align-content:flex-end}.align-content-xl-center{align-content:center}.align-content-xl-between{align-content:space-between}.align-content-xl-around{align-content:space-around}.align-content-xl-stretch{align-content:stretch}.align-self-xl-auto{align-self:auto}.align-self-xl-start{align-self:flex-start}.align-self-xl-end{align-self:flex-end}.align-self-xl-center{align-self:center}.align-self-xl-baseline{align-self:baseline}.align-self-xl-stretch{align-self:stretch}.place-items-xl-start{place-items:start}.place-items-xl-end{place-items:end}.place-items-xl-center{place-items:center}.place-items-xl-stretch{place-items:stretch stretch}.grid-cols-xl-2{grid-template-columns:repeat(2,1fr)}.grid-cols-xl-3{grid-template-columns:repeat(3,1fr)}.grid-cols-xl-4{grid-template-columns:repeat(4,1fr)}.grid-cols-xl-6{grid-template-columns:repeat(6,1fr)}.grid-cols-xl-fill{grid-column:1/-1}.grid-auto-flow-xl-row{grid-auto-flow:row}.grid-auto-flow-xl-column{grid-auto-flow:column}.grid-auto-flow-xl-dense{grid-auto-flow:dense}.order-xl-first{order:-1}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-last{order:6}.m-xl-0{margin:0}.m-xl-1{margin:.25rem}.m-xl-2{margin:.5rem}.m-xl-3{margin:1rem}.m-xl-4{margin:1.5rem}.m-xl-5{margin:3rem}.m-xl-auto{margin:auto}.mx-xl-0{margin-inline:0}.mx-xl-1{margin-inline:.25rem}.mx-xl-2{margin-inline:.5rem}.mx-xl-3{margin-inline:1rem}.mx-xl-4{margin-inline:1.5rem}.mx-xl-5{margin-inline:3rem}.mx-xl-auto{margin-inline:auto}.my-xl-0{margin-block:0}.my-xl-1{margin-block:.25rem}.my-xl-2{margin-block:.5rem}.my-xl-3{margin-block:1rem}.my-xl-4{margin-block:1.5rem}.my-xl-5{margin-block:3rem}.my-xl-auto{margin-block:auto}.mt-xl-0{margin-block-start:0}.mt-xl-1{margin-block-start:.25rem}.mt-xl-2{margin-block-start:.5rem}.mt-xl-3{margin-block-start:1rem}.mt-xl-4{margin-block-start:1.5rem}.mt-xl-5{margin-block-start:3rem}.mt-xl-auto{margin-block-start:auto}.me-xl-0{margin-inline-end:0}.me-xl-1{margin-inline-end:.25rem}.me-xl-2{margin-inline-end:.5rem}.me-xl-3{margin-inline-end:1rem}.me-xl-4{margin-inline-end:1.5rem}.me-xl-5{margin-inline-end:3rem}.me-xl-auto{margin-inline-end:auto}.mb-xl-0{margin-block-end:0}.mb-xl-1{margin-block-end:.25rem}.mb-xl-2{margin-block-end:.5rem}.mb-xl-3{margin-block-end:1rem}.mb-xl-4{margin-block-end:1.5rem}.mb-xl-5{margin-block-end:3rem}.mb-xl-auto{margin-block-end:auto}.ms-xl-0{margin-inline-start:0}.ms-xl-1{margin-inline-start:.25rem}.ms-xl-2{margin-inline-start:.5rem}.ms-xl-3{margin-inline-start:1rem}.ms-xl-4{margin-inline-start:1.5rem}.ms-xl-5{margin-inline-start:3rem}.ms-xl--1{margin-inline-start:-.25rem}.ms-xl--2{margin-inline-start:-.5rem}.ms-xl-auto{margin-inline-start:auto}.p-xl-0{padding:0}.p-xl-1{padding:.25rem}.p-xl-2{padding:.5rem}.p-xl-3{padding:1rem}.p-xl-4{padding:1.5rem}.p-xl-5{padding:3rem}.px-xl-0{padding-inline:0}.px-xl-1{padding-inline:.25rem}.px-xl-2{padding-inline:.5rem}.px-xl-3{padding-inline:1rem}.px-xl-4{padding-inline:1.5rem}.px-xl-5{padding-inline:3rem}.py-xl-0{padding-block:0}.py-xl-1{padding-block:.25rem}.py-xl-2{padding-block:.5rem}.py-xl-3{padding-block:1rem}.py-xl-4{padding-block:1.5rem}.py-xl-5{padding-block:3rem}.pt-xl-0{padding-block-start:0}.pt-xl-1{padding-block-start:.25rem}.pt-xl-2{padding-block-start:.5rem}.pt-xl-3{padding-block-start:1rem}.pt-xl-4{padding-block-start:1.5rem}.pt-xl-5{padding-block-start:3rem}.pe-xl-0{padding-inline-end:0}.pe-xl-1{padding-inline-end:.25rem}.pe-xl-2{padding-inline-end:.5rem}.pe-xl-3{padding-inline-end:1rem}.pe-xl-4{padding-inline-end:1.5rem}.pe-xl-5{padding-inline-end:3rem}.pb-xl-0{padding-block-end:0}.pb-xl-1{padding-block-end:.25rem}.pb-xl-2{padding-block-end:.5rem}.pb-xl-3{padding-block-end:1rem}.pb-xl-4{padding-block-end:1.5rem}.pb-xl-5{padding-block-end:3rem}.ps-xl-0{padding-inline-start:0}.ps-xl-1{padding-inline-start:.25rem}.ps-xl-2{padding-inline-start:.5rem}.ps-xl-3{padding-inline-start:1rem}.ps-xl-4{padding-inline-start:1.5rem}.ps-xl-5{padding-inline-start:3rem}.gap-xl-0{gap:0}.gap-xl-1{gap:.25rem}.gap-xl-2{gap:.5rem}.gap-xl-3{gap:1rem}.gap-xl-4{gap:1.5rem}.gap-xl-5{gap:3rem}.row-gap-xl-0{row-gap:0}.row-gap-xl-1{row-gap:.25rem}.row-gap-xl-2{row-gap:.5rem}.row-gap-xl-3{row-gap:1rem}.row-gap-xl-4{row-gap:1.5rem}.row-gap-xl-5{row-gap:3rem}.column-gap-xl-0{-moz-column-gap:0;column-gap:0}.column-gap-xl-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-xl-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-xl-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-xl-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-xl-5{-moz-column-gap:3rem;column-gap:3rem}.text-xl-start{text-align:start}.text-xl-end{text-align:end}.text-xl-center{text-align:center}}@media (min-width:1536px){.float-2xl-start{float:inline-start}.float-2xl-end{float:inline-end}.float-2xl-none{float:none}.object-fit-2xl-contain{-o-object-fit:contain;object-fit:contain}.object-fit-2xl-cover{-o-object-fit:cover;object-fit:cover}.object-fit-2xl-fill{-o-object-fit:fill;object-fit:fill}.object-fit-2xl-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-2xl-none{-o-object-fit:none;object-fit:none}.d-2xl-inline{display:inline}.d-2xl-inline-block{display:inline-block}.d-2xl-block{display:block}.d-2xl-grid{display:grid}.d-2xl-inline-grid{display:inline-grid}.d-2xl-table{display:table}.d-2xl-table-row{display:table-row}.d-2xl-table-cell{display:table-cell}.d-2xl-flex{display:flex}.d-2xl-inline-flex{display:inline-flex}.d-2xl-contents{display:contents}.d-2xl-flow-root{display:flow-root}.d-2xl-none{display:none}.flex-2xl-fill{flex:auto}.flex-2xl-row{flex-direction:row}.flex-2xl-column{flex-direction:column}.flex-2xl-row-reverse{flex-direction:row-reverse}.flex-2xl-column-reverse{flex-direction:column-reverse}.flex-2xl-grow-0{flex-grow:0}.flex-2xl-grow-1{flex-grow:1}.flex-2xl-shrink-0{flex-shrink:0}.flex-2xl-shrink-1{flex-shrink:1}.flex-2xl-wrap{flex-wrap:wrap}.flex-2xl-nowrap{flex-wrap:nowrap}.flex-2xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-2xl-start{justify-content:flex-start}.justify-content-2xl-end{justify-content:flex-end}.justify-content-2xl-center{justify-content:center}.justify-content-2xl-between{justify-content:space-between}.justify-content-2xl-around{justify-content:space-around}.justify-content-2xl-evenly{justify-content:space-evenly}.justify-items-2xl-start{justify-items:start}.justify-items-2xl-end{justify-items:end}.justify-items-2xl-center{justify-items:center}.justify-items-2xl-stretch{justify-items:stretch}.justify-self-2xl-start{justify-self:flex-start}.justify-self-2xl-end{justify-self:flex-end}.justify-self-2xl-center{justify-self:center}.align-items-2xl-start{align-items:flex-start}.align-items-2xl-end{align-items:flex-end}.align-items-2xl-center{align-items:center}.align-items-2xl-baseline{align-items:baseline}.align-items-2xl-stretch{align-items:stretch}.align-content-2xl-start{align-content:flex-start}.align-content-2xl-end{align-content:flex-end}.align-content-2xl-center{align-content:center}.align-content-2xl-between{align-content:space-between}.align-content-2xl-around{align-content:space-around}.align-content-2xl-stretch{align-content:stretch}.align-self-2xl-auto{align-self:auto}.align-self-2xl-start{align-self:flex-start}.align-self-2xl-end{align-self:flex-end}.align-self-2xl-center{align-self:center}.align-self-2xl-baseline{align-self:baseline}.align-self-2xl-stretch{align-self:stretch}.place-items-2xl-start{place-items:start}.place-items-2xl-end{place-items:end}.place-items-2xl-center{place-items:center}.place-items-2xl-stretch{place-items:stretch stretch}.grid-cols-2xl-2{grid-template-columns:repeat(2,1fr)}.grid-cols-2xl-3{grid-template-columns:repeat(3,1fr)}.grid-cols-2xl-4{grid-template-columns:repeat(4,1fr)}.grid-cols-2xl-6{grid-template-columns:repeat(6,1fr)}.grid-cols-2xl-fill{grid-column:1/-1}.grid-auto-flow-2xl-row{grid-auto-flow:row}.grid-auto-flow-2xl-column{grid-auto-flow:column}.grid-auto-flow-2xl-dense{grid-auto-flow:dense}.order-2xl-first{order:-1}.order-2xl-0{order:0}.order-2xl-1{order:1}.order-2xl-2{order:2}.order-2xl-3{order:3}.order-2xl-4{order:4}.order-2xl-5{order:5}.order-2xl-last{order:6}.m-2xl-0{margin:0}.m-2xl-1{margin:.25rem}.m-2xl-2{margin:.5rem}.m-2xl-3{margin:1rem}.m-2xl-4{margin:1.5rem}.m-2xl-5{margin:3rem}.m-2xl-auto{margin:auto}.mx-2xl-0{margin-inline:0}.mx-2xl-1{margin-inline:.25rem}.mx-2xl-2{margin-inline:.5rem}.mx-2xl-3{margin-inline:1rem}.mx-2xl-4{margin-inline:1.5rem}.mx-2xl-5{margin-inline:3rem}.mx-2xl-auto{margin-inline:auto}.my-2xl-0{margin-block:0}.my-2xl-1{margin-block:.25rem}.my-2xl-2{margin-block:.5rem}.my-2xl-3{margin-block:1rem}.my-2xl-4{margin-block:1.5rem}.my-2xl-5{margin-block:3rem}.my-2xl-auto{margin-block:auto}.mt-2xl-0{margin-block-start:0}.mt-2xl-1{margin-block-start:.25rem}.mt-2xl-2{margin-block-start:.5rem}.mt-2xl-3{margin-block-start:1rem}.mt-2xl-4{margin-block-start:1.5rem}.mt-2xl-5{margin-block-start:3rem}.mt-2xl-auto{margin-block-start:auto}.me-2xl-0{margin-inline-end:0}.me-2xl-1{margin-inline-end:.25rem}.me-2xl-2{margin-inline-end:.5rem}.me-2xl-3{margin-inline-end:1rem}.me-2xl-4{margin-inline-end:1.5rem}.me-2xl-5{margin-inline-end:3rem}.me-2xl-auto{margin-inline-end:auto}.mb-2xl-0{margin-block-end:0}.mb-2xl-1{margin-block-end:.25rem}.mb-2xl-2{margin-block-end:.5rem}.mb-2xl-3{margin-block-end:1rem}.mb-2xl-4{margin-block-end:1.5rem}.mb-2xl-5{margin-block-end:3rem}.mb-2xl-auto{margin-block-end:auto}.ms-2xl-0{margin-inline-start:0}.ms-2xl-1{margin-inline-start:.25rem}.ms-2xl-2{margin-inline-start:.5rem}.ms-2xl-3{margin-inline-start:1rem}.ms-2xl-4{margin-inline-start:1.5rem}.ms-2xl-5{margin-inline-start:3rem}.ms-2xl--1{margin-inline-start:-.25rem}.ms-2xl--2{margin-inline-start:-.5rem}.ms-2xl-auto{margin-inline-start:auto}.p-2xl-0{padding:0}.p-2xl-1{padding:.25rem}.p-2xl-2{padding:.5rem}.p-2xl-3{padding:1rem}.p-2xl-4{padding:1.5rem}.p-2xl-5{padding:3rem}.px-2xl-0{padding-inline:0}.px-2xl-1{padding-inline:.25rem}.px-2xl-2{padding-inline:.5rem}.px-2xl-3{padding-inline:1rem}.px-2xl-4{padding-inline:1.5rem}.px-2xl-5{padding-inline:3rem}.py-2xl-0{padding-block:0}.py-2xl-1{padding-block:.25rem}.py-2xl-2{padding-block:.5rem}.py-2xl-3{padding-block:1rem}.py-2xl-4{padding-block:1.5rem}.py-2xl-5{padding-block:3rem}.pt-2xl-0{padding-block-start:0}.pt-2xl-1{padding-block-start:.25rem}.pt-2xl-2{padding-block-start:.5rem}.pt-2xl-3{padding-block-start:1rem}.pt-2xl-4{padding-block-start:1.5rem}.pt-2xl-5{padding-block-start:3rem}.pe-2xl-0{padding-inline-end:0}.pe-2xl-1{padding-inline-end:.25rem}.pe-2xl-2{padding-inline-end:.5rem}.pe-2xl-3{padding-inline-end:1rem}.pe-2xl-4{padding-inline-end:1.5rem}.pe-2xl-5{padding-inline-end:3rem}.pb-2xl-0{padding-block-end:0}.pb-2xl-1{padding-block-end:.25rem}.pb-2xl-2{padding-block-end:.5rem}.pb-2xl-3{padding-block-end:1rem}.pb-2xl-4{padding-block-end:1.5rem}.pb-2xl-5{padding-block-end:3rem}.ps-2xl-0{padding-inline-start:0}.ps-2xl-1{padding-inline-start:.25rem}.ps-2xl-2{padding-inline-start:.5rem}.ps-2xl-3{padding-inline-start:1rem}.ps-2xl-4{padding-inline-start:1.5rem}.ps-2xl-5{padding-inline-start:3rem}.gap-2xl-0{gap:0}.gap-2xl-1{gap:.25rem}.gap-2xl-2{gap:.5rem}.gap-2xl-3{gap:1rem}.gap-2xl-4{gap:1.5rem}.gap-2xl-5{gap:3rem}.row-gap-2xl-0{row-gap:0}.row-gap-2xl-1{row-gap:.25rem}.row-gap-2xl-2{row-gap:.5rem}.row-gap-2xl-3{row-gap:1rem}.row-gap-2xl-4{row-gap:1.5rem}.row-gap-2xl-5{row-gap:3rem}.column-gap-2xl-0{-moz-column-gap:0;column-gap:0}.column-gap-2xl-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-2xl-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-2xl-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-2xl-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-2xl-5{-moz-column-gap:3rem;column-gap:3rem}.text-2xl-start{text-align:start}.text-2xl-end{text-align:end}.text-2xl-center{text-align:center}}}:root{--bs-black:#000;--bs-white:#fff;--bs-gradient:linear-gradient(180deg, color-mix(var(--bs-white) 15%, transparent), color-mix(var(--bs-white) 0%, transparent));--bs-font-weight-lighter:lighter;--bs-font-weight-light:300;--bs-font-weight-normal:400;--bs-font-weight-medium:500;--bs-font-weight-semibold:600;--bs-font-weight-bold:700;--bs-font-weight-bolder:bolder;--bs-body-font-family:system-ui;--bs-body-font-size:var(--bs-font-size-base);--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-heading-color:inherit;--bs-hr-border-color:var(--bs-border-color);--bs-link-color:var(--lightningcss-light,var(--bs-primary-base))var(--lightningcss-dark,var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-font-mono:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-code-font-size:95%;--bs-code-color:var(--bs-fg-2);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200)))var(--lightningcss-dark,var(--bs-gray-700));--bs-border-color-translucent:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-border-radius:.5rem;--bs-border-radius-xs:.375rem;--bs-border-radius-sm:.5rem;--bs-border-radius-lg:.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0,0,0,.15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0,0,0,.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0,0,0,.176);--bs-box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);--bs-spacer:1rem;--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-control-checked-bg:var(--bs-primary-base);--bs-control-checked-border-color:var(--bs-control-checked-bg);--bs-control-active-bg:var(--bs-primary-base);--bs-control-active-border-color:var(--bs-control-active-bg);--bs-control-disabled-bg:var(--bs-bg-3);--bs-control-disabled-opacity:.65;--bs-btn-input-fg:var(--bs-fg-body);--bs-btn-input-bg:var(--bs-bg-body);--bs-btn-input-min-height:2.375rem;--bs-btn-input-padding-y:.375rem;--bs-btn-input-padding-x:.75rem;--bs-btn-input-font-size:var(--bs-font-size-base);--bs-btn-input-line-height:var(--bs-line-height-base);--bs-btn-input-border-radius:var(--bs-border-radius);--bs-btn-input-xs-min-height:1.5rem;--bs-btn-input-xs-padding-y:.125rem;--bs-btn-input-xs-padding-x:.5rem;--bs-btn-input-xs-font-size:var(--bs-font-size-xs);--bs-btn-input-xs-line-height:1.125;--bs-btn-input-xs-border-radius:var(--bs-border-radius-xs);--bs-btn-input-sm-min-height:2rem;--bs-btn-input-sm-padding-y:.25rem;--bs-btn-input-sm-padding-x:.625rem;--bs-btn-input-sm-font-size:var(--bs-font-size-sm);--bs-btn-input-sm-line-height:var(--bs-line-height-sm);--bs-btn-input-sm-border-radius:var(--bs-border-radius-sm);--bs-btn-input-lg-min-height:2.75rem;--bs-btn-input-lg-padding-y:.5rem;--bs-btn-input-lg-padding-x:1rem;--bs-btn-input-lg-font-size:var(--bs-font-size-md);--bs-btn-input-lg-line-height:var(--bs-line-height-md);--bs-btn-input-lg-border-radius:var(--bs-border-radius-lg);--bs-form-valid-color:var(--bs-success-text);--bs-form-valid-border-color:var(--bs-success-text);--bs-form-invalid-color:var(--bs-danger-text);--bs-form-invalid-border-color:var(--bs-danger-text);--bs-font-size-xs:.75rem;--bs-line-height-xs:1.25;--bs-font-size-sm:.875rem;--bs-line-height-sm:1.5;--bs-font-size-md:1rem;--bs-line-height-md:1.5;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-line-height-lg:1.5;--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-line-height-xl:1.42857;--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-line-height-2xl:1.33333;--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-line-height-3xl:1.2;--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-line-height-4xl:1.1;--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-line-height-5xl:1.1;--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-6xl:1;--bs-primary-base:var(--bs-blue-500);--bs-primary-text:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));--bs-primary-text-emphasis:var(--lightningcss-light,var(--bs-blue-800))var(--lightningcss-dark,var(--bs-blue-200));--bs-primary-bg:var(--bs-blue-500);--bs-primary-bg-subtle:var(--lightningcss-light,var(--bs-blue-100))var(--lightningcss-dark,var(--bs-blue-900));--bs-primary-bg-muted:var(--lightningcss-light,var(--bs-blue-200))var(--lightningcss-dark,var(--bs-blue-800));--bs-primary-border:var(--lightningcss-light,var(--bs-blue-300))var(--lightningcss-dark,var(--bs-blue-600));--bs-primary-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)));--bs-primary-contrast:var(--bs-white);--bs-accent-base:var(--bs-indigo-500);--bs-accent-text:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));--bs-accent-text-emphasis:var(--lightningcss-light,var(--bs-indigo-800))var(--lightningcss-dark,var(--bs-indigo-300));--bs-accent-bg:var(--bs-indigo-500);--bs-accent-bg-subtle:var(--lightningcss-light,var(--bs-indigo-100))var(--lightningcss-dark,var(--bs-indigo-900));--bs-accent-bg-muted:var(--lightningcss-light,var(--bs-indigo-200))var(--lightningcss-dark,var(--bs-indigo-800));--bs-accent-border:var(--lightningcss-light,var(--bs-indigo-300))var(--lightningcss-dark,var(--bs-indigo-600));--bs-accent-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)));--bs-accent-contrast:var(--bs-white);--bs-success-base:var(--bs-green-500);--bs-success-text:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));--bs-success-text-emphasis:var(--lightningcss-light,var(--bs-green-800))var(--lightningcss-dark,var(--bs-green-300));--bs-success-bg:var(--bs-green-500);--bs-success-bg-subtle:var(--lightningcss-light,var(--bs-green-100))var(--lightningcss-dark,var(--bs-green-900));--bs-success-bg-muted:var(--lightningcss-light,var(--bs-green-200))var(--lightningcss-dark,var(--bs-green-800));--bs-success-border:var(--lightningcss-light,var(--bs-green-300))var(--lightningcss-dark,var(--bs-green-600));--bs-success-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)));--bs-success-contrast:var(--bs-white);--bs-danger-base:var(--bs-red-500);--bs-danger-text:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));--bs-danger-text-emphasis:var(--lightningcss-light,var(--bs-red-800))var(--lightningcss-dark,var(--bs-red-300));--bs-danger-bg:var(--bs-red-500);--bs-danger-bg-subtle:var(--lightningcss-light,var(--bs-red-100))var(--lightningcss-dark,var(--bs-red-900));--bs-danger-bg-muted:var(--lightningcss-light,var(--bs-red-200))var(--lightningcss-dark,var(--bs-red-800));--bs-danger-border:var(--lightningcss-light,var(--bs-red-300))var(--lightningcss-dark,var(--bs-red-600));--bs-danger-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)));--bs-danger-contrast:var(--bs-white);--bs-warning-base:var(--bs-yellow-500);--bs-warning-text:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));--bs-warning-text-emphasis:var(--lightningcss-light,var(--bs-yellow-800))var(--lightningcss-dark,var(--bs-yellow-300));--bs-warning-bg:var(--bs-yellow-500);--bs-warning-bg-subtle:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));--bs-warning-bg-muted:var(--lightningcss-light,var(--bs-yellow-200))var(--lightningcss-dark,var(--bs-yellow-800));--bs-warning-border:var(--lightningcss-light,var(--bs-yellow-300))var(--lightningcss-dark,var(--bs-yellow-600));--bs-warning-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)));--bs-warning-contrast:var(--bs-gray-900);--bs-info-base:var(--bs-cyan-500);--bs-info-text:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));--bs-info-text-emphasis:var(--lightningcss-light,var(--bs-cyan-800))var(--lightningcss-dark,var(--bs-cyan-300));--bs-info-bg:var(--bs-cyan-500);--bs-info-bg-subtle:var(--lightningcss-light,var(--bs-cyan-100))var(--lightningcss-dark,var(--bs-cyan-900));--bs-info-bg-muted:var(--lightningcss-light,var(--bs-cyan-200))var(--lightningcss-dark,var(--bs-cyan-800));--bs-info-border:var(--lightningcss-light,var(--bs-cyan-300))var(--lightningcss-dark,var(--bs-cyan-600));--bs-info-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)));--bs-info-contrast:var(--bs-gray-900);--bs-inverse-base:var(--bs-gray-900);--bs-inverse-text:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));--bs-inverse-text-emphasis:var(--lightningcss-light,var(--bs-gray-975))var(--lightningcss-dark,var(--bs-white));--bs-inverse-bg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));--bs-inverse-bg-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-inverse-bg-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-300));--bs-inverse-border:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-100));--bs-inverse-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-100)) 50%, var(--bs-bg-body));--bs-inverse-contrast:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-900));--bs-secondary-base:var(--bs-gray-200);--bs-secondary-text:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));--bs-secondary-text-emphasis:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-secondary-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-bg-subtle:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-800));--bs-secondary-bg-muted:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-700));--bs-secondary-border:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-300)) 50%, var(--bs-bg-body));--bs-secondary-contrast:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));--bs-bg-body:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-975));--bs-bg-1:var(--lightningcss-light,var(--bs-gray-025))var(--lightningcss-dark,var(--bs-gray-950));--bs-bg-2:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-900));--bs-bg-3:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-800));--bs-bg-4:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-700));--bs-bg-white:var(--bs-white);--bs-bg-black:var(--bs-black);--bs-bg-transparent:transparent;--bs-bg-inherit:inherit;--bs-fg-body:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-050));--bs-fg-1:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-fg-2:var(--lightningcss-light,var(--bs-gray-700))var(--lightningcss-dark,var(--bs-gray-300));--bs-fg-3:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-500));--bs-fg-4:var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-600));--bs-fg-white:var(--bs-white);--bs-fg-black:var(--bs-black);--bs-fg-inherit:inherit;--bs-border-bg:var(--bs-bg-body);--bs-border-body:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-border-emphasized:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-600));--bs-border-white:var(--bs-white);--bs-border-black:var(--bs-black);--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-bs-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-bs-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}
+:root{--bs-blue-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .24 240));--bs-blue-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .24 240));--bs-blue-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .24 240));--bs-blue-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .24 240));--bs-blue-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .24 240));--bs-blue-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .24 240));--bs-blue-500:oklch(60% .24 240);--bs-blue-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .24 240));--bs-blue-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .24 240));--bs-blue-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .24 240));--bs-blue-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .24 240));--bs-blue-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .24 240));--bs-blue-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .24 240));--bs-indigo-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .26 288));--bs-indigo-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .26 288));--bs-indigo-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .26 288));--bs-indigo-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .26 288));--bs-indigo-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .26 288));--bs-indigo-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .26 288));--bs-indigo-500:oklch(56% .26 288);--bs-indigo-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .26 288));--bs-indigo-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .26 288));--bs-indigo-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .26 288));--bs-indigo-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .26 288));--bs-indigo-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .26 288));--bs-indigo-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .26 288));--bs-violet-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 300));--bs-violet-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 300));--bs-violet-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 300));--bs-violet-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 300));--bs-violet-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 300));--bs-violet-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 300));--bs-violet-500:oklch(56% .24 300);--bs-violet-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 300));--bs-violet-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 300));--bs-violet-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 300));--bs-violet-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 300));--bs-violet-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 300));--bs-violet-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 300));--bs-purple-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 320));--bs-purple-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 320));--bs-purple-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 320));--bs-purple-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 320));--bs-purple-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 320));--bs-purple-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 320));--bs-purple-500:oklch(56% .24 320);--bs-purple-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 320));--bs-purple-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 320));--bs-purple-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 320));--bs-purple-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 320));--bs-purple-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 320));--bs-purple-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 320));--bs-pink-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 4));--bs-pink-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 4));--bs-pink-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 4));--bs-pink-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 4));--bs-pink-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 4));--bs-pink-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 4));--bs-pink-500:oklch(60% .22 4);--bs-pink-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 4));--bs-pink-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 4));--bs-pink-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 4));--bs-pink-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 4));--bs-pink-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 4));--bs-pink-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 4));--bs-red-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 20));--bs-red-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 20));--bs-red-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 20));--bs-red-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 20));--bs-red-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 20));--bs-red-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 20));--bs-red-500:oklch(60% .22 20);--bs-red-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 20));--bs-red-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 20));--bs-red-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 20));--bs-red-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 20));--bs-red-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 20));--bs-red-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 20));--bs-orange-025:color-mix(in lab, var(--bs-white) 94%, oklch(70% .22 52));--bs-orange-050:color-mix(in lab, var(--bs-white) 90%, oklch(70% .22 52));--bs-orange-100:color-mix(in lab, var(--bs-white) 80%, oklch(70% .22 52));--bs-orange-200:color-mix(in lab, var(--bs-white) 60%, oklch(70% .22 52));--bs-orange-300:color-mix(in lab, var(--bs-white) 40%, oklch(70% .22 52));--bs-orange-400:color-mix(in lab, var(--bs-white) 20%, oklch(70% .22 52));--bs-orange-500:oklch(70% .22 52);--bs-orange-600:color-mix(in lab, var(--bs-black) 16%, oklch(70% .22 52));--bs-orange-700:color-mix(in lab, var(--bs-black) 32%, oklch(70% .22 52));--bs-orange-800:color-mix(in lab, var(--bs-black) 48%, oklch(70% .22 52));--bs-orange-900:color-mix(in lab, var(--bs-black) 64%, oklch(70% .22 52));--bs-orange-950:color-mix(in lab, var(--bs-black) 76%, oklch(70% .22 52));--bs-orange-975:color-mix(in lab, var(--bs-black) 88%, oklch(70% .22 52));--bs-amber-025:color-mix(in lab, var(--bs-white) 94%, oklch(79% .2 78));--bs-amber-050:color-mix(in lab, var(--bs-white) 90%, oklch(79% .2 78));--bs-amber-100:color-mix(in lab, var(--bs-white) 80%, oklch(79% .2 78));--bs-amber-200:color-mix(in lab, var(--bs-white) 60%, oklch(79% .2 78));--bs-amber-300:color-mix(in lab, var(--bs-white) 40%, oklch(79% .2 78));--bs-amber-400:color-mix(in lab, var(--bs-white) 20%, oklch(79% .2 78));--bs-amber-500:oklch(79% .2 78);--bs-amber-600:color-mix(in lab, var(--bs-black) 16%, oklch(79% .2 78));--bs-amber-700:color-mix(in lab, var(--bs-black) 32%, oklch(79% .2 78));--bs-amber-800:color-mix(in lab, var(--bs-black) 48%, oklch(79% .2 78));--bs-amber-900:color-mix(in lab, var(--bs-black) 64%, oklch(79% .2 78));--bs-amber-950:color-mix(in lab, var(--bs-black) 76%, oklch(79% .2 78));--bs-amber-975:color-mix(in lab, var(--bs-black) 88%, oklch(79% .2 78));--bs-yellow-025:color-mix(in lab, var(--bs-white) 94%, oklch(88% .24 88));--bs-yellow-050:color-mix(in lab, var(--bs-white) 90%, oklch(88% .24 88));--bs-yellow-100:color-mix(in lab, var(--bs-white) 80%, oklch(88% .24 88));--bs-yellow-200:color-mix(in lab, var(--bs-white) 60%, oklch(88% .24 88));--bs-yellow-300:color-mix(in lab, var(--bs-white) 40%, oklch(88% .24 88));--bs-yellow-400:color-mix(in lab, var(--bs-white) 20%, oklch(88% .24 88));--bs-yellow-500:oklch(88% .24 88);--bs-yellow-600:color-mix(in lab, var(--bs-black) 16%, oklch(88% .24 88));--bs-yellow-700:color-mix(in lab, var(--bs-black) 32%, oklch(88% .24 88));--bs-yellow-800:color-mix(in lab, var(--bs-black) 48%, oklch(88% .24 88));--bs-yellow-900:color-mix(in lab, var(--bs-black) 64%, oklch(88% .24 88));--bs-yellow-950:color-mix(in lab, var(--bs-black) 76%, oklch(88% .24 88));--bs-yellow-975:color-mix(in lab, var(--bs-black) 88%, oklch(88% .24 88));--bs-lime-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .24 135));--bs-lime-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .24 135));--bs-lime-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .24 135));--bs-lime-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .24 135));--bs-lime-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .24 135));--bs-lime-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .24 135));--bs-lime-500:oklch(65% .24 135);--bs-lime-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .24 135));--bs-lime-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .24 135));--bs-lime-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .24 135));--bs-lime-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .24 135));--bs-lime-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .24 135));--bs-lime-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .24 135));--bs-green-025:color-mix(in lab, var(--bs-white) 94%, oklch(64% .22 160));--bs-green-050:color-mix(in lab, var(--bs-white) 90%, oklch(64% .22 160));--bs-green-100:color-mix(in lab, var(--bs-white) 80%, oklch(64% .22 160));--bs-green-200:color-mix(in lab, var(--bs-white) 60%, oklch(64% .22 160));--bs-green-300:color-mix(in lab, var(--bs-white) 40%, oklch(64% .22 160));--bs-green-400:color-mix(in lab, var(--bs-white) 20%, oklch(64% .22 160));--bs-green-500:oklch(64% .22 160);--bs-green-600:color-mix(in lab, var(--bs-black) 16%, oklch(64% .22 160));--bs-green-700:color-mix(in lab, var(--bs-black) 32%, oklch(64% .22 160));--bs-green-800:color-mix(in lab, var(--bs-black) 48%, oklch(64% .22 160));--bs-green-900:color-mix(in lab, var(--bs-black) 64%, oklch(64% .22 160));--bs-green-950:color-mix(in lab, var(--bs-black) 76%, oklch(64% .22 160));--bs-green-975:color-mix(in lab, var(--bs-black) 88%, oklch(64% .22 160));--bs-teal-025:color-mix(in lab, var(--bs-white) 94%, oklch(68% .22 190));--bs-teal-050:color-mix(in lab, var(--bs-white) 90%, oklch(68% .22 190));--bs-teal-100:color-mix(in lab, var(--bs-white) 80%, oklch(68% .22 190));--bs-teal-200:color-mix(in lab, var(--bs-white) 60%, oklch(68% .22 190));--bs-teal-300:color-mix(in lab, var(--bs-white) 40%, oklch(68% .22 190));--bs-teal-400:color-mix(in lab, var(--bs-white) 20%, oklch(68% .22 190));--bs-teal-500:oklch(68% .22 190);--bs-teal-600:color-mix(in lab, var(--bs-black) 16%, oklch(68% .22 190));--bs-teal-700:color-mix(in lab, var(--bs-black) 32%, oklch(68% .22 190));--bs-teal-800:color-mix(in lab, var(--bs-black) 48%, oklch(68% .22 190));--bs-teal-900:color-mix(in lab, var(--bs-black) 64%, oklch(68% .22 190));--bs-teal-950:color-mix(in lab, var(--bs-black) 76%, oklch(68% .22 190));--bs-teal-975:color-mix(in lab, var(--bs-black) 88%, oklch(68% .22 190));--bs-cyan-025:color-mix(in lab, var(--bs-white) 94%, oklch(69% .22 220));--bs-cyan-050:color-mix(in lab, var(--bs-white) 90%, oklch(69% .22 220));--bs-cyan-100:color-mix(in lab, var(--bs-white) 80%, oklch(69% .22 220));--bs-cyan-200:color-mix(in lab, var(--bs-white) 60%, oklch(69% .22 220));--bs-cyan-300:color-mix(in lab, var(--bs-white) 40%, oklch(69% .22 220));--bs-cyan-400:color-mix(in lab, var(--bs-white) 20%, oklch(69% .22 220));--bs-cyan-500:oklch(69% .22 220);--bs-cyan-600:color-mix(in lab, var(--bs-black) 16%, oklch(69% .22 220));--bs-cyan-700:color-mix(in lab, var(--bs-black) 32%, oklch(69% .22 220));--bs-cyan-800:color-mix(in lab, var(--bs-black) 48%, oklch(69% .22 220));--bs-cyan-900:color-mix(in lab, var(--bs-black) 64%, oklch(69% .22 220));--bs-cyan-950:color-mix(in lab, var(--bs-black) 76%, oklch(69% .22 220));--bs-cyan-975:color-mix(in lab, var(--bs-black) 88%, oklch(69% .22 220));--bs-brown-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .12 54));--bs-brown-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .12 54));--bs-brown-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .12 54));--bs-brown-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .12 54));--bs-brown-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .12 54));--bs-brown-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .12 54));--bs-brown-500:oklch(60% .12 54);--bs-brown-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .12 54));--bs-brown-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .12 54));--bs-brown-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .12 54));--bs-brown-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .12 54));--bs-brown-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .12 54));--bs-brown-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .12 54));--bs-gray-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .02 245));--bs-gray-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .02 245));--bs-gray-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .02 245));--bs-gray-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .02 245));--bs-gray-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .02 245));--bs-gray-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .02 245));--bs-gray-500:oklch(60% .02 245);--bs-gray-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .02 245));--bs-gray-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .02 245));--bs-gray-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .02 245));--bs-gray-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .02 245));--bs-gray-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .02 245));--bs-gray-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .02 245));--bs-pewter-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .01 290));--bs-pewter-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .01 290));--bs-pewter-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .01 290));--bs-pewter-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .01 290));--bs-pewter-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .01 290));--bs-pewter-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .01 290));--bs-pewter-500:oklch(65% .01 290);--bs-pewter-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .01 290));--bs-pewter-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .01 290));--bs-pewter-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .01 290));--bs-pewter-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .01 290));--bs-pewter-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .01 290));--bs-pewter-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .01 290))}@layer colors,theme,config,root,reboot,layout,content,forms,components,custom;@layer helpers{.focus-ring:focus-visible{outline:var(--bs-focus-ring)}.icon-link{text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity,.5));text-underline-offset:.25em;backface-visibility:hidden;align-items:center;gap:.375rem;display:inline-flex}.icon-link>.bi{fill:currentColor;flex-shrink:0;width:1em;height:1em;transition:transform .2s ease-in-out}@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(.25em, 0, 0))}.fixed-top{z-index:1030;position:fixed;inset:0 0 auto}.fixed-bottom{z-index:1030;position:fixed;inset:auto 0 0}.sticky-top{z-index:1020;position:sticky;top:0}.sticky-bottom{z-index:1020;position:sticky;bottom:0}@media (width>=576px){.sm\:sticky-top{z-index:1020;position:sticky;top:0}.sm\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (width>=768px){.md\:sticky-top{z-index:1020;position:sticky;top:0}.md\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (width>=1024px){.lg\:sticky-top{z-index:1020;position:sticky;top:0}.lg\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (width>=1280px){.xl\:sticky-top{z-index:1020;position:sticky;top:0}.xl\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (width>=1536px){.\32 xl\:sticky-top{z-index:1020;position:sticky;top:0}.\32 xl\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}.stack-container{container-type:inline-size}[class*=hstack],[class*=vstack]{flex:var(--bs-stack-flex,1 1 auto);flex-direction:var(--bs-stack-direction,row);align-items:var(--bs-stack-align-items,center);align-self:var(--bs-stack-align-self,stretch);display:flex}.vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}@container (width>=576px){.sm\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.sm\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=768px){.md\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.md\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1024px){.lg\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.lg\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1280px){.xl\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.xl\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1536px){.\32 xl\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.\32 xl\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!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{z-index:1;content:"";position:absolute;inset:0}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vr{width:var(--bs-vr-border-width,var(--bs-border-width));background-color:var(--bs-border-color);align-self:stretch;min-height:1em;display:inline-block}}@layer utilities{.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-bottom{vertical-align:text-bottom}.align-text-top{vertical-align:text-top}[class*=ratio-]{aspect-ratio:var(--bs-ratio)}.ratio-auto{--bs-ratio:auto}.ratio-1x1{--bs-ratio:1 / 1}.ratio-4x3{--bs-ratio:4 / 3}.ratio-16x9{--bs-ratio:16 / 9}.ratio-21x9{--bs-ratio:21 / 9}.float-start{float:inline-start}.float-end{float:inline-end}.float-none{float:none}.object-fit-contain{-o-object-fit:contain;object-fit:contain}.object-fit-cover{-o-object-fit:cover;object-fit:cover}.object-fit-fill{-o-object-fit:fill;object-fit:fill}.object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-none{-o-object-fit:none;object-fit:none}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.contains-inline{container-type:inline-size}.contains-size{container-type:size}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.shadow{box-shadow:var(--bs-box-shadow)}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)}.shadow-none{box-shadow:none}.focus-ring-primary{--bs-focus-ring-color:light-dark(color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)))}.focus-ring-accent{--bs-focus-ring-color:light-dark(color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)))}.focus-ring-success{--bs-focus-ring-color:light-dark(color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)))}.focus-ring-danger{--bs-focus-ring-color:light-dark(color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)))}.focus-ring-warning{--bs-focus-ring-color:light-dark(color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)))}.focus-ring-info{--bs-focus-ring-color:light-dark(color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)))}.focus-ring-inverse{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-gray-900),var(--bs-gray-100)) 50%, var(--bs-bg-body))}.focus-ring-secondary{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-gray-500),var(--bs-gray-300)) 50%, var(--bs-bg-body))}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.top-0{top:0}.top-50{top:50%}.top-100{top:100%}.bottom-0{bottom:0}.bottom-50{bottom:50%}.bottom-100{bottom:100%}.start-0{left:0}.start-50{left:50%}.start-100{left:100%}.end-0{right:0}.end-50{right:50%}.end-100{right:100%}.translate-middle{transform:translate(-50%,-50%)}.translate-middle-x{transform:translate(-50%)}.translate-middle-y{transform:translateY(-50%)}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-0{border:0}.border-top{border-block-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-top-0{border-block-start:0}.border-end{border-inline-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-end-0{border-inline-end:0}.border-bottom{border-block-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-bottom-0{border-block-end:0}.border-start{border-inline-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-start-0{border-inline-start:0}.border-block{border-block:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-block-0{border-block:0}.border-inline{border-inline:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-inline-0{border-inline:0}.border-primary{--bs-border-color:var(--bs-blue-500);border-color:var(--bs-border-color)}.border-accent{--bs-border-color:var(--bs-indigo-500);border-color:var(--bs-border-color)}.border-success{--bs-border-color:var(--bs-green-500);border-color:var(--bs-border-color)}.border-danger{--bs-border-color:var(--bs-red-500);border-color:var(--bs-border-color)}.border-warning{--bs-border-color:var(--bs-yellow-500);border-color:var(--bs-border-color)}.border-info{--bs-border-color:var(--bs-cyan-500);border-color:var(--bs-border-color)}.border-inverse{--bs-border-color:light-dark(var(--bs-gray-900),var(--bs-gray-025));border-color:var(--bs-border-color)}.border-secondary{--bs-border-color:light-dark(var(--bs-gray-100),var(--bs-gray-600));border-color:var(--bs-border-color)}.border-bg{--bs-border-color:var(--bs-bg-body);border-color:var(--bs-border-color)}.border-body{--bs-border-color:light-dark(var(--bs-gray-300),var(--bs-gray-800));border-color:var(--bs-border-color)}.border-muted{--bs-border-color:light-dark(var(--bs-gray-200),var(--bs-gray-800));border-color:var(--bs-border-color)}.border-subtle{--bs-border-color:light-dark(var(--bs-gray-100),var(--bs-gray-900));border-color:var(--bs-border-color)}.border-emphasized{--bs-border-color:light-dark(var(--bs-gray-400),var(--bs-gray-600));border-color:var(--bs-border-color)}.border-white{--bs-border-color:var(--bs-white);border-color:var(--bs-border-color)}.border-black{--bs-border-color:var(--bs-black);border-color:var(--bs-border-color)}.border-subtle-primary{--bs-border-color:light-dark(var(--bs-blue-300),var(--bs-blue-600));border-color:var(--bs-border-color)}.border-subtle-accent{--bs-border-color:light-dark(var(--bs-indigo-300),var(--bs-indigo-600));border-color:var(--bs-border-color)}.border-subtle-success{--bs-border-color:light-dark(var(--bs-green-300),var(--bs-green-600));border-color:var(--bs-border-color)}.border-subtle-danger{--bs-border-color:light-dark(var(--bs-red-300),var(--bs-red-600));border-color:var(--bs-border-color)}.border-subtle-warning{--bs-border-color:light-dark(var(--bs-yellow-300),var(--bs-yellow-600));border-color:var(--bs-border-color)}.border-subtle-info{--bs-border-color:light-dark(var(--bs-cyan-300),var(--bs-cyan-600));border-color:var(--bs-border-color)}.border-subtle-inverse{--bs-border-color:light-dark(var(--bs-gray-400),var(--bs-gray-100));border-color:var(--bs-border-color)}.border-subtle-secondary{--bs-border-color:light-dark(var(--bs-gray-300),var(--bs-gray-600));border-color:var(--bs-border-color)}.border-1{border-width:1px}.border-2{border-width:2px}.border-3{border-width:3px}.border-4{border-width:4px}.border-5{border-width:5px}.border-10{border-color:color-mix(in oklch, var(--bs-border-color) 10%, transparent)}.border-20{border-color:color-mix(in oklch, var(--bs-border-color) 20%, transparent)}.border-30{border-color:color-mix(in oklch, var(--bs-border-color) 30%, transparent)}.border-40{border-color:color-mix(in oklch, var(--bs-border-color) 40%, transparent)}.border-50{border-color:color-mix(in oklch, var(--bs-border-color) 50%, transparent)}.border-60{border-color:color-mix(in oklch, var(--bs-border-color) 60%, transparent)}.border-70{border-color:color-mix(in oklch, var(--bs-border-color) 70%, transparent)}.border-80{border-color:color-mix(in oklch, var(--bs-border-color) 80%, transparent)}.border-90{border-color:color-mix(in oklch, var(--bs-border-color) 90%, transparent)}.border-100{border-color:var(--bs-border-color)}.w-1{width:1rem}.w-2{width:2rem}.w-3{width:3rem}.w-4{width:4rem}.w-5{width:5rem}.w-6{width:6rem}.w-7{width:7rem}.w-8{width:8rem}.w-9{width:9rem}.w-10{width:10rem}.w-11{width:11rem}.w-12{width:12rem}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.w-min{width:min-content}.w-max{width:max-content}.w-fit{width:fit-content}.max-w-100{max-width:100%}.min-w-0{min-width:0}.min-w-100{min-width:100%}.vw-100{width:100vw}.min-vw-100{min-width:100vw}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.h-min{height:min-content}.h-max{height:max-content}.h-fit{height:fit-content}.max-h-100{max-height:100%}.min-h-0{min-height:0}.min-h-100{min-height:100%}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.flex-fill{flex:auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.justify-self-start{justify-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-center{justify-self:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch stretch}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:.25rem}.mx-2{margin-inline:.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:.25rem}.my-2{margin-block:.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:.25rem}.mt-2{margin-block-start:.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:.25rem}.mb-2{margin-block-end:.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms--1{margin-inline-start:-.25rem}.ms--2{margin-inline-start:-.5rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:.25rem}.px-2{padding-inline:.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:.25rem}.py-2{padding-block:.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:.25rem}.pt-2{padding-block-start:.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:.25rem}.pb-2{padding-block-end:.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:1rem}.row-gap-4{row-gap:1.5rem}.row-gap-5{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.font-monospace{font-family:var(--bs-font-mono)}.font-body{font-family:var(--bs-body-font-family)}.fs-xs{font-size:.75rem}.fs-sm{font-size:.875rem}.fs-md{font-size:1rem}.fs-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem)}.fs-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem)}.fs-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem)}.fs-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem)}.fs-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem)}.fs-5xl{font-size:clamp(3rem,2rem + 5vw,4rem)}.fs-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem)}.text-xs{font-size:.75rem;line-height:1.25}.text-sm{font-size:.875rem;line-height:1.5}.text-md{font-size:1rem;line-height:1.5}.text-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem);line-height:1.5}.text-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem);line-height:1.42857}.text-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem);line-height:1.33333}.text-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem);line-height:1.2}.text-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem);line-height:1.1}.text-5xl{font-size:clamp(3rem,2rem + 5vw,4rem);line-height:1.1}.text-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem);line-height:1}.fst-italic{font-style:italic}.fst-normal{font-style:normal}.fw-lighter{font-weight:lighter}.fw-light{font-weight:300}.fw-normal{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.fw-bolder{font-weight:bolder}.lh-1{line-height:1}.lh-sm{line-height:1.25}.lh-base{line-height:1.5}.lh-lg{line-height:2}.text-start{text-align:start}.text-end{text-align:end}.text-center{text-align:center}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-decoration-line-through{text-decoration:line-through}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-wrap{white-space:wrap}.text-nowrap{white-space:nowrap}.text-balance{white-space:balance}.text-pretty{white-space:pretty}.text-break{word-wrap:break-word;word-break:break-word}.fg-primary{--bs-fg:light-dark(var(--bs-blue-600),var(--bs-blue-400));color:var(--bs-fg)}.fg-accent{--bs-fg:light-dark(var(--bs-indigo-600),color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));color:var(--bs-fg)}.fg-success{--bs-fg:light-dark(var(--bs-green-600),var(--bs-green-400));color:var(--bs-fg)}.fg-danger{--bs-fg:light-dark(var(--bs-red-600),var(--bs-red-400));color:var(--bs-fg)}.fg-warning{--bs-fg:light-dark(var(--bs-yellow-700),var(--bs-yellow-400));color:var(--bs-fg)}.fg-info{--bs-fg:light-dark(var(--bs-cyan-600),var(--bs-cyan-400));color:var(--bs-fg)}.fg-inverse{--bs-fg:light-dark(var(--bs-gray-900),var(--bs-gray-200));color:var(--bs-fg)}.fg-secondary{--bs-fg:light-dark(var(--bs-gray-600),var(--bs-gray-400));color:var(--bs-fg)}.fg-body{--bs-fg:light-dark(var(--bs-gray-900),var(--bs-gray-050));color:var(--bs-fg)}.fg-1{--bs-fg:light-dark(var(--bs-gray-800),var(--bs-gray-200));color:var(--bs-fg)}.fg-2{--bs-fg:light-dark(var(--bs-gray-700),var(--bs-gray-300));color:var(--bs-fg)}.fg-3{--bs-fg:light-dark(var(--bs-gray-600),var(--bs-gray-500));color:var(--bs-fg)}.fg-4{--bs-fg:light-dark(var(--bs-gray-500),var(--bs-gray-600));color:var(--bs-fg)}.fg-white{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-black{--bs-fg:var(--bs-black);color:var(--bs-fg)}.fg-inherit{--bs-fg:inherit;color:var(--bs-fg)}.fg-emphasis-primary{--bs-fg:light-dark(var(--bs-blue-800),var(--bs-blue-200));color:var(--bs-fg)}.fg-emphasis-accent{--bs-fg:light-dark(var(--bs-indigo-800),var(--bs-indigo-300));color:var(--bs-fg)}.fg-emphasis-success{--bs-fg:light-dark(var(--bs-green-800),var(--bs-green-300));color:var(--bs-fg)}.fg-emphasis-danger{--bs-fg:light-dark(var(--bs-red-800),var(--bs-red-300));color:var(--bs-fg)}.fg-emphasis-warning{--bs-fg:light-dark(var(--bs-yellow-800),var(--bs-yellow-300));color:var(--bs-fg)}.fg-emphasis-info{--bs-fg:light-dark(var(--bs-cyan-800),var(--bs-cyan-300));color:var(--bs-fg)}.fg-emphasis-inverse{--bs-fg:light-dark(var(--bs-gray-975),var(--bs-white));color:var(--bs-fg)}.fg-emphasis-secondary{--bs-fg:light-dark(var(--bs-gray-800),var(--bs-gray-200));color:var(--bs-fg)}.fg-contrast-primary,.fg-contrast-accent,.fg-contrast-success,.fg-contrast-danger{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-warning,.fg-contrast-info{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-inverse{--bs-fg:light-dark(var(--bs-white),var(--bs-gray-900));color:var(--bs-fg)}.fg-contrast-secondary{--bs-fg:light-dark(var(--bs-gray-900),var(--bs-white));color:var(--bs-fg)}.fg-10{color:color-mix(in oklch, var(--bs-fg) 10%, transparent)}.fg-20{color:color-mix(in oklch, var(--bs-fg) 20%, transparent)}.fg-30{color:color-mix(in oklch, var(--bs-fg) 30%, transparent)}.fg-40{color:color-mix(in oklch, var(--bs-fg) 40%, transparent)}.fg-50{color:color-mix(in oklch, var(--bs-fg) 50%, transparent)}.fg-60{color:color-mix(in oklch, var(--bs-fg) 60%, transparent)}.fg-70{color:color-mix(in oklch, var(--bs-fg) 70%, transparent)}.fg-80{color:color-mix(in oklch, var(--bs-fg) 80%, transparent)}.fg-90{color:color-mix(in oklch, var(--bs-fg) 90%, transparent)}.fg-100{color:var(--bs-fg)}.link-10,.link-10-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.link-20,.link-20-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.link-30,.link-30-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.link-40,.link-40-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.link-50,.link-50-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.link-60,.link-60-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.link-70,.link-70-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.link-80,.link-80-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.link-90,.link-90-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.link-100,.link-100-hover:hover{color:var(--bs-link-color)}.underline-offset-1,.underline-offset-1-hover:hover{text-underline-offset:.125em}.underline-offset-2,.underline-offset-2-hover:hover{text-underline-offset:.25em}.underline-offset-3,.underline-offset-3-hover:hover{text-underline-offset:.375em}.underline-primary{text-decoration-color:light-dark(var(--bs-blue-600),var(--bs-blue-400))}.underline-accent{text-decoration-color:light-dark(var(--bs-indigo-600),color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)))}.underline-success{text-decoration-color:light-dark(var(--bs-green-600),var(--bs-green-400))}.underline-danger{text-decoration-color:light-dark(var(--bs-red-600),var(--bs-red-400))}.underline-warning{text-decoration-color:light-dark(var(--bs-yellow-700),var(--bs-yellow-400))}.underline-info{text-decoration-color:light-dark(var(--bs-cyan-600),var(--bs-cyan-400))}.underline-inverse{text-decoration-color:light-dark(var(--bs-gray-900),var(--bs-gray-200))}.underline-secondary{text-decoration-color:light-dark(var(--bs-gray-600),var(--bs-gray-400))}.underline-10,.underline-10-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.underline-20,.underline-20-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.underline-30,.underline-30-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.underline-40,.underline-40-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.underline-50,.underline-50-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.underline-60,.underline-60-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.underline-70,.underline-70-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.underline-80,.underline-80-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.underline-90,.underline-90-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.underline-100,.underline-100-hover:hover{text-decoration-color:var(--bs-link-color)}.underline-thickness-1,.underline-thickness-1-hover:hover{text-decoration-thickness:1px}.underline-thickness-2,.underline-thickness-2-hover:hover{text-decoration-thickness:2px}.underline-thickness-3,.underline-thickness-3-hover:hover{text-decoration-thickness:3px}.underline-thickness-4,.underline-thickness-4-hover:hover{text-decoration-thickness:4px}.underline-thickness-5,.underline-thickness-5-hover:hover{text-decoration-thickness:5px}.bg-primary{--bs-bg:var(--bs-blue-500);background-color:var(--bs-bg)}.bg-accent{--bs-bg:var(--bs-indigo-500);background-color:var(--bs-bg)}.bg-success{--bs-bg:var(--bs-green-500);background-color:var(--bs-bg)}.bg-danger{--bs-bg:var(--bs-red-500);background-color:var(--bs-bg)}.bg-warning{--bs-bg:var(--bs-yellow-500);background-color:var(--bs-bg)}.bg-info{--bs-bg:var(--bs-cyan-500);background-color:var(--bs-bg)}.bg-inverse{--bs-bg:light-dark(var(--bs-gray-900),var(--bs-gray-025));background-color:var(--bs-bg)}.bg-secondary{--bs-bg:light-dark(var(--bs-gray-100),var(--bs-gray-600));background-color:var(--bs-bg)}.bg-body{--bs-bg:light-dark(var(--bs-white),var(--bs-gray-975));background-color:var(--bs-bg)}.bg-1{--bs-bg:light-dark(var(--bs-gray-025),var(--bs-gray-950));background-color:var(--bs-bg)}.bg-2{--bs-bg:light-dark(var(--bs-gray-050),var(--bs-gray-900));background-color:var(--bs-bg)}.bg-3{--bs-bg:light-dark(var(--bs-gray-100),var(--bs-gray-800));background-color:var(--bs-bg)}.bg-4{--bs-bg:light-dark(var(--bs-gray-200),var(--bs-gray-700));background-color:var(--bs-bg)}.bg-white{--bs-bg:var(--bs-white);background-color:var(--bs-bg)}.bg-black{--bs-bg:var(--bs-black);background-color:var(--bs-bg)}.bg-transparent{--bs-bg:transparent;background-color:var(--bs-bg)}.bg-inherit{--bs-bg:inherit;background-color:var(--bs-bg)}.bg-subtle-primary{--bs-bg:light-dark(var(--bs-blue-100),var(--bs-blue-900));background-color:var(--bs-bg)}.bg-subtle-accent{--bs-bg:light-dark(var(--bs-indigo-100),var(--bs-indigo-900));background-color:var(--bs-bg)}.bg-subtle-success{--bs-bg:light-dark(var(--bs-green-100),var(--bs-green-900));background-color:var(--bs-bg)}.bg-subtle-danger{--bs-bg:light-dark(var(--bs-red-100),var(--bs-red-900));background-color:var(--bs-bg)}.bg-subtle-warning{--bs-bg:light-dark(var(--bs-yellow-100),var(--bs-yellow-900));background-color:var(--bs-bg)}.bg-subtle-info{--bs-bg:light-dark(var(--bs-cyan-100),var(--bs-cyan-900));background-color:var(--bs-bg)}.bg-subtle-inverse{--bs-bg:light-dark(var(--bs-gray-100),var(--bs-gray-900));background-color:var(--bs-bg)}.bg-subtle-secondary{--bs-bg:light-dark(var(--bs-gray-050),var(--bs-gray-800));background-color:var(--bs-bg)}.bg-muted-primary{--bs-bg:light-dark(var(--bs-blue-200),var(--bs-blue-800));background-color:var(--bs-bg)}.bg-muted-accent{--bs-bg:light-dark(var(--bs-indigo-200),var(--bs-indigo-800));background-color:var(--bs-bg)}.bg-muted-success{--bs-bg:light-dark(var(--bs-green-200),var(--bs-green-800));background-color:var(--bs-bg)}.bg-muted-danger{--bs-bg:light-dark(var(--bs-red-200),var(--bs-red-800));background-color:var(--bs-bg)}.bg-muted-warning{--bs-bg:light-dark(var(--bs-yellow-200),var(--bs-yellow-800));background-color:var(--bs-bg)}.bg-muted-info{--bs-bg:light-dark(var(--bs-cyan-200),var(--bs-cyan-800));background-color:var(--bs-bg)}.bg-muted-inverse{--bs-bg:light-dark(var(--bs-gray-200),var(--bs-gray-300));background-color:var(--bs-bg)}.bg-muted-secondary{--bs-bg:light-dark(var(--bs-gray-100),var(--bs-gray-700));background-color:var(--bs-bg)}.bg-10{background-color:color-mix(in oklch, var(--bs-bg) 10%, transparent)}.bg-20{background-color:color-mix(in oklch, var(--bs-bg) 20%, transparent)}.bg-30{background-color:color-mix(in oklch, var(--bs-bg) 30%, transparent)}.bg-40{background-color:color-mix(in oklch, var(--bs-bg) 40%, transparent)}.bg-50{background-color:color-mix(in oklch, var(--bs-bg) 50%, transparent)}.bg-60{background-color:color-mix(in oklch, var(--bs-bg) 60%, transparent)}.bg-70{background-color:color-mix(in oklch, var(--bs-bg) 70%, transparent)}.bg-80{background-color:color-mix(in oklch, var(--bs-bg) 80%, transparent)}.bg-90{background-color:color-mix(in oklch, var(--bs-bg) 90%, transparent)}.bg-100{background-color:var(--bs-bg)}.theme-contrast{background-color:var(--bs-theme-bg);color:var(--bs-theme-contrast)}.theme-subtle{background-color:var(--bs-theme-bg-subtle);color:var(--bs-theme-text)}.theme-muted{background-color:var(--bs-theme-bg-muted);color:var(--bs-theme-text-emphasis)}.theme-border{border:var(--bs-border-width) solid var(--bs-theme-border)}.bg-gradient{background-image:var(--bs-gradient)}.user-select-all{user-select:all}.user-select-auto{user-select:auto}.user-select-text{user-select:text}.user-select-none{user-select:none}.pe-none{pointer-events:none}.pe-auto{pointer-events:auto}.rounded{border-radius:var(--bs-border-radius)}.rounded-0{border-radius:0}.rounded-1{border-radius:var(--bs-border-radius-sm)}.rounded-2{border-radius:var(--bs-border-radius)}.rounded-3{border-radius:var(--bs-border-radius-lg)}.rounded-4{border-radius:var(--bs-border-radius-xl)}.rounded-5{border-radius:var(--bs-border-radius-2xl)}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:var(--bs-border-radius-pill)}.rounded-top{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-top-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-top-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-top-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-top-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-top-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-top-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.rounded-end{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-end-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-end-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-end-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-end-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-end-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-end-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-bottom{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-bottom-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-bottom-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-bottom-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-bottom-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-bottom-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-bottom-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-start{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-start-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-start-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-start-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-start-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-start-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-start-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.visible{visibility:visible}.invisible{visibility:hidden}.z-n1{z-index:-1}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}@media (width>=576px){.sm\:float-start{float:inline-start}.sm\:float-end{float:inline-end}.sm\:float-none{float:none}.sm\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.sm\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.sm\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.sm\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.sm\:object-fit-none{-o-object-fit:none;object-fit:none}.sm\:d-inline{display:inline}.sm\:d-inline-block{display:inline-block}.sm\:d-block{display:block}.sm\:d-grid{display:grid}.sm\:d-inline-grid{display:inline-grid}.sm\:d-table{display:table}.sm\:d-table-row{display:table-row}.sm\:d-table-cell{display:table-cell}.sm\:d-flex{display:flex}.sm\:d-inline-flex{display:inline-flex}.sm\:d-contents{display:contents}.sm\:d-flow-root{display:flow-root}.sm\:d-none{display:none}.sm\:flex-fill{flex:auto}.sm\:flex-row{flex-direction:row}.sm\:flex-column{flex-direction:column}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-column-reverse{flex-direction:column-reverse}.sm\:flex-grow-0{flex-grow:0}.sm\:flex-grow-1{flex-grow:1}.sm\:flex-shrink-0{flex-shrink:0}.sm\:flex-shrink-1{flex-shrink:1}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\:justify-content-start{justify-content:flex-start}.sm\:justify-content-end{justify-content:flex-end}.sm\:justify-content-center{justify-content:center}.sm\:justify-content-between{justify-content:space-between}.sm\:justify-content-around{justify-content:space-around}.sm\:justify-content-evenly{justify-content:space-evenly}.sm\:justify-items-start{justify-items:start}.sm\:justify-items-end{justify-items:end}.sm\:justify-items-center{justify-items:center}.sm\:justify-items-stretch{justify-items:stretch}.sm\:justify-self-start{justify-self:flex-start}.sm\:justify-self-end{justify-self:flex-end}.sm\:justify-self-center{justify-self:center}.sm\:align-items-start{align-items:flex-start}.sm\:align-items-end{align-items:flex-end}.sm\:align-items-center{align-items:center}.sm\:align-items-baseline{align-items:baseline}.sm\:align-items-stretch{align-items:stretch}.sm\:align-content-start{align-content:flex-start}.sm\:align-content-end{align-content:flex-end}.sm\:align-content-center{align-content:center}.sm\:align-content-between{align-content:space-between}.sm\:align-content-around{align-content:space-around}.sm\:align-content-stretch{align-content:stretch}.sm\:align-self-auto{align-self:auto}.sm\:align-self-start{align-self:flex-start}.sm\:align-self-end{align-self:flex-end}.sm\:align-self-center{align-self:center}.sm\:align-self-baseline{align-self:baseline}.sm\:align-self-stretch{align-self:stretch}.sm\:place-items-start{place-items:start}.sm\:place-items-end{place-items:end}.sm\:place-items-center{place-items:center}.sm\:place-items-stretch{place-items:stretch stretch}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.sm\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.sm\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.sm\:grid-cols-fill{grid-column:1/-1}.sm\:grid-auto-flow-row{grid-auto-flow:row}.sm\:grid-auto-flow-column{grid-auto-flow:column}.sm\:grid-auto-flow-dense{grid-auto-flow:dense}.sm\:order-first{order:-1}.sm\:order-0{order:0}.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:order-3{order:3}.sm\:order-4{order:4}.sm\:order-5{order:5}.sm\:order-last{order:6}.sm\:m-0{margin:0}.sm\:m-1{margin:.25rem}.sm\:m-2{margin:.5rem}.sm\:m-3{margin:1rem}.sm\:m-4{margin:1.5rem}.sm\:m-5{margin:3rem}.sm\:m-auto{margin:auto}.sm\:mx-0{margin-inline:0}.sm\:mx-1{margin-inline:.25rem}.sm\:mx-2{margin-inline:.5rem}.sm\:mx-3{margin-inline:1rem}.sm\:mx-4{margin-inline:1.5rem}.sm\:mx-5{margin-inline:3rem}.sm\:mx-auto{margin-inline:auto}.sm\:my-0{margin-block:0}.sm\:my-1{margin-block:.25rem}.sm\:my-2{margin-block:.5rem}.sm\:my-3{margin-block:1rem}.sm\:my-4{margin-block:1.5rem}.sm\:my-5{margin-block:3rem}.sm\:my-auto{margin-block:auto}.sm\:mt-0{margin-block-start:0}.sm\:mt-1{margin-block-start:.25rem}.sm\:mt-2{margin-block-start:.5rem}.sm\:mt-3{margin-block-start:1rem}.sm\:mt-4{margin-block-start:1.5rem}.sm\:mt-5{margin-block-start:3rem}.sm\:mt-auto{margin-block-start:auto}.sm\:me-0{margin-inline-end:0}.sm\:me-1{margin-inline-end:.25rem}.sm\:me-2{margin-inline-end:.5rem}.sm\:me-3{margin-inline-end:1rem}.sm\:me-4{margin-inline-end:1.5rem}.sm\:me-5{margin-inline-end:3rem}.sm\:me-auto{margin-inline-end:auto}.sm\:mb-0{margin-block-end:0}.sm\:mb-1{margin-block-end:.25rem}.sm\:mb-2{margin-block-end:.5rem}.sm\:mb-3{margin-block-end:1rem}.sm\:mb-4{margin-block-end:1.5rem}.sm\:mb-5{margin-block-end:3rem}.sm\:mb-auto{margin-block-end:auto}.sm\:ms-0{margin-inline-start:0}.sm\:ms-1{margin-inline-start:.25rem}.sm\:ms-2{margin-inline-start:.5rem}.sm\:ms-3{margin-inline-start:1rem}.sm\:ms-4{margin-inline-start:1.5rem}.sm\:ms-5{margin-inline-start:3rem}.sm\:ms--1{margin-inline-start:-.25rem}.sm\:ms--2{margin-inline-start:-.5rem}.sm\:ms-auto{margin-inline-start:auto}.sm\:p-0{padding:0}.sm\:p-1{padding:.25rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:1rem}.sm\:p-4{padding:1.5rem}.sm\:p-5{padding:3rem}.sm\:px-0{padding-inline:0}.sm\:px-1{padding-inline:.25rem}.sm\:px-2{padding-inline:.5rem}.sm\:px-3{padding-inline:1rem}.sm\:px-4{padding-inline:1.5rem}.sm\:px-5{padding-inline:3rem}.sm\:py-0{padding-block:0}.sm\:py-1{padding-block:.25rem}.sm\:py-2{padding-block:.5rem}.sm\:py-3{padding-block:1rem}.sm\:py-4{padding-block:1.5rem}.sm\:py-5{padding-block:3rem}.sm\:pt-0{padding-block-start:0}.sm\:pt-1{padding-block-start:.25rem}.sm\:pt-2{padding-block-start:.5rem}.sm\:pt-3{padding-block-start:1rem}.sm\:pt-4{padding-block-start:1.5rem}.sm\:pt-5{padding-block-start:3rem}.sm\:pe-0{padding-inline-end:0}.sm\:pe-1{padding-inline-end:.25rem}.sm\:pe-2{padding-inline-end:.5rem}.sm\:pe-3{padding-inline-end:1rem}.sm\:pe-4{padding-inline-end:1.5rem}.sm\:pe-5{padding-inline-end:3rem}.sm\:pb-0{padding-block-end:0}.sm\:pb-1{padding-block-end:.25rem}.sm\:pb-2{padding-block-end:.5rem}.sm\:pb-3{padding-block-end:1rem}.sm\:pb-4{padding-block-end:1.5rem}.sm\:pb-5{padding-block-end:3rem}.sm\:ps-0{padding-inline-start:0}.sm\:ps-1{padding-inline-start:.25rem}.sm\:ps-2{padding-inline-start:.5rem}.sm\:ps-3{padding-inline-start:1rem}.sm\:ps-4{padding-inline-start:1.5rem}.sm\:ps-5{padding-inline-start:3rem}.sm\:gap-0{gap:0}.sm\:gap-1{gap:.25rem}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:1rem}.sm\:gap-4{gap:1.5rem}.sm\:gap-5{gap:3rem}.sm\:row-gap-0{row-gap:0}.sm\:row-gap-1{row-gap:.25rem}.sm\:row-gap-2{row-gap:.5rem}.sm\:row-gap-3{row-gap:1rem}.sm\:row-gap-4{row-gap:1.5rem}.sm\:row-gap-5{row-gap:3rem}.sm\:column-gap-0{-moz-column-gap:0;column-gap:0}.sm\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.sm\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.sm\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.sm\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.sm\:text-start{text-align:start}.sm\:text-end{text-align:end}.sm\:text-center{text-align:center}}@media (width>=768px){.md\:float-start{float:inline-start}.md\:float-end{float:inline-end}.md\:float-none{float:none}.md\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.md\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.md\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.md\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.md\:object-fit-none{-o-object-fit:none;object-fit:none}.md\:d-inline{display:inline}.md\:d-inline-block{display:inline-block}.md\:d-block{display:block}.md\:d-grid{display:grid}.md\:d-inline-grid{display:inline-grid}.md\:d-table{display:table}.md\:d-table-row{display:table-row}.md\:d-table-cell{display:table-cell}.md\:d-flex{display:flex}.md\:d-inline-flex{display:inline-flex}.md\:d-contents{display:contents}.md\:d-flow-root{display:flow-root}.md\:d-none{display:none}.md\:flex-fill{flex:auto}.md\:flex-row{flex-direction:row}.md\:flex-column{flex-direction:column}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-column-reverse{flex-direction:column-reverse}.md\:flex-grow-0{flex-grow:0}.md\:flex-grow-1{flex-grow:1}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-shrink-1{flex-shrink:1}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-nowrap{flex-wrap:nowrap}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\:justify-content-start{justify-content:flex-start}.md\:justify-content-end{justify-content:flex-end}.md\:justify-content-center{justify-content:center}.md\:justify-content-between{justify-content:space-between}.md\:justify-content-around{justify-content:space-around}.md\:justify-content-evenly{justify-content:space-evenly}.md\:justify-items-start{justify-items:start}.md\:justify-items-end{justify-items:end}.md\:justify-items-center{justify-items:center}.md\:justify-items-stretch{justify-items:stretch}.md\:justify-self-start{justify-self:flex-start}.md\:justify-self-end{justify-self:flex-end}.md\:justify-self-center{justify-self:center}.md\:align-items-start{align-items:flex-start}.md\:align-items-end{align-items:flex-end}.md\:align-items-center{align-items:center}.md\:align-items-baseline{align-items:baseline}.md\:align-items-stretch{align-items:stretch}.md\:align-content-start{align-content:flex-start}.md\:align-content-end{align-content:flex-end}.md\:align-content-center{align-content:center}.md\:align-content-between{align-content:space-between}.md\:align-content-around{align-content:space-around}.md\:align-content-stretch{align-content:stretch}.md\:align-self-auto{align-self:auto}.md\:align-self-start{align-self:flex-start}.md\:align-self-end{align-self:flex-end}.md\:align-self-center{align-self:center}.md\:align-self-baseline{align-self:baseline}.md\:align-self-stretch{align-self:stretch}.md\:place-items-start{place-items:start}.md\:place-items-end{place-items:end}.md\:place-items-center{place-items:center}.md\:place-items-stretch{place-items:stretch stretch}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.md\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.md\:grid-cols-fill{grid-column:1/-1}.md\:grid-auto-flow-row{grid-auto-flow:row}.md\:grid-auto-flow-column{grid-auto-flow:column}.md\:grid-auto-flow-dense{grid-auto-flow:dense}.md\:order-first{order:-1}.md\:order-0{order:0}.md\:order-1{order:1}.md\:order-2{order:2}.md\:order-3{order:3}.md\:order-4{order:4}.md\:order-5{order:5}.md\:order-last{order:6}.md\:m-0{margin:0}.md\:m-1{margin:.25rem}.md\:m-2{margin:.5rem}.md\:m-3{margin:1rem}.md\:m-4{margin:1.5rem}.md\:m-5{margin:3rem}.md\:m-auto{margin:auto}.md\:mx-0{margin-inline:0}.md\:mx-1{margin-inline:.25rem}.md\:mx-2{margin-inline:.5rem}.md\:mx-3{margin-inline:1rem}.md\:mx-4{margin-inline:1.5rem}.md\:mx-5{margin-inline:3rem}.md\:mx-auto{margin-inline:auto}.md\:my-0{margin-block:0}.md\:my-1{margin-block:.25rem}.md\:my-2{margin-block:.5rem}.md\:my-3{margin-block:1rem}.md\:my-4{margin-block:1.5rem}.md\:my-5{margin-block:3rem}.md\:my-auto{margin-block:auto}.md\:mt-0{margin-block-start:0}.md\:mt-1{margin-block-start:.25rem}.md\:mt-2{margin-block-start:.5rem}.md\:mt-3{margin-block-start:1rem}.md\:mt-4{margin-block-start:1.5rem}.md\:mt-5{margin-block-start:3rem}.md\:mt-auto{margin-block-start:auto}.md\:me-0{margin-inline-end:0}.md\:me-1{margin-inline-end:.25rem}.md\:me-2{margin-inline-end:.5rem}.md\:me-3{margin-inline-end:1rem}.md\:me-4{margin-inline-end:1.5rem}.md\:me-5{margin-inline-end:3rem}.md\:me-auto{margin-inline-end:auto}.md\:mb-0{margin-block-end:0}.md\:mb-1{margin-block-end:.25rem}.md\:mb-2{margin-block-end:.5rem}.md\:mb-3{margin-block-end:1rem}.md\:mb-4{margin-block-end:1.5rem}.md\:mb-5{margin-block-end:3rem}.md\:mb-auto{margin-block-end:auto}.md\:ms-0{margin-inline-start:0}.md\:ms-1{margin-inline-start:.25rem}.md\:ms-2{margin-inline-start:.5rem}.md\:ms-3{margin-inline-start:1rem}.md\:ms-4{margin-inline-start:1.5rem}.md\:ms-5{margin-inline-start:3rem}.md\:ms--1{margin-inline-start:-.25rem}.md\:ms--2{margin-inline-start:-.5rem}.md\:ms-auto{margin-inline-start:auto}.md\:p-0{padding:0}.md\:p-1{padding:.25rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:1rem}.md\:p-4{padding:1.5rem}.md\:p-5{padding:3rem}.md\:px-0{padding-inline:0}.md\:px-1{padding-inline:.25rem}.md\:px-2{padding-inline:.5rem}.md\:px-3{padding-inline:1rem}.md\:px-4{padding-inline:1.5rem}.md\:px-5{padding-inline:3rem}.md\:py-0{padding-block:0}.md\:py-1{padding-block:.25rem}.md\:py-2{padding-block:.5rem}.md\:py-3{padding-block:1rem}.md\:py-4{padding-block:1.5rem}.md\:py-5{padding-block:3rem}.md\:pt-0{padding-block-start:0}.md\:pt-1{padding-block-start:.25rem}.md\:pt-2{padding-block-start:.5rem}.md\:pt-3{padding-block-start:1rem}.md\:pt-4{padding-block-start:1.5rem}.md\:pt-5{padding-block-start:3rem}.md\:pe-0{padding-inline-end:0}.md\:pe-1{padding-inline-end:.25rem}.md\:pe-2{padding-inline-end:.5rem}.md\:pe-3{padding-inline-end:1rem}.md\:pe-4{padding-inline-end:1.5rem}.md\:pe-5{padding-inline-end:3rem}.md\:pb-0{padding-block-end:0}.md\:pb-1{padding-block-end:.25rem}.md\:pb-2{padding-block-end:.5rem}.md\:pb-3{padding-block-end:1rem}.md\:pb-4{padding-block-end:1.5rem}.md\:pb-5{padding-block-end:3rem}.md\:ps-0{padding-inline-start:0}.md\:ps-1{padding-inline-start:.25rem}.md\:ps-2{padding-inline-start:.5rem}.md\:ps-3{padding-inline-start:1rem}.md\:ps-4{padding-inline-start:1.5rem}.md\:ps-5{padding-inline-start:3rem}.md\:gap-0{gap:0}.md\:gap-1{gap:.25rem}.md\:gap-2{gap:.5rem}.md\:gap-3{gap:1rem}.md\:gap-4{gap:1.5rem}.md\:gap-5{gap:3rem}.md\:row-gap-0{row-gap:0}.md\:row-gap-1{row-gap:.25rem}.md\:row-gap-2{row-gap:.5rem}.md\:row-gap-3{row-gap:1rem}.md\:row-gap-4{row-gap:1.5rem}.md\:row-gap-5{row-gap:3rem}.md\:column-gap-0{-moz-column-gap:0;column-gap:0}.md\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.md\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.md\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.md\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.md\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.md\:text-start{text-align:start}.md\:text-end{text-align:end}.md\:text-center{text-align:center}}@media (width>=1024px){.lg\:float-start{float:inline-start}.lg\:float-end{float:inline-end}.lg\:float-none{float:none}.lg\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.lg\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.lg\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.lg\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.lg\:object-fit-none{-o-object-fit:none;object-fit:none}.lg\:d-inline{display:inline}.lg\:d-inline-block{display:inline-block}.lg\:d-block{display:block}.lg\:d-grid{display:grid}.lg\:d-inline-grid{display:inline-grid}.lg\:d-table{display:table}.lg\:d-table-row{display:table-row}.lg\:d-table-cell{display:table-cell}.lg\:d-flex{display:flex}.lg\:d-inline-flex{display:inline-flex}.lg\:d-contents{display:contents}.lg\:d-flow-root{display:flow-root}.lg\:d-none{display:none}.lg\:flex-fill{flex:auto}.lg\:flex-row{flex-direction:row}.lg\:flex-column{flex-direction:column}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-column-reverse{flex-direction:column-reverse}.lg\:flex-grow-0{flex-grow:0}.lg\:flex-grow-1{flex-grow:1}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-shrink-1{flex-shrink:1}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\:justify-content-start{justify-content:flex-start}.lg\:justify-content-end{justify-content:flex-end}.lg\:justify-content-center{justify-content:center}.lg\:justify-content-between{justify-content:space-between}.lg\:justify-content-around{justify-content:space-around}.lg\:justify-content-evenly{justify-content:space-evenly}.lg\:justify-items-start{justify-items:start}.lg\:justify-items-end{justify-items:end}.lg\:justify-items-center{justify-items:center}.lg\:justify-items-stretch{justify-items:stretch}.lg\:justify-self-start{justify-self:flex-start}.lg\:justify-self-end{justify-self:flex-end}.lg\:justify-self-center{justify-self:center}.lg\:align-items-start{align-items:flex-start}.lg\:align-items-end{align-items:flex-end}.lg\:align-items-center{align-items:center}.lg\:align-items-baseline{align-items:baseline}.lg\:align-items-stretch{align-items:stretch}.lg\:align-content-start{align-content:flex-start}.lg\:align-content-end{align-content:flex-end}.lg\:align-content-center{align-content:center}.lg\:align-content-between{align-content:space-between}.lg\:align-content-around{align-content:space-around}.lg\:align-content-stretch{align-content:stretch}.lg\:align-self-auto{align-self:auto}.lg\:align-self-start{align-self:flex-start}.lg\:align-self-end{align-self:flex-end}.lg\:align-self-center{align-self:center}.lg\:align-self-baseline{align-self:baseline}.lg\:align-self-stretch{align-self:stretch}.lg\:place-items-start{place-items:start}.lg\:place-items-end{place-items:end}.lg\:place-items-center{place-items:center}.lg\:place-items-stretch{place-items:stretch stretch}.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.lg\:grid-cols-fill{grid-column:1/-1}.lg\:grid-auto-flow-row{grid-auto-flow:row}.lg\:grid-auto-flow-column{grid-auto-flow:column}.lg\:grid-auto-flow-dense{grid-auto-flow:dense}.lg\:order-first{order:-1}.lg\:order-0{order:0}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:order-3{order:3}.lg\:order-4{order:4}.lg\:order-5{order:5}.lg\:order-last{order:6}.lg\:m-0{margin:0}.lg\:m-1{margin:.25rem}.lg\:m-2{margin:.5rem}.lg\:m-3{margin:1rem}.lg\:m-4{margin:1.5rem}.lg\:m-5{margin:3rem}.lg\:m-auto{margin:auto}.lg\:mx-0{margin-inline:0}.lg\:mx-1{margin-inline:.25rem}.lg\:mx-2{margin-inline:.5rem}.lg\:mx-3{margin-inline:1rem}.lg\:mx-4{margin-inline:1.5rem}.lg\:mx-5{margin-inline:3rem}.lg\:mx-auto{margin-inline:auto}.lg\:my-0{margin-block:0}.lg\:my-1{margin-block:.25rem}.lg\:my-2{margin-block:.5rem}.lg\:my-3{margin-block:1rem}.lg\:my-4{margin-block:1.5rem}.lg\:my-5{margin-block:3rem}.lg\:my-auto{margin-block:auto}.lg\:mt-0{margin-block-start:0}.lg\:mt-1{margin-block-start:.25rem}.lg\:mt-2{margin-block-start:.5rem}.lg\:mt-3{margin-block-start:1rem}.lg\:mt-4{margin-block-start:1.5rem}.lg\:mt-5{margin-block-start:3rem}.lg\:mt-auto{margin-block-start:auto}.lg\:me-0{margin-inline-end:0}.lg\:me-1{margin-inline-end:.25rem}.lg\:me-2{margin-inline-end:.5rem}.lg\:me-3{margin-inline-end:1rem}.lg\:me-4{margin-inline-end:1.5rem}.lg\:me-5{margin-inline-end:3rem}.lg\:me-auto{margin-inline-end:auto}.lg\:mb-0{margin-block-end:0}.lg\:mb-1{margin-block-end:.25rem}.lg\:mb-2{margin-block-end:.5rem}.lg\:mb-3{margin-block-end:1rem}.lg\:mb-4{margin-block-end:1.5rem}.lg\:mb-5{margin-block-end:3rem}.lg\:mb-auto{margin-block-end:auto}.lg\:ms-0{margin-inline-start:0}.lg\:ms-1{margin-inline-start:.25rem}.lg\:ms-2{margin-inline-start:.5rem}.lg\:ms-3{margin-inline-start:1rem}.lg\:ms-4{margin-inline-start:1.5rem}.lg\:ms-5{margin-inline-start:3rem}.lg\:ms--1{margin-inline-start:-.25rem}.lg\:ms--2{margin-inline-start:-.5rem}.lg\:ms-auto{margin-inline-start:auto}.lg\:p-0{padding:0}.lg\:p-1{padding:.25rem}.lg\:p-2{padding:.5rem}.lg\:p-3{padding:1rem}.lg\:p-4{padding:1.5rem}.lg\:p-5{padding:3rem}.lg\:px-0{padding-inline:0}.lg\:px-1{padding-inline:.25rem}.lg\:px-2{padding-inline:.5rem}.lg\:px-3{padding-inline:1rem}.lg\:px-4{padding-inline:1.5rem}.lg\:px-5{padding-inline:3rem}.lg\:py-0{padding-block:0}.lg\:py-1{padding-block:.25rem}.lg\:py-2{padding-block:.5rem}.lg\:py-3{padding-block:1rem}.lg\:py-4{padding-block:1.5rem}.lg\:py-5{padding-block:3rem}.lg\:pt-0{padding-block-start:0}.lg\:pt-1{padding-block-start:.25rem}.lg\:pt-2{padding-block-start:.5rem}.lg\:pt-3{padding-block-start:1rem}.lg\:pt-4{padding-block-start:1.5rem}.lg\:pt-5{padding-block-start:3rem}.lg\:pe-0{padding-inline-end:0}.lg\:pe-1{padding-inline-end:.25rem}.lg\:pe-2{padding-inline-end:.5rem}.lg\:pe-3{padding-inline-end:1rem}.lg\:pe-4{padding-inline-end:1.5rem}.lg\:pe-5{padding-inline-end:3rem}.lg\:pb-0{padding-block-end:0}.lg\:pb-1{padding-block-end:.25rem}.lg\:pb-2{padding-block-end:.5rem}.lg\:pb-3{padding-block-end:1rem}.lg\:pb-4{padding-block-end:1.5rem}.lg\:pb-5{padding-block-end:3rem}.lg\:ps-0{padding-inline-start:0}.lg\:ps-1{padding-inline-start:.25rem}.lg\:ps-2{padding-inline-start:.5rem}.lg\:ps-3{padding-inline-start:1rem}.lg\:ps-4{padding-inline-start:1.5rem}.lg\:ps-5{padding-inline-start:3rem}.lg\:gap-0{gap:0}.lg\:gap-1{gap:.25rem}.lg\:gap-2{gap:.5rem}.lg\:gap-3{gap:1rem}.lg\:gap-4{gap:1.5rem}.lg\:gap-5{gap:3rem}.lg\:row-gap-0{row-gap:0}.lg\:row-gap-1{row-gap:.25rem}.lg\:row-gap-2{row-gap:.5rem}.lg\:row-gap-3{row-gap:1rem}.lg\:row-gap-4{row-gap:1.5rem}.lg\:row-gap-5{row-gap:3rem}.lg\:column-gap-0{-moz-column-gap:0;column-gap:0}.lg\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.lg\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.lg\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.lg\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.lg\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.lg\:text-start{text-align:start}.lg\:text-end{text-align:end}.lg\:text-center{text-align:center}}@media (width>=1280px){.xl\:float-start{float:inline-start}.xl\:float-end{float:inline-end}.xl\:float-none{float:none}.xl\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.xl\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.xl\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.xl\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.xl\:object-fit-none{-o-object-fit:none;object-fit:none}.xl\:d-inline{display:inline}.xl\:d-inline-block{display:inline-block}.xl\:d-block{display:block}.xl\:d-grid{display:grid}.xl\:d-inline-grid{display:inline-grid}.xl\:d-table{display:table}.xl\:d-table-row{display:table-row}.xl\:d-table-cell{display:table-cell}.xl\:d-flex{display:flex}.xl\:d-inline-flex{display:inline-flex}.xl\:d-contents{display:contents}.xl\:d-flow-root{display:flow-root}.xl\:d-none{display:none}.xl\:flex-fill{flex:auto}.xl\:flex-row{flex-direction:row}.xl\:flex-column{flex-direction:column}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-column-reverse{flex-direction:column-reverse}.xl\:flex-grow-0{flex-grow:0}.xl\:flex-grow-1{flex-grow:1}.xl\:flex-shrink-0{flex-shrink:0}.xl\:flex-shrink-1{flex-shrink:1}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-nowrap{flex-wrap:nowrap}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\:justify-content-start{justify-content:flex-start}.xl\:justify-content-end{justify-content:flex-end}.xl\:justify-content-center{justify-content:center}.xl\:justify-content-between{justify-content:space-between}.xl\:justify-content-around{justify-content:space-around}.xl\:justify-content-evenly{justify-content:space-evenly}.xl\:justify-items-start{justify-items:start}.xl\:justify-items-end{justify-items:end}.xl\:justify-items-center{justify-items:center}.xl\:justify-items-stretch{justify-items:stretch}.xl\:justify-self-start{justify-self:flex-start}.xl\:justify-self-end{justify-self:flex-end}.xl\:justify-self-center{justify-self:center}.xl\:align-items-start{align-items:flex-start}.xl\:align-items-end{align-items:flex-end}.xl\:align-items-center{align-items:center}.xl\:align-items-baseline{align-items:baseline}.xl\:align-items-stretch{align-items:stretch}.xl\:align-content-start{align-content:flex-start}.xl\:align-content-end{align-content:flex-end}.xl\:align-content-center{align-content:center}.xl\:align-content-between{align-content:space-between}.xl\:align-content-around{align-content:space-around}.xl\:align-content-stretch{align-content:stretch}.xl\:align-self-auto{align-self:auto}.xl\:align-self-start{align-self:flex-start}.xl\:align-self-end{align-self:flex-end}.xl\:align-self-center{align-self:center}.xl\:align-self-baseline{align-self:baseline}.xl\:align-self-stretch{align-self:stretch}.xl\:place-items-start{place-items:start}.xl\:place-items-end{place-items:end}.xl\:place-items-center{place-items:center}.xl\:place-items-stretch{place-items:stretch stretch}.xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.xl\:grid-cols-fill{grid-column:1/-1}.xl\:grid-auto-flow-row{grid-auto-flow:row}.xl\:grid-auto-flow-column{grid-auto-flow:column}.xl\:grid-auto-flow-dense{grid-auto-flow:dense}.xl\:order-first{order:-1}.xl\:order-0{order:0}.xl\:order-1{order:1}.xl\:order-2{order:2}.xl\:order-3{order:3}.xl\:order-4{order:4}.xl\:order-5{order:5}.xl\:order-last{order:6}.xl\:m-0{margin:0}.xl\:m-1{margin:.25rem}.xl\:m-2{margin:.5rem}.xl\:m-3{margin:1rem}.xl\:m-4{margin:1.5rem}.xl\:m-5{margin:3rem}.xl\:m-auto{margin:auto}.xl\:mx-0{margin-inline:0}.xl\:mx-1{margin-inline:.25rem}.xl\:mx-2{margin-inline:.5rem}.xl\:mx-3{margin-inline:1rem}.xl\:mx-4{margin-inline:1.5rem}.xl\:mx-5{margin-inline:3rem}.xl\:mx-auto{margin-inline:auto}.xl\:my-0{margin-block:0}.xl\:my-1{margin-block:.25rem}.xl\:my-2{margin-block:.5rem}.xl\:my-3{margin-block:1rem}.xl\:my-4{margin-block:1.5rem}.xl\:my-5{margin-block:3rem}.xl\:my-auto{margin-block:auto}.xl\:mt-0{margin-block-start:0}.xl\:mt-1{margin-block-start:.25rem}.xl\:mt-2{margin-block-start:.5rem}.xl\:mt-3{margin-block-start:1rem}.xl\:mt-4{margin-block-start:1.5rem}.xl\:mt-5{margin-block-start:3rem}.xl\:mt-auto{margin-block-start:auto}.xl\:me-0{margin-inline-end:0}.xl\:me-1{margin-inline-end:.25rem}.xl\:me-2{margin-inline-end:.5rem}.xl\:me-3{margin-inline-end:1rem}.xl\:me-4{margin-inline-end:1.5rem}.xl\:me-5{margin-inline-end:3rem}.xl\:me-auto{margin-inline-end:auto}.xl\:mb-0{margin-block-end:0}.xl\:mb-1{margin-block-end:.25rem}.xl\:mb-2{margin-block-end:.5rem}.xl\:mb-3{margin-block-end:1rem}.xl\:mb-4{margin-block-end:1.5rem}.xl\:mb-5{margin-block-end:3rem}.xl\:mb-auto{margin-block-end:auto}.xl\:ms-0{margin-inline-start:0}.xl\:ms-1{margin-inline-start:.25rem}.xl\:ms-2{margin-inline-start:.5rem}.xl\:ms-3{margin-inline-start:1rem}.xl\:ms-4{margin-inline-start:1.5rem}.xl\:ms-5{margin-inline-start:3rem}.xl\:ms--1{margin-inline-start:-.25rem}.xl\:ms--2{margin-inline-start:-.5rem}.xl\:ms-auto{margin-inline-start:auto}.xl\:p-0{padding:0}.xl\:p-1{padding:.25rem}.xl\:p-2{padding:.5rem}.xl\:p-3{padding:1rem}.xl\:p-4{padding:1.5rem}.xl\:p-5{padding:3rem}.xl\:px-0{padding-inline:0}.xl\:px-1{padding-inline:.25rem}.xl\:px-2{padding-inline:.5rem}.xl\:px-3{padding-inline:1rem}.xl\:px-4{padding-inline:1.5rem}.xl\:px-5{padding-inline:3rem}.xl\:py-0{padding-block:0}.xl\:py-1{padding-block:.25rem}.xl\:py-2{padding-block:.5rem}.xl\:py-3{padding-block:1rem}.xl\:py-4{padding-block:1.5rem}.xl\:py-5{padding-block:3rem}.xl\:pt-0{padding-block-start:0}.xl\:pt-1{padding-block-start:.25rem}.xl\:pt-2{padding-block-start:.5rem}.xl\:pt-3{padding-block-start:1rem}.xl\:pt-4{padding-block-start:1.5rem}.xl\:pt-5{padding-block-start:3rem}.xl\:pe-0{padding-inline-end:0}.xl\:pe-1{padding-inline-end:.25rem}.xl\:pe-2{padding-inline-end:.5rem}.xl\:pe-3{padding-inline-end:1rem}.xl\:pe-4{padding-inline-end:1.5rem}.xl\:pe-5{padding-inline-end:3rem}.xl\:pb-0{padding-block-end:0}.xl\:pb-1{padding-block-end:.25rem}.xl\:pb-2{padding-block-end:.5rem}.xl\:pb-3{padding-block-end:1rem}.xl\:pb-4{padding-block-end:1.5rem}.xl\:pb-5{padding-block-end:3rem}.xl\:ps-0{padding-inline-start:0}.xl\:ps-1{padding-inline-start:.25rem}.xl\:ps-2{padding-inline-start:.5rem}.xl\:ps-3{padding-inline-start:1rem}.xl\:ps-4{padding-inline-start:1.5rem}.xl\:ps-5{padding-inline-start:3rem}.xl\:gap-0{gap:0}.xl\:gap-1{gap:.25rem}.xl\:gap-2{gap:.5rem}.xl\:gap-3{gap:1rem}.xl\:gap-4{gap:1.5rem}.xl\:gap-5{gap:3rem}.xl\:row-gap-0{row-gap:0}.xl\:row-gap-1{row-gap:.25rem}.xl\:row-gap-2{row-gap:.5rem}.xl\:row-gap-3{row-gap:1rem}.xl\:row-gap-4{row-gap:1.5rem}.xl\:row-gap-5{row-gap:3rem}.xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.xl\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.xl\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.xl\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.xl\:text-start{text-align:start}.xl\:text-end{text-align:end}.xl\:text-center{text-align:center}}@media (width>=1536px){.\32 xl\:float-start{float:inline-start}.\32 xl\:float-end{float:inline-end}.\32 xl\:float-none{float:none}.\32 xl\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.\32 xl\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.\32 xl\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.\32 xl\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.\32 xl\:object-fit-none{-o-object-fit:none;object-fit:none}.\32 xl\:d-inline{display:inline}.\32 xl\:d-inline-block{display:inline-block}.\32 xl\:d-block{display:block}.\32 xl\:d-grid{display:grid}.\32 xl\:d-inline-grid{display:inline-grid}.\32 xl\:d-table{display:table}.\32 xl\:d-table-row{display:table-row}.\32 xl\:d-table-cell{display:table-cell}.\32 xl\:d-flex{display:flex}.\32 xl\:d-inline-flex{display:inline-flex}.\32 xl\:d-contents{display:contents}.\32 xl\:d-flow-root{display:flow-root}.\32 xl\:d-none{display:none}.\32 xl\:flex-fill{flex:auto}.\32 xl\:flex-row{flex-direction:row}.\32 xl\:flex-column{flex-direction:column}.\32 xl\:flex-row-reverse{flex-direction:row-reverse}.\32 xl\:flex-column-reverse{flex-direction:column-reverse}.\32 xl\:flex-grow-0{flex-grow:0}.\32 xl\:flex-grow-1{flex-grow:1}.\32 xl\:flex-shrink-0{flex-shrink:0}.\32 xl\:flex-shrink-1{flex-shrink:1}.\32 xl\:flex-wrap{flex-wrap:wrap}.\32 xl\:flex-nowrap{flex-wrap:nowrap}.\32 xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.\32 xl\:justify-content-start{justify-content:flex-start}.\32 xl\:justify-content-end{justify-content:flex-end}.\32 xl\:justify-content-center{justify-content:center}.\32 xl\:justify-content-between{justify-content:space-between}.\32 xl\:justify-content-around{justify-content:space-around}.\32 xl\:justify-content-evenly{justify-content:space-evenly}.\32 xl\:justify-items-start{justify-items:start}.\32 xl\:justify-items-end{justify-items:end}.\32 xl\:justify-items-center{justify-items:center}.\32 xl\:justify-items-stretch{justify-items:stretch}.\32 xl\:justify-self-start{justify-self:flex-start}.\32 xl\:justify-self-end{justify-self:flex-end}.\32 xl\:justify-self-center{justify-self:center}.\32 xl\:align-items-start{align-items:flex-start}.\32 xl\:align-items-end{align-items:flex-end}.\32 xl\:align-items-center{align-items:center}.\32 xl\:align-items-baseline{align-items:baseline}.\32 xl\:align-items-stretch{align-items:stretch}.\32 xl\:align-content-start{align-content:flex-start}.\32 xl\:align-content-end{align-content:flex-end}.\32 xl\:align-content-center{align-content:center}.\32 xl\:align-content-between{align-content:space-between}.\32 xl\:align-content-around{align-content:space-around}.\32 xl\:align-content-stretch{align-content:stretch}.\32 xl\:align-self-auto{align-self:auto}.\32 xl\:align-self-start{align-self:flex-start}.\32 xl\:align-self-end{align-self:flex-end}.\32 xl\:align-self-center{align-self:center}.\32 xl\:align-self-baseline{align-self:baseline}.\32 xl\:align-self-stretch{align-self:stretch}.\32 xl\:place-items-start{place-items:start}.\32 xl\:place-items-end{place-items:end}.\32 xl\:place-items-center{place-items:center}.\32 xl\:place-items-stretch{place-items:stretch stretch}.\32 xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.\32 xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.\32 xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.\32 xl\:grid-cols-fill{grid-column:1/-1}.\32 xl\:grid-auto-flow-row{grid-auto-flow:row}.\32 xl\:grid-auto-flow-column{grid-auto-flow:column}.\32 xl\:grid-auto-flow-dense{grid-auto-flow:dense}.\32 xl\:order-first{order:-1}.\32 xl\:order-0{order:0}.\32 xl\:order-1{order:1}.\32 xl\:order-2{order:2}.\32 xl\:order-3{order:3}.\32 xl\:order-4{order:4}.\32 xl\:order-5{order:5}.\32 xl\:order-last{order:6}.\32 xl\:m-0{margin:0}.\32 xl\:m-1{margin:.25rem}.\32 xl\:m-2{margin:.5rem}.\32 xl\:m-3{margin:1rem}.\32 xl\:m-4{margin:1.5rem}.\32 xl\:m-5{margin:3rem}.\32 xl\:m-auto{margin:auto}.\32 xl\:mx-0{margin-inline:0}.\32 xl\:mx-1{margin-inline:.25rem}.\32 xl\:mx-2{margin-inline:.5rem}.\32 xl\:mx-3{margin-inline:1rem}.\32 xl\:mx-4{margin-inline:1.5rem}.\32 xl\:mx-5{margin-inline:3rem}.\32 xl\:mx-auto{margin-inline:auto}.\32 xl\:my-0{margin-block:0}.\32 xl\:my-1{margin-block:.25rem}.\32 xl\:my-2{margin-block:.5rem}.\32 xl\:my-3{margin-block:1rem}.\32 xl\:my-4{margin-block:1.5rem}.\32 xl\:my-5{margin-block:3rem}.\32 xl\:my-auto{margin-block:auto}.\32 xl\:mt-0{margin-block-start:0}.\32 xl\:mt-1{margin-block-start:.25rem}.\32 xl\:mt-2{margin-block-start:.5rem}.\32 xl\:mt-3{margin-block-start:1rem}.\32 xl\:mt-4{margin-block-start:1.5rem}.\32 xl\:mt-5{margin-block-start:3rem}.\32 xl\:mt-auto{margin-block-start:auto}.\32 xl\:me-0{margin-inline-end:0}.\32 xl\:me-1{margin-inline-end:.25rem}.\32 xl\:me-2{margin-inline-end:.5rem}.\32 xl\:me-3{margin-inline-end:1rem}.\32 xl\:me-4{margin-inline-end:1.5rem}.\32 xl\:me-5{margin-inline-end:3rem}.\32 xl\:me-auto{margin-inline-end:auto}.\32 xl\:mb-0{margin-block-end:0}.\32 xl\:mb-1{margin-block-end:.25rem}.\32 xl\:mb-2{margin-block-end:.5rem}.\32 xl\:mb-3{margin-block-end:1rem}.\32 xl\:mb-4{margin-block-end:1.5rem}.\32 xl\:mb-5{margin-block-end:3rem}.\32 xl\:mb-auto{margin-block-end:auto}.\32 xl\:ms-0{margin-inline-start:0}.\32 xl\:ms-1{margin-inline-start:.25rem}.\32 xl\:ms-2{margin-inline-start:.5rem}.\32 xl\:ms-3{margin-inline-start:1rem}.\32 xl\:ms-4{margin-inline-start:1.5rem}.\32 xl\:ms-5{margin-inline-start:3rem}.\32 xl\:ms--1{margin-inline-start:-.25rem}.\32 xl\:ms--2{margin-inline-start:-.5rem}.\32 xl\:ms-auto{margin-inline-start:auto}.\32 xl\:p-0{padding:0}.\32 xl\:p-1{padding:.25rem}.\32 xl\:p-2{padding:.5rem}.\32 xl\:p-3{padding:1rem}.\32 xl\:p-4{padding:1.5rem}.\32 xl\:p-5{padding:3rem}.\32 xl\:px-0{padding-inline:0}.\32 xl\:px-1{padding-inline:.25rem}.\32 xl\:px-2{padding-inline:.5rem}.\32 xl\:px-3{padding-inline:1rem}.\32 xl\:px-4{padding-inline:1.5rem}.\32 xl\:px-5{padding-inline:3rem}.\32 xl\:py-0{padding-block:0}.\32 xl\:py-1{padding-block:.25rem}.\32 xl\:py-2{padding-block:.5rem}.\32 xl\:py-3{padding-block:1rem}.\32 xl\:py-4{padding-block:1.5rem}.\32 xl\:py-5{padding-block:3rem}.\32 xl\:pt-0{padding-block-start:0}.\32 xl\:pt-1{padding-block-start:.25rem}.\32 xl\:pt-2{padding-block-start:.5rem}.\32 xl\:pt-3{padding-block-start:1rem}.\32 xl\:pt-4{padding-block-start:1.5rem}.\32 xl\:pt-5{padding-block-start:3rem}.\32 xl\:pe-0{padding-inline-end:0}.\32 xl\:pe-1{padding-inline-end:.25rem}.\32 xl\:pe-2{padding-inline-end:.5rem}.\32 xl\:pe-3{padding-inline-end:1rem}.\32 xl\:pe-4{padding-inline-end:1.5rem}.\32 xl\:pe-5{padding-inline-end:3rem}.\32 xl\:pb-0{padding-block-end:0}.\32 xl\:pb-1{padding-block-end:.25rem}.\32 xl\:pb-2{padding-block-end:.5rem}.\32 xl\:pb-3{padding-block-end:1rem}.\32 xl\:pb-4{padding-block-end:1.5rem}.\32 xl\:pb-5{padding-block-end:3rem}.\32 xl\:ps-0{padding-inline-start:0}.\32 xl\:ps-1{padding-inline-start:.25rem}.\32 xl\:ps-2{padding-inline-start:.5rem}.\32 xl\:ps-3{padding-inline-start:1rem}.\32 xl\:ps-4{padding-inline-start:1.5rem}.\32 xl\:ps-5{padding-inline-start:3rem}.\32 xl\:gap-0{gap:0}.\32 xl\:gap-1{gap:.25rem}.\32 xl\:gap-2{gap:.5rem}.\32 xl\:gap-3{gap:1rem}.\32 xl\:gap-4{gap:1.5rem}.\32 xl\:gap-5{gap:3rem}.\32 xl\:row-gap-0{row-gap:0}.\32 xl\:row-gap-1{row-gap:.25rem}.\32 xl\:row-gap-2{row-gap:.5rem}.\32 xl\:row-gap-3{row-gap:1rem}.\32 xl\:row-gap-4{row-gap:1.5rem}.\32 xl\:row-gap-5{row-gap:3rem}.\32 xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.\32 xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.\32 xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.\32 xl\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.\32 xl\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.\32 xl\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.\32 xl\:text-start{text-align:start}.\32 xl\:text-end{text-align:end}.\32 xl\:text-center{text-align:center}}}:root{--bs-black:#000;--bs-white:#fff;--bs-gradient:linear-gradient(180deg, color-mix(var(--bs-white) 15%, transparent), color-mix(var(--bs-white) 0%, transparent));--bs-font-weight-lighter:lighter;--bs-font-weight-light:300;--bs-font-weight-normal:400;--bs-font-weight-medium:500;--bs-font-weight-semibold:600;--bs-font-weight-bold:700;--bs-font-weight-bolder:bolder;--bs-body-font-family:system-ui;--bs-body-font-size:var(--bs-font-size-base);--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-heading-color:inherit;--bs-hr-border-color:var(--bs-border-color);--bs-link-color:light-dark(var(--bs-primary-base),var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-font-mono:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-code-font-size:95%;--bs-code-color:var(--bs-fg-2);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:light-dark(color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200)),var(--bs-gray-700));--bs-border-color-translucent:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-border-radius:.5rem;--bs-border-radius-xs:.375rem;--bs-border-radius-sm:.5rem;--bs-border-radius-lg:.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem #00000026;--bs-box-shadow-sm:0 .125rem .25rem #00000013;--bs-box-shadow-lg:0 1rem 3rem #0000002d;--bs-box-shadow-inset:inset 0 1px 2px #00000013;--bs-spacer:1rem;--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-control-checked-bg:var(--bs-primary-base);--bs-control-checked-border-color:var(--bs-control-checked-bg);--bs-control-active-bg:var(--bs-primary-base);--bs-control-active-border-color:var(--bs-control-active-bg);--bs-control-disabled-bg:var(--bs-bg-3);--bs-control-disabled-opacity:.65;--bs-btn-input-fg:var(--bs-fg-body);--bs-btn-input-bg:var(--bs-bg-body);--bs-btn-input-min-height:2.375rem;--bs-btn-input-padding-y:.375rem;--bs-btn-input-padding-x:.75rem;--bs-btn-input-font-size:var(--bs-font-size-base);--bs-btn-input-line-height:var(--bs-line-height-base);--bs-btn-input-border-radius:var(--bs-border-radius);--bs-btn-input-xs-min-height:1.5rem;--bs-btn-input-xs-padding-y:.125rem;--bs-btn-input-xs-padding-x:.5rem;--bs-btn-input-xs-font-size:var(--bs-font-size-xs);--bs-btn-input-xs-line-height:1.125;--bs-btn-input-xs-border-radius:var(--bs-border-radius-xs);--bs-btn-input-sm-min-height:2rem;--bs-btn-input-sm-padding-y:.25rem;--bs-btn-input-sm-padding-x:.625rem;--bs-btn-input-sm-font-size:var(--bs-font-size-sm);--bs-btn-input-sm-line-height:var(--bs-line-height-sm);--bs-btn-input-sm-border-radius:var(--bs-border-radius-sm);--bs-btn-input-lg-min-height:2.75rem;--bs-btn-input-lg-padding-y:.5rem;--bs-btn-input-lg-padding-x:1rem;--bs-btn-input-lg-font-size:var(--bs-font-size-md);--bs-btn-input-lg-line-height:var(--bs-line-height-md);--bs-btn-input-lg-border-radius:var(--bs-border-radius-lg);--bs-form-valid-color:var(--bs-success-text);--bs-form-valid-border-color:var(--bs-success-text);--bs-form-invalid-color:var(--bs-danger-text);--bs-form-invalid-border-color:var(--bs-danger-text);--bs-font-size-xs:.75rem;--bs-line-height-xs:1.25;--bs-font-size-sm:.875rem;--bs-line-height-sm:1.5;--bs-font-size-md:1rem;--bs-line-height-md:1.5;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-line-height-lg:1.5;--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-line-height-xl:1.42857;--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-line-height-2xl:1.33333;--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-line-height-3xl:1.2;--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-line-height-4xl:1.1;--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-line-height-5xl:1.1;--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-6xl:1;--bs-primary-base:var(--bs-blue-500);--bs-primary-text:light-dark(var(--bs-blue-600),var(--bs-blue-400));--bs-primary-text-emphasis:light-dark(var(--bs-blue-800),var(--bs-blue-200));--bs-primary-bg: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:light-dark(color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)));--bs-primary-contrast:var(--bs-white);--bs-accent-base:var(--bs-indigo-500);--bs-accent-text:light-dark(var(--bs-indigo-600),color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));--bs-accent-text-emphasis:light-dark(var(--bs-indigo-800),var(--bs-indigo-300));--bs-accent-bg: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:light-dark(color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)));--bs-accent-contrast:var(--bs-white);--bs-success-base:var(--bs-green-500);--bs-success-text:light-dark(var(--bs-green-600),var(--bs-green-400));--bs-success-text-emphasis:light-dark(var(--bs-green-800),var(--bs-green-300));--bs-success-bg: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:light-dark(color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)));--bs-success-contrast:var(--bs-white);--bs-danger-base:var(--bs-red-500);--bs-danger-text:light-dark(var(--bs-red-600),var(--bs-red-400));--bs-danger-text-emphasis:light-dark(var(--bs-red-800),var(--bs-red-300));--bs-danger-bg: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:light-dark(color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)));--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-400));--bs-warning-text-emphasis:light-dark(var(--bs-yellow-800),var(--bs-yellow-300));--bs-warning-bg: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:light-dark(color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)));--bs-warning-contrast:var(--bs-gray-900);--bs-info-base:var(--bs-cyan-500);--bs-info-text:light-dark(var(--bs-cyan-600),var(--bs-cyan-400));--bs-info-text-emphasis:light-dark(var(--bs-cyan-800),var(--bs-cyan-300));--bs-info-bg: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:light-dark(color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)));--bs-info-contrast:var(--bs-gray-900);--bs-inverse-base:var(--bs-gray-900);--bs-inverse-text:light-dark(var(--bs-gray-900),var(--bs-gray-200));--bs-inverse-text-emphasis:light-dark(var(--bs-gray-975),var(--bs-white));--bs-inverse-bg:light-dark(var(--bs-gray-900),var(--bs-gray-025));--bs-inverse-bg-subtle:light-dark(var(--bs-gray-100),var(--bs-gray-900));--bs-inverse-bg-muted:light-dark(var(--bs-gray-200),var(--bs-gray-300));--bs-inverse-border:light-dark(var(--bs-gray-400),var(--bs-gray-100));--bs-inverse-focus-ring:color-mix(in oklch, light-dark(var(--bs-gray-900),var(--bs-gray-100)) 50%, var(--bs-bg-body));--bs-inverse-contrast:light-dark(var(--bs-white),var(--bs-gray-900));--bs-secondary-base:var(--bs-gray-200);--bs-secondary-text:light-dark(var(--bs-gray-600),var(--bs-gray-400));--bs-secondary-text-emphasis:light-dark(var(--bs-gray-800),var(--bs-gray-200));--bs-secondary-bg:light-dark(var(--bs-gray-100),var(--bs-gray-600));--bs-secondary-bg-subtle:light-dark(var(--bs-gray-050),var(--bs-gray-800));--bs-secondary-bg-muted:light-dark(var(--bs-gray-100),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, light-dark(var(--bs-gray-500),var(--bs-gray-300)) 50%, var(--bs-bg-body));--bs-secondary-contrast:light-dark(var(--bs-gray-900),var(--bs-white));--bs-bg-body:light-dark(var(--bs-white),var(--bs-gray-975));--bs-bg-1:light-dark(var(--bs-gray-025),var(--bs-gray-950));--bs-bg-2:light-dark(var(--bs-gray-050),var(--bs-gray-900));--bs-bg-3:light-dark(var(--bs-gray-100),var(--bs-gray-800));--bs-bg-4:light-dark(var(--bs-gray-200),var(--bs-gray-700));--bs-bg-white:var(--bs-white);--bs-bg-black:var(--bs-black);--bs-bg-transparent:transparent;--bs-bg-inherit:inherit;--bs-fg-body:light-dark(var(--bs-gray-900),var(--bs-gray-050));--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-500));--bs-fg-4:light-dark(var(--bs-gray-500),var(--bs-gray-600));--bs-fg-white:var(--bs-white);--bs-fg-black:var(--bs-black);--bs-fg-inherit:inherit;--bs-border-bg:var(--bs-bg-body);--bs-border-body:light-dark(var(--bs-gray-300),var(--bs-gray-800));--bs-border-muted:light-dark(var(--bs-gray-200),var(--bs-gray-800));--bs-border-subtle:light-dark(var(--bs-gray-100),var(--bs-gray-900));--bs-border-emphasized:light-dark(var(--bs-gray-400),var(--bs-gray-600));--bs-border-white:var(--bs-white);--bs-border-black:var(--bs-black);--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px;color-scheme:light dark}[data-bs-theme=dark]{color-scheme:dark}[data-bs-theme=light]{color-scheme:light}
/*# sourceMappingURL=bootstrap-utilities.min.css.map */
\ No newline at end of file
-{"version":3,"sourceRoot":null,"mappings":"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","sources":["bootstrap-utilities.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/_config.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_position.scss","../../scss/layout/_breakpoints.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"sourcesContent":["/*!\n * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n --blue-500: oklch(60% 0.24 240deg);\n --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n --indigo-500: oklch(56% 0.26 288deg);\n --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n --violet-500: oklch(56% 0.24 300deg);\n --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n --purple-500: oklch(56% 0.24 320deg);\n --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n --pink-500: oklch(60% 0.22 4deg);\n --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n --red-500: oklch(60% 0.22 20deg);\n --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n --orange-500: oklch(70% 0.22 52deg);\n --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n --amber-500: oklch(79% 0.2 78deg);\n --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n --yellow-500: oklch(88% 0.24 88deg);\n --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n --lime-500: oklch(65% 0.24 135deg);\n --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n --green-500: oklch(64% 0.22 160deg);\n --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n --teal-500: oklch(68% 0.22 190deg);\n --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n --cyan-500: oklch(69% 0.22 220deg);\n --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n --brown-500: oklch(60% 0.12 54deg);\n --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n --gray-500: oklch(60% 0.02 245deg);\n --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n --pewter-500: oklch(65% 0.01 290deg);\n --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n --black: #000;\n --white: #fff;\n --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n --font-weight-lighter: lighter;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-bolder: bolder;\n --body-font-family: system-ui;\n --body-font-size: var(--font-size-base);\n --body-font-weight: 400;\n --body-line-height: 1.5;\n --heading-color: inherit;\n --hr-border-color: var(--border-color);\n --link-color: light-dark(var(--primary-base), var(--primary-text));\n --link-decoration: underline;\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --code-font-size: 95%;\n --code-color: var(--fg-2);\n --border-width: 1px;\n --border-style: solid;\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --border-radius: 0.5rem;\n --border-radius-xs: 0.375rem;\n --border-radius-sm: 0.5rem;\n --border-radius-lg: 0.75rem;\n --border-radius-xl: 1rem;\n --border-radius-2xl: 2rem;\n --border-radius-pill: 50rem;\n --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --spacer: 1rem;\n --focus-ring-width: 3px;\n --focus-ring-offset: 1px;\n --focus-ring-color: var(--primary-focus-ring);\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n --control-checked-bg: var(--primary-base);\n --control-checked-border-color: var(--control-checked-bg);\n --control-active-bg: var(--primary-base);\n --control-active-border-color: var(--control-active-bg);\n --control-disabled-bg: var(--bg-3);\n --control-disabled-opacity: 0.65;\n --btn-input-fg: var(--fg-body);\n --btn-input-bg: var(--bg-body);\n --btn-input-min-height: 2.375rem;\n --btn-input-padding-y: 0.375rem;\n --btn-input-padding-x: 0.75rem;\n --btn-input-font-size: var(--font-size-base);\n --btn-input-line-height: var(--line-height-base);\n --btn-input-border-radius: var(--border-radius);\n --btn-input-xs-min-height: 1.5rem;\n --btn-input-xs-padding-y: 0.125rem;\n --btn-input-xs-padding-x: 0.5rem;\n --btn-input-xs-font-size: var(--font-size-xs);\n --btn-input-xs-line-height: 1.125;\n --btn-input-xs-border-radius: var(--border-radius-xs);\n --btn-input-sm-min-height: 2rem;\n --btn-input-sm-padding-y: 0.25rem;\n --btn-input-sm-padding-x: 0.625rem;\n --btn-input-sm-font-size: var(--font-size-sm);\n --btn-input-sm-line-height: var(--line-height-sm);\n --btn-input-sm-border-radius: var(--border-radius-sm);\n --btn-input-lg-min-height: 2.75rem;\n --btn-input-lg-padding-y: 0.5rem;\n --btn-input-lg-padding-x: 1rem;\n --btn-input-lg-font-size: var(--font-size-md);\n --btn-input-lg-line-height: var(--line-height-md);\n --btn-input-lg-border-radius: var(--border-radius-lg);\n --form-valid-color: var(--success-text);\n --form-valid-border-color: var(--success-text);\n --form-invalid-color: var(--danger-text);\n --form-invalid-border-color: var(--danger-text);\n --font-size-xs: 0.75rem;\n --line-height-xs: 1.25;\n --font-size-sm: 0.875rem;\n --line-height-sm: 1.5;\n --font-size-md: 1rem;\n --line-height-md: 1.5;\n --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n --line-height-lg: 1.5;\n --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n --line-height-xl: 1.4285714286;\n --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n --line-height-2xl: 1.3333333333;\n --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n --line-height-3xl: 1.2;\n --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n --line-height-4xl: 1.1;\n --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n --line-height-5xl: 1.1;\n --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n --line-height-6xl: 1;\n --primary-base: var(--blue-500);\n --primary-text: light-dark(var(--blue-600), var(--blue-400));\n --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n --primary-bg: var(--blue-500);\n --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n --primary-border: light-dark(var(--blue-300), var(--blue-600));\n --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n --primary-contrast: var(--white);\n --accent-base: var(--indigo-500);\n --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n --accent-bg: var(--indigo-500);\n --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n --accent-contrast: var(--white);\n --success-base: var(--green-500);\n --success-text: light-dark(var(--green-600), var(--green-400));\n --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n --success-bg: var(--green-500);\n --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n --success-border: light-dark(var(--green-300), var(--green-600));\n --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n --success-contrast: var(--white);\n --danger-base: var(--red-500);\n --danger-text: light-dark(var(--red-600), var(--red-400));\n --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n --danger-bg: var(--red-500);\n --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n --danger-border: light-dark(var(--red-300), var(--red-600));\n --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n --danger-contrast: var(--white);\n --warning-base: var(--yellow-500);\n --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n --warning-bg: var(--yellow-500);\n --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n --warning-contrast: var(--gray-900);\n --info-base: var(--cyan-500);\n --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n --info-bg: var(--cyan-500);\n --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n --info-contrast: var(--gray-900);\n --inverse-base: var(--gray-900);\n --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n --inverse-contrast: light-dark(var(--white), var(--gray-900));\n --secondary-base: var(--gray-200);\n --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n --secondary-contrast: light-dark(var(--gray-900), var(--white));\n --bg-body: light-dark(var(--white), var(--gray-975));\n --bg-1: light-dark(var(--gray-025), var(--gray-950));\n --bg-2: light-dark(var(--gray-050), var(--gray-900));\n --bg-3: light-dark(var(--gray-100), var(--gray-800));\n --bg-4: light-dark(var(--gray-200), var(--gray-700));\n --bg-white: var(--white);\n --bg-black: var(--black);\n --bg-transparent: transparent;\n --bg-inherit: inherit;\n --fg-body: light-dark(var(--gray-900), var(--gray-050));\n --fg-1: light-dark(var(--gray-800), var(--gray-200));\n --fg-2: light-dark(var(--gray-700), var(--gray-300));\n --fg-3: light-dark(var(--gray-600), var(--gray-500));\n --fg-4: light-dark(var(--gray-500), var(--gray-600));\n --fg-white: var(--white);\n --fg-black: var(--black);\n --fg-inherit: inherit;\n --border-bg: var(--bg-body);\n --border-body: light-dark(var(--gray-300), var(--gray-800));\n --border-muted: light-dark(var(--gray-200), var(--gray-800));\n --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n --border-white: var(--white);\n --border-black: var(--black);\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n color-scheme: light;\n}\n\n@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: 0.375rem;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n text-underline-offset: 0.25em;\n backface-visibility: hidden;\n }\n .icon-link > .bi {\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n fill: currentcolor;\n transition: 0.2s ease-in-out transform;\n }\n @media (prefers-reduced-motion: reduce) {\n .icon-link > .bi {\n transition: none;\n }\n }\n .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n }\n}\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: 1030;\n }\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: 1030;\n }\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n @media (width >= 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-sm-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-md-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1024px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-lg-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1280px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1536px) {\n .sticky-2xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-2xl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n}\n@layer helpers {\n .stack-container {\n container-type: inline-size;\n }\n [class*=hstack],\n [class*=vstack] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n .vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n .hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n @container (width >= 576px) {\n .vstack-sm {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 576px) {\n .hstack-sm {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 768px) {\n .vstack-md {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 768px) {\n .hstack-md {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1024px) {\n .vstack-lg {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1024px) {\n .hstack-lg {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1280px) {\n .vstack-xl {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1280px) {\n .hstack-xl {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1536px) {\n .vstack-2xl {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1536px) {\n .hstack-2xl {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n}\n@layer helpers {\n .theme-primary {\n --theme-base: var(--primary-base);\n --theme-text: var(--primary-text);\n --theme-text-emphasis: var(--primary-text-emphasis);\n --theme-bg: var(--primary-bg);\n --theme-bg-subtle: var(--primary-bg-subtle);\n --theme-bg-muted: var(--primary-bg-muted);\n --theme-border: var(--primary-border);\n --theme-focus-ring: var(--primary-focus-ring);\n --theme-contrast: var(--primary-contrast);\n }\n .theme-accent {\n --theme-base: var(--accent-base);\n --theme-text: var(--accent-text);\n --theme-text-emphasis: var(--accent-text-emphasis);\n --theme-bg: var(--accent-bg);\n --theme-bg-subtle: var(--accent-bg-subtle);\n --theme-bg-muted: var(--accent-bg-muted);\n --theme-border: var(--accent-border);\n --theme-focus-ring: var(--accent-focus-ring);\n --theme-contrast: var(--accent-contrast);\n }\n .theme-success {\n --theme-base: var(--success-base);\n --theme-text: var(--success-text);\n --theme-text-emphasis: var(--success-text-emphasis);\n --theme-bg: var(--success-bg);\n --theme-bg-subtle: var(--success-bg-subtle);\n --theme-bg-muted: var(--success-bg-muted);\n --theme-border: var(--success-border);\n --theme-focus-ring: var(--success-focus-ring);\n --theme-contrast: var(--success-contrast);\n }\n .theme-danger {\n --theme-base: var(--danger-base);\n --theme-text: var(--danger-text);\n --theme-text-emphasis: var(--danger-text-emphasis);\n --theme-bg: var(--danger-bg);\n --theme-bg-subtle: var(--danger-bg-subtle);\n --theme-bg-muted: var(--danger-bg-muted);\n --theme-border: var(--danger-border);\n --theme-focus-ring: var(--danger-focus-ring);\n --theme-contrast: var(--danger-contrast);\n }\n .theme-warning {\n --theme-base: var(--warning-base);\n --theme-text: var(--warning-text);\n --theme-text-emphasis: var(--warning-text-emphasis);\n --theme-bg: var(--warning-bg);\n --theme-bg-subtle: var(--warning-bg-subtle);\n --theme-bg-muted: var(--warning-bg-muted);\n --theme-border: var(--warning-border);\n --theme-focus-ring: var(--warning-focus-ring);\n --theme-contrast: var(--warning-contrast);\n }\n .theme-info {\n --theme-base: var(--info-base);\n --theme-text: var(--info-text);\n --theme-text-emphasis: var(--info-text-emphasis);\n --theme-bg: var(--info-bg);\n --theme-bg-subtle: var(--info-bg-subtle);\n --theme-bg-muted: var(--info-bg-muted);\n --theme-border: var(--info-border);\n --theme-focus-ring: var(--info-focus-ring);\n --theme-contrast: var(--info-contrast);\n }\n .theme-inverse {\n --theme-base: var(--inverse-base);\n --theme-text: var(--inverse-text);\n --theme-text-emphasis: var(--inverse-text-emphasis);\n --theme-bg: var(--inverse-bg);\n --theme-bg-subtle: var(--inverse-bg-subtle);\n --theme-bg-muted: var(--inverse-bg-muted);\n --theme-border: var(--inverse-border);\n --theme-focus-ring: var(--inverse-focus-ring);\n --theme-contrast: var(--inverse-contrast);\n }\n .theme-secondary {\n --theme-base: var(--secondary-base);\n --theme-text: var(--secondary-text);\n --theme-text-emphasis: var(--secondary-text-emphasis);\n --theme-bg: var(--secondary-bg);\n --theme-bg-subtle: var(--secondary-bg-subtle);\n --theme-bg-muted: var(--secondary-bg-muted);\n --theme-border: var(--secondary-border);\n --theme-focus-ring: var(--secondary-focus-ring);\n --theme-contrast: var(--secondary-contrast);\n }\n}\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n .visually-hidden:not(caption),\n .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n position: absolute !important;\n }\n .visually-hidden *,\n .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n overflow: hidden !important;\n }\n}\n@layer helpers {\n .stretched-link::after {\n position: absolute;\n inset: 0;\n z-index: 1;\n content: \"\";\n }\n}\n@layer helpers {\n .text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n@layer utilities {\n .align-baseline {\n vertical-align: baseline;\n }\n .align-top {\n vertical-align: top;\n }\n .align-middle {\n vertical-align: middle;\n }\n .align-bottom {\n vertical-align: bottom;\n }\n .align-text-bottom {\n vertical-align: text-bottom;\n }\n .align-text-top {\n vertical-align: text-top;\n }\n [class*=ratio-] {\n aspect-ratio: var(--ratio);\n }\n .ratio-auto {\n --ratio: auto;\n }\n .ratio-1x1 {\n --ratio: 1 / 1;\n }\n .ratio-4x3 {\n --ratio: 4 / 3;\n }\n .ratio-16x9 {\n --ratio: 16 / 9;\n }\n .ratio-21x9 {\n --ratio: 21 / 9;\n }\n .float-start {\n float: inline-start;\n }\n .float-end {\n float: inline-end;\n }\n .float-none {\n float: none;\n }\n .object-fit-contain {\n object-fit: contain;\n }\n .object-fit-cover {\n object-fit: cover;\n }\n .object-fit-fill {\n object-fit: fill;\n }\n .object-fit-scale {\n object-fit: scale-down;\n }\n .object-fit-none {\n object-fit: none;\n }\n .opacity-0 {\n opacity: 0;\n }\n .opacity-25 {\n opacity: 0.25;\n }\n .opacity-50 {\n opacity: 0.5;\n }\n .opacity-75 {\n opacity: 0.75;\n }\n .opacity-100 {\n opacity: 1;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-visible {\n overflow: visible;\n }\n .overflow-scroll {\n overflow: scroll;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n .overflow-x-visible {\n overflow-x: visible;\n }\n .overflow-x-scroll {\n overflow-x: scroll;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .overflow-y-hidden {\n overflow-y: hidden;\n }\n .overflow-y-visible {\n overflow-y: visible;\n }\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n .contains-inline {\n container-type: inline-size;\n }\n .contains-size {\n container-type: size;\n }\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .shadow {\n box-shadow: var(--box-shadow);\n }\n .shadow-sm {\n box-shadow: var(--box-shadow-sm);\n }\n .shadow-lg {\n box-shadow: var(--box-shadow-lg);\n }\n .shadow-none {\n box-shadow: none;\n }\n .focus-ring-primary {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n }\n .focus-ring-accent {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n }\n .focus-ring-success {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n }\n .focus-ring-danger {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n }\n .focus-ring-warning {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n }\n .focus-ring-info {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n }\n .focus-ring-inverse {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n }\n .focus-ring-secondary {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n }\n .position-static {\n position: static;\n }\n .position-relative {\n position: relative;\n }\n .position-absolute {\n position: absolute;\n }\n .position-fixed {\n position: fixed;\n }\n .position-sticky {\n position: sticky;\n }\n .top-0 {\n top: 0;\n }\n .top-50 {\n top: 50%;\n }\n .top-100 {\n top: 100%;\n }\n .bottom-0 {\n bottom: 0;\n }\n .bottom-50 {\n bottom: 50%;\n }\n .bottom-100 {\n bottom: 100%;\n }\n .start-0 {\n left: 0;\n }\n .start-50 {\n left: 50%;\n }\n .start-100 {\n left: 100%;\n }\n .end-0 {\n right: 0;\n }\n .end-50 {\n right: 50%;\n }\n .end-100 {\n right: 100%;\n }\n .translate-middle {\n transform: translate(-50%, -50%);\n }\n .translate-middle-x {\n transform: translateX(-50%);\n }\n .translate-middle-y {\n transform: translateY(-50%);\n }\n .border {\n border: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-0 {\n border: 0;\n }\n .border-top {\n border-block-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-top-0 {\n border-block-start: 0;\n }\n .border-end {\n border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-end-0 {\n border-inline-end: 0;\n }\n .border-bottom {\n border-block-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-bottom-0 {\n border-block-end: 0;\n }\n .border-start {\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-start-0 {\n border-inline-start: 0;\n }\n .border-block {\n border-block: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-block-0 {\n border-block: 0;\n }\n .border-inline {\n border-inline: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-inline-0 {\n border-inline: 0;\n }\n .border-primary {\n --border-color: var(--blue-500);\n border-color: var(--border-color);\n }\n .border-accent {\n --border-color: var(--indigo-500);\n border-color: var(--border-color);\n }\n .border-success {\n --border-color: var(--green-500);\n border-color: var(--border-color);\n }\n .border-danger {\n --border-color: var(--red-500);\n border-color: var(--border-color);\n }\n .border-warning {\n --border-color: var(--yellow-500);\n border-color: var(--border-color);\n }\n .border-info {\n --border-color: var(--cyan-500);\n border-color: var(--border-color);\n }\n .border-inverse {\n --border-color: light-dark(var(--gray-900), var(--gray-025));\n border-color: var(--border-color);\n }\n .border-secondary {\n --border-color: light-dark(var(--gray-100), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-bg {\n --border-color: var(--bg-body);\n border-color: var(--border-color);\n }\n .border-body {\n --border-color: light-dark(var(--gray-300), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-muted {\n --border-color: light-dark(var(--gray-200), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-subtle {\n --border-color: light-dark(var(--gray-100), var(--gray-900));\n border-color: var(--border-color);\n }\n .border-emphasized {\n --border-color: light-dark(var(--gray-400), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-white {\n --border-color: var(--white);\n border-color: var(--border-color);\n }\n .border-black {\n --border-color: var(--black);\n border-color: var(--border-color);\n }\n .border-subtle-primary {\n --border-color: light-dark(var(--blue-300), var(--blue-600));\n border-color: var(--border-color);\n }\n .border-subtle-accent {\n --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n border-color: var(--border-color);\n }\n .border-subtle-success {\n --border-color: light-dark(var(--green-300), var(--green-600));\n border-color: var(--border-color);\n }\n .border-subtle-danger {\n --border-color: light-dark(var(--red-300), var(--red-600));\n border-color: var(--border-color);\n }\n .border-subtle-warning {\n --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n border-color: var(--border-color);\n }\n .border-subtle-info {\n --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n border-color: var(--border-color);\n }\n .border-subtle-inverse {\n --border-color: light-dark(var(--gray-400), var(--gray-100));\n border-color: var(--border-color);\n }\n .border-subtle-secondary {\n --border-color: light-dark(var(--gray-300), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-1 {\n border-width: 1px;\n }\n .border-2 {\n border-width: 2px;\n }\n .border-3 {\n border-width: 3px;\n }\n .border-4 {\n border-width: 4px;\n }\n .border-5 {\n border-width: 5px;\n }\n .border-10 {\n border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n }\n .border-20 {\n border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n }\n .border-30 {\n border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n }\n .border-40 {\n border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n }\n .border-50 {\n border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n }\n .border-60 {\n border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n }\n .border-70 {\n border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n }\n .border-80 {\n border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n }\n .border-90 {\n border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n }\n .border-100 {\n border-color: var(--border-color);\n }\n .w-1 {\n width: 1rem;\n }\n .w-2 {\n width: 2rem;\n }\n .w-3 {\n width: 3rem;\n }\n .w-4 {\n width: 4rem;\n }\n .w-5 {\n width: 5rem;\n }\n .w-6 {\n width: 6rem;\n }\n .w-7 {\n width: 7rem;\n }\n .w-8 {\n width: 8rem;\n }\n .w-9 {\n width: 9rem;\n }\n .w-10 {\n width: 10rem;\n }\n .w-11 {\n width: 11rem;\n }\n .w-12 {\n width: 12rem;\n }\n .w-25 {\n width: 25%;\n }\n .w-50 {\n width: 50%;\n }\n .w-75 {\n width: 75%;\n }\n .w-100 {\n width: 100%;\n }\n .w-auto {\n width: auto;\n }\n .w-min {\n width: min-content;\n }\n .w-max {\n width: max-content;\n }\n .w-fit {\n width: fit-content;\n }\n .max-w-100 {\n max-width: 100%;\n }\n .min-w-0 {\n min-width: 0;\n }\n .min-w-100 {\n min-width: 100%;\n }\n .vw-100 {\n width: 100vw;\n }\n .min-vw-100 {\n min-width: 100vw;\n }\n .h-25 {\n height: 25%;\n }\n .h-50 {\n height: 50%;\n }\n .h-75 {\n height: 75%;\n }\n .h-100 {\n height: 100%;\n }\n .h-auto {\n height: auto;\n }\n .h-min {\n height: min-content;\n }\n .h-max {\n height: max-content;\n }\n .h-fit {\n height: fit-content;\n }\n .max-h-100 {\n max-height: 100%;\n }\n .min-h-0 {\n min-height: 0;\n }\n .min-h-100 {\n min-height: 100%;\n }\n .vh-100 {\n height: 100vh;\n }\n .min-vh-100 {\n min-height: 100vh;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .justify-self-start {\n justify-self: flex-start;\n }\n .justify-self-end {\n justify-self: flex-end;\n }\n .justify-self-center {\n justify-self: center;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .order-first {\n order: -1;\n }\n .order-0 {\n order: 0;\n }\n .order-1 {\n order: 1;\n }\n .order-2 {\n order: 2;\n }\n .order-3 {\n order: 3;\n }\n .order-4 {\n order: 4;\n }\n .order-5 {\n order: 5;\n }\n .order-last {\n order: 6;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n .gap-0 {\n gap: 0;\n }\n .gap-1 {\n gap: 0.25rem;\n }\n .gap-2 {\n gap: 0.5rem;\n }\n .gap-3 {\n gap: 1rem;\n }\n .gap-4 {\n gap: 1.5rem;\n }\n .gap-5 {\n gap: 3rem;\n }\n .row-gap-0 {\n row-gap: 0;\n }\n .row-gap-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2 {\n row-gap: 0.5rem;\n }\n .row-gap-3 {\n row-gap: 1rem;\n }\n .row-gap-4 {\n row-gap: 1.5rem;\n }\n .row-gap-5 {\n row-gap: 3rem;\n }\n .column-gap-0 {\n column-gap: 0;\n }\n .column-gap-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2 {\n column-gap: 0.5rem;\n }\n .column-gap-3 {\n column-gap: 1rem;\n }\n .column-gap-4 {\n column-gap: 1.5rem;\n }\n .column-gap-5 {\n column-gap: 3rem;\n }\n .font-monospace {\n font-family: var(--font-mono);\n }\n .font-body {\n font-family: var(--body-font-family);\n }\n .fs-xs {\n font-size: 0.75rem;\n }\n .fs-sm {\n font-size: 0.875rem;\n }\n .fs-md {\n font-size: 1rem;\n }\n .fs-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n }\n .fs-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n }\n .fs-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n }\n .fs-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n }\n .fs-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n }\n .fs-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n }\n .fs-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n }\n .text-xs {\n font-size: 0.75rem;\n line-height: 1.25;\n }\n .text-sm {\n font-size: 0.875rem;\n line-height: 1.5;\n }\n .text-md {\n font-size: 1rem;\n line-height: 1.5;\n }\n .text-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n line-height: 1.5;\n }\n .text-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n line-height: 1.4285714286;\n }\n .text-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n line-height: 1.3333333333;\n }\n .text-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n line-height: 1.2;\n }\n .text-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n line-height: 1.1;\n }\n .text-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n line-height: 1.1;\n }\n .text-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n line-height: 1;\n }\n .fst-italic {\n font-style: italic;\n }\n .fst-normal {\n font-style: normal;\n }\n .fw-lighter {\n font-weight: lighter;\n }\n .fw-light {\n font-weight: 300;\n }\n .fw-normal {\n font-weight: 400;\n }\n .fw-medium {\n font-weight: 500;\n }\n .fw-semibold {\n font-weight: 600;\n }\n .fw-bold {\n font-weight: 700;\n }\n .fw-bolder {\n font-weight: bolder;\n }\n .lh-1 {\n line-height: 1;\n }\n .lh-sm {\n line-height: 1.25;\n }\n .lh-base {\n line-height: 1.5;\n }\n .lh-lg {\n line-height: 2;\n }\n .text-start {\n text-align: start;\n }\n .text-end {\n text-align: end;\n }\n .text-center {\n text-align: center;\n }\n .text-decoration-none {\n text-decoration: none;\n }\n .text-decoration-underline {\n text-decoration: underline;\n }\n .text-decoration-line-through {\n text-decoration: line-through;\n }\n .text-lowercase {\n text-transform: lowercase;\n }\n .text-uppercase {\n text-transform: uppercase;\n }\n .text-capitalize {\n text-transform: capitalize;\n }\n .text-wrap {\n white-space: wrap;\n }\n .text-nowrap {\n white-space: nowrap;\n }\n .text-balance {\n white-space: balance;\n }\n .text-pretty {\n white-space: pretty;\n }\n .text-break {\n word-wrap: break-word;\n word-break: break-word;\n }\n .fg-primary {\n --fg: light-dark(var(--blue-600), var(--blue-400));\n color: var(--fg);\n }\n .fg-accent {\n --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n color: var(--fg);\n }\n .fg-success {\n --fg: light-dark(var(--green-600), var(--green-400));\n color: var(--fg);\n }\n .fg-danger {\n --fg: light-dark(var(--red-600), var(--red-400));\n color: var(--fg);\n }\n .fg-warning {\n --fg: light-dark(var(--yellow-700), var(--yellow-400));\n color: var(--fg);\n }\n .fg-info {\n --fg: light-dark(var(--cyan-600), var(--cyan-400));\n color: var(--fg);\n }\n .fg-inverse {\n --fg: light-dark(var(--gray-900), var(--gray-200));\n color: var(--fg);\n }\n .fg-secondary {\n --fg: light-dark(var(--gray-600), var(--gray-400));\n color: var(--fg);\n }\n .fg-body {\n --fg: light-dark(var(--gray-900), var(--gray-050));\n color: var(--fg);\n }\n .fg-1 {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-2 {\n --fg: light-dark(var(--gray-700), var(--gray-300));\n color: var(--fg);\n }\n .fg-3 {\n --fg: light-dark(var(--gray-600), var(--gray-500));\n color: var(--fg);\n }\n .fg-4 {\n --fg: light-dark(var(--gray-500), var(--gray-600));\n color: var(--fg);\n }\n .fg-white {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-black {\n --fg: var(--black);\n color: var(--fg);\n }\n .fg-inherit {\n --fg: inherit;\n color: var(--fg);\n }\n .fg-emphasis-primary {\n --fg: light-dark(var(--blue-800), var(--blue-200));\n color: var(--fg);\n }\n .fg-emphasis-accent {\n --fg: light-dark(var(--indigo-800), var(--indigo-300));\n color: var(--fg);\n }\n .fg-emphasis-success {\n --fg: light-dark(var(--green-800), var(--green-300));\n color: var(--fg);\n }\n .fg-emphasis-danger {\n --fg: light-dark(var(--red-800), var(--red-300));\n color: var(--fg);\n }\n .fg-emphasis-warning {\n --fg: light-dark(var(--yellow-800), var(--yellow-300));\n color: var(--fg);\n }\n .fg-emphasis-info {\n --fg: light-dark(var(--cyan-800), var(--cyan-300));\n color: var(--fg);\n }\n .fg-emphasis-inverse {\n --fg: light-dark(var(--gray-975), var(--white));\n color: var(--fg);\n }\n .fg-emphasis-secondary {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-contrast-primary {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-accent {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-success {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-danger {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-warning {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-info {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-inverse {\n --fg: light-dark(var(--white), var(--gray-900));\n color: var(--fg);\n }\n .fg-contrast-secondary {\n --fg: light-dark(var(--gray-900), var(--white));\n color: var(--fg);\n }\n .fg-10 {\n color: color-mix(in oklch, var(--fg) 10%, transparent);\n }\n .fg-20 {\n color: color-mix(in oklch, var(--fg) 20%, transparent);\n }\n .fg-30 {\n color: color-mix(in oklch, var(--fg) 30%, transparent);\n }\n .fg-40 {\n color: color-mix(in oklch, var(--fg) 40%, transparent);\n }\n .fg-50 {\n color: color-mix(in oklch, var(--fg) 50%, transparent);\n }\n .fg-60 {\n color: color-mix(in oklch, var(--fg) 60%, transparent);\n }\n .fg-70 {\n color: color-mix(in oklch, var(--fg) 70%, transparent);\n }\n .fg-80 {\n color: color-mix(in oklch, var(--fg) 80%, transparent);\n }\n .fg-90 {\n color: color-mix(in oklch, var(--fg) 90%, transparent);\n }\n .fg-100 {\n color: var(--fg);\n }\n .link-10 {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-10-hover:hover {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-20 {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-20-hover:hover {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-30 {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-30-hover:hover {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-40 {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-40-hover:hover {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-50 {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-50-hover:hover {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-60 {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-60-hover:hover {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-70 {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-70-hover:hover {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-80 {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-80-hover:hover {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-90 {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-90-hover:hover {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-100 {\n color: var(--link-color);\n }\n .link-100-hover:hover {\n color: var(--link-color);\n }\n .underline-offset-1 {\n text-underline-offset: 0.125em;\n }\n .underline-offset-1-hover:hover {\n text-underline-offset: 0.125em;\n }\n .underline-offset-2 {\n text-underline-offset: 0.25em;\n }\n .underline-offset-2-hover:hover {\n text-underline-offset: 0.25em;\n }\n .underline-offset-3 {\n text-underline-offset: 0.375em;\n }\n .underline-offset-3-hover:hover {\n text-underline-offset: 0.375em;\n }\n .underline-primary {\n text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n }\n .underline-accent {\n text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n }\n .underline-success {\n text-decoration-color: light-dark(var(--green-600), var(--green-400));\n }\n .underline-danger {\n text-decoration-color: light-dark(var(--red-600), var(--red-400));\n }\n .underline-warning {\n text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n }\n .underline-info {\n text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n }\n .underline-inverse {\n text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n }\n .underline-secondary {\n text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n }\n .underline-10 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-10-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-20 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-20-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-30 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-30-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-40 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-40-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-50 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-50-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-60 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-60-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-70 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-70-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-80 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-80-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-90 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-90-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-100 {\n text-decoration-color: var(--link-color);\n }\n .underline-100-hover:hover {\n text-decoration-color: var(--link-color);\n }\n .underline-thickness-1 {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-1-hover:hover {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-2 {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-2-hover:hover {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-3 {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-3-hover:hover {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-4 {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-4-hover:hover {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-5 {\n text-decoration-thickness: 5px;\n }\n .underline-thickness-5-hover:hover {\n text-decoration-thickness: 5px;\n }\n .bg-primary {\n --bg: var(--blue-500);\n background-color: var(--bg);\n }\n .bg-accent {\n --bg: var(--indigo-500);\n background-color: var(--bg);\n }\n .bg-success {\n --bg: var(--green-500);\n background-color: var(--bg);\n }\n .bg-danger {\n --bg: var(--red-500);\n background-color: var(--bg);\n }\n .bg-warning {\n --bg: var(--yellow-500);\n background-color: var(--bg);\n }\n .bg-info {\n --bg: var(--cyan-500);\n background-color: var(--bg);\n }\n .bg-inverse {\n --bg: light-dark(var(--gray-900), var(--gray-025));\n background-color: var(--bg);\n }\n .bg-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-600));\n background-color: var(--bg);\n }\n .bg-body {\n --bg: light-dark(var(--white), var(--gray-975));\n background-color: var(--bg);\n }\n .bg-1 {\n --bg: light-dark(var(--gray-025), var(--gray-950));\n background-color: var(--bg);\n }\n .bg-2 {\n --bg: light-dark(var(--gray-050), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-3 {\n --bg: light-dark(var(--gray-100), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-4 {\n --bg: light-dark(var(--gray-200), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-white {\n --bg: var(--white);\n background-color: var(--bg);\n }\n .bg-black {\n --bg: var(--black);\n background-color: var(--bg);\n }\n .bg-transparent {\n --bg: transparent;\n background-color: var(--bg);\n }\n .bg-inherit {\n --bg: inherit;\n background-color: var(--bg);\n }\n .bg-subtle-primary {\n --bg: light-dark(var(--blue-100), var(--blue-900));\n background-color: var(--bg);\n }\n .bg-subtle-accent {\n --bg: light-dark(var(--indigo-100), var(--indigo-900));\n background-color: var(--bg);\n }\n .bg-subtle-success {\n --bg: light-dark(var(--green-100), var(--green-900));\n background-color: var(--bg);\n }\n .bg-subtle-danger {\n --bg: light-dark(var(--red-100), var(--red-900));\n background-color: var(--bg);\n }\n .bg-subtle-warning {\n --bg: light-dark(var(--yellow-100), var(--yellow-900));\n background-color: var(--bg);\n }\n .bg-subtle-info {\n --bg: light-dark(var(--cyan-100), var(--cyan-900));\n background-color: var(--bg);\n }\n .bg-subtle-inverse {\n --bg: light-dark(var(--gray-100), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-subtle-secondary {\n --bg: light-dark(var(--gray-050), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-muted-primary {\n --bg: light-dark(var(--blue-200), var(--blue-800));\n background-color: var(--bg);\n }\n .bg-muted-accent {\n --bg: light-dark(var(--indigo-200), var(--indigo-800));\n background-color: var(--bg);\n }\n .bg-muted-success {\n --bg: light-dark(var(--green-200), var(--green-800));\n background-color: var(--bg);\n }\n .bg-muted-danger {\n --bg: light-dark(var(--red-200), var(--red-800));\n background-color: var(--bg);\n }\n .bg-muted-warning {\n --bg: light-dark(var(--yellow-200), var(--yellow-800));\n background-color: var(--bg);\n }\n .bg-muted-info {\n --bg: light-dark(var(--cyan-200), var(--cyan-800));\n background-color: var(--bg);\n }\n .bg-muted-inverse {\n --bg: light-dark(var(--gray-200), var(--gray-300));\n background-color: var(--bg);\n }\n .bg-muted-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-10 {\n background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n }\n .bg-20 {\n background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n }\n .bg-30 {\n background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n }\n .bg-40 {\n background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n }\n .bg-50 {\n background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n }\n .bg-60 {\n background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n }\n .bg-70 {\n background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n }\n .bg-80 {\n background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n }\n .bg-90 {\n background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n }\n .bg-100 {\n background-color: var(--bg);\n }\n .theme-contrast {\n background-color: var(--theme-bg);\n color: var(--theme-contrast);\n }\n .theme-subtle {\n background-color: var(--theme-bg-subtle);\n color: var(--theme-text);\n }\n .theme-muted {\n background-color: var(--theme-bg-muted);\n color: var(--theme-text-emphasis);\n }\n .theme-border {\n border: var(--border-width) solid var(--theme-border);\n }\n .bg-gradient {\n background-image: var(--gradient);\n }\n .user-select-all {\n user-select: all;\n }\n .user-select-auto {\n user-select: auto;\n }\n .user-select-text {\n user-select: text;\n }\n .user-select-none {\n user-select: none;\n }\n .pe-none {\n pointer-events: none;\n }\n .pe-auto {\n pointer-events: auto;\n }\n .rounded {\n border-radius: var(--border-radius);\n }\n .rounded-0 {\n border-radius: 0;\n }\n .rounded-1 {\n border-radius: var(--border-radius-sm);\n }\n .rounded-2 {\n border-radius: var(--border-radius);\n }\n .rounded-3 {\n border-radius: var(--border-radius-lg);\n }\n .rounded-4 {\n border-radius: var(--border-radius-xl);\n }\n .rounded-5 {\n border-radius: var(--border-radius-2xl);\n }\n .rounded-circle {\n border-radius: 50%;\n }\n .rounded-pill {\n border-radius: var(--border-radius-pill);\n }\n .rounded-top {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-top-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-top-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-top-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-top-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-top-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-top-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .rounded-end {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-end-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-end-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-end-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-end-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-end-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-end-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-bottom {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-bottom-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-bottom-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-bottom-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-bottom-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-bottom-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-bottom-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-start {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-start-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-start-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-start-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-start-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-start-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-start-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .visible {\n visibility: visible;\n }\n .invisible {\n visibility: hidden;\n }\n .z-n1 {\n z-index: -1;\n }\n .z-0 {\n z-index: 0;\n }\n .z-1 {\n z-index: 1;\n }\n .z-2 {\n z-index: 2;\n }\n .z-3 {\n z-index: 3;\n }\n @media (width >= 576px) {\n .float-sm-start {\n float: inline-start;\n }\n .float-sm-end {\n float: inline-end;\n }\n .float-sm-none {\n float: none;\n }\n .object-fit-sm-contain {\n object-fit: contain;\n }\n .object-fit-sm-cover {\n object-fit: cover;\n }\n .object-fit-sm-fill {\n object-fit: fill;\n }\n .object-fit-sm-scale {\n object-fit: scale-down;\n }\n .object-fit-sm-none {\n object-fit: none;\n }\n .d-sm-inline {\n display: inline;\n }\n .d-sm-inline-block {\n display: inline-block;\n }\n .d-sm-block {\n display: block;\n }\n .d-sm-grid {\n display: grid;\n }\n .d-sm-inline-grid {\n display: inline-grid;\n }\n .d-sm-table {\n display: table;\n }\n .d-sm-table-row {\n display: table-row;\n }\n .d-sm-table-cell {\n display: table-cell;\n }\n .d-sm-flex {\n display: flex;\n }\n .d-sm-inline-flex {\n display: inline-flex;\n }\n .d-sm-contents {\n display: contents;\n }\n .d-sm-flow-root {\n display: flow-root;\n }\n .d-sm-none {\n display: none;\n }\n .flex-sm-fill {\n flex: 1 1 auto;\n }\n .flex-sm-row {\n flex-direction: row;\n }\n .flex-sm-column {\n flex-direction: column;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-sm-grow-0 {\n flex-grow: 0;\n }\n .flex-sm-grow-1 {\n flex-grow: 1;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1;\n }\n .flex-sm-wrap {\n flex-wrap: wrap;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-sm-start {\n justify-content: flex-start;\n }\n .justify-content-sm-end {\n justify-content: flex-end;\n }\n .justify-content-sm-center {\n justify-content: center;\n }\n .justify-content-sm-between {\n justify-content: space-between;\n }\n .justify-content-sm-around {\n justify-content: space-around;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly;\n }\n .justify-items-sm-start {\n justify-items: start;\n }\n .justify-items-sm-end {\n justify-items: end;\n }\n .justify-items-sm-center {\n justify-items: center;\n }\n .justify-items-sm-stretch {\n justify-items: stretch;\n }\n .justify-self-sm-start {\n justify-self: flex-start;\n }\n .justify-self-sm-end {\n justify-self: flex-end;\n }\n .justify-self-sm-center {\n justify-self: center;\n }\n .align-items-sm-start {\n align-items: flex-start;\n }\n .align-items-sm-end {\n align-items: flex-end;\n }\n .align-items-sm-center {\n align-items: center;\n }\n .align-items-sm-baseline {\n align-items: baseline;\n }\n .align-items-sm-stretch {\n align-items: stretch;\n }\n .align-content-sm-start {\n align-content: flex-start;\n }\n .align-content-sm-end {\n align-content: flex-end;\n }\n .align-content-sm-center {\n align-content: center;\n }\n .align-content-sm-between {\n align-content: space-between;\n }\n .align-content-sm-around {\n align-content: space-around;\n }\n .align-content-sm-stretch {\n align-content: stretch;\n }\n .align-self-sm-auto {\n align-self: auto;\n }\n .align-self-sm-start {\n align-self: flex-start;\n }\n .align-self-sm-end {\n align-self: flex-end;\n }\n .align-self-sm-center {\n align-self: center;\n }\n .align-self-sm-baseline {\n align-self: baseline;\n }\n .align-self-sm-stretch {\n align-self: stretch;\n }\n .place-items-sm-start {\n place-items: start;\n }\n .place-items-sm-end {\n place-items: end;\n }\n .place-items-sm-center {\n place-items: center;\n }\n .place-items-sm-stretch {\n place-items: stretch;\n }\n .grid-cols-sm-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-sm-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-sm-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-sm-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-sm-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-sm-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-sm-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-sm-dense {\n grid-auto-flow: dense;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-last {\n order: 6;\n }\n .m-sm-0 {\n margin: 0;\n }\n .m-sm-1 {\n margin: 0.25rem;\n }\n .m-sm-2 {\n margin: 0.5rem;\n }\n .m-sm-3 {\n margin: 1rem;\n }\n .m-sm-4 {\n margin: 1.5rem;\n }\n .m-sm-5 {\n margin: 3rem;\n }\n .m-sm-auto {\n margin: auto;\n }\n .mx-sm-0 {\n margin-inline: 0;\n }\n .mx-sm-1 {\n margin-inline: 0.25rem;\n }\n .mx-sm-2 {\n margin-inline: 0.5rem;\n }\n .mx-sm-3 {\n margin-inline: 1rem;\n }\n .mx-sm-4 {\n margin-inline: 1.5rem;\n }\n .mx-sm-5 {\n margin-inline: 3rem;\n }\n .mx-sm-auto {\n margin-inline: auto;\n }\n .my-sm-0 {\n margin-block: 0;\n }\n .my-sm-1 {\n margin-block: 0.25rem;\n }\n .my-sm-2 {\n margin-block: 0.5rem;\n }\n .my-sm-3 {\n margin-block: 1rem;\n }\n .my-sm-4 {\n margin-block: 1.5rem;\n }\n .my-sm-5 {\n margin-block: 3rem;\n }\n .my-sm-auto {\n margin-block: auto;\n }\n .mt-sm-0 {\n margin-block-start: 0;\n }\n .mt-sm-1 {\n margin-block-start: 0.25rem;\n }\n .mt-sm-2 {\n margin-block-start: 0.5rem;\n }\n .mt-sm-3 {\n margin-block-start: 1rem;\n }\n .mt-sm-4 {\n margin-block-start: 1.5rem;\n }\n .mt-sm-5 {\n margin-block-start: 3rem;\n }\n .mt-sm-auto {\n margin-block-start: auto;\n }\n .me-sm-0 {\n margin-inline-end: 0;\n }\n .me-sm-1 {\n margin-inline-end: 0.25rem;\n }\n .me-sm-2 {\n margin-inline-end: 0.5rem;\n }\n .me-sm-3 {\n margin-inline-end: 1rem;\n }\n .me-sm-4 {\n margin-inline-end: 1.5rem;\n }\n .me-sm-5 {\n margin-inline-end: 3rem;\n }\n .me-sm-auto {\n margin-inline-end: auto;\n }\n .mb-sm-0 {\n margin-block-end: 0;\n }\n .mb-sm-1 {\n margin-block-end: 0.25rem;\n }\n .mb-sm-2 {\n margin-block-end: 0.5rem;\n }\n .mb-sm-3 {\n margin-block-end: 1rem;\n }\n .mb-sm-4 {\n margin-block-end: 1.5rem;\n }\n .mb-sm-5 {\n margin-block-end: 3rem;\n }\n .mb-sm-auto {\n margin-block-end: auto;\n }\n .ms-sm-0 {\n margin-inline-start: 0;\n }\n .ms-sm-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-sm-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-sm-3 {\n margin-inline-start: 1rem;\n }\n .ms-sm-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-sm-5 {\n margin-inline-start: 3rem;\n }\n .ms-sm--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-sm--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-sm-auto {\n margin-inline-start: auto;\n }\n .p-sm-0 {\n padding: 0;\n }\n .p-sm-1 {\n padding: 0.25rem;\n }\n .p-sm-2 {\n padding: 0.5rem;\n }\n .p-sm-3 {\n padding: 1rem;\n }\n .p-sm-4 {\n padding: 1.5rem;\n }\n .p-sm-5 {\n padding: 3rem;\n }\n .px-sm-0 {\n padding-inline: 0;\n }\n .px-sm-1 {\n padding-inline: 0.25rem;\n }\n .px-sm-2 {\n padding-inline: 0.5rem;\n }\n .px-sm-3 {\n padding-inline: 1rem;\n }\n .px-sm-4 {\n padding-inline: 1.5rem;\n }\n .px-sm-5 {\n padding-inline: 3rem;\n }\n .py-sm-0 {\n padding-block: 0;\n }\n .py-sm-1 {\n padding-block: 0.25rem;\n }\n .py-sm-2 {\n padding-block: 0.5rem;\n }\n .py-sm-3 {\n padding-block: 1rem;\n }\n .py-sm-4 {\n padding-block: 1.5rem;\n }\n .py-sm-5 {\n padding-block: 3rem;\n }\n .pt-sm-0 {\n padding-block-start: 0;\n }\n .pt-sm-1 {\n padding-block-start: 0.25rem;\n }\n .pt-sm-2 {\n padding-block-start: 0.5rem;\n }\n .pt-sm-3 {\n padding-block-start: 1rem;\n }\n .pt-sm-4 {\n padding-block-start: 1.5rem;\n }\n .pt-sm-5 {\n padding-block-start: 3rem;\n }\n .pe-sm-0 {\n padding-inline-end: 0;\n }\n .pe-sm-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-sm-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-sm-3 {\n padding-inline-end: 1rem;\n }\n .pe-sm-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-sm-5 {\n padding-inline-end: 3rem;\n }\n .pb-sm-0 {\n padding-block-end: 0;\n }\n .pb-sm-1 {\n padding-block-end: 0.25rem;\n }\n .pb-sm-2 {\n padding-block-end: 0.5rem;\n }\n .pb-sm-3 {\n padding-block-end: 1rem;\n }\n .pb-sm-4 {\n padding-block-end: 1.5rem;\n }\n .pb-sm-5 {\n padding-block-end: 3rem;\n }\n .ps-sm-0 {\n padding-inline-start: 0;\n }\n .ps-sm-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-sm-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-sm-3 {\n padding-inline-start: 1rem;\n }\n .ps-sm-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-sm-5 {\n padding-inline-start: 3rem;\n }\n .gap-sm-0 {\n gap: 0;\n }\n .gap-sm-1 {\n gap: 0.25rem;\n }\n .gap-sm-2 {\n gap: 0.5rem;\n }\n .gap-sm-3 {\n gap: 1rem;\n }\n .gap-sm-4 {\n gap: 1.5rem;\n }\n .gap-sm-5 {\n gap: 3rem;\n }\n .row-gap-sm-0 {\n row-gap: 0;\n }\n .row-gap-sm-1 {\n row-gap: 0.25rem;\n }\n .row-gap-sm-2 {\n row-gap: 0.5rem;\n }\n .row-gap-sm-3 {\n row-gap: 1rem;\n }\n .row-gap-sm-4 {\n row-gap: 1.5rem;\n }\n .row-gap-sm-5 {\n row-gap: 3rem;\n }\n .column-gap-sm-0 {\n column-gap: 0;\n }\n .column-gap-sm-1 {\n column-gap: 0.25rem;\n }\n .column-gap-sm-2 {\n column-gap: 0.5rem;\n }\n .column-gap-sm-3 {\n column-gap: 1rem;\n }\n .column-gap-sm-4 {\n column-gap: 1.5rem;\n }\n .column-gap-sm-5 {\n column-gap: 3rem;\n }\n .text-sm-start {\n text-align: start;\n }\n .text-sm-end {\n text-align: end;\n }\n .text-sm-center {\n text-align: center;\n }\n }\n @media (width >= 768px) {\n .float-md-start {\n float: inline-start;\n }\n .float-md-end {\n float: inline-end;\n }\n .float-md-none {\n float: none;\n }\n .object-fit-md-contain {\n object-fit: contain;\n }\n .object-fit-md-cover {\n object-fit: cover;\n }\n .object-fit-md-fill {\n object-fit: fill;\n }\n .object-fit-md-scale {\n object-fit: scale-down;\n }\n .object-fit-md-none {\n object-fit: none;\n }\n .d-md-inline {\n display: inline;\n }\n .d-md-inline-block {\n display: inline-block;\n }\n .d-md-block {\n display: block;\n }\n .d-md-grid {\n display: grid;\n }\n .d-md-inline-grid {\n display: inline-grid;\n }\n .d-md-table {\n display: table;\n }\n .d-md-table-row {\n display: table-row;\n }\n .d-md-table-cell {\n display: table-cell;\n }\n .d-md-flex {\n display: flex;\n }\n .d-md-inline-flex {\n display: inline-flex;\n }\n .d-md-contents {\n display: contents;\n }\n .d-md-flow-root {\n display: flow-root;\n }\n .d-md-none {\n display: none;\n }\n .flex-md-fill {\n flex: 1 1 auto;\n }\n .flex-md-row {\n flex-direction: row;\n }\n .flex-md-column {\n flex-direction: column;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-md-grow-0 {\n flex-grow: 0;\n }\n .flex-md-grow-1 {\n flex-grow: 1;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1;\n }\n .flex-md-wrap {\n flex-wrap: wrap;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-md-start {\n justify-content: flex-start;\n }\n .justify-content-md-end {\n justify-content: flex-end;\n }\n .justify-content-md-center {\n justify-content: center;\n }\n .justify-content-md-between {\n justify-content: space-between;\n }\n .justify-content-md-around {\n justify-content: space-around;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly;\n }\n .justify-items-md-start {\n justify-items: start;\n }\n .justify-items-md-end {\n justify-items: end;\n }\n .justify-items-md-center {\n justify-items: center;\n }\n .justify-items-md-stretch {\n justify-items: stretch;\n }\n .justify-self-md-start {\n justify-self: flex-start;\n }\n .justify-self-md-end {\n justify-self: flex-end;\n }\n .justify-self-md-center {\n justify-self: center;\n }\n .align-items-md-start {\n align-items: flex-start;\n }\n .align-items-md-end {\n align-items: flex-end;\n }\n .align-items-md-center {\n align-items: center;\n }\n .align-items-md-baseline {\n align-items: baseline;\n }\n .align-items-md-stretch {\n align-items: stretch;\n }\n .align-content-md-start {\n align-content: flex-start;\n }\n .align-content-md-end {\n align-content: flex-end;\n }\n .align-content-md-center {\n align-content: center;\n }\n .align-content-md-between {\n align-content: space-between;\n }\n .align-content-md-around {\n align-content: space-around;\n }\n .align-content-md-stretch {\n align-content: stretch;\n }\n .align-self-md-auto {\n align-self: auto;\n }\n .align-self-md-start {\n align-self: flex-start;\n }\n .align-self-md-end {\n align-self: flex-end;\n }\n .align-self-md-center {\n align-self: center;\n }\n .align-self-md-baseline {\n align-self: baseline;\n }\n .align-self-md-stretch {\n align-self: stretch;\n }\n .place-items-md-start {\n place-items: start;\n }\n .place-items-md-end {\n place-items: end;\n }\n .place-items-md-center {\n place-items: center;\n }\n .place-items-md-stretch {\n place-items: stretch;\n }\n .grid-cols-md-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-md-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-md-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-md-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-md-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-md-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-md-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-md-dense {\n grid-auto-flow: dense;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-last {\n order: 6;\n }\n .m-md-0 {\n margin: 0;\n }\n .m-md-1 {\n margin: 0.25rem;\n }\n .m-md-2 {\n margin: 0.5rem;\n }\n .m-md-3 {\n margin: 1rem;\n }\n .m-md-4 {\n margin: 1.5rem;\n }\n .m-md-5 {\n margin: 3rem;\n }\n .m-md-auto {\n margin: auto;\n }\n .mx-md-0 {\n margin-inline: 0;\n }\n .mx-md-1 {\n margin-inline: 0.25rem;\n }\n .mx-md-2 {\n margin-inline: 0.5rem;\n }\n .mx-md-3 {\n margin-inline: 1rem;\n }\n .mx-md-4 {\n margin-inline: 1.5rem;\n }\n .mx-md-5 {\n margin-inline: 3rem;\n }\n .mx-md-auto {\n margin-inline: auto;\n }\n .my-md-0 {\n margin-block: 0;\n }\n .my-md-1 {\n margin-block: 0.25rem;\n }\n .my-md-2 {\n margin-block: 0.5rem;\n }\n .my-md-3 {\n margin-block: 1rem;\n }\n .my-md-4 {\n margin-block: 1.5rem;\n }\n .my-md-5 {\n margin-block: 3rem;\n }\n .my-md-auto {\n margin-block: auto;\n }\n .mt-md-0 {\n margin-block-start: 0;\n }\n .mt-md-1 {\n margin-block-start: 0.25rem;\n }\n .mt-md-2 {\n margin-block-start: 0.5rem;\n }\n .mt-md-3 {\n margin-block-start: 1rem;\n }\n .mt-md-4 {\n margin-block-start: 1.5rem;\n }\n .mt-md-5 {\n margin-block-start: 3rem;\n }\n .mt-md-auto {\n margin-block-start: auto;\n }\n .me-md-0 {\n margin-inline-end: 0;\n }\n .me-md-1 {\n margin-inline-end: 0.25rem;\n }\n .me-md-2 {\n margin-inline-end: 0.5rem;\n }\n .me-md-3 {\n margin-inline-end: 1rem;\n }\n .me-md-4 {\n margin-inline-end: 1.5rem;\n }\n .me-md-5 {\n margin-inline-end: 3rem;\n }\n .me-md-auto {\n margin-inline-end: auto;\n }\n .mb-md-0 {\n margin-block-end: 0;\n }\n .mb-md-1 {\n margin-block-end: 0.25rem;\n }\n .mb-md-2 {\n margin-block-end: 0.5rem;\n }\n .mb-md-3 {\n margin-block-end: 1rem;\n }\n .mb-md-4 {\n margin-block-end: 1.5rem;\n }\n .mb-md-5 {\n margin-block-end: 3rem;\n }\n .mb-md-auto {\n margin-block-end: auto;\n }\n .ms-md-0 {\n margin-inline-start: 0;\n }\n .ms-md-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-md-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-md-3 {\n margin-inline-start: 1rem;\n }\n .ms-md-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-md-5 {\n margin-inline-start: 3rem;\n }\n .ms-md--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-md--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-md-auto {\n margin-inline-start: auto;\n }\n .p-md-0 {\n padding: 0;\n }\n .p-md-1 {\n padding: 0.25rem;\n }\n .p-md-2 {\n padding: 0.5rem;\n }\n .p-md-3 {\n padding: 1rem;\n }\n .p-md-4 {\n padding: 1.5rem;\n }\n .p-md-5 {\n padding: 3rem;\n }\n .px-md-0 {\n padding-inline: 0;\n }\n .px-md-1 {\n padding-inline: 0.25rem;\n }\n .px-md-2 {\n padding-inline: 0.5rem;\n }\n .px-md-3 {\n padding-inline: 1rem;\n }\n .px-md-4 {\n padding-inline: 1.5rem;\n }\n .px-md-5 {\n padding-inline: 3rem;\n }\n .py-md-0 {\n padding-block: 0;\n }\n .py-md-1 {\n padding-block: 0.25rem;\n }\n .py-md-2 {\n padding-block: 0.5rem;\n }\n .py-md-3 {\n padding-block: 1rem;\n }\n .py-md-4 {\n padding-block: 1.5rem;\n }\n .py-md-5 {\n padding-block: 3rem;\n }\n .pt-md-0 {\n padding-block-start: 0;\n }\n .pt-md-1 {\n padding-block-start: 0.25rem;\n }\n .pt-md-2 {\n padding-block-start: 0.5rem;\n }\n .pt-md-3 {\n padding-block-start: 1rem;\n }\n .pt-md-4 {\n padding-block-start: 1.5rem;\n }\n .pt-md-5 {\n padding-block-start: 3rem;\n }\n .pe-md-0 {\n padding-inline-end: 0;\n }\n .pe-md-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-md-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-md-3 {\n padding-inline-end: 1rem;\n }\n .pe-md-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-md-5 {\n padding-inline-end: 3rem;\n }\n .pb-md-0 {\n padding-block-end: 0;\n }\n .pb-md-1 {\n padding-block-end: 0.25rem;\n }\n .pb-md-2 {\n padding-block-end: 0.5rem;\n }\n .pb-md-3 {\n padding-block-end: 1rem;\n }\n .pb-md-4 {\n padding-block-end: 1.5rem;\n }\n .pb-md-5 {\n padding-block-end: 3rem;\n }\n .ps-md-0 {\n padding-inline-start: 0;\n }\n .ps-md-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-md-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-md-3 {\n padding-inline-start: 1rem;\n }\n .ps-md-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-md-5 {\n padding-inline-start: 3rem;\n }\n .gap-md-0 {\n gap: 0;\n }\n .gap-md-1 {\n gap: 0.25rem;\n }\n .gap-md-2 {\n gap: 0.5rem;\n }\n .gap-md-3 {\n gap: 1rem;\n }\n .gap-md-4 {\n gap: 1.5rem;\n }\n .gap-md-5 {\n gap: 3rem;\n }\n .row-gap-md-0 {\n row-gap: 0;\n }\n .row-gap-md-1 {\n row-gap: 0.25rem;\n }\n .row-gap-md-2 {\n row-gap: 0.5rem;\n }\n .row-gap-md-3 {\n row-gap: 1rem;\n }\n .row-gap-md-4 {\n row-gap: 1.5rem;\n }\n .row-gap-md-5 {\n row-gap: 3rem;\n }\n .column-gap-md-0 {\n column-gap: 0;\n }\n .column-gap-md-1 {\n column-gap: 0.25rem;\n }\n .column-gap-md-2 {\n column-gap: 0.5rem;\n }\n .column-gap-md-3 {\n column-gap: 1rem;\n }\n .column-gap-md-4 {\n column-gap: 1.5rem;\n }\n .column-gap-md-5 {\n column-gap: 3rem;\n }\n .text-md-start {\n text-align: start;\n }\n .text-md-end {\n text-align: end;\n }\n .text-md-center {\n text-align: center;\n }\n }\n @media (width >= 1024px) {\n .float-lg-start {\n float: inline-start;\n }\n .float-lg-end {\n float: inline-end;\n }\n .float-lg-none {\n float: none;\n }\n .object-fit-lg-contain {\n object-fit: contain;\n }\n .object-fit-lg-cover {\n object-fit: cover;\n }\n .object-fit-lg-fill {\n object-fit: fill;\n }\n .object-fit-lg-scale {\n object-fit: scale-down;\n }\n .object-fit-lg-none {\n object-fit: none;\n }\n .d-lg-inline {\n display: inline;\n }\n .d-lg-inline-block {\n display: inline-block;\n }\n .d-lg-block {\n display: block;\n }\n .d-lg-grid {\n display: grid;\n }\n .d-lg-inline-grid {\n display: inline-grid;\n }\n .d-lg-table {\n display: table;\n }\n .d-lg-table-row {\n display: table-row;\n }\n .d-lg-table-cell {\n display: table-cell;\n }\n .d-lg-flex {\n display: flex;\n }\n .d-lg-inline-flex {\n display: inline-flex;\n }\n .d-lg-contents {\n display: contents;\n }\n .d-lg-flow-root {\n display: flow-root;\n }\n .d-lg-none {\n display: none;\n }\n .flex-lg-fill {\n flex: 1 1 auto;\n }\n .flex-lg-row {\n flex-direction: row;\n }\n .flex-lg-column {\n flex-direction: column;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-lg-grow-0 {\n flex-grow: 0;\n }\n .flex-lg-grow-1 {\n flex-grow: 1;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1;\n }\n .flex-lg-wrap {\n flex-wrap: wrap;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-lg-start {\n justify-content: flex-start;\n }\n .justify-content-lg-end {\n justify-content: flex-end;\n }\n .justify-content-lg-center {\n justify-content: center;\n }\n .justify-content-lg-between {\n justify-content: space-between;\n }\n .justify-content-lg-around {\n justify-content: space-around;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly;\n }\n .justify-items-lg-start {\n justify-items: start;\n }\n .justify-items-lg-end {\n justify-items: end;\n }\n .justify-items-lg-center {\n justify-items: center;\n }\n .justify-items-lg-stretch {\n justify-items: stretch;\n }\n .justify-self-lg-start {\n justify-self: flex-start;\n }\n .justify-self-lg-end {\n justify-self: flex-end;\n }\n .justify-self-lg-center {\n justify-self: center;\n }\n .align-items-lg-start {\n align-items: flex-start;\n }\n .align-items-lg-end {\n align-items: flex-end;\n }\n .align-items-lg-center {\n align-items: center;\n }\n .align-items-lg-baseline {\n align-items: baseline;\n }\n .align-items-lg-stretch {\n align-items: stretch;\n }\n .align-content-lg-start {\n align-content: flex-start;\n }\n .align-content-lg-end {\n align-content: flex-end;\n }\n .align-content-lg-center {\n align-content: center;\n }\n .align-content-lg-between {\n align-content: space-between;\n }\n .align-content-lg-around {\n align-content: space-around;\n }\n .align-content-lg-stretch {\n align-content: stretch;\n }\n .align-self-lg-auto {\n align-self: auto;\n }\n .align-self-lg-start {\n align-self: flex-start;\n }\n .align-self-lg-end {\n align-self: flex-end;\n }\n .align-self-lg-center {\n align-self: center;\n }\n .align-self-lg-baseline {\n align-self: baseline;\n }\n .align-self-lg-stretch {\n align-self: stretch;\n }\n .place-items-lg-start {\n place-items: start;\n }\n .place-items-lg-end {\n place-items: end;\n }\n .place-items-lg-center {\n place-items: center;\n }\n .place-items-lg-stretch {\n place-items: stretch;\n }\n .grid-cols-lg-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-lg-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-lg-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-lg-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-lg-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-lg-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-lg-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-lg-dense {\n grid-auto-flow: dense;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-last {\n order: 6;\n }\n .m-lg-0 {\n margin: 0;\n }\n .m-lg-1 {\n margin: 0.25rem;\n }\n .m-lg-2 {\n margin: 0.5rem;\n }\n .m-lg-3 {\n margin: 1rem;\n }\n .m-lg-4 {\n margin: 1.5rem;\n }\n .m-lg-5 {\n margin: 3rem;\n }\n .m-lg-auto {\n margin: auto;\n }\n .mx-lg-0 {\n margin-inline: 0;\n }\n .mx-lg-1 {\n margin-inline: 0.25rem;\n }\n .mx-lg-2 {\n margin-inline: 0.5rem;\n }\n .mx-lg-3 {\n margin-inline: 1rem;\n }\n .mx-lg-4 {\n margin-inline: 1.5rem;\n }\n .mx-lg-5 {\n margin-inline: 3rem;\n }\n .mx-lg-auto {\n margin-inline: auto;\n }\n .my-lg-0 {\n margin-block: 0;\n }\n .my-lg-1 {\n margin-block: 0.25rem;\n }\n .my-lg-2 {\n margin-block: 0.5rem;\n }\n .my-lg-3 {\n margin-block: 1rem;\n }\n .my-lg-4 {\n margin-block: 1.5rem;\n }\n .my-lg-5 {\n margin-block: 3rem;\n }\n .my-lg-auto {\n margin-block: auto;\n }\n .mt-lg-0 {\n margin-block-start: 0;\n }\n .mt-lg-1 {\n margin-block-start: 0.25rem;\n }\n .mt-lg-2 {\n margin-block-start: 0.5rem;\n }\n .mt-lg-3 {\n margin-block-start: 1rem;\n }\n .mt-lg-4 {\n margin-block-start: 1.5rem;\n }\n .mt-lg-5 {\n margin-block-start: 3rem;\n }\n .mt-lg-auto {\n margin-block-start: auto;\n }\n .me-lg-0 {\n margin-inline-end: 0;\n }\n .me-lg-1 {\n margin-inline-end: 0.25rem;\n }\n .me-lg-2 {\n margin-inline-end: 0.5rem;\n }\n .me-lg-3 {\n margin-inline-end: 1rem;\n }\n .me-lg-4 {\n margin-inline-end: 1.5rem;\n }\n .me-lg-5 {\n margin-inline-end: 3rem;\n }\n .me-lg-auto {\n margin-inline-end: auto;\n }\n .mb-lg-0 {\n margin-block-end: 0;\n }\n .mb-lg-1 {\n margin-block-end: 0.25rem;\n }\n .mb-lg-2 {\n margin-block-end: 0.5rem;\n }\n .mb-lg-3 {\n margin-block-end: 1rem;\n }\n .mb-lg-4 {\n margin-block-end: 1.5rem;\n }\n .mb-lg-5 {\n margin-block-end: 3rem;\n }\n .mb-lg-auto {\n margin-block-end: auto;\n }\n .ms-lg-0 {\n margin-inline-start: 0;\n }\n .ms-lg-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-lg-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-lg-3 {\n margin-inline-start: 1rem;\n }\n .ms-lg-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-lg-5 {\n margin-inline-start: 3rem;\n }\n .ms-lg--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-lg--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-lg-auto {\n margin-inline-start: auto;\n }\n .p-lg-0 {\n padding: 0;\n }\n .p-lg-1 {\n padding: 0.25rem;\n }\n .p-lg-2 {\n padding: 0.5rem;\n }\n .p-lg-3 {\n padding: 1rem;\n }\n .p-lg-4 {\n padding: 1.5rem;\n }\n .p-lg-5 {\n padding: 3rem;\n }\n .px-lg-0 {\n padding-inline: 0;\n }\n .px-lg-1 {\n padding-inline: 0.25rem;\n }\n .px-lg-2 {\n padding-inline: 0.5rem;\n }\n .px-lg-3 {\n padding-inline: 1rem;\n }\n .px-lg-4 {\n padding-inline: 1.5rem;\n }\n .px-lg-5 {\n padding-inline: 3rem;\n }\n .py-lg-0 {\n padding-block: 0;\n }\n .py-lg-1 {\n padding-block: 0.25rem;\n }\n .py-lg-2 {\n padding-block: 0.5rem;\n }\n .py-lg-3 {\n padding-block: 1rem;\n }\n .py-lg-4 {\n padding-block: 1.5rem;\n }\n .py-lg-5 {\n padding-block: 3rem;\n }\n .pt-lg-0 {\n padding-block-start: 0;\n }\n .pt-lg-1 {\n padding-block-start: 0.25rem;\n }\n .pt-lg-2 {\n padding-block-start: 0.5rem;\n }\n .pt-lg-3 {\n padding-block-start: 1rem;\n }\n .pt-lg-4 {\n padding-block-start: 1.5rem;\n }\n .pt-lg-5 {\n padding-block-start: 3rem;\n }\n .pe-lg-0 {\n padding-inline-end: 0;\n }\n .pe-lg-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-lg-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-lg-3 {\n padding-inline-end: 1rem;\n }\n .pe-lg-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-lg-5 {\n padding-inline-end: 3rem;\n }\n .pb-lg-0 {\n padding-block-end: 0;\n }\n .pb-lg-1 {\n padding-block-end: 0.25rem;\n }\n .pb-lg-2 {\n padding-block-end: 0.5rem;\n }\n .pb-lg-3 {\n padding-block-end: 1rem;\n }\n .pb-lg-4 {\n padding-block-end: 1.5rem;\n }\n .pb-lg-5 {\n padding-block-end: 3rem;\n }\n .ps-lg-0 {\n padding-inline-start: 0;\n }\n .ps-lg-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-lg-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-lg-3 {\n padding-inline-start: 1rem;\n }\n .ps-lg-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-lg-5 {\n padding-inline-start: 3rem;\n }\n .gap-lg-0 {\n gap: 0;\n }\n .gap-lg-1 {\n gap: 0.25rem;\n }\n .gap-lg-2 {\n gap: 0.5rem;\n }\n .gap-lg-3 {\n gap: 1rem;\n }\n .gap-lg-4 {\n gap: 1.5rem;\n }\n .gap-lg-5 {\n gap: 3rem;\n }\n .row-gap-lg-0 {\n row-gap: 0;\n }\n .row-gap-lg-1 {\n row-gap: 0.25rem;\n }\n .row-gap-lg-2 {\n row-gap: 0.5rem;\n }\n .row-gap-lg-3 {\n row-gap: 1rem;\n }\n .row-gap-lg-4 {\n row-gap: 1.5rem;\n }\n .row-gap-lg-5 {\n row-gap: 3rem;\n }\n .column-gap-lg-0 {\n column-gap: 0;\n }\n .column-gap-lg-1 {\n column-gap: 0.25rem;\n }\n .column-gap-lg-2 {\n column-gap: 0.5rem;\n }\n .column-gap-lg-3 {\n column-gap: 1rem;\n }\n .column-gap-lg-4 {\n column-gap: 1.5rem;\n }\n .column-gap-lg-5 {\n column-gap: 3rem;\n }\n .text-lg-start {\n text-align: start;\n }\n .text-lg-end {\n text-align: end;\n }\n .text-lg-center {\n text-align: center;\n }\n }\n @media (width >= 1280px) {\n .float-xl-start {\n float: inline-start;\n }\n .float-xl-end {\n float: inline-end;\n }\n .float-xl-none {\n float: none;\n }\n .object-fit-xl-contain {\n object-fit: contain;\n }\n .object-fit-xl-cover {\n object-fit: cover;\n }\n .object-fit-xl-fill {\n object-fit: fill;\n }\n .object-fit-xl-scale {\n object-fit: scale-down;\n }\n .object-fit-xl-none {\n object-fit: none;\n }\n .d-xl-inline {\n display: inline;\n }\n .d-xl-inline-block {\n display: inline-block;\n }\n .d-xl-block {\n display: block;\n }\n .d-xl-grid {\n display: grid;\n }\n .d-xl-inline-grid {\n display: inline-grid;\n }\n .d-xl-table {\n display: table;\n }\n .d-xl-table-row {\n display: table-row;\n }\n .d-xl-table-cell {\n display: table-cell;\n }\n .d-xl-flex {\n display: flex;\n }\n .d-xl-inline-flex {\n display: inline-flex;\n }\n .d-xl-contents {\n display: contents;\n }\n .d-xl-flow-root {\n display: flow-root;\n }\n .d-xl-none {\n display: none;\n }\n .flex-xl-fill {\n flex: 1 1 auto;\n }\n .flex-xl-row {\n flex-direction: row;\n }\n .flex-xl-column {\n flex-direction: column;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-xl-grow-0 {\n flex-grow: 0;\n }\n .flex-xl-grow-1 {\n flex-grow: 1;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-xl-wrap {\n flex-wrap: wrap;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-xl-start {\n justify-content: flex-start;\n }\n .justify-content-xl-end {\n justify-content: flex-end;\n }\n .justify-content-xl-center {\n justify-content: center;\n }\n .justify-content-xl-between {\n justify-content: space-between;\n }\n .justify-content-xl-around {\n justify-content: space-around;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-xl-start {\n justify-items: start;\n }\n .justify-items-xl-end {\n justify-items: end;\n }\n .justify-items-xl-center {\n justify-items: center;\n }\n .justify-items-xl-stretch {\n justify-items: stretch;\n }\n .justify-self-xl-start {\n justify-self: flex-start;\n }\n .justify-self-xl-end {\n justify-self: flex-end;\n }\n .justify-self-xl-center {\n justify-self: center;\n }\n .align-items-xl-start {\n align-items: flex-start;\n }\n .align-items-xl-end {\n align-items: flex-end;\n }\n .align-items-xl-center {\n align-items: center;\n }\n .align-items-xl-baseline {\n align-items: baseline;\n }\n .align-items-xl-stretch {\n align-items: stretch;\n }\n .align-content-xl-start {\n align-content: flex-start;\n }\n .align-content-xl-end {\n align-content: flex-end;\n }\n .align-content-xl-center {\n align-content: center;\n }\n .align-content-xl-between {\n align-content: space-between;\n }\n .align-content-xl-around {\n align-content: space-around;\n }\n .align-content-xl-stretch {\n align-content: stretch;\n }\n .align-self-xl-auto {\n align-self: auto;\n }\n .align-self-xl-start {\n align-self: flex-start;\n }\n .align-self-xl-end {\n align-self: flex-end;\n }\n .align-self-xl-center {\n align-self: center;\n }\n .align-self-xl-baseline {\n align-self: baseline;\n }\n .align-self-xl-stretch {\n align-self: stretch;\n }\n .place-items-xl-start {\n place-items: start;\n }\n .place-items-xl-end {\n place-items: end;\n }\n .place-items-xl-center {\n place-items: center;\n }\n .place-items-xl-stretch {\n place-items: stretch;\n }\n .grid-cols-xl-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-xl-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-xl-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-xl-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-xl-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-xl-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-xl-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-xl-dense {\n grid-auto-flow: dense;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-last {\n order: 6;\n }\n .m-xl-0 {\n margin: 0;\n }\n .m-xl-1 {\n margin: 0.25rem;\n }\n .m-xl-2 {\n margin: 0.5rem;\n }\n .m-xl-3 {\n margin: 1rem;\n }\n .m-xl-4 {\n margin: 1.5rem;\n }\n .m-xl-5 {\n margin: 3rem;\n }\n .m-xl-auto {\n margin: auto;\n }\n .mx-xl-0 {\n margin-inline: 0;\n }\n .mx-xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-xl-3 {\n margin-inline: 1rem;\n }\n .mx-xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-xl-5 {\n margin-inline: 3rem;\n }\n .mx-xl-auto {\n margin-inline: auto;\n }\n .my-xl-0 {\n margin-block: 0;\n }\n .my-xl-1 {\n margin-block: 0.25rem;\n }\n .my-xl-2 {\n margin-block: 0.5rem;\n }\n .my-xl-3 {\n margin-block: 1rem;\n }\n .my-xl-4 {\n margin-block: 1.5rem;\n }\n .my-xl-5 {\n margin-block: 3rem;\n }\n .my-xl-auto {\n margin-block: auto;\n }\n .mt-xl-0 {\n margin-block-start: 0;\n }\n .mt-xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-xl-3 {\n margin-block-start: 1rem;\n }\n .mt-xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-xl-5 {\n margin-block-start: 3rem;\n }\n .mt-xl-auto {\n margin-block-start: auto;\n }\n .me-xl-0 {\n margin-inline-end: 0;\n }\n .me-xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-xl-3 {\n margin-inline-end: 1rem;\n }\n .me-xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-xl-5 {\n margin-inline-end: 3rem;\n }\n .me-xl-auto {\n margin-inline-end: auto;\n }\n .mb-xl-0 {\n margin-block-end: 0;\n }\n .mb-xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-xl-3 {\n margin-block-end: 1rem;\n }\n .mb-xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-xl-5 {\n margin-block-end: 3rem;\n }\n .mb-xl-auto {\n margin-block-end: auto;\n }\n .ms-xl-0 {\n margin-inline-start: 0;\n }\n .ms-xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-xl-auto {\n margin-inline-start: auto;\n }\n .p-xl-0 {\n padding: 0;\n }\n .p-xl-1 {\n padding: 0.25rem;\n }\n .p-xl-2 {\n padding: 0.5rem;\n }\n .p-xl-3 {\n padding: 1rem;\n }\n .p-xl-4 {\n padding: 1.5rem;\n }\n .p-xl-5 {\n padding: 3rem;\n }\n .px-xl-0 {\n padding-inline: 0;\n }\n .px-xl-1 {\n padding-inline: 0.25rem;\n }\n .px-xl-2 {\n padding-inline: 0.5rem;\n }\n .px-xl-3 {\n padding-inline: 1rem;\n }\n .px-xl-4 {\n padding-inline: 1.5rem;\n }\n .px-xl-5 {\n padding-inline: 3rem;\n }\n .py-xl-0 {\n padding-block: 0;\n }\n .py-xl-1 {\n padding-block: 0.25rem;\n }\n .py-xl-2 {\n padding-block: 0.5rem;\n }\n .py-xl-3 {\n padding-block: 1rem;\n }\n .py-xl-4 {\n padding-block: 1.5rem;\n }\n .py-xl-5 {\n padding-block: 3rem;\n }\n .pt-xl-0 {\n padding-block-start: 0;\n }\n .pt-xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-xl-3 {\n padding-block-start: 1rem;\n }\n .pt-xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-xl-5 {\n padding-block-start: 3rem;\n }\n .pe-xl-0 {\n padding-inline-end: 0;\n }\n .pe-xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-xl-0 {\n padding-block-end: 0;\n }\n .pb-xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-xl-3 {\n padding-block-end: 1rem;\n }\n .pb-xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-xl-5 {\n padding-block-end: 3rem;\n }\n .ps-xl-0 {\n padding-inline-start: 0;\n }\n .ps-xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-xl-5 {\n padding-inline-start: 3rem;\n }\n .gap-xl-0 {\n gap: 0;\n }\n .gap-xl-1 {\n gap: 0.25rem;\n }\n .gap-xl-2 {\n gap: 0.5rem;\n }\n .gap-xl-3 {\n gap: 1rem;\n }\n .gap-xl-4 {\n gap: 1.5rem;\n }\n .gap-xl-5 {\n gap: 3rem;\n }\n .row-gap-xl-0 {\n row-gap: 0;\n }\n .row-gap-xl-1 {\n row-gap: 0.25rem;\n }\n .row-gap-xl-2 {\n row-gap: 0.5rem;\n }\n .row-gap-xl-3 {\n row-gap: 1rem;\n }\n .row-gap-xl-4 {\n row-gap: 1.5rem;\n }\n .row-gap-xl-5 {\n row-gap: 3rem;\n }\n .column-gap-xl-0 {\n column-gap: 0;\n }\n .column-gap-xl-1 {\n column-gap: 0.25rem;\n }\n .column-gap-xl-2 {\n column-gap: 0.5rem;\n }\n .column-gap-xl-3 {\n column-gap: 1rem;\n }\n .column-gap-xl-4 {\n column-gap: 1.5rem;\n }\n .column-gap-xl-5 {\n column-gap: 3rem;\n }\n .text-xl-start {\n text-align: start;\n }\n .text-xl-end {\n text-align: end;\n }\n .text-xl-center {\n text-align: center;\n }\n }\n @media (width >= 1536px) {\n .float-2xl-start {\n float: inline-start;\n }\n .float-2xl-end {\n float: inline-end;\n }\n .float-2xl-none {\n float: none;\n }\n .object-fit-2xl-contain {\n object-fit: contain;\n }\n .object-fit-2xl-cover {\n object-fit: cover;\n }\n .object-fit-2xl-fill {\n object-fit: fill;\n }\n .object-fit-2xl-scale {\n object-fit: scale-down;\n }\n .object-fit-2xl-none {\n object-fit: none;\n }\n .d-2xl-inline {\n display: inline;\n }\n .d-2xl-inline-block {\n display: inline-block;\n }\n .d-2xl-block {\n display: block;\n }\n .d-2xl-grid {\n display: grid;\n }\n .d-2xl-inline-grid {\n display: inline-grid;\n }\n .d-2xl-table {\n display: table;\n }\n .d-2xl-table-row {\n display: table-row;\n }\n .d-2xl-table-cell {\n display: table-cell;\n }\n .d-2xl-flex {\n display: flex;\n }\n .d-2xl-inline-flex {\n display: inline-flex;\n }\n .d-2xl-contents {\n display: contents;\n }\n .d-2xl-flow-root {\n display: flow-root;\n }\n .d-2xl-none {\n display: none;\n }\n .flex-2xl-fill {\n flex: 1 1 auto;\n }\n .flex-2xl-row {\n flex-direction: row;\n }\n .flex-2xl-column {\n flex-direction: column;\n }\n .flex-2xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-2xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-2xl-grow-0 {\n flex-grow: 0;\n }\n .flex-2xl-grow-1 {\n flex-grow: 1;\n }\n .flex-2xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-2xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-2xl-wrap {\n flex-wrap: wrap;\n }\n .flex-2xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-2xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-2xl-start {\n justify-content: flex-start;\n }\n .justify-content-2xl-end {\n justify-content: flex-end;\n }\n .justify-content-2xl-center {\n justify-content: center;\n }\n .justify-content-2xl-between {\n justify-content: space-between;\n }\n .justify-content-2xl-around {\n justify-content: space-around;\n }\n .justify-content-2xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-2xl-start {\n justify-items: start;\n }\n .justify-items-2xl-end {\n justify-items: end;\n }\n .justify-items-2xl-center {\n justify-items: center;\n }\n .justify-items-2xl-stretch {\n justify-items: stretch;\n }\n .justify-self-2xl-start {\n justify-self: flex-start;\n }\n .justify-self-2xl-end {\n justify-self: flex-end;\n }\n .justify-self-2xl-center {\n justify-self: center;\n }\n .align-items-2xl-start {\n align-items: flex-start;\n }\n .align-items-2xl-end {\n align-items: flex-end;\n }\n .align-items-2xl-center {\n align-items: center;\n }\n .align-items-2xl-baseline {\n align-items: baseline;\n }\n .align-items-2xl-stretch {\n align-items: stretch;\n }\n .align-content-2xl-start {\n align-content: flex-start;\n }\n .align-content-2xl-end {\n align-content: flex-end;\n }\n .align-content-2xl-center {\n align-content: center;\n }\n .align-content-2xl-between {\n align-content: space-between;\n }\n .align-content-2xl-around {\n align-content: space-around;\n }\n .align-content-2xl-stretch {\n align-content: stretch;\n }\n .align-self-2xl-auto {\n align-self: auto;\n }\n .align-self-2xl-start {\n align-self: flex-start;\n }\n .align-self-2xl-end {\n align-self: flex-end;\n }\n .align-self-2xl-center {\n align-self: center;\n }\n .align-self-2xl-baseline {\n align-self: baseline;\n }\n .align-self-2xl-stretch {\n align-self: stretch;\n }\n .place-items-2xl-start {\n place-items: start;\n }\n .place-items-2xl-end {\n place-items: end;\n }\n .place-items-2xl-center {\n place-items: center;\n }\n .place-items-2xl-stretch {\n place-items: stretch;\n }\n .grid-cols-2xl-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-2xl-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-2xl-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-2xl-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-2xl-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-2xl-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-2xl-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-2xl-dense {\n grid-auto-flow: dense;\n }\n .order-2xl-first {\n order: -1;\n }\n .order-2xl-0 {\n order: 0;\n }\n .order-2xl-1 {\n order: 1;\n }\n .order-2xl-2 {\n order: 2;\n }\n .order-2xl-3 {\n order: 3;\n }\n .order-2xl-4 {\n order: 4;\n }\n .order-2xl-5 {\n order: 5;\n }\n .order-2xl-last {\n order: 6;\n }\n .m-2xl-0 {\n margin: 0;\n }\n .m-2xl-1 {\n margin: 0.25rem;\n }\n .m-2xl-2 {\n margin: 0.5rem;\n }\n .m-2xl-3 {\n margin: 1rem;\n }\n .m-2xl-4 {\n margin: 1.5rem;\n }\n .m-2xl-5 {\n margin: 3rem;\n }\n .m-2xl-auto {\n margin: auto;\n }\n .mx-2xl-0 {\n margin-inline: 0;\n }\n .mx-2xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-2xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-2xl-3 {\n margin-inline: 1rem;\n }\n .mx-2xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-2xl-5 {\n margin-inline: 3rem;\n }\n .mx-2xl-auto {\n margin-inline: auto;\n }\n .my-2xl-0 {\n margin-block: 0;\n }\n .my-2xl-1 {\n margin-block: 0.25rem;\n }\n .my-2xl-2 {\n margin-block: 0.5rem;\n }\n .my-2xl-3 {\n margin-block: 1rem;\n }\n .my-2xl-4 {\n margin-block: 1.5rem;\n }\n .my-2xl-5 {\n margin-block: 3rem;\n }\n .my-2xl-auto {\n margin-block: auto;\n }\n .mt-2xl-0 {\n margin-block-start: 0;\n }\n .mt-2xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-2xl-3 {\n margin-block-start: 1rem;\n }\n .mt-2xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-2xl-5 {\n margin-block-start: 3rem;\n }\n .mt-2xl-auto {\n margin-block-start: auto;\n }\n .me-2xl-0 {\n margin-inline-end: 0;\n }\n .me-2xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-2xl-3 {\n margin-inline-end: 1rem;\n }\n .me-2xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-2xl-5 {\n margin-inline-end: 3rem;\n }\n .me-2xl-auto {\n margin-inline-end: auto;\n }\n .mb-2xl-0 {\n margin-block-end: 0;\n }\n .mb-2xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-2xl-3 {\n margin-block-end: 1rem;\n }\n .mb-2xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-2xl-5 {\n margin-block-end: 3rem;\n }\n .mb-2xl-auto {\n margin-block-end: auto;\n }\n .ms-2xl-0 {\n margin-inline-start: 0;\n }\n .ms-2xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-2xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-2xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-2xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-2xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-2xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-2xl-auto {\n margin-inline-start: auto;\n }\n .p-2xl-0 {\n padding: 0;\n }\n .p-2xl-1 {\n padding: 0.25rem;\n }\n .p-2xl-2 {\n padding: 0.5rem;\n }\n .p-2xl-3 {\n padding: 1rem;\n }\n .p-2xl-4 {\n padding: 1.5rem;\n }\n .p-2xl-5 {\n padding: 3rem;\n }\n .px-2xl-0 {\n padding-inline: 0;\n }\n .px-2xl-1 {\n padding-inline: 0.25rem;\n }\n .px-2xl-2 {\n padding-inline: 0.5rem;\n }\n .px-2xl-3 {\n padding-inline: 1rem;\n }\n .px-2xl-4 {\n padding-inline: 1.5rem;\n }\n .px-2xl-5 {\n padding-inline: 3rem;\n }\n .py-2xl-0 {\n padding-block: 0;\n }\n .py-2xl-1 {\n padding-block: 0.25rem;\n }\n .py-2xl-2 {\n padding-block: 0.5rem;\n }\n .py-2xl-3 {\n padding-block: 1rem;\n }\n .py-2xl-4 {\n padding-block: 1.5rem;\n }\n .py-2xl-5 {\n padding-block: 3rem;\n }\n .pt-2xl-0 {\n padding-block-start: 0;\n }\n .pt-2xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-2xl-3 {\n padding-block-start: 1rem;\n }\n .pt-2xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-2xl-5 {\n padding-block-start: 3rem;\n }\n .pe-2xl-0 {\n padding-inline-end: 0;\n }\n .pe-2xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-2xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-2xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-2xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-2xl-0 {\n padding-block-end: 0;\n }\n .pb-2xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-2xl-3 {\n padding-block-end: 1rem;\n }\n .pb-2xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-2xl-5 {\n padding-block-end: 3rem;\n }\n .ps-2xl-0 {\n padding-inline-start: 0;\n }\n .ps-2xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-2xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-2xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-2xl-5 {\n padding-inline-start: 3rem;\n }\n .gap-2xl-0 {\n gap: 0;\n }\n .gap-2xl-1 {\n gap: 0.25rem;\n }\n .gap-2xl-2 {\n gap: 0.5rem;\n }\n .gap-2xl-3 {\n gap: 1rem;\n }\n .gap-2xl-4 {\n gap: 1.5rem;\n }\n .gap-2xl-5 {\n gap: 3rem;\n }\n .row-gap-2xl-0 {\n row-gap: 0;\n }\n .row-gap-2xl-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2xl-2 {\n row-gap: 0.5rem;\n }\n .row-gap-2xl-3 {\n row-gap: 1rem;\n }\n .row-gap-2xl-4 {\n row-gap: 1.5rem;\n }\n .row-gap-2xl-5 {\n row-gap: 3rem;\n }\n .column-gap-2xl-0 {\n column-gap: 0;\n }\n .column-gap-2xl-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2xl-2 {\n column-gap: 0.5rem;\n }\n .column-gap-2xl-3 {\n column-gap: 1rem;\n }\n .column-gap-2xl-4 {\n column-gap: 1.5rem;\n }\n .column-gap-2xl-5 {\n column-gap: 3rem;\n }\n .text-2xl-start {\n text-align: start;\n }\n .text-2xl-end {\n text-align: end;\n }\n .text-2xl-center {\n text-align: center;\n }\n }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */\n","$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"violet\": $violet,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"amber\": $amber,\n \"yellow\": $yellow,\n \"lime\": $lime,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"brown\": $brown,\n \"gray\": $gray,\n \"pewter\": $pewter,\n ),\n $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n \"025\": 94%,\n \"050\": 90%,\n \"100\": 80%,\n \"200\": 60%,\n \"300\": 40%,\n \"400\": 20%,\n) !default;\n\n$color-shades: (\n \"600\": 16%,\n \"700\": 32%,\n \"800\": 48%,\n \"900\": 64%,\n \"950\": 76%,\n \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n @each $stop, $percent in $color-tints {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n }\n $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n @each $stop, $percent in $color-shades {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n @each $prop, $value in $map {\n #{$prop}: #{$value};\n }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n (\n --black: #{$black},\n --white: #{$white},\n\n --gradient: #{$gradient},\n\n // scss-docs-start root-font-weight-variables\n --font-weight-lighter: lighter,\n --font-weight-light: 300,\n --font-weight-normal: 400,\n --font-weight-medium: 500,\n --font-weight-semibold: 600,\n --font-weight-bold: 700,\n --font-weight-bolder: bolder,\n // scss-docs-end root-font-weight-variables\n\n // scss-docs-start root-body-variables\n --body-font-family: system-ui,\n --body-font-size: var(--font-size-base),\n --body-font-weight: #{$font-weight-base},\n --body-line-height: #{$line-height-base},\n\n --heading-color: #{$headings-color},\n\n --hr-border-color: var(--border-color),\n\n --link-color: light-dark(var(--primary-base), var(--primary-text)),\n --link-decoration: #{$link-decoration},\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n --code-font-size: 95%,\n --code-color: var(--fg-2),\n\n // scss-docs-start root-border-var\n --border-width: #{$border-width},\n --border-style: #{$border-style},\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n // scss-docs-end root-border-var\n\n // scss-docs-start root-border-radius-var\n --border-radius: .5rem,\n --border-radius-xs: .375rem,\n --border-radius-sm: .5rem,\n --border-radius-lg: .75rem,\n --border-radius-xl: 1rem,\n --border-radius-2xl: 2rem,\n --border-radius-pill: 50rem,\n // scss-docs-end root-border-radius-var\n\n // scss-docs-start root-box-shadow-variables\n --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n // scss-docs-end root-box-shadow-variables\n\n --spacer: 1rem,\n\n // scss-docs-start root-focus-variables\n --focus-ring-width: 3px,\n --focus-ring-offset: 1px,\n --focus-ring-color: var(--primary-focus-ring),\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-variables\n --control-checked-bg: var(--primary-base),\n --control-checked-border-color: var(--control-checked-bg),\n --control-active-bg: var(--primary-base),\n --control-active-border-color: var(--control-active-bg),\n --control-disabled-bg: var(--bg-3),\n --control-disabled-opacity: .65,\n\n --btn-input-fg: var(--fg-body),\n --btn-input-bg: var(--bg-body),\n\n --btn-input-min-height: 2.375rem,\n --btn-input-padding-y: .375rem,\n --btn-input-padding-x: .75rem,\n --btn-input-font-size: var(--font-size-base),\n --btn-input-line-height: var(--line-height-base),\n --btn-input-border-radius: var(--border-radius),\n\n --btn-input-xs-min-height: 1.5rem,\n --btn-input-xs-padding-y: .125rem,\n --btn-input-xs-padding-x: .5rem,\n --btn-input-xs-font-size: var(--font-size-xs),\n --btn-input-xs-line-height: 1.125,\n --btn-input-xs-border-radius: var(--border-radius-xs),\n\n --btn-input-sm-min-height: 2rem,\n --btn-input-sm-padding-y: .25rem,\n --btn-input-sm-padding-x: .625rem,\n --btn-input-sm-font-size: var(--font-size-sm),\n --btn-input-sm-line-height: var(--line-height-sm),\n --btn-input-sm-border-radius: var(--border-radius-sm),\n\n --btn-input-lg-min-height: 2.75rem,\n --btn-input-lg-padding-y: .5rem,\n --btn-input-lg-padding-x: 1rem,\n --btn-input-lg-font-size: var(--font-size-md),\n --btn-input-lg-line-height: var(--line-height-md),\n --btn-input-lg-border-radius: var(--border-radius-lg),\n // scss-docs-end root-form-variables\n\n // scss-docs-start root-form-validation-variables\n --form-valid-color: #{$form-valid-color},\n --form-valid-border-color: #{$form-valid-border-color},\n --form-invalid-color: #{$form-invalid-color},\n --form-invalid-border-color: #{$form-invalid-border-color},\n // scss-docs-end root-form-validation-variables\n ),\n $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n @each $key, $value in $color-map {\n $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n @include tokens($root-tokens);\n\n color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n color-scheme: light;\n}\n","@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: $icon-link-gap;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n text-underline-offset: $icon-link-underline-offset;\n backface-visibility: hidden;\n\n > .bi {\n flex-shrink: 0;\n width: $icon-link-icon-size;\n height: $icon-link-icon-size;\n fill: currentcolor;\n @include transition($icon-link-icon-transition);\n }\n }\n\n .icon-link-hover {\n &:hover,\n &:focus-visible {\n > .bi {\n transform: var(--icon-link-transform, $icon-link-icon-transform);\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n @if meta.type-of($defaults) == \"list\" {\n $map: ();\n @each $key in $defaults {\n $map: map.merge($map, ($key: true));\n }\n $defaults: $map;\n }\n $merged: map.merge($defaults, $overrides);\n @each $key, $value in $merged {\n @if $value == null {\n $merged: map.remove($merged, $key);\n }\n }\n @return $merged;\n}\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n\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\n$negative-spacers: (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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 breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !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\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, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\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// Links\n//\n// Style anchor elements.\n\n$link-decoration: underline !default;\n$link-underline-offset: .2em !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// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n\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$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// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n (\n \"xs\": (\n \"font-size\": .75rem,\n \"line-height\": 1.25\n ),\n \"sm\": (\n \"font-size\": .875rem,\n \"line-height\": 1.5\n ),\n \"md\": (\n \"font-size\": 1rem,\n \"line-height\": 1.5\n ),\n \"lg\": (\n \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n \"line-height\": 1.5\n ),\n \"xl\": (\n \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n \"line-height\": calc(2.5 / 1.75)\n ),\n \"2xl\": (\n \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n \"line-height\": calc(3 / 2.25)\n ),\n \"3xl\": (\n \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n \"line-height\": 1.2\n ),\n \"4xl\": (\n \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n \"line-height\": 1.1\n ),\n \"5xl\": (\n \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n \"line-height\": 1.1\n ),\n \"6xl\": (\n \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n \"line-height\": 1\n ),\n ),\n $font-sizes\n);\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 type-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// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-dialog: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@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 \"../layout/breakpoints\" as *;\n\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: $zindex-fixed;\n }\n\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: $zindex-fixed;\n }\n\n // Responsive sticky top and bottom\n @each $breakpoint in map.keys($breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n\n .sticky#{$infix}-bottom {\n position: sticky;\n bottom: 0;\n z-index: $zindex-sticky;\n }\n }\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $breakpoints) {\n @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$name}\");\n}\n\n// Iterate all breakpoints and provide the current name and infix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n @content($breakpoint, $infix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next infix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $infix: breakpoint-infix($next, $breakpoints);\n @content($breakpoint, $next, $infix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $infix) {\n @content($breakpoint, $next, $infix);\n }\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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (width >= $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (width < $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $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 @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n // scss-docs-start stacks\n .stack-container {\n @include set-container();\n }\n\n [class*=\"hstack\"],\n [class*=\"vstack\"] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n\n @include loop-breakpoints-up() using ($breakpoint, $infix) {\n .vstack#{$infix} {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n .hstack#{$infix} {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n }\n // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n @include generate-theme-classes();\n}\n","@use \"sass:meta\";\n@use \"sass:map\";\n\n@function theme-color-values($key) {\n $result: ();\n\n @each $color-name, $color-map in $theme-colors {\n @if map.has-key($color-map, $key) {\n $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n }\n }\n\n @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n $result: ();\n\n @each $key, $value in $opacities {\n @if $key == 100 {\n // For 100%, use direct variable reference (more efficient)\n $result: map.merge($result, ($key: var($color-var)));\n } @else {\n // For other values, use color-mix()\n $percentage: $key * 1%;\n $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n }\n }\n\n @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n @each $color-name, $color-map in $theme-colors {\n .theme-#{$color-name} {\n @each $key, $value in $color-map {\n --theme-#{$key}: var(--#{$color-name}-#{$key});\n }\n }\n }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n @each $key, $value in $map {\n // stylelint-disable-next-line scss/at-function-named-arguments\n $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n @if meta.type-of($value) == \"map\" {\n @include create-css-vars($value, $current-key);\n } @else {\n --#{$current-key}: #{$value};\n }\n }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n \"primary\": (\n \"base\": var(--blue-500),\n \"text\": light-dark(var(--blue-600), var(--blue-400)),\n \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n \"bg\": var(--blue-500),\n \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n \"border\": light-dark(var(--blue-300), var(--blue-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"accent\": (\n \"base\": var(--indigo-500),\n \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n \"bg\": var(--indigo-500),\n \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"success\": (\n \"base\": var(--green-500),\n \"text\": light-dark(var(--green-600), var(--green-400)),\n \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n \"bg\": var(--green-500),\n \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n \"border\": light-dark(var(--green-300), var(--green-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"danger\": (\n \"base\": var(--red-500),\n \"text\": light-dark(var(--red-600), var(--red-400)),\n \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n \"bg\": var(--red-500),\n \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n \"border\": light-dark(var(--red-300), var(--red-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"warning\": (\n \"base\": var(--yellow-500),\n \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n \"bg\": var(--yellow-500),\n \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"info\": (\n \"base\": var(--cyan-500),\n \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n \"bg\": var(--cyan-500),\n \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"inverse\": (\n \"base\": var(--gray-900),\n \"text\": light-dark(var(--gray-900), var(--gray-200)),\n \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n \"border\": light-dark(var(--gray-400), var(--gray-100)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--white), var(--gray-900))\n ),\n \"secondary\": (\n \"base\": var(--gray-200),\n \"text\": light-dark(var(--gray-600), var(--gray-400)),\n \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n \"border\": light-dark(var(--gray-300), var(--gray-600)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--gray-900), var(--white))\n )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n \"body\": light-dark(var(--white), var(--gray-975)),\n \"1\": light-dark(var(--gray-025), var(--gray-950)),\n \"2\": light-dark(var(--gray-050), var(--gray-900)),\n \"3\": light-dark(var(--gray-100), var(--gray-800)),\n \"4\": light-dark(var(--gray-200), var(--gray-700)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"transparent\": transparent,\n \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n \"body\": light-dark(var(--gray-900), var(--gray-050)),\n \"1\": light-dark(var(--gray-800), var(--gray-200)),\n \"2\": light-dark(var(--gray-700), var(--gray-300)),\n \"3\": light-dark(var(--gray-600), var(--gray-500)),\n \"4\": light-dark(var(--gray-500), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n \"bg\": var(--bg-body),\n \"body\": light-dark(var(--gray-300), var(--gray-800)),\n \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n 10: .1,\n 20: .2,\n 30: .3,\n 40: .4,\n 50: .5,\n 60: .6,\n 70: .7,\n 80: .8,\n 90: .9,\n 100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n\n // Fix for positioned table caption that could become anonymous cells\n &:not(caption) {\n position: absolute !important;\n }\n\n // Fix to prevent overflowing children to become focusable\n * {\n overflow: hidden !important;\n }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n &:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n .stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n inset: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n .text-truncate {\n @include text-truncate();\n }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../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($breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $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 // 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\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n // Validate required keys\n @if not map.has-key($utility, property) {\n @error \"Utility is missing required `property` key: #{$utility}\";\n }\n @if not map.has-key($utility, values) {\n @error \"Utility is missing required `values` key: #{$utility}\";\n }\n\n // Warn on unknown keys (likely typos)\n $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n @each $key in map.keys($utility) {\n @if not list.index($valid-keys, $key) {\n @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n }\n }\n\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selectorType) {\n @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selectorType != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n }\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n // Calculate infix once, before the loop\n // Note: $infix already includes the leading dash from breakpoint-infix()\n // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n // @debug \"Properties type: #{meta.type-of($properties)}\";\n // @debug \"Properties: #{$properties}\";\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n // For property maps, we need to determine the class from the utility definition\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // Use custom CSS variable name if present, otherwise default to `class`\n // mdo-do: restore?\n // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $infix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n // Use the fallback of the first property if no `class` key is used\n @if $customClass != \"\" {\n $selector: \".#{$customClass + $infix + $customClassModifier}\";\n } @else {\n $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n"],"names":[]}
\ No newline at end of file
+{"version":3,"sourceRoot":null,"mappings":"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","sources":["bootstrap-utilities.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/_config.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_position.scss","../../scss/layout/_breakpoints.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"sourcesContent":["/*!\n * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n --blue-500: oklch(60% 0.24 240deg);\n --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n --indigo-500: oklch(56% 0.26 288deg);\n --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n --violet-500: oklch(56% 0.24 300deg);\n --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n --purple-500: oklch(56% 0.24 320deg);\n --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n --pink-500: oklch(60% 0.22 4deg);\n --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n --red-500: oklch(60% 0.22 20deg);\n --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n --orange-500: oklch(70% 0.22 52deg);\n --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n --amber-500: oklch(79% 0.2 78deg);\n --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n --yellow-500: oklch(88% 0.24 88deg);\n --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n --lime-500: oklch(65% 0.24 135deg);\n --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n --green-500: oklch(64% 0.22 160deg);\n --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n --teal-500: oklch(68% 0.22 190deg);\n --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n --cyan-500: oklch(69% 0.22 220deg);\n --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n --brown-500: oklch(60% 0.12 54deg);\n --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n --gray-500: oklch(60% 0.02 245deg);\n --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n --pewter-500: oklch(65% 0.01 290deg);\n --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n --black: #000;\n --white: #fff;\n --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n --font-weight-lighter: lighter;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-bolder: bolder;\n --body-font-family: system-ui;\n --body-font-size: var(--font-size-base);\n --body-font-weight: 400;\n --body-line-height: 1.5;\n --heading-color: inherit;\n --hr-border-color: var(--border-color);\n --link-color: light-dark(var(--primary-base), var(--primary-text));\n --link-decoration: underline;\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --code-font-size: 95%;\n --code-color: var(--fg-2);\n --border-width: 1px;\n --border-style: solid;\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --border-radius: 0.5rem;\n --border-radius-xs: 0.375rem;\n --border-radius-sm: 0.5rem;\n --border-radius-lg: 0.75rem;\n --border-radius-xl: 1rem;\n --border-radius-2xl: 2rem;\n --border-radius-pill: 50rem;\n --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --spacer: 1rem;\n --focus-ring-width: 3px;\n --focus-ring-offset: 1px;\n --focus-ring-color: var(--primary-focus-ring);\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n --control-checked-bg: var(--primary-base);\n --control-checked-border-color: var(--control-checked-bg);\n --control-active-bg: var(--primary-base);\n --control-active-border-color: var(--control-active-bg);\n --control-disabled-bg: var(--bg-3);\n --control-disabled-opacity: 0.65;\n --btn-input-fg: var(--fg-body);\n --btn-input-bg: var(--bg-body);\n --btn-input-min-height: 2.375rem;\n --btn-input-padding-y: 0.375rem;\n --btn-input-padding-x: 0.75rem;\n --btn-input-font-size: var(--font-size-base);\n --btn-input-line-height: var(--line-height-base);\n --btn-input-border-radius: var(--border-radius);\n --btn-input-xs-min-height: 1.5rem;\n --btn-input-xs-padding-y: 0.125rem;\n --btn-input-xs-padding-x: 0.5rem;\n --btn-input-xs-font-size: var(--font-size-xs);\n --btn-input-xs-line-height: 1.125;\n --btn-input-xs-border-radius: var(--border-radius-xs);\n --btn-input-sm-min-height: 2rem;\n --btn-input-sm-padding-y: 0.25rem;\n --btn-input-sm-padding-x: 0.625rem;\n --btn-input-sm-font-size: var(--font-size-sm);\n --btn-input-sm-line-height: var(--line-height-sm);\n --btn-input-sm-border-radius: var(--border-radius-sm);\n --btn-input-lg-min-height: 2.75rem;\n --btn-input-lg-padding-y: 0.5rem;\n --btn-input-lg-padding-x: 1rem;\n --btn-input-lg-font-size: var(--font-size-md);\n --btn-input-lg-line-height: var(--line-height-md);\n --btn-input-lg-border-radius: var(--border-radius-lg);\n --form-valid-color: var(--success-text);\n --form-valid-border-color: var(--success-text);\n --form-invalid-color: var(--danger-text);\n --form-invalid-border-color: var(--danger-text);\n --font-size-xs: 0.75rem;\n --line-height-xs: 1.25;\n --font-size-sm: 0.875rem;\n --line-height-sm: 1.5;\n --font-size-md: 1rem;\n --line-height-md: 1.5;\n --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n --line-height-lg: 1.5;\n --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n --line-height-xl: 1.4285714286;\n --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n --line-height-2xl: 1.3333333333;\n --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n --line-height-3xl: 1.2;\n --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n --line-height-4xl: 1.1;\n --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n --line-height-5xl: 1.1;\n --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n --line-height-6xl: 1;\n --primary-base: var(--blue-500);\n --primary-text: light-dark(var(--blue-600), var(--blue-400));\n --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n --primary-bg: var(--blue-500);\n --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n --primary-border: light-dark(var(--blue-300), var(--blue-600));\n --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n --primary-contrast: var(--white);\n --accent-base: var(--indigo-500);\n --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n --accent-bg: var(--indigo-500);\n --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n --accent-contrast: var(--white);\n --success-base: var(--green-500);\n --success-text: light-dark(var(--green-600), var(--green-400));\n --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n --success-bg: var(--green-500);\n --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n --success-border: light-dark(var(--green-300), var(--green-600));\n --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n --success-contrast: var(--white);\n --danger-base: var(--red-500);\n --danger-text: light-dark(var(--red-600), var(--red-400));\n --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n --danger-bg: var(--red-500);\n --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n --danger-border: light-dark(var(--red-300), var(--red-600));\n --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n --danger-contrast: var(--white);\n --warning-base: var(--yellow-500);\n --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n --warning-bg: var(--yellow-500);\n --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n --warning-contrast: var(--gray-900);\n --info-base: var(--cyan-500);\n --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n --info-bg: var(--cyan-500);\n --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n --info-contrast: var(--gray-900);\n --inverse-base: var(--gray-900);\n --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n --inverse-contrast: light-dark(var(--white), var(--gray-900));\n --secondary-base: var(--gray-200);\n --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n --secondary-contrast: light-dark(var(--gray-900), var(--white));\n --bg-body: light-dark(var(--white), var(--gray-975));\n --bg-1: light-dark(var(--gray-025), var(--gray-950));\n --bg-2: light-dark(var(--gray-050), var(--gray-900));\n --bg-3: light-dark(var(--gray-100), var(--gray-800));\n --bg-4: light-dark(var(--gray-200), var(--gray-700));\n --bg-white: var(--white);\n --bg-black: var(--black);\n --bg-transparent: transparent;\n --bg-inherit: inherit;\n --fg-body: light-dark(var(--gray-900), var(--gray-050));\n --fg-1: light-dark(var(--gray-800), var(--gray-200));\n --fg-2: light-dark(var(--gray-700), var(--gray-300));\n --fg-3: light-dark(var(--gray-600), var(--gray-500));\n --fg-4: light-dark(var(--gray-500), var(--gray-600));\n --fg-white: var(--white);\n --fg-black: var(--black);\n --fg-inherit: inherit;\n --border-bg: var(--bg-body);\n --border-body: light-dark(var(--gray-300), var(--gray-800));\n --border-muted: light-dark(var(--gray-200), var(--gray-800));\n --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n --border-white: var(--white);\n --border-black: var(--black);\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n color-scheme: light;\n}\n\n@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: 0.375rem;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n text-underline-offset: 0.25em;\n backface-visibility: hidden;\n }\n .icon-link > .bi {\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n fill: currentcolor;\n transition: 0.2s ease-in-out transform;\n }\n @media (prefers-reduced-motion: reduce) {\n .icon-link > .bi {\n transition: none;\n }\n }\n .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n }\n}\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: 1030;\n }\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: 1030;\n }\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n @media (width >= 576px) {\n .sm\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sm\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 768px) {\n .md\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .md\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1024px) {\n .lg\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .lg\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1280px) {\n .xl\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .xl\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .\\32 xl\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n}\n@layer helpers {\n .stack-container {\n container-type: inline-size;\n }\n [class*=hstack],\n [class*=vstack] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n .vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n .hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n @container (width >= 576px) {\n .sm\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 576px) {\n .sm\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 768px) {\n .md\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 768px) {\n .md\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1024px) {\n .lg\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1024px) {\n .lg\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1280px) {\n .xl\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1280px) {\n .xl\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n}\n@layer helpers {\n .theme-primary {\n --theme-base: var(--primary-base);\n --theme-text: var(--primary-text);\n --theme-text-emphasis: var(--primary-text-emphasis);\n --theme-bg: var(--primary-bg);\n --theme-bg-subtle: var(--primary-bg-subtle);\n --theme-bg-muted: var(--primary-bg-muted);\n --theme-border: var(--primary-border);\n --theme-focus-ring: var(--primary-focus-ring);\n --theme-contrast: var(--primary-contrast);\n }\n .theme-accent {\n --theme-base: var(--accent-base);\n --theme-text: var(--accent-text);\n --theme-text-emphasis: var(--accent-text-emphasis);\n --theme-bg: var(--accent-bg);\n --theme-bg-subtle: var(--accent-bg-subtle);\n --theme-bg-muted: var(--accent-bg-muted);\n --theme-border: var(--accent-border);\n --theme-focus-ring: var(--accent-focus-ring);\n --theme-contrast: var(--accent-contrast);\n }\n .theme-success {\n --theme-base: var(--success-base);\n --theme-text: var(--success-text);\n --theme-text-emphasis: var(--success-text-emphasis);\n --theme-bg: var(--success-bg);\n --theme-bg-subtle: var(--success-bg-subtle);\n --theme-bg-muted: var(--success-bg-muted);\n --theme-border: var(--success-border);\n --theme-focus-ring: var(--success-focus-ring);\n --theme-contrast: var(--success-contrast);\n }\n .theme-danger {\n --theme-base: var(--danger-base);\n --theme-text: var(--danger-text);\n --theme-text-emphasis: var(--danger-text-emphasis);\n --theme-bg: var(--danger-bg);\n --theme-bg-subtle: var(--danger-bg-subtle);\n --theme-bg-muted: var(--danger-bg-muted);\n --theme-border: var(--danger-border);\n --theme-focus-ring: var(--danger-focus-ring);\n --theme-contrast: var(--danger-contrast);\n }\n .theme-warning {\n --theme-base: var(--warning-base);\n --theme-text: var(--warning-text);\n --theme-text-emphasis: var(--warning-text-emphasis);\n --theme-bg: var(--warning-bg);\n --theme-bg-subtle: var(--warning-bg-subtle);\n --theme-bg-muted: var(--warning-bg-muted);\n --theme-border: var(--warning-border);\n --theme-focus-ring: var(--warning-focus-ring);\n --theme-contrast: var(--warning-contrast);\n }\n .theme-info {\n --theme-base: var(--info-base);\n --theme-text: var(--info-text);\n --theme-text-emphasis: var(--info-text-emphasis);\n --theme-bg: var(--info-bg);\n --theme-bg-subtle: var(--info-bg-subtle);\n --theme-bg-muted: var(--info-bg-muted);\n --theme-border: var(--info-border);\n --theme-focus-ring: var(--info-focus-ring);\n --theme-contrast: var(--info-contrast);\n }\n .theme-inverse {\n --theme-base: var(--inverse-base);\n --theme-text: var(--inverse-text);\n --theme-text-emphasis: var(--inverse-text-emphasis);\n --theme-bg: var(--inverse-bg);\n --theme-bg-subtle: var(--inverse-bg-subtle);\n --theme-bg-muted: var(--inverse-bg-muted);\n --theme-border: var(--inverse-border);\n --theme-focus-ring: var(--inverse-focus-ring);\n --theme-contrast: var(--inverse-contrast);\n }\n .theme-secondary {\n --theme-base: var(--secondary-base);\n --theme-text: var(--secondary-text);\n --theme-text-emphasis: var(--secondary-text-emphasis);\n --theme-bg: var(--secondary-bg);\n --theme-bg-subtle: var(--secondary-bg-subtle);\n --theme-bg-muted: var(--secondary-bg-muted);\n --theme-border: var(--secondary-border);\n --theme-focus-ring: var(--secondary-focus-ring);\n --theme-contrast: var(--secondary-contrast);\n }\n}\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n .visually-hidden:not(caption),\n .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n position: absolute !important;\n }\n .visually-hidden *,\n .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n overflow: hidden !important;\n }\n}\n@layer helpers {\n .stretched-link::after {\n position: absolute;\n inset: 0;\n z-index: 1;\n content: \"\";\n }\n}\n@layer helpers {\n .text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n@layer utilities {\n .align-baseline {\n vertical-align: baseline;\n }\n .align-top {\n vertical-align: top;\n }\n .align-middle {\n vertical-align: middle;\n }\n .align-bottom {\n vertical-align: bottom;\n }\n .align-text-bottom {\n vertical-align: text-bottom;\n }\n .align-text-top {\n vertical-align: text-top;\n }\n [class*=ratio-] {\n aspect-ratio: var(--ratio);\n }\n .ratio-auto {\n --ratio: auto;\n }\n .ratio-1x1 {\n --ratio: 1 / 1;\n }\n .ratio-4x3 {\n --ratio: 4 / 3;\n }\n .ratio-16x9 {\n --ratio: 16 / 9;\n }\n .ratio-21x9 {\n --ratio: 21 / 9;\n }\n .float-start {\n float: inline-start;\n }\n .float-end {\n float: inline-end;\n }\n .float-none {\n float: none;\n }\n .object-fit-contain {\n object-fit: contain;\n }\n .object-fit-cover {\n object-fit: cover;\n }\n .object-fit-fill {\n object-fit: fill;\n }\n .object-fit-scale {\n object-fit: scale-down;\n }\n .object-fit-none {\n object-fit: none;\n }\n .opacity-0 {\n opacity: 0;\n }\n .opacity-25 {\n opacity: 0.25;\n }\n .opacity-50 {\n opacity: 0.5;\n }\n .opacity-75 {\n opacity: 0.75;\n }\n .opacity-100 {\n opacity: 1;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-visible {\n overflow: visible;\n }\n .overflow-scroll {\n overflow: scroll;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n .overflow-x-visible {\n overflow-x: visible;\n }\n .overflow-x-scroll {\n overflow-x: scroll;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .overflow-y-hidden {\n overflow-y: hidden;\n }\n .overflow-y-visible {\n overflow-y: visible;\n }\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n .contains-inline {\n container-type: inline-size;\n }\n .contains-size {\n container-type: size;\n }\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .shadow {\n box-shadow: var(--box-shadow);\n }\n .shadow-sm {\n box-shadow: var(--box-shadow-sm);\n }\n .shadow-lg {\n box-shadow: var(--box-shadow-lg);\n }\n .shadow-none {\n box-shadow: none;\n }\n .focus-ring-primary {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n }\n .focus-ring-accent {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n }\n .focus-ring-success {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n }\n .focus-ring-danger {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n }\n .focus-ring-warning {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n }\n .focus-ring-info {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n }\n .focus-ring-inverse {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n }\n .focus-ring-secondary {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n }\n .position-static {\n position: static;\n }\n .position-relative {\n position: relative;\n }\n .position-absolute {\n position: absolute;\n }\n .position-fixed {\n position: fixed;\n }\n .position-sticky {\n position: sticky;\n }\n .top-0 {\n top: 0;\n }\n .top-50 {\n top: 50%;\n }\n .top-100 {\n top: 100%;\n }\n .bottom-0 {\n bottom: 0;\n }\n .bottom-50 {\n bottom: 50%;\n }\n .bottom-100 {\n bottom: 100%;\n }\n .start-0 {\n left: 0;\n }\n .start-50 {\n left: 50%;\n }\n .start-100 {\n left: 100%;\n }\n .end-0 {\n right: 0;\n }\n .end-50 {\n right: 50%;\n }\n .end-100 {\n right: 100%;\n }\n .translate-middle {\n transform: translate(-50%, -50%);\n }\n .translate-middle-x {\n transform: translateX(-50%);\n }\n .translate-middle-y {\n transform: translateY(-50%);\n }\n .border {\n border: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-0 {\n border: 0;\n }\n .border-top {\n border-block-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-top-0 {\n border-block-start: 0;\n }\n .border-end {\n border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-end-0 {\n border-inline-end: 0;\n }\n .border-bottom {\n border-block-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-bottom-0 {\n border-block-end: 0;\n }\n .border-start {\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-start-0 {\n border-inline-start: 0;\n }\n .border-block {\n border-block: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-block-0 {\n border-block: 0;\n }\n .border-inline {\n border-inline: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-inline-0 {\n border-inline: 0;\n }\n .border-primary {\n --border-color: var(--blue-500);\n border-color: var(--border-color);\n }\n .border-accent {\n --border-color: var(--indigo-500);\n border-color: var(--border-color);\n }\n .border-success {\n --border-color: var(--green-500);\n border-color: var(--border-color);\n }\n .border-danger {\n --border-color: var(--red-500);\n border-color: var(--border-color);\n }\n .border-warning {\n --border-color: var(--yellow-500);\n border-color: var(--border-color);\n }\n .border-info {\n --border-color: var(--cyan-500);\n border-color: var(--border-color);\n }\n .border-inverse {\n --border-color: light-dark(var(--gray-900), var(--gray-025));\n border-color: var(--border-color);\n }\n .border-secondary {\n --border-color: light-dark(var(--gray-100), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-bg {\n --border-color: var(--bg-body);\n border-color: var(--border-color);\n }\n .border-body {\n --border-color: light-dark(var(--gray-300), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-muted {\n --border-color: light-dark(var(--gray-200), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-subtle {\n --border-color: light-dark(var(--gray-100), var(--gray-900));\n border-color: var(--border-color);\n }\n .border-emphasized {\n --border-color: light-dark(var(--gray-400), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-white {\n --border-color: var(--white);\n border-color: var(--border-color);\n }\n .border-black {\n --border-color: var(--black);\n border-color: var(--border-color);\n }\n .border-subtle-primary {\n --border-color: light-dark(var(--blue-300), var(--blue-600));\n border-color: var(--border-color);\n }\n .border-subtle-accent {\n --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n border-color: var(--border-color);\n }\n .border-subtle-success {\n --border-color: light-dark(var(--green-300), var(--green-600));\n border-color: var(--border-color);\n }\n .border-subtle-danger {\n --border-color: light-dark(var(--red-300), var(--red-600));\n border-color: var(--border-color);\n }\n .border-subtle-warning {\n --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n border-color: var(--border-color);\n }\n .border-subtle-info {\n --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n border-color: var(--border-color);\n }\n .border-subtle-inverse {\n --border-color: light-dark(var(--gray-400), var(--gray-100));\n border-color: var(--border-color);\n }\n .border-subtle-secondary {\n --border-color: light-dark(var(--gray-300), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-1 {\n border-width: 1px;\n }\n .border-2 {\n border-width: 2px;\n }\n .border-3 {\n border-width: 3px;\n }\n .border-4 {\n border-width: 4px;\n }\n .border-5 {\n border-width: 5px;\n }\n .border-10 {\n border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n }\n .border-20 {\n border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n }\n .border-30 {\n border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n }\n .border-40 {\n border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n }\n .border-50 {\n border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n }\n .border-60 {\n border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n }\n .border-70 {\n border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n }\n .border-80 {\n border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n }\n .border-90 {\n border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n }\n .border-100 {\n border-color: var(--border-color);\n }\n .w-1 {\n width: 1rem;\n }\n .w-2 {\n width: 2rem;\n }\n .w-3 {\n width: 3rem;\n }\n .w-4 {\n width: 4rem;\n }\n .w-5 {\n width: 5rem;\n }\n .w-6 {\n width: 6rem;\n }\n .w-7 {\n width: 7rem;\n }\n .w-8 {\n width: 8rem;\n }\n .w-9 {\n width: 9rem;\n }\n .w-10 {\n width: 10rem;\n }\n .w-11 {\n width: 11rem;\n }\n .w-12 {\n width: 12rem;\n }\n .w-25 {\n width: 25%;\n }\n .w-50 {\n width: 50%;\n }\n .w-75 {\n width: 75%;\n }\n .w-100 {\n width: 100%;\n }\n .w-auto {\n width: auto;\n }\n .w-min {\n width: min-content;\n }\n .w-max {\n width: max-content;\n }\n .w-fit {\n width: fit-content;\n }\n .max-w-100 {\n max-width: 100%;\n }\n .min-w-0 {\n min-width: 0;\n }\n .min-w-100 {\n min-width: 100%;\n }\n .vw-100 {\n width: 100vw;\n }\n .min-vw-100 {\n min-width: 100vw;\n }\n .h-25 {\n height: 25%;\n }\n .h-50 {\n height: 50%;\n }\n .h-75 {\n height: 75%;\n }\n .h-100 {\n height: 100%;\n }\n .h-auto {\n height: auto;\n }\n .h-min {\n height: min-content;\n }\n .h-max {\n height: max-content;\n }\n .h-fit {\n height: fit-content;\n }\n .max-h-100 {\n max-height: 100%;\n }\n .min-h-0 {\n min-height: 0;\n }\n .min-h-100 {\n min-height: 100%;\n }\n .vh-100 {\n height: 100vh;\n }\n .min-vh-100 {\n min-height: 100vh;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .justify-self-start {\n justify-self: flex-start;\n }\n .justify-self-end {\n justify-self: flex-end;\n }\n .justify-self-center {\n justify-self: center;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .order-first {\n order: -1;\n }\n .order-0 {\n order: 0;\n }\n .order-1 {\n order: 1;\n }\n .order-2 {\n order: 2;\n }\n .order-3 {\n order: 3;\n }\n .order-4 {\n order: 4;\n }\n .order-5 {\n order: 5;\n }\n .order-last {\n order: 6;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n .gap-0 {\n gap: 0;\n }\n .gap-1 {\n gap: 0.25rem;\n }\n .gap-2 {\n gap: 0.5rem;\n }\n .gap-3 {\n gap: 1rem;\n }\n .gap-4 {\n gap: 1.5rem;\n }\n .gap-5 {\n gap: 3rem;\n }\n .row-gap-0 {\n row-gap: 0;\n }\n .row-gap-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2 {\n row-gap: 0.5rem;\n }\n .row-gap-3 {\n row-gap: 1rem;\n }\n .row-gap-4 {\n row-gap: 1.5rem;\n }\n .row-gap-5 {\n row-gap: 3rem;\n }\n .column-gap-0 {\n column-gap: 0;\n }\n .column-gap-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2 {\n column-gap: 0.5rem;\n }\n .column-gap-3 {\n column-gap: 1rem;\n }\n .column-gap-4 {\n column-gap: 1.5rem;\n }\n .column-gap-5 {\n column-gap: 3rem;\n }\n .font-monospace {\n font-family: var(--font-mono);\n }\n .font-body {\n font-family: var(--body-font-family);\n }\n .fs-xs {\n font-size: 0.75rem;\n }\n .fs-sm {\n font-size: 0.875rem;\n }\n .fs-md {\n font-size: 1rem;\n }\n .fs-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n }\n .fs-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n }\n .fs-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n }\n .fs-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n }\n .fs-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n }\n .fs-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n }\n .fs-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n }\n .text-xs {\n font-size: 0.75rem;\n line-height: 1.25;\n }\n .text-sm {\n font-size: 0.875rem;\n line-height: 1.5;\n }\n .text-md {\n font-size: 1rem;\n line-height: 1.5;\n }\n .text-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n line-height: 1.5;\n }\n .text-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n line-height: 1.4285714286;\n }\n .text-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n line-height: 1.3333333333;\n }\n .text-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n line-height: 1.2;\n }\n .text-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n line-height: 1.1;\n }\n .text-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n line-height: 1.1;\n }\n .text-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n line-height: 1;\n }\n .fst-italic {\n font-style: italic;\n }\n .fst-normal {\n font-style: normal;\n }\n .fw-lighter {\n font-weight: lighter;\n }\n .fw-light {\n font-weight: 300;\n }\n .fw-normal {\n font-weight: 400;\n }\n .fw-medium {\n font-weight: 500;\n }\n .fw-semibold {\n font-weight: 600;\n }\n .fw-bold {\n font-weight: 700;\n }\n .fw-bolder {\n font-weight: bolder;\n }\n .lh-1 {\n line-height: 1;\n }\n .lh-sm {\n line-height: 1.25;\n }\n .lh-base {\n line-height: 1.5;\n }\n .lh-lg {\n line-height: 2;\n }\n .text-start {\n text-align: start;\n }\n .text-end {\n text-align: end;\n }\n .text-center {\n text-align: center;\n }\n .text-decoration-none {\n text-decoration: none;\n }\n .text-decoration-underline {\n text-decoration: underline;\n }\n .text-decoration-line-through {\n text-decoration: line-through;\n }\n .text-lowercase {\n text-transform: lowercase;\n }\n .text-uppercase {\n text-transform: uppercase;\n }\n .text-capitalize {\n text-transform: capitalize;\n }\n .text-wrap {\n white-space: wrap;\n }\n .text-nowrap {\n white-space: nowrap;\n }\n .text-balance {\n white-space: balance;\n }\n .text-pretty {\n white-space: pretty;\n }\n .text-break {\n word-wrap: break-word;\n word-break: break-word;\n }\n .fg-primary {\n --fg: light-dark(var(--blue-600), var(--blue-400));\n color: var(--fg);\n }\n .fg-accent {\n --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n color: var(--fg);\n }\n .fg-success {\n --fg: light-dark(var(--green-600), var(--green-400));\n color: var(--fg);\n }\n .fg-danger {\n --fg: light-dark(var(--red-600), var(--red-400));\n color: var(--fg);\n }\n .fg-warning {\n --fg: light-dark(var(--yellow-700), var(--yellow-400));\n color: var(--fg);\n }\n .fg-info {\n --fg: light-dark(var(--cyan-600), var(--cyan-400));\n color: var(--fg);\n }\n .fg-inverse {\n --fg: light-dark(var(--gray-900), var(--gray-200));\n color: var(--fg);\n }\n .fg-secondary {\n --fg: light-dark(var(--gray-600), var(--gray-400));\n color: var(--fg);\n }\n .fg-body {\n --fg: light-dark(var(--gray-900), var(--gray-050));\n color: var(--fg);\n }\n .fg-1 {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-2 {\n --fg: light-dark(var(--gray-700), var(--gray-300));\n color: var(--fg);\n }\n .fg-3 {\n --fg: light-dark(var(--gray-600), var(--gray-500));\n color: var(--fg);\n }\n .fg-4 {\n --fg: light-dark(var(--gray-500), var(--gray-600));\n color: var(--fg);\n }\n .fg-white {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-black {\n --fg: var(--black);\n color: var(--fg);\n }\n .fg-inherit {\n --fg: inherit;\n color: var(--fg);\n }\n .fg-emphasis-primary {\n --fg: light-dark(var(--blue-800), var(--blue-200));\n color: var(--fg);\n }\n .fg-emphasis-accent {\n --fg: light-dark(var(--indigo-800), var(--indigo-300));\n color: var(--fg);\n }\n .fg-emphasis-success {\n --fg: light-dark(var(--green-800), var(--green-300));\n color: var(--fg);\n }\n .fg-emphasis-danger {\n --fg: light-dark(var(--red-800), var(--red-300));\n color: var(--fg);\n }\n .fg-emphasis-warning {\n --fg: light-dark(var(--yellow-800), var(--yellow-300));\n color: var(--fg);\n }\n .fg-emphasis-info {\n --fg: light-dark(var(--cyan-800), var(--cyan-300));\n color: var(--fg);\n }\n .fg-emphasis-inverse {\n --fg: light-dark(var(--gray-975), var(--white));\n color: var(--fg);\n }\n .fg-emphasis-secondary {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-contrast-primary {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-accent {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-success {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-danger {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-warning {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-info {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-inverse {\n --fg: light-dark(var(--white), var(--gray-900));\n color: var(--fg);\n }\n .fg-contrast-secondary {\n --fg: light-dark(var(--gray-900), var(--white));\n color: var(--fg);\n }\n .fg-10 {\n color: color-mix(in oklch, var(--fg) 10%, transparent);\n }\n .fg-20 {\n color: color-mix(in oklch, var(--fg) 20%, transparent);\n }\n .fg-30 {\n color: color-mix(in oklch, var(--fg) 30%, transparent);\n }\n .fg-40 {\n color: color-mix(in oklch, var(--fg) 40%, transparent);\n }\n .fg-50 {\n color: color-mix(in oklch, var(--fg) 50%, transparent);\n }\n .fg-60 {\n color: color-mix(in oklch, var(--fg) 60%, transparent);\n }\n .fg-70 {\n color: color-mix(in oklch, var(--fg) 70%, transparent);\n }\n .fg-80 {\n color: color-mix(in oklch, var(--fg) 80%, transparent);\n }\n .fg-90 {\n color: color-mix(in oklch, var(--fg) 90%, transparent);\n }\n .fg-100 {\n color: var(--fg);\n }\n .link-10 {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-10-hover:hover {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-20 {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-20-hover:hover {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-30 {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-30-hover:hover {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-40 {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-40-hover:hover {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-50 {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-50-hover:hover {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-60 {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-60-hover:hover {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-70 {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-70-hover:hover {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-80 {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-80-hover:hover {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-90 {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-90-hover:hover {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-100 {\n color: var(--link-color);\n }\n .link-100-hover:hover {\n color: var(--link-color);\n }\n .underline-offset-1 {\n text-underline-offset: 0.125em;\n }\n .underline-offset-1-hover:hover {\n text-underline-offset: 0.125em;\n }\n .underline-offset-2 {\n text-underline-offset: 0.25em;\n }\n .underline-offset-2-hover:hover {\n text-underline-offset: 0.25em;\n }\n .underline-offset-3 {\n text-underline-offset: 0.375em;\n }\n .underline-offset-3-hover:hover {\n text-underline-offset: 0.375em;\n }\n .underline-primary {\n text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n }\n .underline-accent {\n text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n }\n .underline-success {\n text-decoration-color: light-dark(var(--green-600), var(--green-400));\n }\n .underline-danger {\n text-decoration-color: light-dark(var(--red-600), var(--red-400));\n }\n .underline-warning {\n text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n }\n .underline-info {\n text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n }\n .underline-inverse {\n text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n }\n .underline-secondary {\n text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n }\n .underline-10 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-10-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-20 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-20-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-30 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-30-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-40 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-40-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-50 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-50-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-60 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-60-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-70 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-70-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-80 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-80-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-90 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-90-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-100 {\n text-decoration-color: var(--link-color);\n }\n .underline-100-hover:hover {\n text-decoration-color: var(--link-color);\n }\n .underline-thickness-1 {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-1-hover:hover {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-2 {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-2-hover:hover {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-3 {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-3-hover:hover {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-4 {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-4-hover:hover {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-5 {\n text-decoration-thickness: 5px;\n }\n .underline-thickness-5-hover:hover {\n text-decoration-thickness: 5px;\n }\n .bg-primary {\n --bg: var(--blue-500);\n background-color: var(--bg);\n }\n .bg-accent {\n --bg: var(--indigo-500);\n background-color: var(--bg);\n }\n .bg-success {\n --bg: var(--green-500);\n background-color: var(--bg);\n }\n .bg-danger {\n --bg: var(--red-500);\n background-color: var(--bg);\n }\n .bg-warning {\n --bg: var(--yellow-500);\n background-color: var(--bg);\n }\n .bg-info {\n --bg: var(--cyan-500);\n background-color: var(--bg);\n }\n .bg-inverse {\n --bg: light-dark(var(--gray-900), var(--gray-025));\n background-color: var(--bg);\n }\n .bg-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-600));\n background-color: var(--bg);\n }\n .bg-body {\n --bg: light-dark(var(--white), var(--gray-975));\n background-color: var(--bg);\n }\n .bg-1 {\n --bg: light-dark(var(--gray-025), var(--gray-950));\n background-color: var(--bg);\n }\n .bg-2 {\n --bg: light-dark(var(--gray-050), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-3 {\n --bg: light-dark(var(--gray-100), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-4 {\n --bg: light-dark(var(--gray-200), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-white {\n --bg: var(--white);\n background-color: var(--bg);\n }\n .bg-black {\n --bg: var(--black);\n background-color: var(--bg);\n }\n .bg-transparent {\n --bg: transparent;\n background-color: var(--bg);\n }\n .bg-inherit {\n --bg: inherit;\n background-color: var(--bg);\n }\n .bg-subtle-primary {\n --bg: light-dark(var(--blue-100), var(--blue-900));\n background-color: var(--bg);\n }\n .bg-subtle-accent {\n --bg: light-dark(var(--indigo-100), var(--indigo-900));\n background-color: var(--bg);\n }\n .bg-subtle-success {\n --bg: light-dark(var(--green-100), var(--green-900));\n background-color: var(--bg);\n }\n .bg-subtle-danger {\n --bg: light-dark(var(--red-100), var(--red-900));\n background-color: var(--bg);\n }\n .bg-subtle-warning {\n --bg: light-dark(var(--yellow-100), var(--yellow-900));\n background-color: var(--bg);\n }\n .bg-subtle-info {\n --bg: light-dark(var(--cyan-100), var(--cyan-900));\n background-color: var(--bg);\n }\n .bg-subtle-inverse {\n --bg: light-dark(var(--gray-100), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-subtle-secondary {\n --bg: light-dark(var(--gray-050), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-muted-primary {\n --bg: light-dark(var(--blue-200), var(--blue-800));\n background-color: var(--bg);\n }\n .bg-muted-accent {\n --bg: light-dark(var(--indigo-200), var(--indigo-800));\n background-color: var(--bg);\n }\n .bg-muted-success {\n --bg: light-dark(var(--green-200), var(--green-800));\n background-color: var(--bg);\n }\n .bg-muted-danger {\n --bg: light-dark(var(--red-200), var(--red-800));\n background-color: var(--bg);\n }\n .bg-muted-warning {\n --bg: light-dark(var(--yellow-200), var(--yellow-800));\n background-color: var(--bg);\n }\n .bg-muted-info {\n --bg: light-dark(var(--cyan-200), var(--cyan-800));\n background-color: var(--bg);\n }\n .bg-muted-inverse {\n --bg: light-dark(var(--gray-200), var(--gray-300));\n background-color: var(--bg);\n }\n .bg-muted-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-10 {\n background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n }\n .bg-20 {\n background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n }\n .bg-30 {\n background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n }\n .bg-40 {\n background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n }\n .bg-50 {\n background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n }\n .bg-60 {\n background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n }\n .bg-70 {\n background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n }\n .bg-80 {\n background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n }\n .bg-90 {\n background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n }\n .bg-100 {\n background-color: var(--bg);\n }\n .theme-contrast {\n background-color: var(--theme-bg);\n color: var(--theme-contrast);\n }\n .theme-subtle {\n background-color: var(--theme-bg-subtle);\n color: var(--theme-text);\n }\n .theme-muted {\n background-color: var(--theme-bg-muted);\n color: var(--theme-text-emphasis);\n }\n .theme-border {\n border: var(--border-width) solid var(--theme-border);\n }\n .bg-gradient {\n background-image: var(--gradient);\n }\n .user-select-all {\n user-select: all;\n }\n .user-select-auto {\n user-select: auto;\n }\n .user-select-text {\n user-select: text;\n }\n .user-select-none {\n user-select: none;\n }\n .pe-none {\n pointer-events: none;\n }\n .pe-auto {\n pointer-events: auto;\n }\n .rounded {\n border-radius: var(--border-radius);\n }\n .rounded-0 {\n border-radius: 0;\n }\n .rounded-1 {\n border-radius: var(--border-radius-sm);\n }\n .rounded-2 {\n border-radius: var(--border-radius);\n }\n .rounded-3 {\n border-radius: var(--border-radius-lg);\n }\n .rounded-4 {\n border-radius: var(--border-radius-xl);\n }\n .rounded-5 {\n border-radius: var(--border-radius-2xl);\n }\n .rounded-circle {\n border-radius: 50%;\n }\n .rounded-pill {\n border-radius: var(--border-radius-pill);\n }\n .rounded-top {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-top-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-top-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-top-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-top-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-top-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-top-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .rounded-end {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-end-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-end-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-end-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-end-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-end-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-end-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-bottom {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-bottom-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-bottom-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-bottom-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-bottom-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-bottom-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-bottom-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-start {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-start-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-start-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-start-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-start-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-start-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-start-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .visible {\n visibility: visible;\n }\n .invisible {\n visibility: hidden;\n }\n .z-n1 {\n z-index: -1;\n }\n .z-0 {\n z-index: 0;\n }\n .z-1 {\n z-index: 1;\n }\n .z-2 {\n z-index: 2;\n }\n .z-3 {\n z-index: 3;\n }\n @media (width >= 576px) {\n .sm\\:float-start {\n float: inline-start;\n }\n .sm\\:float-end {\n float: inline-end;\n }\n .sm\\:float-none {\n float: none;\n }\n .sm\\:object-fit-contain {\n object-fit: contain;\n }\n .sm\\:object-fit-cover {\n object-fit: cover;\n }\n .sm\\:object-fit-fill {\n object-fit: fill;\n }\n .sm\\:object-fit-scale {\n object-fit: scale-down;\n }\n .sm\\:object-fit-none {\n object-fit: none;\n }\n .sm\\:d-inline {\n display: inline;\n }\n .sm\\:d-inline-block {\n display: inline-block;\n }\n .sm\\:d-block {\n display: block;\n }\n .sm\\:d-grid {\n display: grid;\n }\n .sm\\:d-inline-grid {\n display: inline-grid;\n }\n .sm\\:d-table {\n display: table;\n }\n .sm\\:d-table-row {\n display: table-row;\n }\n .sm\\:d-table-cell {\n display: table-cell;\n }\n .sm\\:d-flex {\n display: flex;\n }\n .sm\\:d-inline-flex {\n display: inline-flex;\n }\n .sm\\:d-contents {\n display: contents;\n }\n .sm\\:d-flow-root {\n display: flow-root;\n }\n .sm\\:d-none {\n display: none;\n }\n .sm\\:flex-fill {\n flex: 1 1 auto;\n }\n .sm\\:flex-row {\n flex-direction: row;\n }\n .sm\\:flex-column {\n flex-direction: column;\n }\n .sm\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .sm\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .sm\\:flex-grow-0 {\n flex-grow: 0;\n }\n .sm\\:flex-grow-1 {\n flex-grow: 1;\n }\n .sm\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .sm\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .sm\\:flex-wrap {\n flex-wrap: wrap;\n }\n .sm\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .sm\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .sm\\:justify-content-start {\n justify-content: flex-start;\n }\n .sm\\:justify-content-end {\n justify-content: flex-end;\n }\n .sm\\:justify-content-center {\n justify-content: center;\n }\n .sm\\:justify-content-between {\n justify-content: space-between;\n }\n .sm\\:justify-content-around {\n justify-content: space-around;\n }\n .sm\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .sm\\:justify-items-start {\n justify-items: start;\n }\n .sm\\:justify-items-end {\n justify-items: end;\n }\n .sm\\:justify-items-center {\n justify-items: center;\n }\n .sm\\:justify-items-stretch {\n justify-items: stretch;\n }\n .sm\\:justify-self-start {\n justify-self: flex-start;\n }\n .sm\\:justify-self-end {\n justify-self: flex-end;\n }\n .sm\\:justify-self-center {\n justify-self: center;\n }\n .sm\\:align-items-start {\n align-items: flex-start;\n }\n .sm\\:align-items-end {\n align-items: flex-end;\n }\n .sm\\:align-items-center {\n align-items: center;\n }\n .sm\\:align-items-baseline {\n align-items: baseline;\n }\n .sm\\:align-items-stretch {\n align-items: stretch;\n }\n .sm\\:align-content-start {\n align-content: flex-start;\n }\n .sm\\:align-content-end {\n align-content: flex-end;\n }\n .sm\\:align-content-center {\n align-content: center;\n }\n .sm\\:align-content-between {\n align-content: space-between;\n }\n .sm\\:align-content-around {\n align-content: space-around;\n }\n .sm\\:align-content-stretch {\n align-content: stretch;\n }\n .sm\\:align-self-auto {\n align-self: auto;\n }\n .sm\\:align-self-start {\n align-self: flex-start;\n }\n .sm\\:align-self-end {\n align-self: flex-end;\n }\n .sm\\:align-self-center {\n align-self: center;\n }\n .sm\\:align-self-baseline {\n align-self: baseline;\n }\n .sm\\:align-self-stretch {\n align-self: stretch;\n }\n .sm\\:place-items-start {\n place-items: start;\n }\n .sm\\:place-items-end {\n place-items: end;\n }\n .sm\\:place-items-center {\n place-items: center;\n }\n .sm\\:place-items-stretch {\n place-items: stretch;\n }\n .sm\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .sm\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .sm\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .sm\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .sm\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .sm\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .sm\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .sm\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .sm\\:order-first {\n order: -1;\n }\n .sm\\:order-0 {\n order: 0;\n }\n .sm\\:order-1 {\n order: 1;\n }\n .sm\\:order-2 {\n order: 2;\n }\n .sm\\:order-3 {\n order: 3;\n }\n .sm\\:order-4 {\n order: 4;\n }\n .sm\\:order-5 {\n order: 5;\n }\n .sm\\:order-last {\n order: 6;\n }\n .sm\\:m-0 {\n margin: 0;\n }\n .sm\\:m-1 {\n margin: 0.25rem;\n }\n .sm\\:m-2 {\n margin: 0.5rem;\n }\n .sm\\:m-3 {\n margin: 1rem;\n }\n .sm\\:m-4 {\n margin: 1.5rem;\n }\n .sm\\:m-5 {\n margin: 3rem;\n }\n .sm\\:m-auto {\n margin: auto;\n }\n .sm\\:mx-0 {\n margin-inline: 0;\n }\n .sm\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .sm\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .sm\\:mx-3 {\n margin-inline: 1rem;\n }\n .sm\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .sm\\:mx-5 {\n margin-inline: 3rem;\n }\n .sm\\:mx-auto {\n margin-inline: auto;\n }\n .sm\\:my-0 {\n margin-block: 0;\n }\n .sm\\:my-1 {\n margin-block: 0.25rem;\n }\n .sm\\:my-2 {\n margin-block: 0.5rem;\n }\n .sm\\:my-3 {\n margin-block: 1rem;\n }\n .sm\\:my-4 {\n margin-block: 1.5rem;\n }\n .sm\\:my-5 {\n margin-block: 3rem;\n }\n .sm\\:my-auto {\n margin-block: auto;\n }\n .sm\\:mt-0 {\n margin-block-start: 0;\n }\n .sm\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .sm\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .sm\\:mt-3 {\n margin-block-start: 1rem;\n }\n .sm\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .sm\\:mt-5 {\n margin-block-start: 3rem;\n }\n .sm\\:mt-auto {\n margin-block-start: auto;\n }\n .sm\\:me-0 {\n margin-inline-end: 0;\n }\n .sm\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .sm\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .sm\\:me-3 {\n margin-inline-end: 1rem;\n }\n .sm\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .sm\\:me-5 {\n margin-inline-end: 3rem;\n }\n .sm\\:me-auto {\n margin-inline-end: auto;\n }\n .sm\\:mb-0 {\n margin-block-end: 0;\n }\n .sm\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .sm\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .sm\\:mb-3 {\n margin-block-end: 1rem;\n }\n .sm\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .sm\\:mb-5 {\n margin-block-end: 3rem;\n }\n .sm\\:mb-auto {\n margin-block-end: auto;\n }\n .sm\\:ms-0 {\n margin-inline-start: 0;\n }\n .sm\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .sm\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .sm\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .sm\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .sm\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .sm\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .sm\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .sm\\:ms-auto {\n margin-inline-start: auto;\n }\n .sm\\:p-0 {\n padding: 0;\n }\n .sm\\:p-1 {\n padding: 0.25rem;\n }\n .sm\\:p-2 {\n padding: 0.5rem;\n }\n .sm\\:p-3 {\n padding: 1rem;\n }\n .sm\\:p-4 {\n padding: 1.5rem;\n }\n .sm\\:p-5 {\n padding: 3rem;\n }\n .sm\\:px-0 {\n padding-inline: 0;\n }\n .sm\\:px-1 {\n padding-inline: 0.25rem;\n }\n .sm\\:px-2 {\n padding-inline: 0.5rem;\n }\n .sm\\:px-3 {\n padding-inline: 1rem;\n }\n .sm\\:px-4 {\n padding-inline: 1.5rem;\n }\n .sm\\:px-5 {\n padding-inline: 3rem;\n }\n .sm\\:py-0 {\n padding-block: 0;\n }\n .sm\\:py-1 {\n padding-block: 0.25rem;\n }\n .sm\\:py-2 {\n padding-block: 0.5rem;\n }\n .sm\\:py-3 {\n padding-block: 1rem;\n }\n .sm\\:py-4 {\n padding-block: 1.5rem;\n }\n .sm\\:py-5 {\n padding-block: 3rem;\n }\n .sm\\:pt-0 {\n padding-block-start: 0;\n }\n .sm\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .sm\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .sm\\:pt-3 {\n padding-block-start: 1rem;\n }\n .sm\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .sm\\:pt-5 {\n padding-block-start: 3rem;\n }\n .sm\\:pe-0 {\n padding-inline-end: 0;\n }\n .sm\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .sm\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .sm\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .sm\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .sm\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .sm\\:pb-0 {\n padding-block-end: 0;\n }\n .sm\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .sm\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .sm\\:pb-3 {\n padding-block-end: 1rem;\n }\n .sm\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .sm\\:pb-5 {\n padding-block-end: 3rem;\n }\n .sm\\:ps-0 {\n padding-inline-start: 0;\n }\n .sm\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .sm\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .sm\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .sm\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .sm\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .sm\\:gap-0 {\n gap: 0;\n }\n .sm\\:gap-1 {\n gap: 0.25rem;\n }\n .sm\\:gap-2 {\n gap: 0.5rem;\n }\n .sm\\:gap-3 {\n gap: 1rem;\n }\n .sm\\:gap-4 {\n gap: 1.5rem;\n }\n .sm\\:gap-5 {\n gap: 3rem;\n }\n .sm\\:row-gap-0 {\n row-gap: 0;\n }\n .sm\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .sm\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .sm\\:row-gap-3 {\n row-gap: 1rem;\n }\n .sm\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .sm\\:row-gap-5 {\n row-gap: 3rem;\n }\n .sm\\:column-gap-0 {\n column-gap: 0;\n }\n .sm\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .sm\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .sm\\:column-gap-3 {\n column-gap: 1rem;\n }\n .sm\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .sm\\:column-gap-5 {\n column-gap: 3rem;\n }\n .sm\\:text-start {\n text-align: start;\n }\n .sm\\:text-end {\n text-align: end;\n }\n .sm\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 768px) {\n .md\\:float-start {\n float: inline-start;\n }\n .md\\:float-end {\n float: inline-end;\n }\n .md\\:float-none {\n float: none;\n }\n .md\\:object-fit-contain {\n object-fit: contain;\n }\n .md\\:object-fit-cover {\n object-fit: cover;\n }\n .md\\:object-fit-fill {\n object-fit: fill;\n }\n .md\\:object-fit-scale {\n object-fit: scale-down;\n }\n .md\\:object-fit-none {\n object-fit: none;\n }\n .md\\:d-inline {\n display: inline;\n }\n .md\\:d-inline-block {\n display: inline-block;\n }\n .md\\:d-block {\n display: block;\n }\n .md\\:d-grid {\n display: grid;\n }\n .md\\:d-inline-grid {\n display: inline-grid;\n }\n .md\\:d-table {\n display: table;\n }\n .md\\:d-table-row {\n display: table-row;\n }\n .md\\:d-table-cell {\n display: table-cell;\n }\n .md\\:d-flex {\n display: flex;\n }\n .md\\:d-inline-flex {\n display: inline-flex;\n }\n .md\\:d-contents {\n display: contents;\n }\n .md\\:d-flow-root {\n display: flow-root;\n }\n .md\\:d-none {\n display: none;\n }\n .md\\:flex-fill {\n flex: 1 1 auto;\n }\n .md\\:flex-row {\n flex-direction: row;\n }\n .md\\:flex-column {\n flex-direction: column;\n }\n .md\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .md\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .md\\:flex-grow-0 {\n flex-grow: 0;\n }\n .md\\:flex-grow-1 {\n flex-grow: 1;\n }\n .md\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .md\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .md\\:flex-wrap {\n flex-wrap: wrap;\n }\n .md\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .md\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .md\\:justify-content-start {\n justify-content: flex-start;\n }\n .md\\:justify-content-end {\n justify-content: flex-end;\n }\n .md\\:justify-content-center {\n justify-content: center;\n }\n .md\\:justify-content-between {\n justify-content: space-between;\n }\n .md\\:justify-content-around {\n justify-content: space-around;\n }\n .md\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .md\\:justify-items-start {\n justify-items: start;\n }\n .md\\:justify-items-end {\n justify-items: end;\n }\n .md\\:justify-items-center {\n justify-items: center;\n }\n .md\\:justify-items-stretch {\n justify-items: stretch;\n }\n .md\\:justify-self-start {\n justify-self: flex-start;\n }\n .md\\:justify-self-end {\n justify-self: flex-end;\n }\n .md\\:justify-self-center {\n justify-self: center;\n }\n .md\\:align-items-start {\n align-items: flex-start;\n }\n .md\\:align-items-end {\n align-items: flex-end;\n }\n .md\\:align-items-center {\n align-items: center;\n }\n .md\\:align-items-baseline {\n align-items: baseline;\n }\n .md\\:align-items-stretch {\n align-items: stretch;\n }\n .md\\:align-content-start {\n align-content: flex-start;\n }\n .md\\:align-content-end {\n align-content: flex-end;\n }\n .md\\:align-content-center {\n align-content: center;\n }\n .md\\:align-content-between {\n align-content: space-between;\n }\n .md\\:align-content-around {\n align-content: space-around;\n }\n .md\\:align-content-stretch {\n align-content: stretch;\n }\n .md\\:align-self-auto {\n align-self: auto;\n }\n .md\\:align-self-start {\n align-self: flex-start;\n }\n .md\\:align-self-end {\n align-self: flex-end;\n }\n .md\\:align-self-center {\n align-self: center;\n }\n .md\\:align-self-baseline {\n align-self: baseline;\n }\n .md\\:align-self-stretch {\n align-self: stretch;\n }\n .md\\:place-items-start {\n place-items: start;\n }\n .md\\:place-items-end {\n place-items: end;\n }\n .md\\:place-items-center {\n place-items: center;\n }\n .md\\:place-items-stretch {\n place-items: stretch;\n }\n .md\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .md\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .md\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .md\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .md\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .md\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .md\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .md\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .md\\:order-first {\n order: -1;\n }\n .md\\:order-0 {\n order: 0;\n }\n .md\\:order-1 {\n order: 1;\n }\n .md\\:order-2 {\n order: 2;\n }\n .md\\:order-3 {\n order: 3;\n }\n .md\\:order-4 {\n order: 4;\n }\n .md\\:order-5 {\n order: 5;\n }\n .md\\:order-last {\n order: 6;\n }\n .md\\:m-0 {\n margin: 0;\n }\n .md\\:m-1 {\n margin: 0.25rem;\n }\n .md\\:m-2 {\n margin: 0.5rem;\n }\n .md\\:m-3 {\n margin: 1rem;\n }\n .md\\:m-4 {\n margin: 1.5rem;\n }\n .md\\:m-5 {\n margin: 3rem;\n }\n .md\\:m-auto {\n margin: auto;\n }\n .md\\:mx-0 {\n margin-inline: 0;\n }\n .md\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .md\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .md\\:mx-3 {\n margin-inline: 1rem;\n }\n .md\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .md\\:mx-5 {\n margin-inline: 3rem;\n }\n .md\\:mx-auto {\n margin-inline: auto;\n }\n .md\\:my-0 {\n margin-block: 0;\n }\n .md\\:my-1 {\n margin-block: 0.25rem;\n }\n .md\\:my-2 {\n margin-block: 0.5rem;\n }\n .md\\:my-3 {\n margin-block: 1rem;\n }\n .md\\:my-4 {\n margin-block: 1.5rem;\n }\n .md\\:my-5 {\n margin-block: 3rem;\n }\n .md\\:my-auto {\n margin-block: auto;\n }\n .md\\:mt-0 {\n margin-block-start: 0;\n }\n .md\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .md\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .md\\:mt-3 {\n margin-block-start: 1rem;\n }\n .md\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .md\\:mt-5 {\n margin-block-start: 3rem;\n }\n .md\\:mt-auto {\n margin-block-start: auto;\n }\n .md\\:me-0 {\n margin-inline-end: 0;\n }\n .md\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .md\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .md\\:me-3 {\n margin-inline-end: 1rem;\n }\n .md\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .md\\:me-5 {\n margin-inline-end: 3rem;\n }\n .md\\:me-auto {\n margin-inline-end: auto;\n }\n .md\\:mb-0 {\n margin-block-end: 0;\n }\n .md\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .md\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .md\\:mb-3 {\n margin-block-end: 1rem;\n }\n .md\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .md\\:mb-5 {\n margin-block-end: 3rem;\n }\n .md\\:mb-auto {\n margin-block-end: auto;\n }\n .md\\:ms-0 {\n margin-inline-start: 0;\n }\n .md\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .md\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .md\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .md\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .md\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .md\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .md\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .md\\:ms-auto {\n margin-inline-start: auto;\n }\n .md\\:p-0 {\n padding: 0;\n }\n .md\\:p-1 {\n padding: 0.25rem;\n }\n .md\\:p-2 {\n padding: 0.5rem;\n }\n .md\\:p-3 {\n padding: 1rem;\n }\n .md\\:p-4 {\n padding: 1.5rem;\n }\n .md\\:p-5 {\n padding: 3rem;\n }\n .md\\:px-0 {\n padding-inline: 0;\n }\n .md\\:px-1 {\n padding-inline: 0.25rem;\n }\n .md\\:px-2 {\n padding-inline: 0.5rem;\n }\n .md\\:px-3 {\n padding-inline: 1rem;\n }\n .md\\:px-4 {\n padding-inline: 1.5rem;\n }\n .md\\:px-5 {\n padding-inline: 3rem;\n }\n .md\\:py-0 {\n padding-block: 0;\n }\n .md\\:py-1 {\n padding-block: 0.25rem;\n }\n .md\\:py-2 {\n padding-block: 0.5rem;\n }\n .md\\:py-3 {\n padding-block: 1rem;\n }\n .md\\:py-4 {\n padding-block: 1.5rem;\n }\n .md\\:py-5 {\n padding-block: 3rem;\n }\n .md\\:pt-0 {\n padding-block-start: 0;\n }\n .md\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .md\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .md\\:pt-3 {\n padding-block-start: 1rem;\n }\n .md\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .md\\:pt-5 {\n padding-block-start: 3rem;\n }\n .md\\:pe-0 {\n padding-inline-end: 0;\n }\n .md\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .md\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .md\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .md\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .md\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .md\\:pb-0 {\n padding-block-end: 0;\n }\n .md\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .md\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .md\\:pb-3 {\n padding-block-end: 1rem;\n }\n .md\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .md\\:pb-5 {\n padding-block-end: 3rem;\n }\n .md\\:ps-0 {\n padding-inline-start: 0;\n }\n .md\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .md\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .md\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .md\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .md\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .md\\:gap-0 {\n gap: 0;\n }\n .md\\:gap-1 {\n gap: 0.25rem;\n }\n .md\\:gap-2 {\n gap: 0.5rem;\n }\n .md\\:gap-3 {\n gap: 1rem;\n }\n .md\\:gap-4 {\n gap: 1.5rem;\n }\n .md\\:gap-5 {\n gap: 3rem;\n }\n .md\\:row-gap-0 {\n row-gap: 0;\n }\n .md\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .md\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .md\\:row-gap-3 {\n row-gap: 1rem;\n }\n .md\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .md\\:row-gap-5 {\n row-gap: 3rem;\n }\n .md\\:column-gap-0 {\n column-gap: 0;\n }\n .md\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .md\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .md\\:column-gap-3 {\n column-gap: 1rem;\n }\n .md\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .md\\:column-gap-5 {\n column-gap: 3rem;\n }\n .md\\:text-start {\n text-align: start;\n }\n .md\\:text-end {\n text-align: end;\n }\n .md\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 1024px) {\n .lg\\:float-start {\n float: inline-start;\n }\n .lg\\:float-end {\n float: inline-end;\n }\n .lg\\:float-none {\n float: none;\n }\n .lg\\:object-fit-contain {\n object-fit: contain;\n }\n .lg\\:object-fit-cover {\n object-fit: cover;\n }\n .lg\\:object-fit-fill {\n object-fit: fill;\n }\n .lg\\:object-fit-scale {\n object-fit: scale-down;\n }\n .lg\\:object-fit-none {\n object-fit: none;\n }\n .lg\\:d-inline {\n display: inline;\n }\n .lg\\:d-inline-block {\n display: inline-block;\n }\n .lg\\:d-block {\n display: block;\n }\n .lg\\:d-grid {\n display: grid;\n }\n .lg\\:d-inline-grid {\n display: inline-grid;\n }\n .lg\\:d-table {\n display: table;\n }\n .lg\\:d-table-row {\n display: table-row;\n }\n .lg\\:d-table-cell {\n display: table-cell;\n }\n .lg\\:d-flex {\n display: flex;\n }\n .lg\\:d-inline-flex {\n display: inline-flex;\n }\n .lg\\:d-contents {\n display: contents;\n }\n .lg\\:d-flow-root {\n display: flow-root;\n }\n .lg\\:d-none {\n display: none;\n }\n .lg\\:flex-fill {\n flex: 1 1 auto;\n }\n .lg\\:flex-row {\n flex-direction: row;\n }\n .lg\\:flex-column {\n flex-direction: column;\n }\n .lg\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .lg\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .lg\\:flex-grow-0 {\n flex-grow: 0;\n }\n .lg\\:flex-grow-1 {\n flex-grow: 1;\n }\n .lg\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .lg\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .lg\\:flex-wrap {\n flex-wrap: wrap;\n }\n .lg\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .lg\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .lg\\:justify-content-start {\n justify-content: flex-start;\n }\n .lg\\:justify-content-end {\n justify-content: flex-end;\n }\n .lg\\:justify-content-center {\n justify-content: center;\n }\n .lg\\:justify-content-between {\n justify-content: space-between;\n }\n .lg\\:justify-content-around {\n justify-content: space-around;\n }\n .lg\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .lg\\:justify-items-start {\n justify-items: start;\n }\n .lg\\:justify-items-end {\n justify-items: end;\n }\n .lg\\:justify-items-center {\n justify-items: center;\n }\n .lg\\:justify-items-stretch {\n justify-items: stretch;\n }\n .lg\\:justify-self-start {\n justify-self: flex-start;\n }\n .lg\\:justify-self-end {\n justify-self: flex-end;\n }\n .lg\\:justify-self-center {\n justify-self: center;\n }\n .lg\\:align-items-start {\n align-items: flex-start;\n }\n .lg\\:align-items-end {\n align-items: flex-end;\n }\n .lg\\:align-items-center {\n align-items: center;\n }\n .lg\\:align-items-baseline {\n align-items: baseline;\n }\n .lg\\:align-items-stretch {\n align-items: stretch;\n }\n .lg\\:align-content-start {\n align-content: flex-start;\n }\n .lg\\:align-content-end {\n align-content: flex-end;\n }\n .lg\\:align-content-center {\n align-content: center;\n }\n .lg\\:align-content-between {\n align-content: space-between;\n }\n .lg\\:align-content-around {\n align-content: space-around;\n }\n .lg\\:align-content-stretch {\n align-content: stretch;\n }\n .lg\\:align-self-auto {\n align-self: auto;\n }\n .lg\\:align-self-start {\n align-self: flex-start;\n }\n .lg\\:align-self-end {\n align-self: flex-end;\n }\n .lg\\:align-self-center {\n align-self: center;\n }\n .lg\\:align-self-baseline {\n align-self: baseline;\n }\n .lg\\:align-self-stretch {\n align-self: stretch;\n }\n .lg\\:place-items-start {\n place-items: start;\n }\n .lg\\:place-items-end {\n place-items: end;\n }\n .lg\\:place-items-center {\n place-items: center;\n }\n .lg\\:place-items-stretch {\n place-items: stretch;\n }\n .lg\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .lg\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .lg\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .lg\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .lg\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .lg\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .lg\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .lg\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .lg\\:order-first {\n order: -1;\n }\n .lg\\:order-0 {\n order: 0;\n }\n .lg\\:order-1 {\n order: 1;\n }\n .lg\\:order-2 {\n order: 2;\n }\n .lg\\:order-3 {\n order: 3;\n }\n .lg\\:order-4 {\n order: 4;\n }\n .lg\\:order-5 {\n order: 5;\n }\n .lg\\:order-last {\n order: 6;\n }\n .lg\\:m-0 {\n margin: 0;\n }\n .lg\\:m-1 {\n margin: 0.25rem;\n }\n .lg\\:m-2 {\n margin: 0.5rem;\n }\n .lg\\:m-3 {\n margin: 1rem;\n }\n .lg\\:m-4 {\n margin: 1.5rem;\n }\n .lg\\:m-5 {\n margin: 3rem;\n }\n .lg\\:m-auto {\n margin: auto;\n }\n .lg\\:mx-0 {\n margin-inline: 0;\n }\n .lg\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .lg\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .lg\\:mx-3 {\n margin-inline: 1rem;\n }\n .lg\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .lg\\:mx-5 {\n margin-inline: 3rem;\n }\n .lg\\:mx-auto {\n margin-inline: auto;\n }\n .lg\\:my-0 {\n margin-block: 0;\n }\n .lg\\:my-1 {\n margin-block: 0.25rem;\n }\n .lg\\:my-2 {\n margin-block: 0.5rem;\n }\n .lg\\:my-3 {\n margin-block: 1rem;\n }\n .lg\\:my-4 {\n margin-block: 1.5rem;\n }\n .lg\\:my-5 {\n margin-block: 3rem;\n }\n .lg\\:my-auto {\n margin-block: auto;\n }\n .lg\\:mt-0 {\n margin-block-start: 0;\n }\n .lg\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .lg\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .lg\\:mt-3 {\n margin-block-start: 1rem;\n }\n .lg\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .lg\\:mt-5 {\n margin-block-start: 3rem;\n }\n .lg\\:mt-auto {\n margin-block-start: auto;\n }\n .lg\\:me-0 {\n margin-inline-end: 0;\n }\n .lg\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .lg\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .lg\\:me-3 {\n margin-inline-end: 1rem;\n }\n .lg\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .lg\\:me-5 {\n margin-inline-end: 3rem;\n }\n .lg\\:me-auto {\n margin-inline-end: auto;\n }\n .lg\\:mb-0 {\n margin-block-end: 0;\n }\n .lg\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .lg\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .lg\\:mb-3 {\n margin-block-end: 1rem;\n }\n .lg\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .lg\\:mb-5 {\n margin-block-end: 3rem;\n }\n .lg\\:mb-auto {\n margin-block-end: auto;\n }\n .lg\\:ms-0 {\n margin-inline-start: 0;\n }\n .lg\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .lg\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .lg\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .lg\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .lg\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .lg\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .lg\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .lg\\:ms-auto {\n margin-inline-start: auto;\n }\n .lg\\:p-0 {\n padding: 0;\n }\n .lg\\:p-1 {\n padding: 0.25rem;\n }\n .lg\\:p-2 {\n padding: 0.5rem;\n }\n .lg\\:p-3 {\n padding: 1rem;\n }\n .lg\\:p-4 {\n padding: 1.5rem;\n }\n .lg\\:p-5 {\n padding: 3rem;\n }\n .lg\\:px-0 {\n padding-inline: 0;\n }\n .lg\\:px-1 {\n padding-inline: 0.25rem;\n }\n .lg\\:px-2 {\n padding-inline: 0.5rem;\n }\n .lg\\:px-3 {\n padding-inline: 1rem;\n }\n .lg\\:px-4 {\n padding-inline: 1.5rem;\n }\n .lg\\:px-5 {\n padding-inline: 3rem;\n }\n .lg\\:py-0 {\n padding-block: 0;\n }\n .lg\\:py-1 {\n padding-block: 0.25rem;\n }\n .lg\\:py-2 {\n padding-block: 0.5rem;\n }\n .lg\\:py-3 {\n padding-block: 1rem;\n }\n .lg\\:py-4 {\n padding-block: 1.5rem;\n }\n .lg\\:py-5 {\n padding-block: 3rem;\n }\n .lg\\:pt-0 {\n padding-block-start: 0;\n }\n .lg\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .lg\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .lg\\:pt-3 {\n padding-block-start: 1rem;\n }\n .lg\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .lg\\:pt-5 {\n padding-block-start: 3rem;\n }\n .lg\\:pe-0 {\n padding-inline-end: 0;\n }\n .lg\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .lg\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .lg\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .lg\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .lg\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .lg\\:pb-0 {\n padding-block-end: 0;\n }\n .lg\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .lg\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .lg\\:pb-3 {\n padding-block-end: 1rem;\n }\n .lg\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .lg\\:pb-5 {\n padding-block-end: 3rem;\n }\n .lg\\:ps-0 {\n padding-inline-start: 0;\n }\n .lg\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .lg\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .lg\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .lg\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .lg\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .lg\\:gap-0 {\n gap: 0;\n }\n .lg\\:gap-1 {\n gap: 0.25rem;\n }\n .lg\\:gap-2 {\n gap: 0.5rem;\n }\n .lg\\:gap-3 {\n gap: 1rem;\n }\n .lg\\:gap-4 {\n gap: 1.5rem;\n }\n .lg\\:gap-5 {\n gap: 3rem;\n }\n .lg\\:row-gap-0 {\n row-gap: 0;\n }\n .lg\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .lg\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .lg\\:row-gap-3 {\n row-gap: 1rem;\n }\n .lg\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .lg\\:row-gap-5 {\n row-gap: 3rem;\n }\n .lg\\:column-gap-0 {\n column-gap: 0;\n }\n .lg\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .lg\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .lg\\:column-gap-3 {\n column-gap: 1rem;\n }\n .lg\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .lg\\:column-gap-5 {\n column-gap: 3rem;\n }\n .lg\\:text-start {\n text-align: start;\n }\n .lg\\:text-end {\n text-align: end;\n }\n .lg\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 1280px) {\n .xl\\:float-start {\n float: inline-start;\n }\n .xl\\:float-end {\n float: inline-end;\n }\n .xl\\:float-none {\n float: none;\n }\n .xl\\:object-fit-contain {\n object-fit: contain;\n }\n .xl\\:object-fit-cover {\n object-fit: cover;\n }\n .xl\\:object-fit-fill {\n object-fit: fill;\n }\n .xl\\:object-fit-scale {\n object-fit: scale-down;\n }\n .xl\\:object-fit-none {\n object-fit: none;\n }\n .xl\\:d-inline {\n display: inline;\n }\n .xl\\:d-inline-block {\n display: inline-block;\n }\n .xl\\:d-block {\n display: block;\n }\n .xl\\:d-grid {\n display: grid;\n }\n .xl\\:d-inline-grid {\n display: inline-grid;\n }\n .xl\\:d-table {\n display: table;\n }\n .xl\\:d-table-row {\n display: table-row;\n }\n .xl\\:d-table-cell {\n display: table-cell;\n }\n .xl\\:d-flex {\n display: flex;\n }\n .xl\\:d-inline-flex {\n display: inline-flex;\n }\n .xl\\:d-contents {\n display: contents;\n }\n .xl\\:d-flow-root {\n display: flow-root;\n }\n .xl\\:d-none {\n display: none;\n }\n .xl\\:flex-fill {\n flex: 1 1 auto;\n }\n .xl\\:flex-row {\n flex-direction: row;\n }\n .xl\\:flex-column {\n flex-direction: column;\n }\n .xl\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .xl\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .xl\\:flex-grow-0 {\n flex-grow: 0;\n }\n .xl\\:flex-grow-1 {\n flex-grow: 1;\n }\n .xl\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .xl\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .xl\\:flex-wrap {\n flex-wrap: wrap;\n }\n .xl\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .xl\\:justify-content-start {\n justify-content: flex-start;\n }\n .xl\\:justify-content-end {\n justify-content: flex-end;\n }\n .xl\\:justify-content-center {\n justify-content: center;\n }\n .xl\\:justify-content-between {\n justify-content: space-between;\n }\n .xl\\:justify-content-around {\n justify-content: space-around;\n }\n .xl\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .xl\\:justify-items-start {\n justify-items: start;\n }\n .xl\\:justify-items-end {\n justify-items: end;\n }\n .xl\\:justify-items-center {\n justify-items: center;\n }\n .xl\\:justify-items-stretch {\n justify-items: stretch;\n }\n .xl\\:justify-self-start {\n justify-self: flex-start;\n }\n .xl\\:justify-self-end {\n justify-self: flex-end;\n }\n .xl\\:justify-self-center {\n justify-self: center;\n }\n .xl\\:align-items-start {\n align-items: flex-start;\n }\n .xl\\:align-items-end {\n align-items: flex-end;\n }\n .xl\\:align-items-center {\n align-items: center;\n }\n .xl\\:align-items-baseline {\n align-items: baseline;\n }\n .xl\\:align-items-stretch {\n align-items: stretch;\n }\n .xl\\:align-content-start {\n align-content: flex-start;\n }\n .xl\\:align-content-end {\n align-content: flex-end;\n }\n .xl\\:align-content-center {\n align-content: center;\n }\n .xl\\:align-content-between {\n align-content: space-between;\n }\n .xl\\:align-content-around {\n align-content: space-around;\n }\n .xl\\:align-content-stretch {\n align-content: stretch;\n }\n .xl\\:align-self-auto {\n align-self: auto;\n }\n .xl\\:align-self-start {\n align-self: flex-start;\n }\n .xl\\:align-self-end {\n align-self: flex-end;\n }\n .xl\\:align-self-center {\n align-self: center;\n }\n .xl\\:align-self-baseline {\n align-self: baseline;\n }\n .xl\\:align-self-stretch {\n align-self: stretch;\n }\n .xl\\:place-items-start {\n place-items: start;\n }\n .xl\\:place-items-end {\n place-items: end;\n }\n .xl\\:place-items-center {\n place-items: center;\n }\n .xl\\:place-items-stretch {\n place-items: stretch;\n }\n .xl\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .xl\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .xl\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .xl\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .xl\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .xl\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .xl\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .xl\\:order-first {\n order: -1;\n }\n .xl\\:order-0 {\n order: 0;\n }\n .xl\\:order-1 {\n order: 1;\n }\n .xl\\:order-2 {\n order: 2;\n }\n .xl\\:order-3 {\n order: 3;\n }\n .xl\\:order-4 {\n order: 4;\n }\n .xl\\:order-5 {\n order: 5;\n }\n .xl\\:order-last {\n order: 6;\n }\n .xl\\:m-0 {\n margin: 0;\n }\n .xl\\:m-1 {\n margin: 0.25rem;\n }\n .xl\\:m-2 {\n margin: 0.5rem;\n }\n .xl\\:m-3 {\n margin: 1rem;\n }\n .xl\\:m-4 {\n margin: 1.5rem;\n }\n .xl\\:m-5 {\n margin: 3rem;\n }\n .xl\\:m-auto {\n margin: auto;\n }\n .xl\\:mx-0 {\n margin-inline: 0;\n }\n .xl\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .xl\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .xl\\:mx-3 {\n margin-inline: 1rem;\n }\n .xl\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .xl\\:mx-5 {\n margin-inline: 3rem;\n }\n .xl\\:mx-auto {\n margin-inline: auto;\n }\n .xl\\:my-0 {\n margin-block: 0;\n }\n .xl\\:my-1 {\n margin-block: 0.25rem;\n }\n .xl\\:my-2 {\n margin-block: 0.5rem;\n }\n .xl\\:my-3 {\n margin-block: 1rem;\n }\n .xl\\:my-4 {\n margin-block: 1.5rem;\n }\n .xl\\:my-5 {\n margin-block: 3rem;\n }\n .xl\\:my-auto {\n margin-block: auto;\n }\n .xl\\:mt-0 {\n margin-block-start: 0;\n }\n .xl\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .xl\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .xl\\:mt-3 {\n margin-block-start: 1rem;\n }\n .xl\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .xl\\:mt-5 {\n margin-block-start: 3rem;\n }\n .xl\\:mt-auto {\n margin-block-start: auto;\n }\n .xl\\:me-0 {\n margin-inline-end: 0;\n }\n .xl\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .xl\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .xl\\:me-3 {\n margin-inline-end: 1rem;\n }\n .xl\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .xl\\:me-5 {\n margin-inline-end: 3rem;\n }\n .xl\\:me-auto {\n margin-inline-end: auto;\n }\n .xl\\:mb-0 {\n margin-block-end: 0;\n }\n .xl\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .xl\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .xl\\:mb-3 {\n margin-block-end: 1rem;\n }\n .xl\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .xl\\:mb-5 {\n margin-block-end: 3rem;\n }\n .xl\\:mb-auto {\n margin-block-end: auto;\n }\n .xl\\:ms-0 {\n margin-inline-start: 0;\n }\n .xl\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .xl\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .xl\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .xl\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .xl\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .xl\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .xl\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .xl\\:ms-auto {\n margin-inline-start: auto;\n }\n .xl\\:p-0 {\n padding: 0;\n }\n .xl\\:p-1 {\n padding: 0.25rem;\n }\n .xl\\:p-2 {\n padding: 0.5rem;\n }\n .xl\\:p-3 {\n padding: 1rem;\n }\n .xl\\:p-4 {\n padding: 1.5rem;\n }\n .xl\\:p-5 {\n padding: 3rem;\n }\n .xl\\:px-0 {\n padding-inline: 0;\n }\n .xl\\:px-1 {\n padding-inline: 0.25rem;\n }\n .xl\\:px-2 {\n padding-inline: 0.5rem;\n }\n .xl\\:px-3 {\n padding-inline: 1rem;\n }\n .xl\\:px-4 {\n padding-inline: 1.5rem;\n }\n .xl\\:px-5 {\n padding-inline: 3rem;\n }\n .xl\\:py-0 {\n padding-block: 0;\n }\n .xl\\:py-1 {\n padding-block: 0.25rem;\n }\n .xl\\:py-2 {\n padding-block: 0.5rem;\n }\n .xl\\:py-3 {\n padding-block: 1rem;\n }\n .xl\\:py-4 {\n padding-block: 1.5rem;\n }\n .xl\\:py-5 {\n padding-block: 3rem;\n }\n .xl\\:pt-0 {\n padding-block-start: 0;\n }\n .xl\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .xl\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .xl\\:pt-3 {\n padding-block-start: 1rem;\n }\n .xl\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .xl\\:pt-5 {\n padding-block-start: 3rem;\n }\n .xl\\:pe-0 {\n padding-inline-end: 0;\n }\n .xl\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .xl\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .xl\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .xl\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .xl\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .xl\\:pb-0 {\n padding-block-end: 0;\n }\n .xl\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .xl\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .xl\\:pb-3 {\n padding-block-end: 1rem;\n }\n .xl\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .xl\\:pb-5 {\n padding-block-end: 3rem;\n }\n .xl\\:ps-0 {\n padding-inline-start: 0;\n }\n .xl\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .xl\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .xl\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .xl\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .xl\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .xl\\:gap-0 {\n gap: 0;\n }\n .xl\\:gap-1 {\n gap: 0.25rem;\n }\n .xl\\:gap-2 {\n gap: 0.5rem;\n }\n .xl\\:gap-3 {\n gap: 1rem;\n }\n .xl\\:gap-4 {\n gap: 1.5rem;\n }\n .xl\\:gap-5 {\n gap: 3rem;\n }\n .xl\\:row-gap-0 {\n row-gap: 0;\n }\n .xl\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .xl\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .xl\\:row-gap-3 {\n row-gap: 1rem;\n }\n .xl\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .xl\\:row-gap-5 {\n row-gap: 3rem;\n }\n .xl\\:column-gap-0 {\n column-gap: 0;\n }\n .xl\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .xl\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .xl\\:column-gap-3 {\n column-gap: 1rem;\n }\n .xl\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .xl\\:column-gap-5 {\n column-gap: 3rem;\n }\n .xl\\:text-start {\n text-align: start;\n }\n .xl\\:text-end {\n text-align: end;\n }\n .xl\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:float-start {\n float: inline-start;\n }\n .\\32 xl\\:float-end {\n float: inline-end;\n }\n .\\32 xl\\:float-none {\n float: none;\n }\n .\\32 xl\\:object-fit-contain {\n object-fit: contain;\n }\n .\\32 xl\\:object-fit-cover {\n object-fit: cover;\n }\n .\\32 xl\\:object-fit-fill {\n object-fit: fill;\n }\n .\\32 xl\\:object-fit-scale {\n object-fit: scale-down;\n }\n .\\32 xl\\:object-fit-none {\n object-fit: none;\n }\n .\\32 xl\\:d-inline {\n display: inline;\n }\n .\\32 xl\\:d-inline-block {\n display: inline-block;\n }\n .\\32 xl\\:d-block {\n display: block;\n }\n .\\32 xl\\:d-grid {\n display: grid;\n }\n .\\32 xl\\:d-inline-grid {\n display: inline-grid;\n }\n .\\32 xl\\:d-table {\n display: table;\n }\n .\\32 xl\\:d-table-row {\n display: table-row;\n }\n .\\32 xl\\:d-table-cell {\n display: table-cell;\n }\n .\\32 xl\\:d-flex {\n display: flex;\n }\n .\\32 xl\\:d-inline-flex {\n display: inline-flex;\n }\n .\\32 xl\\:d-contents {\n display: contents;\n }\n .\\32 xl\\:d-flow-root {\n display: flow-root;\n }\n .\\32 xl\\:d-none {\n display: none;\n }\n .\\32 xl\\:flex-fill {\n flex: 1 1 auto;\n }\n .\\32 xl\\:flex-row {\n flex-direction: row;\n }\n .\\32 xl\\:flex-column {\n flex-direction: column;\n }\n .\\32 xl\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .\\32 xl\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .\\32 xl\\:flex-grow-0 {\n flex-grow: 0;\n }\n .\\32 xl\\:flex-grow-1 {\n flex-grow: 1;\n }\n .\\32 xl\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .\\32 xl\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .\\32 xl\\:flex-wrap {\n flex-wrap: wrap;\n }\n .\\32 xl\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .\\32 xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .\\32 xl\\:justify-content-start {\n justify-content: flex-start;\n }\n .\\32 xl\\:justify-content-end {\n justify-content: flex-end;\n }\n .\\32 xl\\:justify-content-center {\n justify-content: center;\n }\n .\\32 xl\\:justify-content-between {\n justify-content: space-between;\n }\n .\\32 xl\\:justify-content-around {\n justify-content: space-around;\n }\n .\\32 xl\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .\\32 xl\\:justify-items-start {\n justify-items: start;\n }\n .\\32 xl\\:justify-items-end {\n justify-items: end;\n }\n .\\32 xl\\:justify-items-center {\n justify-items: center;\n }\n .\\32 xl\\:justify-items-stretch {\n justify-items: stretch;\n }\n .\\32 xl\\:justify-self-start {\n justify-self: flex-start;\n }\n .\\32 xl\\:justify-self-end {\n justify-self: flex-end;\n }\n .\\32 xl\\:justify-self-center {\n justify-self: center;\n }\n .\\32 xl\\:align-items-start {\n align-items: flex-start;\n }\n .\\32 xl\\:align-items-end {\n align-items: flex-end;\n }\n .\\32 xl\\:align-items-center {\n align-items: center;\n }\n .\\32 xl\\:align-items-baseline {\n align-items: baseline;\n }\n .\\32 xl\\:align-items-stretch {\n align-items: stretch;\n }\n .\\32 xl\\:align-content-start {\n align-content: flex-start;\n }\n .\\32 xl\\:align-content-end {\n align-content: flex-end;\n }\n .\\32 xl\\:align-content-center {\n align-content: center;\n }\n .\\32 xl\\:align-content-between {\n align-content: space-between;\n }\n .\\32 xl\\:align-content-around {\n align-content: space-around;\n }\n .\\32 xl\\:align-content-stretch {\n align-content: stretch;\n }\n .\\32 xl\\:align-self-auto {\n align-self: auto;\n }\n .\\32 xl\\:align-self-start {\n align-self: flex-start;\n }\n .\\32 xl\\:align-self-end {\n align-self: flex-end;\n }\n .\\32 xl\\:align-self-center {\n align-self: center;\n }\n .\\32 xl\\:align-self-baseline {\n align-self: baseline;\n }\n .\\32 xl\\:align-self-stretch {\n align-self: stretch;\n }\n .\\32 xl\\:place-items-start {\n place-items: start;\n }\n .\\32 xl\\:place-items-end {\n place-items: end;\n }\n .\\32 xl\\:place-items-center {\n place-items: center;\n }\n .\\32 xl\\:place-items-stretch {\n place-items: stretch;\n }\n .\\32 xl\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .\\32 xl\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .\\32 xl\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .\\32 xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .\\32 xl\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .\\32 xl\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .\\32 xl\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .\\32 xl\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .\\32 xl\\:order-first {\n order: -1;\n }\n .\\32 xl\\:order-0 {\n order: 0;\n }\n .\\32 xl\\:order-1 {\n order: 1;\n }\n .\\32 xl\\:order-2 {\n order: 2;\n }\n .\\32 xl\\:order-3 {\n order: 3;\n }\n .\\32 xl\\:order-4 {\n order: 4;\n }\n .\\32 xl\\:order-5 {\n order: 5;\n }\n .\\32 xl\\:order-last {\n order: 6;\n }\n .\\32 xl\\:m-0 {\n margin: 0;\n }\n .\\32 xl\\:m-1 {\n margin: 0.25rem;\n }\n .\\32 xl\\:m-2 {\n margin: 0.5rem;\n }\n .\\32 xl\\:m-3 {\n margin: 1rem;\n }\n .\\32 xl\\:m-4 {\n margin: 1.5rem;\n }\n .\\32 xl\\:m-5 {\n margin: 3rem;\n }\n .\\32 xl\\:m-auto {\n margin: auto;\n }\n .\\32 xl\\:mx-0 {\n margin-inline: 0;\n }\n .\\32 xl\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .\\32 xl\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .\\32 xl\\:mx-3 {\n margin-inline: 1rem;\n }\n .\\32 xl\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .\\32 xl\\:mx-5 {\n margin-inline: 3rem;\n }\n .\\32 xl\\:mx-auto {\n margin-inline: auto;\n }\n .\\32 xl\\:my-0 {\n margin-block: 0;\n }\n .\\32 xl\\:my-1 {\n margin-block: 0.25rem;\n }\n .\\32 xl\\:my-2 {\n margin-block: 0.5rem;\n }\n .\\32 xl\\:my-3 {\n margin-block: 1rem;\n }\n .\\32 xl\\:my-4 {\n margin-block: 1.5rem;\n }\n .\\32 xl\\:my-5 {\n margin-block: 3rem;\n }\n .\\32 xl\\:my-auto {\n margin-block: auto;\n }\n .\\32 xl\\:mt-0 {\n margin-block-start: 0;\n }\n .\\32 xl\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .\\32 xl\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .\\32 xl\\:mt-3 {\n margin-block-start: 1rem;\n }\n .\\32 xl\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .\\32 xl\\:mt-5 {\n margin-block-start: 3rem;\n }\n .\\32 xl\\:mt-auto {\n margin-block-start: auto;\n }\n .\\32 xl\\:me-0 {\n margin-inline-end: 0;\n }\n .\\32 xl\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .\\32 xl\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .\\32 xl\\:me-3 {\n margin-inline-end: 1rem;\n }\n .\\32 xl\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .\\32 xl\\:me-5 {\n margin-inline-end: 3rem;\n }\n .\\32 xl\\:me-auto {\n margin-inline-end: auto;\n }\n .\\32 xl\\:mb-0 {\n margin-block-end: 0;\n }\n .\\32 xl\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .\\32 xl\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .\\32 xl\\:mb-3 {\n margin-block-end: 1rem;\n }\n .\\32 xl\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .\\32 xl\\:mb-5 {\n margin-block-end: 3rem;\n }\n .\\32 xl\\:mb-auto {\n margin-block-end: auto;\n }\n .\\32 xl\\:ms-0 {\n margin-inline-start: 0;\n }\n .\\32 xl\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .\\32 xl\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .\\32 xl\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .\\32 xl\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .\\32 xl\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .\\32 xl\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .\\32 xl\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .\\32 xl\\:ms-auto {\n margin-inline-start: auto;\n }\n .\\32 xl\\:p-0 {\n padding: 0;\n }\n .\\32 xl\\:p-1 {\n padding: 0.25rem;\n }\n .\\32 xl\\:p-2 {\n padding: 0.5rem;\n }\n .\\32 xl\\:p-3 {\n padding: 1rem;\n }\n .\\32 xl\\:p-4 {\n padding: 1.5rem;\n }\n .\\32 xl\\:p-5 {\n padding: 3rem;\n }\n .\\32 xl\\:px-0 {\n padding-inline: 0;\n }\n .\\32 xl\\:px-1 {\n padding-inline: 0.25rem;\n }\n .\\32 xl\\:px-2 {\n padding-inline: 0.5rem;\n }\n .\\32 xl\\:px-3 {\n padding-inline: 1rem;\n }\n .\\32 xl\\:px-4 {\n padding-inline: 1.5rem;\n }\n .\\32 xl\\:px-5 {\n padding-inline: 3rem;\n }\n .\\32 xl\\:py-0 {\n padding-block: 0;\n }\n .\\32 xl\\:py-1 {\n padding-block: 0.25rem;\n }\n .\\32 xl\\:py-2 {\n padding-block: 0.5rem;\n }\n .\\32 xl\\:py-3 {\n padding-block: 1rem;\n }\n .\\32 xl\\:py-4 {\n padding-block: 1.5rem;\n }\n .\\32 xl\\:py-5 {\n padding-block: 3rem;\n }\n .\\32 xl\\:pt-0 {\n padding-block-start: 0;\n }\n .\\32 xl\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .\\32 xl\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .\\32 xl\\:pt-3 {\n padding-block-start: 1rem;\n }\n .\\32 xl\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .\\32 xl\\:pt-5 {\n padding-block-start: 3rem;\n }\n .\\32 xl\\:pe-0 {\n padding-inline-end: 0;\n }\n .\\32 xl\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .\\32 xl\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .\\32 xl\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .\\32 xl\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .\\32 xl\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .\\32 xl\\:pb-0 {\n padding-block-end: 0;\n }\n .\\32 xl\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .\\32 xl\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .\\32 xl\\:pb-3 {\n padding-block-end: 1rem;\n }\n .\\32 xl\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .\\32 xl\\:pb-5 {\n padding-block-end: 3rem;\n }\n .\\32 xl\\:ps-0 {\n padding-inline-start: 0;\n }\n .\\32 xl\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .\\32 xl\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .\\32 xl\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .\\32 xl\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .\\32 xl\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .\\32 xl\\:gap-0 {\n gap: 0;\n }\n .\\32 xl\\:gap-1 {\n gap: 0.25rem;\n }\n .\\32 xl\\:gap-2 {\n gap: 0.5rem;\n }\n .\\32 xl\\:gap-3 {\n gap: 1rem;\n }\n .\\32 xl\\:gap-4 {\n gap: 1.5rem;\n }\n .\\32 xl\\:gap-5 {\n gap: 3rem;\n }\n .\\32 xl\\:row-gap-0 {\n row-gap: 0;\n }\n .\\32 xl\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .\\32 xl\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .\\32 xl\\:row-gap-3 {\n row-gap: 1rem;\n }\n .\\32 xl\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .\\32 xl\\:row-gap-5 {\n row-gap: 3rem;\n }\n .\\32 xl\\:column-gap-0 {\n column-gap: 0;\n }\n .\\32 xl\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .\\32 xl\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .\\32 xl\\:column-gap-3 {\n column-gap: 1rem;\n }\n .\\32 xl\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .\\32 xl\\:column-gap-5 {\n column-gap: 3rem;\n }\n .\\32 xl\\:text-start {\n text-align: start;\n }\n .\\32 xl\\:text-end {\n text-align: end;\n }\n .\\32 xl\\:text-center {\n text-align: center;\n }\n }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */\n","$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"violet\": $violet,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"amber\": $amber,\n \"yellow\": $yellow,\n \"lime\": $lime,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"brown\": $brown,\n \"gray\": $gray,\n \"pewter\": $pewter,\n ),\n $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n \"025\": 94%,\n \"050\": 90%,\n \"100\": 80%,\n \"200\": 60%,\n \"300\": 40%,\n \"400\": 20%,\n) !default;\n\n$color-shades: (\n \"600\": 16%,\n \"700\": 32%,\n \"800\": 48%,\n \"900\": 64%,\n \"950\": 76%,\n \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n @each $stop, $percent in $color-tints {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n }\n $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n @each $stop, $percent in $color-shades {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n @each $prop, $value in $map {\n #{$prop}: #{$value};\n }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n (\n --black: #{$black},\n --white: #{$white},\n\n --gradient: #{$gradient},\n\n // scss-docs-start root-font-weight-variables\n --font-weight-lighter: lighter,\n --font-weight-light: 300,\n --font-weight-normal: 400,\n --font-weight-medium: 500,\n --font-weight-semibold: 600,\n --font-weight-bold: 700,\n --font-weight-bolder: bolder,\n // scss-docs-end root-font-weight-variables\n\n // scss-docs-start root-body-variables\n --body-font-family: system-ui,\n --body-font-size: var(--font-size-base),\n --body-font-weight: #{$font-weight-base},\n --body-line-height: #{$line-height-base},\n\n --heading-color: #{$headings-color},\n\n --hr-border-color: var(--border-color),\n\n --link-color: light-dark(var(--primary-base), var(--primary-text)),\n --link-decoration: #{$link-decoration},\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n --code-font-size: 95%,\n --code-color: var(--fg-2),\n\n // scss-docs-start root-border-var\n --border-width: #{$border-width},\n --border-style: #{$border-style},\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n // scss-docs-end root-border-var\n\n // scss-docs-start root-border-radius-var\n --border-radius: .5rem,\n --border-radius-xs: .375rem,\n --border-radius-sm: .5rem,\n --border-radius-lg: .75rem,\n --border-radius-xl: 1rem,\n --border-radius-2xl: 2rem,\n --border-radius-pill: 50rem,\n // scss-docs-end root-border-radius-var\n\n // scss-docs-start root-box-shadow-variables\n --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n // scss-docs-end root-box-shadow-variables\n\n --spacer: 1rem,\n\n // scss-docs-start root-focus-variables\n --focus-ring-width: 3px,\n --focus-ring-offset: 1px,\n --focus-ring-color: var(--primary-focus-ring),\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-variables\n --control-checked-bg: var(--primary-base),\n --control-checked-border-color: var(--control-checked-bg),\n --control-active-bg: var(--primary-base),\n --control-active-border-color: var(--control-active-bg),\n --control-disabled-bg: var(--bg-3),\n --control-disabled-opacity: .65,\n\n --btn-input-fg: var(--fg-body),\n --btn-input-bg: var(--bg-body),\n\n --btn-input-min-height: 2.375rem,\n --btn-input-padding-y: .375rem,\n --btn-input-padding-x: .75rem,\n --btn-input-font-size: var(--font-size-base),\n --btn-input-line-height: var(--line-height-base),\n --btn-input-border-radius: var(--border-radius),\n\n --btn-input-xs-min-height: 1.5rem,\n --btn-input-xs-padding-y: .125rem,\n --btn-input-xs-padding-x: .5rem,\n --btn-input-xs-font-size: var(--font-size-xs),\n --btn-input-xs-line-height: 1.125,\n --btn-input-xs-border-radius: var(--border-radius-xs),\n\n --btn-input-sm-min-height: 2rem,\n --btn-input-sm-padding-y: .25rem,\n --btn-input-sm-padding-x: .625rem,\n --btn-input-sm-font-size: var(--font-size-sm),\n --btn-input-sm-line-height: var(--line-height-sm),\n --btn-input-sm-border-radius: var(--border-radius-sm),\n\n --btn-input-lg-min-height: 2.75rem,\n --btn-input-lg-padding-y: .5rem,\n --btn-input-lg-padding-x: 1rem,\n --btn-input-lg-font-size: var(--font-size-md),\n --btn-input-lg-line-height: var(--line-height-md),\n --btn-input-lg-border-radius: var(--border-radius-lg),\n // scss-docs-end root-form-variables\n\n // scss-docs-start root-form-validation-variables\n --form-valid-color: #{$form-valid-color},\n --form-valid-border-color: #{$form-valid-border-color},\n --form-invalid-color: #{$form-invalid-color},\n --form-invalid-border-color: #{$form-invalid-border-color},\n // scss-docs-end root-form-validation-variables\n ),\n $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n @each $key, $value in $color-map {\n $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n @include tokens($root-tokens);\n\n color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n color-scheme: light;\n}\n","@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: $icon-link-gap;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n text-underline-offset: $icon-link-underline-offset;\n backface-visibility: hidden;\n\n > .bi {\n flex-shrink: 0;\n width: $icon-link-icon-size;\n height: $icon-link-icon-size;\n fill: currentcolor;\n @include transition($icon-link-icon-transition);\n }\n }\n\n .icon-link-hover {\n &:hover,\n &:focus-visible {\n > .bi {\n transform: var(--icon-link-transform, $icon-link-icon-transform);\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n @if meta.type-of($defaults) == \"list\" {\n $map: ();\n @each $key in $defaults {\n $map: map.merge($map, ($key: true));\n }\n $defaults: $map;\n }\n $merged: map.merge($defaults, $overrides);\n @each $key, $value in $merged {\n @if $value == null {\n $merged: map.remove($merged, $key);\n }\n }\n @return $merged;\n}\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n\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\n$negative-spacers: (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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 breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !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\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, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\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// Links\n//\n// Style anchor elements.\n\n$link-decoration: underline !default;\n$link-underline-offset: .2em !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// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n\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$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// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n (\n \"xs\": (\n \"font-size\": .75rem,\n \"line-height\": 1.25\n ),\n \"sm\": (\n \"font-size\": .875rem,\n \"line-height\": 1.5\n ),\n \"md\": (\n \"font-size\": 1rem,\n \"line-height\": 1.5\n ),\n \"lg\": (\n \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n \"line-height\": 1.5\n ),\n \"xl\": (\n \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n \"line-height\": calc(2.5 / 1.75)\n ),\n \"2xl\": (\n \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n \"line-height\": calc(3 / 2.25)\n ),\n \"3xl\": (\n \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n \"line-height\": 1.2\n ),\n \"4xl\": (\n \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n \"line-height\": 1.1\n ),\n \"5xl\": (\n \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n \"line-height\": 1.1\n ),\n \"6xl\": (\n \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n \"line-height\": 1\n ),\n ),\n $font-sizes\n);\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 type-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// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-dialog: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@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 \"../layout/breakpoints\" as *;\n\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: $zindex-fixed;\n }\n\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: $zindex-fixed;\n }\n\n // Responsive sticky top and bottom\n @each $breakpoint in map.keys($breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n .#{$prefix}sticky-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n\n .#{$prefix}sticky-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 \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n $name-str: \"#{$name}\";\n $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n $first: string.slice($name-str, 1, 1);\n\n @if list.index($digits, $first) {\n @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n }\n\n @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n// >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"sm\\:\"\n// >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n @if breakpoint-min($name, $breakpoints) == null {\n @return \"\";\n }\n\n @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n @content($breakpoint, $prefix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $prefix: breakpoint-prefix($next, $breakpoints);\n @content($breakpoint, $next, $prefix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n @content($breakpoint, $next, $prefix);\n }\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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (width >= $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (width < $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $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 @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n // scss-docs-start stacks\n .stack-container {\n @include set-container();\n }\n\n [class*=\"hstack\"],\n [class*=\"vstack\"] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n\n @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n .#{$prefix}vstack {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n .#{$prefix}hstack {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n }\n // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n @include generate-theme-classes();\n}\n","@use \"sass:meta\";\n@use \"sass:map\";\n\n@function theme-color-values($key) {\n $result: ();\n\n @each $color-name, $color-map in $theme-colors {\n @if map.has-key($color-map, $key) {\n $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n }\n }\n\n @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n $result: ();\n\n @each $key, $value in $opacities {\n @if $key == 100 {\n // For 100%, use direct variable reference (more efficient)\n $result: map.merge($result, ($key: var($color-var)));\n } @else {\n // For other values, use color-mix()\n $percentage: $key * 1%;\n $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n }\n }\n\n @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n @each $color-name, $color-map in $theme-colors {\n .theme-#{$color-name} {\n @each $key, $value in $color-map {\n --theme-#{$key}: var(--#{$color-name}-#{$key});\n }\n }\n }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n @each $key, $value in $map {\n // stylelint-disable-next-line scss/at-function-named-arguments\n $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n @if meta.type-of($value) == \"map\" {\n @include create-css-vars($value, $current-key);\n } @else {\n --#{$current-key}: #{$value};\n }\n }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n \"primary\": (\n \"base\": var(--blue-500),\n \"text\": light-dark(var(--blue-600), var(--blue-400)),\n \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n \"bg\": var(--blue-500),\n \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n \"border\": light-dark(var(--blue-300), var(--blue-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"accent\": (\n \"base\": var(--indigo-500),\n \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n \"bg\": var(--indigo-500),\n \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"success\": (\n \"base\": var(--green-500),\n \"text\": light-dark(var(--green-600), var(--green-400)),\n \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n \"bg\": var(--green-500),\n \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n \"border\": light-dark(var(--green-300), var(--green-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"danger\": (\n \"base\": var(--red-500),\n \"text\": light-dark(var(--red-600), var(--red-400)),\n \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n \"bg\": var(--red-500),\n \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n \"border\": light-dark(var(--red-300), var(--red-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"warning\": (\n \"base\": var(--yellow-500),\n \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n \"bg\": var(--yellow-500),\n \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"info\": (\n \"base\": var(--cyan-500),\n \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n \"bg\": var(--cyan-500),\n \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"inverse\": (\n \"base\": var(--gray-900),\n \"text\": light-dark(var(--gray-900), var(--gray-200)),\n \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n \"border\": light-dark(var(--gray-400), var(--gray-100)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--white), var(--gray-900))\n ),\n \"secondary\": (\n \"base\": var(--gray-200),\n \"text\": light-dark(var(--gray-600), var(--gray-400)),\n \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n \"border\": light-dark(var(--gray-300), var(--gray-600)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--gray-900), var(--white))\n )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n \"body\": light-dark(var(--white), var(--gray-975)),\n \"1\": light-dark(var(--gray-025), var(--gray-950)),\n \"2\": light-dark(var(--gray-050), var(--gray-900)),\n \"3\": light-dark(var(--gray-100), var(--gray-800)),\n \"4\": light-dark(var(--gray-200), var(--gray-700)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"transparent\": transparent,\n \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n \"body\": light-dark(var(--gray-900), var(--gray-050)),\n \"1\": light-dark(var(--gray-800), var(--gray-200)),\n \"2\": light-dark(var(--gray-700), var(--gray-300)),\n \"3\": light-dark(var(--gray-600), var(--gray-500)),\n \"4\": light-dark(var(--gray-500), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n \"bg\": var(--bg-body),\n \"body\": light-dark(var(--gray-300), var(--gray-800)),\n \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n 10: .1,\n 20: .2,\n 30: .3,\n 40: .4,\n 50: .5,\n 60: .6,\n 70: .7,\n 80: .8,\n 90: .9,\n 100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n\n // Fix for positioned table caption that could become anonymous cells\n &:not(caption) {\n position: absolute !important;\n }\n\n // Fix to prevent overflowing children to become focusable\n * {\n overflow: hidden !important;\n }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n &:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n .stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n inset: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n .text-truncate {\n @include text-truncate();\n }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../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($breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $prefix: breakpoint-prefix($breakpoint, $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 $prefix == \"\") {\n @include generate-utility($utility, $prefix);\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\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n // Validate required keys\n @if not map.has-key($utility, property) {\n @error \"Utility is missing required `property` key: #{$utility}\";\n }\n @if not map.has-key($utility, values) {\n @error \"Utility is missing required `values` key: #{$utility}\";\n }\n\n // Warn on unknown keys (likely typos)\n $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n @each $key in map.keys($utility) {\n @if not list.index($valid-keys, $key) {\n @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n }\n }\n\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selectorType) {\n @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selectorType != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n }\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // Don't add a dash before value key if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $prefix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n @if $customClass != \"\" {\n $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n } @else if $selectorClass != null and $selectorClass != \"\" {\n $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n } @else {\n $selector: \".#{$prefix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n"],"names":[]}
\ No newline at end of file
-webkit-overflow-scrolling: touch;
}
@media (width < 576px) {
- .table-responsive-sm {
+ .sm\:table-responsive {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}
@media (width < 768px) {
- .table-responsive-md {
+ .md\:table-responsive {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}
@media (width < 1024px) {
- .table-responsive-lg {
+ .lg\:table-responsive {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}
@media (width < 1280px) {
- .table-responsive-xl {
+ .xl\:table-responsive {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}
@media (width < 1536px) {
- .table-responsive-2xl {
+ .\32 xl\:table-responsive {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
@layer layout {
.container,
.container-fluid,
- .container-2xl,
- .container-xl,
- .container-lg,
- .container-md,
- .container-sm {
+ .\32 xl\:container,
+ .xl\:container,
+ .lg\:container,
+ .md\:container,
+ .sm\:container {
--bs-gutter-x: 1.5rem;
--bs-gutter-y: 0;
width: 100%;
margin-inline: auto;
}
@media (width >= 576px) {
- .container-sm, .container {
+ .sm\:container, .container {
max-width: 540px;
}
}
@media (width >= 768px) {
- .container-md, .container-sm, .container {
+ .md\:container, .sm\:container, .container {
max-width: 720px;
}
}
@media (width >= 1024px) {
- .container-lg, .container-md, .container-sm, .container {
+ .lg\:container, .md\:container, .sm\:container, .container {
max-width: 960px;
}
}
@media (width >= 1280px) {
- .container-xl, .container-lg, .container-md, .container-sm, .container {
+ .xl\:container, .lg\:container, .md\:container, .sm\:container, .container {
max-width: 1200px;
}
}
@media (width >= 1536px) {
- .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {
+ .\32 xl\:container, .xl\:container, .lg\:container, .md\:container, .sm\:container, .container {
max-width: 1440px;
}
}
--bs-gutter-y: 3rem;
}
@media (width >= 576px) {
- .col-sm {
+ .sm\:col {
flex: 1 0 0;
}
- .row-cols-sm-auto > * {
+ .sm\:row-cols-auto > * {
flex: 0 0 auto;
width: auto;
}
- .row-cols-sm-1 > * {
+ .sm\:row-cols-1 > * {
flex: 0 0 auto;
width: 100%;
}
- .row-cols-sm-2 > * {
+ .sm\:row-cols-2 > * {
flex: 0 0 auto;
width: 50%;
}
- .row-cols-sm-3 > * {
+ .sm\:row-cols-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .row-cols-sm-4 > * {
+ .sm\:row-cols-4 > * {
flex: 0 0 auto;
width: 25%;
}
- .row-cols-sm-5 > * {
+ .sm\:row-cols-5 > * {
flex: 0 0 auto;
width: 20%;
}
- .row-cols-sm-6 > * {
+ .sm\:row-cols-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-sm-auto {
+ .sm\:col-auto {
flex: 0 0 auto;
width: auto;
}
- .col-sm-1 {
+ .sm\:col-1 {
flex: 0 0 auto;
width: 8.3333333333%;
}
- .col-sm-2 {
+ .sm\:col-2 {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-sm-3 {
+ .sm\:col-3 {
flex: 0 0 auto;
width: 25%;
}
- .col-sm-4 {
+ .sm\:col-4 {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .col-sm-5 {
+ .sm\:col-5 {
flex: 0 0 auto;
width: 41.6666666667%;
}
- .col-sm-6 {
+ .sm\:col-6 {
flex: 0 0 auto;
width: 50%;
}
- .col-sm-7 {
+ .sm\:col-7 {
flex: 0 0 auto;
width: 58.3333333333%;
}
- .col-sm-8 {
+ .sm\:col-8 {
flex: 0 0 auto;
width: 66.6666666667%;
}
- .col-sm-9 {
+ .sm\:col-9 {
flex: 0 0 auto;
width: 75%;
}
- .col-sm-10 {
+ .sm\:col-10 {
flex: 0 0 auto;
width: 83.3333333333%;
}
- .col-sm-11 {
+ .sm\:col-11 {
flex: 0 0 auto;
width: 91.6666666667%;
}
- .col-sm-12 {
+ .sm\:col-12 {
flex: 0 0 auto;
width: 100%;
}
- .offset-sm-0 {
+ .sm\:offset-0 {
margin-inline-start: 0;
}
- .offset-sm-1 {
+ .sm\:offset-1 {
margin-inline-start: 8.3333333333%;
}
- .offset-sm-2 {
+ .sm\:offset-2 {
margin-inline-start: 16.6666666667%;
}
- .offset-sm-3 {
+ .sm\:offset-3 {
margin-inline-start: 25%;
}
- .offset-sm-4 {
+ .sm\:offset-4 {
margin-inline-start: 33.3333333333%;
}
- .offset-sm-5 {
+ .sm\:offset-5 {
margin-inline-start: 41.6666666667%;
}
- .offset-sm-6 {
+ .sm\:offset-6 {
margin-inline-start: 50%;
}
- .offset-sm-7 {
+ .sm\:offset-7 {
margin-inline-start: 58.3333333333%;
}
- .offset-sm-8 {
+ .sm\:offset-8 {
margin-inline-start: 66.6666666667%;
}
- .offset-sm-9 {
+ .sm\:offset-9 {
margin-inline-start: 75%;
}
- .offset-sm-10 {
+ .sm\:offset-10 {
margin-inline-start: 83.3333333333%;
}
- .offset-sm-11 {
+ .sm\:offset-11 {
margin-inline-start: 91.6666666667%;
}
- .g-sm-0,
- .gx-sm-0 {
+ .sm\:g-0,
+ .sm\:gx-0 {
--bs-gutter-x: 0;
}
- .g-sm-0,
- .gy-sm-0 {
+ .sm\:g-0,
+ .sm\:gy-0 {
--bs-gutter-y: 0;
}
- .g-sm-1,
- .gx-sm-1 {
+ .sm\:g-1,
+ .sm\:gx-1 {
--bs-gutter-x: 0.25rem;
}
- .g-sm-1,
- .gy-sm-1 {
+ .sm\:g-1,
+ .sm\:gy-1 {
--bs-gutter-y: 0.25rem;
}
- .g-sm-2,
- .gx-sm-2 {
+ .sm\:g-2,
+ .sm\:gx-2 {
--bs-gutter-x: 0.5rem;
}
- .g-sm-2,
- .gy-sm-2 {
+ .sm\:g-2,
+ .sm\:gy-2 {
--bs-gutter-y: 0.5rem;
}
- .g-sm-3,
- .gx-sm-3 {
+ .sm\:g-3,
+ .sm\:gx-3 {
--bs-gutter-x: 1rem;
}
- .g-sm-3,
- .gy-sm-3 {
+ .sm\:g-3,
+ .sm\:gy-3 {
--bs-gutter-y: 1rem;
}
- .g-sm-4,
- .gx-sm-4 {
+ .sm\:g-4,
+ .sm\:gx-4 {
--bs-gutter-x: 1.5rem;
}
- .g-sm-4,
- .gy-sm-4 {
+ .sm\:g-4,
+ .sm\:gy-4 {
--bs-gutter-y: 1.5rem;
}
- .g-sm-5,
- .gx-sm-5 {
+ .sm\:g-5,
+ .sm\:gx-5 {
--bs-gutter-x: 3rem;
}
- .g-sm-5,
- .gy-sm-5 {
+ .sm\:g-5,
+ .sm\:gy-5 {
--bs-gutter-y: 3rem;
}
}
@media (width >= 768px) {
- .col-md {
+ .md\:col {
flex: 1 0 0;
}
- .row-cols-md-auto > * {
+ .md\:row-cols-auto > * {
flex: 0 0 auto;
width: auto;
}
- .row-cols-md-1 > * {
+ .md\:row-cols-1 > * {
flex: 0 0 auto;
width: 100%;
}
- .row-cols-md-2 > * {
+ .md\:row-cols-2 > * {
flex: 0 0 auto;
width: 50%;
}
- .row-cols-md-3 > * {
+ .md\:row-cols-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .row-cols-md-4 > * {
+ .md\:row-cols-4 > * {
flex: 0 0 auto;
width: 25%;
}
- .row-cols-md-5 > * {
+ .md\:row-cols-5 > * {
flex: 0 0 auto;
width: 20%;
}
- .row-cols-md-6 > * {
+ .md\:row-cols-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-md-auto {
+ .md\:col-auto {
flex: 0 0 auto;
width: auto;
}
- .col-md-1 {
+ .md\:col-1 {
flex: 0 0 auto;
width: 8.3333333333%;
}
- .col-md-2 {
+ .md\:col-2 {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-md-3 {
+ .md\:col-3 {
flex: 0 0 auto;
width: 25%;
}
- .col-md-4 {
+ .md\:col-4 {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .col-md-5 {
+ .md\:col-5 {
flex: 0 0 auto;
width: 41.6666666667%;
}
- .col-md-6 {
+ .md\:col-6 {
flex: 0 0 auto;
width: 50%;
}
- .col-md-7 {
+ .md\:col-7 {
flex: 0 0 auto;
width: 58.3333333333%;
}
- .col-md-8 {
+ .md\:col-8 {
flex: 0 0 auto;
width: 66.6666666667%;
}
- .col-md-9 {
+ .md\:col-9 {
flex: 0 0 auto;
width: 75%;
}
- .col-md-10 {
+ .md\:col-10 {
flex: 0 0 auto;
width: 83.3333333333%;
}
- .col-md-11 {
+ .md\:col-11 {
flex: 0 0 auto;
width: 91.6666666667%;
}
- .col-md-12 {
+ .md\:col-12 {
flex: 0 0 auto;
width: 100%;
}
- .offset-md-0 {
+ .md\:offset-0 {
margin-inline-start: 0;
}
- .offset-md-1 {
+ .md\:offset-1 {
margin-inline-start: 8.3333333333%;
}
- .offset-md-2 {
+ .md\:offset-2 {
margin-inline-start: 16.6666666667%;
}
- .offset-md-3 {
+ .md\:offset-3 {
margin-inline-start: 25%;
}
- .offset-md-4 {
+ .md\:offset-4 {
margin-inline-start: 33.3333333333%;
}
- .offset-md-5 {
+ .md\:offset-5 {
margin-inline-start: 41.6666666667%;
}
- .offset-md-6 {
+ .md\:offset-6 {
margin-inline-start: 50%;
}
- .offset-md-7 {
+ .md\:offset-7 {
margin-inline-start: 58.3333333333%;
}
- .offset-md-8 {
+ .md\:offset-8 {
margin-inline-start: 66.6666666667%;
}
- .offset-md-9 {
+ .md\:offset-9 {
margin-inline-start: 75%;
}
- .offset-md-10 {
+ .md\:offset-10 {
margin-inline-start: 83.3333333333%;
}
- .offset-md-11 {
+ .md\:offset-11 {
margin-inline-start: 91.6666666667%;
}
- .g-md-0,
- .gx-md-0 {
+ .md\:g-0,
+ .md\:gx-0 {
--bs-gutter-x: 0;
}
- .g-md-0,
- .gy-md-0 {
+ .md\:g-0,
+ .md\:gy-0 {
--bs-gutter-y: 0;
}
- .g-md-1,
- .gx-md-1 {
+ .md\:g-1,
+ .md\:gx-1 {
--bs-gutter-x: 0.25rem;
}
- .g-md-1,
- .gy-md-1 {
+ .md\:g-1,
+ .md\:gy-1 {
--bs-gutter-y: 0.25rem;
}
- .g-md-2,
- .gx-md-2 {
+ .md\:g-2,
+ .md\:gx-2 {
--bs-gutter-x: 0.5rem;
}
- .g-md-2,
- .gy-md-2 {
+ .md\:g-2,
+ .md\:gy-2 {
--bs-gutter-y: 0.5rem;
}
- .g-md-3,
- .gx-md-3 {
+ .md\:g-3,
+ .md\:gx-3 {
--bs-gutter-x: 1rem;
}
- .g-md-3,
- .gy-md-3 {
+ .md\:g-3,
+ .md\:gy-3 {
--bs-gutter-y: 1rem;
}
- .g-md-4,
- .gx-md-4 {
+ .md\:g-4,
+ .md\:gx-4 {
--bs-gutter-x: 1.5rem;
}
- .g-md-4,
- .gy-md-4 {
+ .md\:g-4,
+ .md\:gy-4 {
--bs-gutter-y: 1.5rem;
}
- .g-md-5,
- .gx-md-5 {
+ .md\:g-5,
+ .md\:gx-5 {
--bs-gutter-x: 3rem;
}
- .g-md-5,
- .gy-md-5 {
+ .md\:g-5,
+ .md\:gy-5 {
--bs-gutter-y: 3rem;
}
}
@media (width >= 1024px) {
- .col-lg {
+ .lg\:col {
flex: 1 0 0;
}
- .row-cols-lg-auto > * {
+ .lg\:row-cols-auto > * {
flex: 0 0 auto;
width: auto;
}
- .row-cols-lg-1 > * {
+ .lg\:row-cols-1 > * {
flex: 0 0 auto;
width: 100%;
}
- .row-cols-lg-2 > * {
+ .lg\:row-cols-2 > * {
flex: 0 0 auto;
width: 50%;
}
- .row-cols-lg-3 > * {
+ .lg\:row-cols-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .row-cols-lg-4 > * {
+ .lg\:row-cols-4 > * {
flex: 0 0 auto;
width: 25%;
}
- .row-cols-lg-5 > * {
+ .lg\:row-cols-5 > * {
flex: 0 0 auto;
width: 20%;
}
- .row-cols-lg-6 > * {
+ .lg\:row-cols-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-lg-auto {
+ .lg\:col-auto {
flex: 0 0 auto;
width: auto;
}
- .col-lg-1 {
+ .lg\:col-1 {
flex: 0 0 auto;
width: 8.3333333333%;
}
- .col-lg-2 {
+ .lg\:col-2 {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-lg-3 {
+ .lg\:col-3 {
flex: 0 0 auto;
width: 25%;
}
- .col-lg-4 {
+ .lg\:col-4 {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .col-lg-5 {
+ .lg\:col-5 {
flex: 0 0 auto;
width: 41.6666666667%;
}
- .col-lg-6 {
+ .lg\:col-6 {
flex: 0 0 auto;
width: 50%;
}
- .col-lg-7 {
+ .lg\:col-7 {
flex: 0 0 auto;
width: 58.3333333333%;
}
- .col-lg-8 {
+ .lg\:col-8 {
flex: 0 0 auto;
width: 66.6666666667%;
}
- .col-lg-9 {
+ .lg\:col-9 {
flex: 0 0 auto;
width: 75%;
}
- .col-lg-10 {
+ .lg\:col-10 {
flex: 0 0 auto;
width: 83.3333333333%;
}
- .col-lg-11 {
+ .lg\:col-11 {
flex: 0 0 auto;
width: 91.6666666667%;
}
- .col-lg-12 {
+ .lg\:col-12 {
flex: 0 0 auto;
width: 100%;
}
- .offset-lg-0 {
+ .lg\:offset-0 {
margin-inline-start: 0;
}
- .offset-lg-1 {
+ .lg\:offset-1 {
margin-inline-start: 8.3333333333%;
}
- .offset-lg-2 {
+ .lg\:offset-2 {
margin-inline-start: 16.6666666667%;
}
- .offset-lg-3 {
+ .lg\:offset-3 {
margin-inline-start: 25%;
}
- .offset-lg-4 {
+ .lg\:offset-4 {
margin-inline-start: 33.3333333333%;
}
- .offset-lg-5 {
+ .lg\:offset-5 {
margin-inline-start: 41.6666666667%;
}
- .offset-lg-6 {
+ .lg\:offset-6 {
margin-inline-start: 50%;
}
- .offset-lg-7 {
+ .lg\:offset-7 {
margin-inline-start: 58.3333333333%;
}
- .offset-lg-8 {
+ .lg\:offset-8 {
margin-inline-start: 66.6666666667%;
}
- .offset-lg-9 {
+ .lg\:offset-9 {
margin-inline-start: 75%;
}
- .offset-lg-10 {
+ .lg\:offset-10 {
margin-inline-start: 83.3333333333%;
}
- .offset-lg-11 {
+ .lg\:offset-11 {
margin-inline-start: 91.6666666667%;
}
- .g-lg-0,
- .gx-lg-0 {
+ .lg\:g-0,
+ .lg\:gx-0 {
--bs-gutter-x: 0;
}
- .g-lg-0,
- .gy-lg-0 {
+ .lg\:g-0,
+ .lg\:gy-0 {
--bs-gutter-y: 0;
}
- .g-lg-1,
- .gx-lg-1 {
+ .lg\:g-1,
+ .lg\:gx-1 {
--bs-gutter-x: 0.25rem;
}
- .g-lg-1,
- .gy-lg-1 {
+ .lg\:g-1,
+ .lg\:gy-1 {
--bs-gutter-y: 0.25rem;
}
- .g-lg-2,
- .gx-lg-2 {
+ .lg\:g-2,
+ .lg\:gx-2 {
--bs-gutter-x: 0.5rem;
}
- .g-lg-2,
- .gy-lg-2 {
+ .lg\:g-2,
+ .lg\:gy-2 {
--bs-gutter-y: 0.5rem;
}
- .g-lg-3,
- .gx-lg-3 {
+ .lg\:g-3,
+ .lg\:gx-3 {
--bs-gutter-x: 1rem;
}
- .g-lg-3,
- .gy-lg-3 {
+ .lg\:g-3,
+ .lg\:gy-3 {
--bs-gutter-y: 1rem;
}
- .g-lg-4,
- .gx-lg-4 {
+ .lg\:g-4,
+ .lg\:gx-4 {
--bs-gutter-x: 1.5rem;
}
- .g-lg-4,
- .gy-lg-4 {
+ .lg\:g-4,
+ .lg\:gy-4 {
--bs-gutter-y: 1.5rem;
}
- .g-lg-5,
- .gx-lg-5 {
+ .lg\:g-5,
+ .lg\:gx-5 {
--bs-gutter-x: 3rem;
}
- .g-lg-5,
- .gy-lg-5 {
+ .lg\:g-5,
+ .lg\:gy-5 {
--bs-gutter-y: 3rem;
}
}
@media (width >= 1280px) {
- .col-xl {
+ .xl\:col {
flex: 1 0 0;
}
- .row-cols-xl-auto > * {
+ .xl\:row-cols-auto > * {
flex: 0 0 auto;
width: auto;
}
- .row-cols-xl-1 > * {
+ .xl\:row-cols-1 > * {
flex: 0 0 auto;
width: 100%;
}
- .row-cols-xl-2 > * {
+ .xl\:row-cols-2 > * {
flex: 0 0 auto;
width: 50%;
}
- .row-cols-xl-3 > * {
+ .xl\:row-cols-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .row-cols-xl-4 > * {
+ .xl\:row-cols-4 > * {
flex: 0 0 auto;
width: 25%;
}
- .row-cols-xl-5 > * {
+ .xl\:row-cols-5 > * {
flex: 0 0 auto;
width: 20%;
}
- .row-cols-xl-6 > * {
+ .xl\:row-cols-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-xl-auto {
+ .xl\:col-auto {
flex: 0 0 auto;
width: auto;
}
- .col-xl-1 {
+ .xl\:col-1 {
flex: 0 0 auto;
width: 8.3333333333%;
}
- .col-xl-2 {
+ .xl\:col-2 {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-xl-3 {
+ .xl\:col-3 {
flex: 0 0 auto;
width: 25%;
}
- .col-xl-4 {
+ .xl\:col-4 {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .col-xl-5 {
+ .xl\:col-5 {
flex: 0 0 auto;
width: 41.6666666667%;
}
- .col-xl-6 {
+ .xl\:col-6 {
flex: 0 0 auto;
width: 50%;
}
- .col-xl-7 {
+ .xl\:col-7 {
flex: 0 0 auto;
width: 58.3333333333%;
}
- .col-xl-8 {
+ .xl\:col-8 {
flex: 0 0 auto;
width: 66.6666666667%;
}
- .col-xl-9 {
+ .xl\:col-9 {
flex: 0 0 auto;
width: 75%;
}
- .col-xl-10 {
+ .xl\:col-10 {
flex: 0 0 auto;
width: 83.3333333333%;
}
- .col-xl-11 {
+ .xl\:col-11 {
flex: 0 0 auto;
width: 91.6666666667%;
}
- .col-xl-12 {
+ .xl\:col-12 {
flex: 0 0 auto;
width: 100%;
}
- .offset-xl-0 {
+ .xl\:offset-0 {
margin-inline-start: 0;
}
- .offset-xl-1 {
+ .xl\:offset-1 {
margin-inline-start: 8.3333333333%;
}
- .offset-xl-2 {
+ .xl\:offset-2 {
margin-inline-start: 16.6666666667%;
}
- .offset-xl-3 {
+ .xl\:offset-3 {
margin-inline-start: 25%;
}
- .offset-xl-4 {
+ .xl\:offset-4 {
margin-inline-start: 33.3333333333%;
}
- .offset-xl-5 {
+ .xl\:offset-5 {
margin-inline-start: 41.6666666667%;
}
- .offset-xl-6 {
+ .xl\:offset-6 {
margin-inline-start: 50%;
}
- .offset-xl-7 {
+ .xl\:offset-7 {
margin-inline-start: 58.3333333333%;
}
- .offset-xl-8 {
+ .xl\:offset-8 {
margin-inline-start: 66.6666666667%;
}
- .offset-xl-9 {
+ .xl\:offset-9 {
margin-inline-start: 75%;
}
- .offset-xl-10 {
+ .xl\:offset-10 {
margin-inline-start: 83.3333333333%;
}
- .offset-xl-11 {
+ .xl\:offset-11 {
margin-inline-start: 91.6666666667%;
}
- .g-xl-0,
- .gx-xl-0 {
+ .xl\:g-0,
+ .xl\:gx-0 {
--bs-gutter-x: 0;
}
- .g-xl-0,
- .gy-xl-0 {
+ .xl\:g-0,
+ .xl\:gy-0 {
--bs-gutter-y: 0;
}
- .g-xl-1,
- .gx-xl-1 {
+ .xl\:g-1,
+ .xl\:gx-1 {
--bs-gutter-x: 0.25rem;
}
- .g-xl-1,
- .gy-xl-1 {
+ .xl\:g-1,
+ .xl\:gy-1 {
--bs-gutter-y: 0.25rem;
}
- .g-xl-2,
- .gx-xl-2 {
+ .xl\:g-2,
+ .xl\:gx-2 {
--bs-gutter-x: 0.5rem;
}
- .g-xl-2,
- .gy-xl-2 {
+ .xl\:g-2,
+ .xl\:gy-2 {
--bs-gutter-y: 0.5rem;
}
- .g-xl-3,
- .gx-xl-3 {
+ .xl\:g-3,
+ .xl\:gx-3 {
--bs-gutter-x: 1rem;
}
- .g-xl-3,
- .gy-xl-3 {
+ .xl\:g-3,
+ .xl\:gy-3 {
--bs-gutter-y: 1rem;
}
- .g-xl-4,
- .gx-xl-4 {
+ .xl\:g-4,
+ .xl\:gx-4 {
--bs-gutter-x: 1.5rem;
}
- .g-xl-4,
- .gy-xl-4 {
+ .xl\:g-4,
+ .xl\:gy-4 {
--bs-gutter-y: 1.5rem;
}
- .g-xl-5,
- .gx-xl-5 {
+ .xl\:g-5,
+ .xl\:gx-5 {
--bs-gutter-x: 3rem;
}
- .g-xl-5,
- .gy-xl-5 {
+ .xl\:g-5,
+ .xl\:gy-5 {
--bs-gutter-y: 3rem;
}
}
@media (width >= 1536px) {
- .col-2xl {
+ .\32 xl\:col {
flex: 1 0 0;
}
- .row-cols-2xl-auto > * {
+ .\32 xl\:row-cols-auto > * {
flex: 0 0 auto;
width: auto;
}
- .row-cols-2xl-1 > * {
+ .\32 xl\:row-cols-1 > * {
flex: 0 0 auto;
width: 100%;
}
- .row-cols-2xl-2 > * {
+ .\32 xl\:row-cols-2 > * {
flex: 0 0 auto;
width: 50%;
}
- .row-cols-2xl-3 > * {
+ .\32 xl\:row-cols-3 > * {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .row-cols-2xl-4 > * {
+ .\32 xl\:row-cols-4 > * {
flex: 0 0 auto;
width: 25%;
}
- .row-cols-2xl-5 > * {
+ .\32 xl\:row-cols-5 > * {
flex: 0 0 auto;
width: 20%;
}
- .row-cols-2xl-6 > * {
+ .\32 xl\:row-cols-6 > * {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-2xl-auto {
+ .\32 xl\:col-auto {
flex: 0 0 auto;
width: auto;
}
- .col-2xl-1 {
+ .\32 xl\:col-1 {
flex: 0 0 auto;
width: 8.3333333333%;
}
- .col-2xl-2 {
+ .\32 xl\:col-2 {
flex: 0 0 auto;
width: 16.6666666667%;
}
- .col-2xl-3 {
+ .\32 xl\:col-3 {
flex: 0 0 auto;
width: 25%;
}
- .col-2xl-4 {
+ .\32 xl\:col-4 {
flex: 0 0 auto;
width: 33.3333333333%;
}
- .col-2xl-5 {
+ .\32 xl\:col-5 {
flex: 0 0 auto;
width: 41.6666666667%;
}
- .col-2xl-6 {
+ .\32 xl\:col-6 {
flex: 0 0 auto;
width: 50%;
}
- .col-2xl-7 {
+ .\32 xl\:col-7 {
flex: 0 0 auto;
width: 58.3333333333%;
}
- .col-2xl-8 {
+ .\32 xl\:col-8 {
flex: 0 0 auto;
width: 66.6666666667%;
}
- .col-2xl-9 {
+ .\32 xl\:col-9 {
flex: 0 0 auto;
width: 75%;
}
- .col-2xl-10 {
+ .\32 xl\:col-10 {
flex: 0 0 auto;
width: 83.3333333333%;
}
- .col-2xl-11 {
+ .\32 xl\:col-11 {
flex: 0 0 auto;
width: 91.6666666667%;
}
- .col-2xl-12 {
+ .\32 xl\:col-12 {
flex: 0 0 auto;
width: 100%;
}
- .offset-2xl-0 {
+ .\32 xl\:offset-0 {
margin-inline-start: 0;
}
- .offset-2xl-1 {
+ .\32 xl\:offset-1 {
margin-inline-start: 8.3333333333%;
}
- .offset-2xl-2 {
+ .\32 xl\:offset-2 {
margin-inline-start: 16.6666666667%;
}
- .offset-2xl-3 {
+ .\32 xl\:offset-3 {
margin-inline-start: 25%;
}
- .offset-2xl-4 {
+ .\32 xl\:offset-4 {
margin-inline-start: 33.3333333333%;
}
- .offset-2xl-5 {
+ .\32 xl\:offset-5 {
margin-inline-start: 41.6666666667%;
}
- .offset-2xl-6 {
+ .\32 xl\:offset-6 {
margin-inline-start: 50%;
}
- .offset-2xl-7 {
+ .\32 xl\:offset-7 {
margin-inline-start: 58.3333333333%;
}
- .offset-2xl-8 {
+ .\32 xl\:offset-8 {
margin-inline-start: 66.6666666667%;
}
- .offset-2xl-9 {
+ .\32 xl\:offset-9 {
margin-inline-start: 75%;
}
- .offset-2xl-10 {
+ .\32 xl\:offset-10 {
margin-inline-start: 83.3333333333%;
}
- .offset-2xl-11 {
+ .\32 xl\:offset-11 {
margin-inline-start: 91.6666666667%;
}
- .g-2xl-0,
- .gx-2xl-0 {
+ .\32 xl\:g-0,
+ .\32 xl\:gx-0 {
--bs-gutter-x: 0;
}
- .g-2xl-0,
- .gy-2xl-0 {
+ .\32 xl\:g-0,
+ .\32 xl\:gy-0 {
--bs-gutter-y: 0;
}
- .g-2xl-1,
- .gx-2xl-1 {
+ .\32 xl\:g-1,
+ .\32 xl\:gx-1 {
--bs-gutter-x: 0.25rem;
}
- .g-2xl-1,
- .gy-2xl-1 {
+ .\32 xl\:g-1,
+ .\32 xl\:gy-1 {
--bs-gutter-y: 0.25rem;
}
- .g-2xl-2,
- .gx-2xl-2 {
+ .\32 xl\:g-2,
+ .\32 xl\:gx-2 {
--bs-gutter-x: 0.5rem;
}
- .g-2xl-2,
- .gy-2xl-2 {
+ .\32 xl\:g-2,
+ .\32 xl\:gy-2 {
--bs-gutter-y: 0.5rem;
}
- .g-2xl-3,
- .gx-2xl-3 {
+ .\32 xl\:g-3,
+ .\32 xl\:gx-3 {
--bs-gutter-x: 1rem;
}
- .g-2xl-3,
- .gy-2xl-3 {
+ .\32 xl\:g-3,
+ .\32 xl\:gy-3 {
--bs-gutter-y: 1rem;
}
- .g-2xl-4,
- .gx-2xl-4 {
+ .\32 xl\:g-4,
+ .\32 xl\:gx-4 {
--bs-gutter-x: 1.5rem;
}
- .g-2xl-4,
- .gy-2xl-4 {
+ .\32 xl\:g-4,
+ .\32 xl\:gy-4 {
--bs-gutter-y: 1.5rem;
}
- .g-2xl-5,
- .gx-2xl-5 {
+ .\32 xl\:g-5,
+ .\32 xl\:gx-5 {
--bs-gutter-x: 3rem;
}
- .g-2xl-5,
- .gy-2xl-5 {
+ .\32 xl\:g-5,
+ .\32 xl\:gy-5 {
--bs-gutter-y: 3rem;
}
}
grid-column-start: 11;
}
@media (width >= 576px) {
- .g-col-sm-1 {
+ .sm\:g-col-1 {
grid-column: auto/span 1;
}
- .g-col-sm-2 {
+ .sm\:g-col-2 {
grid-column: auto/span 2;
}
- .g-col-sm-3 {
+ .sm\:g-col-3 {
grid-column: auto/span 3;
}
- .g-col-sm-4 {
+ .sm\:g-col-4 {
grid-column: auto/span 4;
}
- .g-col-sm-5 {
+ .sm\:g-col-5 {
grid-column: auto/span 5;
}
- .g-col-sm-6 {
+ .sm\:g-col-6 {
grid-column: auto/span 6;
}
- .g-col-sm-7 {
+ .sm\:g-col-7 {
grid-column: auto/span 7;
}
- .g-col-sm-8 {
+ .sm\:g-col-8 {
grid-column: auto/span 8;
}
- .g-col-sm-9 {
+ .sm\:g-col-9 {
grid-column: auto/span 9;
}
- .g-col-sm-10 {
+ .sm\:g-col-10 {
grid-column: auto/span 10;
}
- .g-col-sm-11 {
+ .sm\:g-col-11 {
grid-column: auto/span 11;
}
- .g-col-sm-12 {
+ .sm\:g-col-12 {
grid-column: auto/span 12;
}
- .g-start-sm-1 {
+ .sm\:g-start-1 {
grid-column-start: 1;
}
- .g-start-sm-2 {
+ .sm\:g-start-2 {
grid-column-start: 2;
}
- .g-start-sm-3 {
+ .sm\:g-start-3 {
grid-column-start: 3;
}
- .g-start-sm-4 {
+ .sm\:g-start-4 {
grid-column-start: 4;
}
- .g-start-sm-5 {
+ .sm\:g-start-5 {
grid-column-start: 5;
}
- .g-start-sm-6 {
+ .sm\:g-start-6 {
grid-column-start: 6;
}
- .g-start-sm-7 {
+ .sm\:g-start-7 {
grid-column-start: 7;
}
- .g-start-sm-8 {
+ .sm\:g-start-8 {
grid-column-start: 8;
}
- .g-start-sm-9 {
+ .sm\:g-start-9 {
grid-column-start: 9;
}
- .g-start-sm-10 {
+ .sm\:g-start-10 {
grid-column-start: 10;
}
- .g-start-sm-11 {
+ .sm\:g-start-11 {
grid-column-start: 11;
}
}
@media (width >= 768px) {
- .g-col-md-1 {
+ .md\:g-col-1 {
grid-column: auto/span 1;
}
- .g-col-md-2 {
+ .md\:g-col-2 {
grid-column: auto/span 2;
}
- .g-col-md-3 {
+ .md\:g-col-3 {
grid-column: auto/span 3;
}
- .g-col-md-4 {
+ .md\:g-col-4 {
grid-column: auto/span 4;
}
- .g-col-md-5 {
+ .md\:g-col-5 {
grid-column: auto/span 5;
}
- .g-col-md-6 {
+ .md\:g-col-6 {
grid-column: auto/span 6;
}
- .g-col-md-7 {
+ .md\:g-col-7 {
grid-column: auto/span 7;
}
- .g-col-md-8 {
+ .md\:g-col-8 {
grid-column: auto/span 8;
}
- .g-col-md-9 {
+ .md\:g-col-9 {
grid-column: auto/span 9;
}
- .g-col-md-10 {
+ .md\:g-col-10 {
grid-column: auto/span 10;
}
- .g-col-md-11 {
+ .md\:g-col-11 {
grid-column: auto/span 11;
}
- .g-col-md-12 {
+ .md\:g-col-12 {
grid-column: auto/span 12;
}
- .g-start-md-1 {
+ .md\:g-start-1 {
grid-column-start: 1;
}
- .g-start-md-2 {
+ .md\:g-start-2 {
grid-column-start: 2;
}
- .g-start-md-3 {
+ .md\:g-start-3 {
grid-column-start: 3;
}
- .g-start-md-4 {
+ .md\:g-start-4 {
grid-column-start: 4;
}
- .g-start-md-5 {
+ .md\:g-start-5 {
grid-column-start: 5;
}
- .g-start-md-6 {
+ .md\:g-start-6 {
grid-column-start: 6;
}
- .g-start-md-7 {
+ .md\:g-start-7 {
grid-column-start: 7;
}
- .g-start-md-8 {
+ .md\:g-start-8 {
grid-column-start: 8;
}
- .g-start-md-9 {
+ .md\:g-start-9 {
grid-column-start: 9;
}
- .g-start-md-10 {
+ .md\:g-start-10 {
grid-column-start: 10;
}
- .g-start-md-11 {
+ .md\:g-start-11 {
grid-column-start: 11;
}
}
@media (width >= 1024px) {
- .g-col-lg-1 {
+ .lg\:g-col-1 {
grid-column: auto/span 1;
}
- .g-col-lg-2 {
+ .lg\:g-col-2 {
grid-column: auto/span 2;
}
- .g-col-lg-3 {
+ .lg\:g-col-3 {
grid-column: auto/span 3;
}
- .g-col-lg-4 {
+ .lg\:g-col-4 {
grid-column: auto/span 4;
}
- .g-col-lg-5 {
+ .lg\:g-col-5 {
grid-column: auto/span 5;
}
- .g-col-lg-6 {
+ .lg\:g-col-6 {
grid-column: auto/span 6;
}
- .g-col-lg-7 {
+ .lg\:g-col-7 {
grid-column: auto/span 7;
}
- .g-col-lg-8 {
+ .lg\:g-col-8 {
grid-column: auto/span 8;
}
- .g-col-lg-9 {
+ .lg\:g-col-9 {
grid-column: auto/span 9;
}
- .g-col-lg-10 {
+ .lg\:g-col-10 {
grid-column: auto/span 10;
}
- .g-col-lg-11 {
+ .lg\:g-col-11 {
grid-column: auto/span 11;
}
- .g-col-lg-12 {
+ .lg\:g-col-12 {
grid-column: auto/span 12;
}
- .g-start-lg-1 {
+ .lg\:g-start-1 {
grid-column-start: 1;
}
- .g-start-lg-2 {
+ .lg\:g-start-2 {
grid-column-start: 2;
}
- .g-start-lg-3 {
+ .lg\:g-start-3 {
grid-column-start: 3;
}
- .g-start-lg-4 {
+ .lg\:g-start-4 {
grid-column-start: 4;
}
- .g-start-lg-5 {
+ .lg\:g-start-5 {
grid-column-start: 5;
}
- .g-start-lg-6 {
+ .lg\:g-start-6 {
grid-column-start: 6;
}
- .g-start-lg-7 {
+ .lg\:g-start-7 {
grid-column-start: 7;
}
- .g-start-lg-8 {
+ .lg\:g-start-8 {
grid-column-start: 8;
}
- .g-start-lg-9 {
+ .lg\:g-start-9 {
grid-column-start: 9;
}
- .g-start-lg-10 {
+ .lg\:g-start-10 {
grid-column-start: 10;
}
- .g-start-lg-11 {
+ .lg\:g-start-11 {
grid-column-start: 11;
}
}
@media (width >= 1280px) {
- .g-col-xl-1 {
+ .xl\:g-col-1 {
grid-column: auto/span 1;
}
- .g-col-xl-2 {
+ .xl\:g-col-2 {
grid-column: auto/span 2;
}
- .g-col-xl-3 {
+ .xl\:g-col-3 {
grid-column: auto/span 3;
}
- .g-col-xl-4 {
+ .xl\:g-col-4 {
grid-column: auto/span 4;
}
- .g-col-xl-5 {
+ .xl\:g-col-5 {
grid-column: auto/span 5;
}
- .g-col-xl-6 {
+ .xl\:g-col-6 {
grid-column: auto/span 6;
}
- .g-col-xl-7 {
+ .xl\:g-col-7 {
grid-column: auto/span 7;
}
- .g-col-xl-8 {
+ .xl\:g-col-8 {
grid-column: auto/span 8;
}
- .g-col-xl-9 {
+ .xl\:g-col-9 {
grid-column: auto/span 9;
}
- .g-col-xl-10 {
+ .xl\:g-col-10 {
grid-column: auto/span 10;
}
- .g-col-xl-11 {
+ .xl\:g-col-11 {
grid-column: auto/span 11;
}
- .g-col-xl-12 {
+ .xl\:g-col-12 {
grid-column: auto/span 12;
}
- .g-start-xl-1 {
+ .xl\:g-start-1 {
grid-column-start: 1;
}
- .g-start-xl-2 {
+ .xl\:g-start-2 {
grid-column-start: 2;
}
- .g-start-xl-3 {
+ .xl\:g-start-3 {
grid-column-start: 3;
}
- .g-start-xl-4 {
+ .xl\:g-start-4 {
grid-column-start: 4;
}
- .g-start-xl-5 {
+ .xl\:g-start-5 {
grid-column-start: 5;
}
- .g-start-xl-6 {
+ .xl\:g-start-6 {
grid-column-start: 6;
}
- .g-start-xl-7 {
+ .xl\:g-start-7 {
grid-column-start: 7;
}
- .g-start-xl-8 {
+ .xl\:g-start-8 {
grid-column-start: 8;
}
- .g-start-xl-9 {
+ .xl\:g-start-9 {
grid-column-start: 9;
}
- .g-start-xl-10 {
+ .xl\:g-start-10 {
grid-column-start: 10;
}
- .g-start-xl-11 {
+ .xl\:g-start-11 {
grid-column-start: 11;
}
}
@media (width >= 1536px) {
- .g-col-2xl-1 {
+ .\32 xl\:g-col-1 {
grid-column: auto/span 1;
}
- .g-col-2xl-2 {
+ .\32 xl\:g-col-2 {
grid-column: auto/span 2;
}
- .g-col-2xl-3 {
+ .\32 xl\:g-col-3 {
grid-column: auto/span 3;
}
- .g-col-2xl-4 {
+ .\32 xl\:g-col-4 {
grid-column: auto/span 4;
}
- .g-col-2xl-5 {
+ .\32 xl\:g-col-5 {
grid-column: auto/span 5;
}
- .g-col-2xl-6 {
+ .\32 xl\:g-col-6 {
grid-column: auto/span 6;
}
- .g-col-2xl-7 {
+ .\32 xl\:g-col-7 {
grid-column: auto/span 7;
}
- .g-col-2xl-8 {
+ .\32 xl\:g-col-8 {
grid-column: auto/span 8;
}
- .g-col-2xl-9 {
+ .\32 xl\:g-col-9 {
grid-column: auto/span 9;
}
- .g-col-2xl-10 {
+ .\32 xl\:g-col-10 {
grid-column: auto/span 10;
}
- .g-col-2xl-11 {
+ .\32 xl\:g-col-11 {
grid-column: auto/span 11;
}
- .g-col-2xl-12 {
+ .\32 xl\:g-col-12 {
grid-column: auto/span 12;
}
- .g-start-2xl-1 {
+ .\32 xl\:g-start-1 {
grid-column-start: 1;
}
- .g-start-2xl-2 {
+ .\32 xl\:g-start-2 {
grid-column-start: 2;
}
- .g-start-2xl-3 {
+ .\32 xl\:g-start-3 {
grid-column-start: 3;
}
- .g-start-2xl-4 {
+ .\32 xl\:g-start-4 {
grid-column-start: 4;
}
- .g-start-2xl-5 {
+ .\32 xl\:g-start-5 {
grid-column-start: 5;
}
- .g-start-2xl-6 {
+ .\32 xl\:g-start-6 {
grid-column-start: 6;
}
- .g-start-2xl-7 {
+ .\32 xl\:g-start-7 {
grid-column-start: 7;
}
- .g-start-2xl-8 {
+ .\32 xl\:g-start-8 {
grid-column-start: 8;
}
- .g-start-2xl-9 {
+ .\32 xl\:g-start-9 {
grid-column-start: 9;
}
- .g-start-2xl-10 {
+ .\32 xl\:g-start-10 {
grid-column-start: 10;
}
- .g-start-2xl-11 {
+ .\32 xl\:g-start-11 {
grid-column-start: 11;
}
}
border: var(--bs-alert-border);
border-radius: var(--bs-alert-border-radius);
}
- .alert > p {
- margin-bottom: 0;
- }
.alert-heading {
color: inherit;
}
max-height: none;
}
@media (width < 576px) {
- .dialog-fullscreen-sm-down {
+ .sm-down\:dialog-fullscreen {
--bs-dialog-width: 100vw;
--bs-dialog-margin: 0;
--bs-dialog-border-radius: 0;
}
}
@media (width < 768px) {
- .dialog-fullscreen-md-down {
+ .md-down\:dialog-fullscreen {
--bs-dialog-width: 100vw;
--bs-dialog-margin: 0;
--bs-dialog-border-radius: 0;
}
}
@media (width < 1024px) {
- .dialog-fullscreen-lg-down {
+ .lg-down\:dialog-fullscreen {
--bs-dialog-width: 100vw;
--bs-dialog-margin: 0;
--bs-dialog-border-radius: 0;
}
}
@media (width < 1280px) {
- .dialog-fullscreen-xl-down {
+ .xl-down\:dialog-fullscreen {
--bs-dialog-width: 100vw;
--bs-dialog-margin: 0;
--bs-dialog-border-radius: 0;
}
}
@media (width < 1536px) {
- .dialog-fullscreen-2xl-down {
+ .\32 xl-down\:dialog-fullscreen {
--bs-dialog-width: 100vw;
--bs-dialog-margin: 0;
--bs-dialog-border-radius: 0;
border-inline-start-width: var(--bs-list-group-border-width);
}
@media (width >= 576px) {
- .list-group-horizontal-sm {
+ .sm\:list-group-horizontal {
flex-direction: row;
}
- .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
+ .sm\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {
border-end-start-radius: var(--bs-list-group-border-radius);
border-start-end-radius: 0;
}
- .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
+ .sm\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {
border-start-end-radius: var(--bs-list-group-border-radius);
border-end-start-radius: 0;
}
- .list-group-horizontal-sm > .list-group-item.active {
+ .sm\:list-group-horizontal > .list-group-item.active {
margin-top: 0;
}
- .list-group-horizontal-sm > .list-group-item + .list-group-item {
+ .sm\:list-group-horizontal > .list-group-item + .list-group-item {
border-block-start-width: var(--bs-list-group-border-width);
border-inline-start-width: 0;
}
- .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
+ .sm\:list-group-horizontal > .list-group-item + .list-group-item.active {
margin-inline-start: calc(-1 * var(--bs-list-group-border-width));
border-inline-start-width: var(--bs-list-group-border-width);
}
}
@media (width >= 768px) {
- .list-group-horizontal-md {
+ .md\:list-group-horizontal {
flex-direction: row;
}
- .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
+ .md\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {
border-end-start-radius: var(--bs-list-group-border-radius);
border-start-end-radius: 0;
}
- .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
+ .md\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {
border-start-end-radius: var(--bs-list-group-border-radius);
border-end-start-radius: 0;
}
- .list-group-horizontal-md > .list-group-item.active {
+ .md\:list-group-horizontal > .list-group-item.active {
margin-top: 0;
}
- .list-group-horizontal-md > .list-group-item + .list-group-item {
+ .md\:list-group-horizontal > .list-group-item + .list-group-item {
border-block-start-width: var(--bs-list-group-border-width);
border-inline-start-width: 0;
}
- .list-group-horizontal-md > .list-group-item + .list-group-item.active {
+ .md\:list-group-horizontal > .list-group-item + .list-group-item.active {
margin-inline-start: calc(-1 * var(--bs-list-group-border-width));
border-inline-start-width: var(--bs-list-group-border-width);
}
}
@media (width >= 1024px) {
- .list-group-horizontal-lg {
+ .lg\:list-group-horizontal {
flex-direction: row;
}
- .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
+ .lg\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {
border-end-start-radius: var(--bs-list-group-border-radius);
border-start-end-radius: 0;
}
- .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
+ .lg\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {
border-start-end-radius: var(--bs-list-group-border-radius);
border-end-start-radius: 0;
}
- .list-group-horizontal-lg > .list-group-item.active {
+ .lg\:list-group-horizontal > .list-group-item.active {
margin-top: 0;
}
- .list-group-horizontal-lg > .list-group-item + .list-group-item {
+ .lg\:list-group-horizontal > .list-group-item + .list-group-item {
border-block-start-width: var(--bs-list-group-border-width);
border-inline-start-width: 0;
}
- .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
+ .lg\:list-group-horizontal > .list-group-item + .list-group-item.active {
margin-inline-start: calc(-1 * var(--bs-list-group-border-width));
border-inline-start-width: var(--bs-list-group-border-width);
}
}
@media (width >= 1280px) {
- .list-group-horizontal-xl {
+ .xl\:list-group-horizontal {
flex-direction: row;
}
- .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
+ .xl\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {
border-end-start-radius: var(--bs-list-group-border-radius);
border-start-end-radius: 0;
}
- .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
+ .xl\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {
border-start-end-radius: var(--bs-list-group-border-radius);
border-end-start-radius: 0;
}
- .list-group-horizontal-xl > .list-group-item.active {
+ .xl\:list-group-horizontal > .list-group-item.active {
margin-top: 0;
}
- .list-group-horizontal-xl > .list-group-item + .list-group-item {
+ .xl\:list-group-horizontal > .list-group-item + .list-group-item {
border-block-start-width: var(--bs-list-group-border-width);
border-inline-start-width: 0;
}
- .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
+ .xl\:list-group-horizontal > .list-group-item + .list-group-item.active {
margin-inline-start: calc(-1 * var(--bs-list-group-border-width));
border-inline-start-width: var(--bs-list-group-border-width);
}
}
@media (width >= 1536px) {
- .list-group-horizontal-2xl {
+ .\32 xl\:list-group-horizontal {
flex-direction: row;
}
- .list-group-horizontal-2xl > .list-group-item:first-child:not(:last-child) {
+ .\32 xl\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {
border-end-start-radius: var(--bs-list-group-border-radius);
border-start-end-radius: 0;
}
- .list-group-horizontal-2xl > .list-group-item:last-child:not(:first-child) {
+ .\32 xl\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {
border-start-end-radius: var(--bs-list-group-border-radius);
border-end-start-radius: 0;
}
- .list-group-horizontal-2xl > .list-group-item.active {
+ .\32 xl\:list-group-horizontal > .list-group-item.active {
margin-top: 0;
}
- .list-group-horizontal-2xl > .list-group-item + .list-group-item {
+ .\32 xl\:list-group-horizontal > .list-group-item + .list-group-item {
border-block-start-width: var(--bs-list-group-border-width);
border-inline-start-width: 0;
}
- .list-group-horizontal-2xl > .list-group-item + .list-group-item.active {
+ .\32 xl\:list-group-horizontal > .list-group-item + .list-group-item.active {
margin-inline-start: calc(-1 * var(--bs-list-group-border-width));
border-inline-start-width: var(--bs-list-group-border-width);
}
color: var(--bs-navbar-color, var(--bs-fg-body));
background-color: var(--bs-navbar-bg, var(--bs-bg-body));
}
- .navbar > .container-2xl, .navbar > .container-xl, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container,
+ .navbar > .\32 xl\:container, .navbar > .xl\:container, .navbar > .lg\:container, .navbar > .md\:container, .navbar > .sm\:container, .navbar > .container,
.navbar > .container-fluid {
display: flex;
flex-wrap: inherit;
justify-content: flex-start;
}
@container (width >= 576px) {
- .navbar-expand-sm > .container,
- .navbar-expand-sm > .container-fluid {
+ .sm\:navbar-expand > .container,
+ .sm\:navbar-expand > .container-fluid {
flex-wrap: nowrap;
justify-content: flex-start;
}
- .navbar-expand-sm .navbar-nav {
+ .sm\:navbar-expand .navbar-nav {
--bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);
flex-direction: row;
}
- .navbar-expand-sm .navbar-toggler {
+ .sm\:navbar-expand .navbar-toggler {
display: none !important;
}
- .navbar-expand-sm .offcanvas {
+ .sm\:navbar-expand .offcanvas {
position: static;
z-index: auto;
flex-grow: 1;
box-shadow: none;
transition: none;
}
- .navbar-expand-sm .offcanvas .offcanvas-header {
+ .sm\:navbar-expand .offcanvas .offcanvas-header {
display: none;
}
- .navbar-expand-sm .offcanvas .offcanvas-body {
+ .sm\:navbar-expand .offcanvas .offcanvas-body {
display: flex;
flex-grow: 0;
flex-direction: row;
}
}
@container (width >= 768px) {
- .navbar-expand-md > .container,
- .navbar-expand-md > .container-fluid {
+ .md\:navbar-expand > .container,
+ .md\:navbar-expand > .container-fluid {
flex-wrap: nowrap;
justify-content: flex-start;
}
- .navbar-expand-md .navbar-nav {
+ .md\:navbar-expand .navbar-nav {
--bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);
flex-direction: row;
}
- .navbar-expand-md .navbar-toggler {
+ .md\:navbar-expand .navbar-toggler {
display: none !important;
}
- .navbar-expand-md .offcanvas {
+ .md\:navbar-expand .offcanvas {
position: static;
z-index: auto;
flex-grow: 1;
box-shadow: none;
transition: none;
}
- .navbar-expand-md .offcanvas .offcanvas-header {
+ .md\:navbar-expand .offcanvas .offcanvas-header {
display: none;
}
- .navbar-expand-md .offcanvas .offcanvas-body {
+ .md\:navbar-expand .offcanvas .offcanvas-body {
display: flex;
flex-grow: 0;
flex-direction: row;
}
}
@container (width >= 1024px) {
- .navbar-expand-lg > .container,
- .navbar-expand-lg > .container-fluid {
+ .lg\:navbar-expand > .container,
+ .lg\:navbar-expand > .container-fluid {
flex-wrap: nowrap;
justify-content: flex-start;
}
- .navbar-expand-lg .navbar-nav {
+ .lg\:navbar-expand .navbar-nav {
--bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);
flex-direction: row;
}
- .navbar-expand-lg .navbar-toggler {
+ .lg\:navbar-expand .navbar-toggler {
display: none !important;
}
- .navbar-expand-lg .offcanvas {
+ .lg\:navbar-expand .offcanvas {
position: static;
z-index: auto;
flex-grow: 1;
box-shadow: none;
transition: none;
}
- .navbar-expand-lg .offcanvas .offcanvas-header {
+ .lg\:navbar-expand .offcanvas .offcanvas-header {
display: none;
}
- .navbar-expand-lg .offcanvas .offcanvas-body {
+ .lg\:navbar-expand .offcanvas .offcanvas-body {
display: flex;
flex-grow: 0;
flex-direction: row;
}
}
@container (width >= 1280px) {
- .navbar-expand-xl > .container,
- .navbar-expand-xl > .container-fluid {
+ .xl\:navbar-expand > .container,
+ .xl\:navbar-expand > .container-fluid {
flex-wrap: nowrap;
justify-content: flex-start;
}
- .navbar-expand-xl .navbar-nav {
+ .xl\:navbar-expand .navbar-nav {
--bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);
flex-direction: row;
}
- .navbar-expand-xl .navbar-toggler {
+ .xl\:navbar-expand .navbar-toggler {
display: none !important;
}
- .navbar-expand-xl .offcanvas {
+ .xl\:navbar-expand .offcanvas {
position: static;
z-index: auto;
flex-grow: 1;
box-shadow: none;
transition: none;
}
- .navbar-expand-xl .offcanvas .offcanvas-header {
+ .xl\:navbar-expand .offcanvas .offcanvas-header {
display: none;
}
- .navbar-expand-xl .offcanvas .offcanvas-body {
+ .xl\:navbar-expand .offcanvas .offcanvas-body {
display: flex;
flex-grow: 0;
flex-direction: row;
}
}
@container (width >= 1536px) {
- .navbar-expand-2xl > .container,
- .navbar-expand-2xl > .container-fluid {
+ .\32 xl\:navbar-expand > .container,
+ .\32 xl\:navbar-expand > .container-fluid {
flex-wrap: nowrap;
justify-content: flex-start;
}
- .navbar-expand-2xl .navbar-nav {
+ .\32 xl\:navbar-expand .navbar-nav {
--bs-nav-link-padding-x: var(--bs-navbar-nav-link-padding-x);
flex-direction: row;
}
- .navbar-expand-2xl .navbar-toggler {
+ .\32 xl\:navbar-expand .navbar-toggler {
display: none !important;
}
- .navbar-expand-2xl .offcanvas {
+ .\32 xl\:navbar-expand .offcanvas {
position: static;
z-index: auto;
flex-grow: 1;
box-shadow: none;
transition: none;
}
- .navbar-expand-2xl .offcanvas .offcanvas-header {
+ .\32 xl\:navbar-expand .offcanvas .offcanvas-header {
display: none;
}
- .navbar-expand-2xl .offcanvas .offcanvas-body {
+ .\32 xl\:navbar-expand .offcanvas .offcanvas-body {
display: flex;
flex-grow: 0;
flex-direction: row;
--bs-navbar-toggler-border-color: color-mix(in oklch, var(--bs-white) 0.1, transparent);
}
}
-.offcanvas, .offcanvas-2xl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
+.offcanvas, .\32 xl\:offcanvas, .xl\:offcanvas, .lg\:offcanvas, .md\:offcanvas, .sm\:offcanvas {
--bs-offcanvas-inset: var(--bs-spacer);
--bs-offcanvas-zindex: 1045;
--bs-offcanvas-width: 400px;
@layer components {
@media (width < 576px) {
- .offcanvas-sm {
+ .sm\:offcanvas {
position: fixed;
z-index: var(--bs-offcanvas-zindex);
display: flex;
}
}
@media (width < 576px) and (prefers-reduced-motion: reduce) {
- .offcanvas-sm {
+ .sm\:offcanvas {
transition: none;
}
}
@media (width < 576px) {
- .offcanvas-sm:where(.offcanvas-start) {
+ .sm\:offcanvas:where(.offcanvas-start) {
inset-block: var(--bs-offcanvas-inset);
inset-inline-start: var(--bs-offcanvas-inset);
width: var(--bs-offcanvas-width);
transform: translateX(-100%);
}
- :root:dir(rtl) .offcanvas-sm:where(.offcanvas-start) {
+ :root:dir(rtl) .sm\:offcanvas:where(.offcanvas-start) {
transform: translateX(100%);
}
- .offcanvas-sm:where(.offcanvas-end) {
+ .sm\:offcanvas:where(.offcanvas-end) {
inset-block: var(--bs-offcanvas-inset);
inset-inline-end: var(--bs-offcanvas-inset);
width: var(--bs-offcanvas-width);
transform: translateX(100%);
}
- :root:dir(rtl) .offcanvas-sm:where(.offcanvas-end) {
+ :root:dir(rtl) .sm\:offcanvas:where(.offcanvas-end) {
transform: translateX(-100%);
}
- .offcanvas-sm:where(.offcanvas-top) {
+ .sm\:offcanvas:where(.offcanvas-top) {
inset: var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;
height: var(--bs-offcanvas-height);
transform: translateY(-100%);
}
- .offcanvas-sm:where(.offcanvas-bottom) {
+ .sm\:offcanvas:where(.offcanvas-bottom) {
inset: auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);
height: var(--bs-offcanvas-height);
transform: translateY(100%);
}
- .offcanvas-sm:where(.offcanvas-fullscreen) {
+ .sm\:offcanvas:where(.offcanvas-fullscreen) {
inset: var(--bs-offcanvas-inset);
width: auto;
max-width: none;
max-height: none;
transform: translateY(100%);
}
- .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
+ .sm\:offcanvas.showing, .sm\:offcanvas.show:not(.hiding) {
transform: none;
}
- .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
+ .sm\:offcanvas.showing, .sm\:offcanvas.hiding, .sm\:offcanvas.show {
visibility: visible;
}
}
@media (width >= 576px) {
- .offcanvas-sm {
+ .sm\:offcanvas {
--bs-offcanvas-height: auto;
--bs-offcanvas-border-width: 0;
background-color: transparent !important;
}
- .offcanvas-sm .offcanvas-header {
+ .sm\:offcanvas .offcanvas-header {
display: none;
}
- .offcanvas-sm .offcanvas-body {
+ .sm\:offcanvas .offcanvas-body {
flex-grow: 0;
flex-direction: row;
padding: 0;
}
}
@media (width < 768px) {
- .offcanvas-md {
+ .md\:offcanvas {
position: fixed;
z-index: var(--bs-offcanvas-zindex);
display: flex;
}
}
@media (width < 768px) and (prefers-reduced-motion: reduce) {
- .offcanvas-md {
+ .md\:offcanvas {
transition: none;
}
}
@media (width < 768px) {
- .offcanvas-md:where(.offcanvas-start) {
+ .md\:offcanvas:where(.offcanvas-start) {
inset-block: var(--bs-offcanvas-inset);
inset-inline-start: var(--bs-offcanvas-inset);
width: var(--bs-offcanvas-width);
transform: translateX(-100%);
}
- :root:dir(rtl) .offcanvas-md:where(.offcanvas-start) {
+ :root:dir(rtl) .md\:offcanvas:where(.offcanvas-start) {
transform: translateX(100%);
}
- .offcanvas-md:where(.offcanvas-end) {
+ .md\:offcanvas:where(.offcanvas-end) {
inset-block: var(--bs-offcanvas-inset);
inset-inline-end: var(--bs-offcanvas-inset);
width: var(--bs-offcanvas-width);
transform: translateX(100%);
}
- :root:dir(rtl) .offcanvas-md:where(.offcanvas-end) {
+ :root:dir(rtl) .md\:offcanvas:where(.offcanvas-end) {
transform: translateX(-100%);
}
- .offcanvas-md:where(.offcanvas-top) {
+ .md\:offcanvas:where(.offcanvas-top) {
inset: var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;
height: var(--bs-offcanvas-height);
transform: translateY(-100%);
}
- .offcanvas-md:where(.offcanvas-bottom) {
+ .md\:offcanvas:where(.offcanvas-bottom) {
inset: auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);
height: var(--bs-offcanvas-height);
transform: translateY(100%);
}
- .offcanvas-md:where(.offcanvas-fullscreen) {
+ .md\:offcanvas:where(.offcanvas-fullscreen) {
inset: var(--bs-offcanvas-inset);
width: auto;
max-width: none;
max-height: none;
transform: translateY(100%);
}
- .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
+ .md\:offcanvas.showing, .md\:offcanvas.show:not(.hiding) {
transform: none;
}
- .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
+ .md\:offcanvas.showing, .md\:offcanvas.hiding, .md\:offcanvas.show {
visibility: visible;
}
}
@media (width >= 768px) {
- .offcanvas-md {
+ .md\:offcanvas {
--bs-offcanvas-height: auto;
--bs-offcanvas-border-width: 0;
background-color: transparent !important;
}
- .offcanvas-md .offcanvas-header {
+ .md\:offcanvas .offcanvas-header {
display: none;
}
- .offcanvas-md .offcanvas-body {
+ .md\:offcanvas .offcanvas-body {
flex-grow: 0;
flex-direction: row;
padding: 0;
}
}
@media (width < 1024px) {
- .offcanvas-lg {
+ .lg\:offcanvas {
position: fixed;
z-index: var(--bs-offcanvas-zindex);
display: flex;
}
}
@media (width < 1024px) and (prefers-reduced-motion: reduce) {
- .offcanvas-lg {
+ .lg\:offcanvas {
transition: none;
}
}
@media (width < 1024px) {
- .offcanvas-lg:where(.offcanvas-start) {
+ .lg\:offcanvas:where(.offcanvas-start) {
inset-block: var(--bs-offcanvas-inset);
inset-inline-start: var(--bs-offcanvas-inset);
width: var(--bs-offcanvas-width);
transform: translateX(-100%);
}
- :root:dir(rtl) .offcanvas-lg:where(.offcanvas-start) {
+ :root:dir(rtl) .lg\:offcanvas:where(.offcanvas-start) {
transform: translateX(100%);
}
- .offcanvas-lg:where(.offcanvas-end) {
+ .lg\:offcanvas:where(.offcanvas-end) {
inset-block: var(--bs-offcanvas-inset);
inset-inline-end: var(--bs-offcanvas-inset);
width: var(--bs-offcanvas-width);
transform: translateX(100%);
}
- :root:dir(rtl) .offcanvas-lg:where(.offcanvas-end) {
+ :root:dir(rtl) .lg\:offcanvas:where(.offcanvas-end) {
transform: translateX(-100%);
}
- .offcanvas-lg:where(.offcanvas-top) {
+ .lg\:offcanvas:where(.offcanvas-top) {
inset: var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;
height: var(--bs-offcanvas-height);
transform: translateY(-100%);
}
- .offcanvas-lg:where(.offcanvas-bottom) {
+ .lg\:offcanvas:where(.offcanvas-bottom) {
inset: auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);
height: var(--bs-offcanvas-height);
transform: translateY(100%);
}
- .offcanvas-lg:where(.offcanvas-fullscreen) {
+ .lg\:offcanvas:where(.offcanvas-fullscreen) {
inset: var(--bs-offcanvas-inset);
width: auto;
max-width: none;
max-height: none;
transform: translateY(100%);
}
- .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
+ .lg\:offcanvas.showing, .lg\:offcanvas.show:not(.hiding) {
transform: none;
}
- .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
+ .lg\:offcanvas.showing, .lg\:offcanvas.hiding, .lg\:offcanvas.show {
visibility: visible;
}
}
@media (width >= 1024px) {
- .offcanvas-lg {
+ .lg\:offcanvas {
--bs-offcanvas-height: auto;
--bs-offcanvas-border-width: 0;
background-color: transparent !important;
}
- .offcanvas-lg .offcanvas-header {
+ .lg\:offcanvas .offcanvas-header {
display: none;
}
- .offcanvas-lg .offcanvas-body {
+ .lg\:offcanvas .offcanvas-body {
flex-grow: 0;
flex-direction: row;
padding: 0;
}
}
@media (width < 1280px) {
- .offcanvas-xl {
+ .xl\:offcanvas {
position: fixed;
z-index: var(--bs-offcanvas-zindex);
display: flex;
}
}
@media (width < 1280px) and (prefers-reduced-motion: reduce) {
- .offcanvas-xl {
+ .xl\:offcanvas {
transition: none;
}
}
@media (width < 1280px) {
- .offcanvas-xl:where(.offcanvas-start) {
+ .xl\:offcanvas:where(.offcanvas-start) {
inset-block: var(--bs-offcanvas-inset);
inset-inline-start: var(--bs-offcanvas-inset);
width: var(--bs-offcanvas-width);
transform: translateX(-100%);
}
- :root:dir(rtl) .offcanvas-xl:where(.offcanvas-start) {
+ :root:dir(rtl) .xl\:offcanvas:where(.offcanvas-start) {
transform: translateX(100%);
}
- .offcanvas-xl:where(.offcanvas-end) {
+ .xl\:offcanvas:where(.offcanvas-end) {
inset-block: var(--bs-offcanvas-inset);
inset-inline-end: var(--bs-offcanvas-inset);
width: var(--bs-offcanvas-width);
transform: translateX(100%);
}
- :root:dir(rtl) .offcanvas-xl:where(.offcanvas-end) {
+ :root:dir(rtl) .xl\:offcanvas:where(.offcanvas-end) {
transform: translateX(-100%);
}
- .offcanvas-xl:where(.offcanvas-top) {
+ .xl\:offcanvas:where(.offcanvas-top) {
inset: var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;
height: var(--bs-offcanvas-height);
transform: translateY(-100%);
}
- .offcanvas-xl:where(.offcanvas-bottom) {
+ .xl\:offcanvas:where(.offcanvas-bottom) {
inset: auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);
height: var(--bs-offcanvas-height);
transform: translateY(100%);
}
- .offcanvas-xl:where(.offcanvas-fullscreen) {
+ .xl\:offcanvas:where(.offcanvas-fullscreen) {
inset: var(--bs-offcanvas-inset);
width: auto;
max-width: none;
max-height: none;
transform: translateY(100%);
}
- .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
+ .xl\:offcanvas.showing, .xl\:offcanvas.show:not(.hiding) {
transform: none;
}
- .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
+ .xl\:offcanvas.showing, .xl\:offcanvas.hiding, .xl\:offcanvas.show {
visibility: visible;
}
}
@media (width >= 1280px) {
- .offcanvas-xl {
+ .xl\:offcanvas {
--bs-offcanvas-height: auto;
--bs-offcanvas-border-width: 0;
background-color: transparent !important;
}
- .offcanvas-xl .offcanvas-header {
+ .xl\:offcanvas .offcanvas-header {
display: none;
}
- .offcanvas-xl .offcanvas-body {
+ .xl\:offcanvas .offcanvas-body {
flex-grow: 0;
flex-direction: row;
padding: 0;
}
}
@media (width < 1536px) {
- .offcanvas-2xl {
+ .\32 xl\:offcanvas {
position: fixed;
z-index: var(--bs-offcanvas-zindex);
display: flex;
}
}
@media (width < 1536px) and (prefers-reduced-motion: reduce) {
- .offcanvas-2xl {
+ .\32 xl\:offcanvas {
transition: none;
}
}
@media (width < 1536px) {
- .offcanvas-2xl:where(.offcanvas-start) {
+ .\32 xl\:offcanvas:where(.offcanvas-start) {
inset-block: var(--bs-offcanvas-inset);
inset-inline-start: var(--bs-offcanvas-inset);
width: var(--bs-offcanvas-width);
transform: translateX(-100%);
}
- :root:dir(rtl) .offcanvas-2xl:where(.offcanvas-start) {
+ :root:dir(rtl) .\32 xl\:offcanvas:where(.offcanvas-start) {
transform: translateX(100%);
}
- .offcanvas-2xl:where(.offcanvas-end) {
+ .\32 xl\:offcanvas:where(.offcanvas-end) {
inset-block: var(--bs-offcanvas-inset);
inset-inline-end: var(--bs-offcanvas-inset);
width: var(--bs-offcanvas-width);
transform: translateX(100%);
}
- :root:dir(rtl) .offcanvas-2xl:where(.offcanvas-end) {
+ :root:dir(rtl) .\32 xl\:offcanvas:where(.offcanvas-end) {
transform: translateX(-100%);
}
- .offcanvas-2xl:where(.offcanvas-top) {
+ .\32 xl\:offcanvas:where(.offcanvas-top) {
inset: var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;
height: var(--bs-offcanvas-height);
transform: translateY(-100%);
}
- .offcanvas-2xl:where(.offcanvas-bottom) {
+ .\32 xl\:offcanvas:where(.offcanvas-bottom) {
inset: auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);
height: var(--bs-offcanvas-height);
transform: translateY(100%);
}
- .offcanvas-2xl:where(.offcanvas-fullscreen) {
+ .\32 xl\:offcanvas:where(.offcanvas-fullscreen) {
inset: var(--bs-offcanvas-inset);
width: auto;
max-width: none;
max-height: none;
transform: translateY(100%);
}
- .offcanvas-2xl.showing, .offcanvas-2xl.show:not(.hiding) {
+ .\32 xl\:offcanvas.showing, .\32 xl\:offcanvas.show:not(.hiding) {
transform: none;
}
- .offcanvas-2xl.showing, .offcanvas-2xl.hiding, .offcanvas-2xl.show {
+ .\32 xl\:offcanvas.showing, .\32 xl\:offcanvas.hiding, .\32 xl\:offcanvas.show {
visibility: visible;
}
}
@media (width >= 1536px) {
- .offcanvas-2xl {
+ .\32 xl\:offcanvas {
--bs-offcanvas-height: auto;
--bs-offcanvas-border-width: 0;
background-color: transparent !important;
}
- .offcanvas-2xl .offcanvas-header {
+ .\32 xl\:offcanvas .offcanvas-header {
display: none;
}
- .offcanvas-2xl .offcanvas-body {
+ .\32 xl\:offcanvas .offcanvas-body {
flex-grow: 0;
flex-direction: row;
padding: 0;
right: 100%;
}
@container (width >= 576px) {
- .stepper-horizontal-sm {
+ .sm\:stepper-horizontal {
display: inline-grid;
grid-auto-columns: 1fr;
grid-auto-flow: column;
}
- .stepper-horizontal-sm .stepper-item {
+ .sm\:stepper-horizontal .stepper-item {
grid-template-rows: var(--bs-stepper-size) auto;
grid-template-columns: auto;
align-items: start;
justify-items: center;
text-align: center;
}
- .stepper-horizontal-sm .stepper-item::after {
+ .sm\:stepper-horizontal .stepper-item::after {
inset-block-start: calc(var(--bs-stepper-size) * 0.5 - var(--bs-stepper-track-size) * 0.5);
inset-block-end: auto;
inset-inline-start: 50%;
width: calc(100% + var(--bs-stepper-gap));
height: var(--bs-stepper-track-size);
}
- .stepper-horizontal-sm .stepper-item:last-child::after {
+ .sm\:stepper-horizontal .stepper-item:last-child::after {
right: 100%;
}
}
@container (width >= 768px) {
- .stepper-horizontal-md {
+ .md\:stepper-horizontal {
display: inline-grid;
grid-auto-columns: 1fr;
grid-auto-flow: column;
}
- .stepper-horizontal-md .stepper-item {
+ .md\:stepper-horizontal .stepper-item {
grid-template-rows: var(--bs-stepper-size) auto;
grid-template-columns: auto;
align-items: start;
justify-items: center;
text-align: center;
}
- .stepper-horizontal-md .stepper-item::after {
+ .md\:stepper-horizontal .stepper-item::after {
inset-block-start: calc(var(--bs-stepper-size) * 0.5 - var(--bs-stepper-track-size) * 0.5);
inset-block-end: auto;
inset-inline-start: 50%;
width: calc(100% + var(--bs-stepper-gap));
height: var(--bs-stepper-track-size);
}
- .stepper-horizontal-md .stepper-item:last-child::after {
+ .md\:stepper-horizontal .stepper-item:last-child::after {
right: 100%;
}
}
@container (width >= 1024px) {
- .stepper-horizontal-lg {
+ .lg\:stepper-horizontal {
display: inline-grid;
grid-auto-columns: 1fr;
grid-auto-flow: column;
}
- .stepper-horizontal-lg .stepper-item {
+ .lg\:stepper-horizontal .stepper-item {
grid-template-rows: var(--bs-stepper-size) auto;
grid-template-columns: auto;
align-items: start;
justify-items: center;
text-align: center;
}
- .stepper-horizontal-lg .stepper-item::after {
+ .lg\:stepper-horizontal .stepper-item::after {
inset-block-start: calc(var(--bs-stepper-size) * 0.5 - var(--bs-stepper-track-size) * 0.5);
inset-block-end: auto;
inset-inline-start: 50%;
width: calc(100% + var(--bs-stepper-gap));
height: var(--bs-stepper-track-size);
}
- .stepper-horizontal-lg .stepper-item:last-child::after {
+ .lg\:stepper-horizontal .stepper-item:last-child::after {
right: 100%;
}
}
@container (width >= 1280px) {
- .stepper-horizontal-xl {
+ .xl\:stepper-horizontal {
display: inline-grid;
grid-auto-columns: 1fr;
grid-auto-flow: column;
}
- .stepper-horizontal-xl .stepper-item {
+ .xl\:stepper-horizontal .stepper-item {
grid-template-rows: var(--bs-stepper-size) auto;
grid-template-columns: auto;
align-items: start;
justify-items: center;
text-align: center;
}
- .stepper-horizontal-xl .stepper-item::after {
+ .xl\:stepper-horizontal .stepper-item::after {
inset-block-start: calc(var(--bs-stepper-size) * 0.5 - var(--bs-stepper-track-size) * 0.5);
inset-block-end: auto;
inset-inline-start: 50%;
width: calc(100% + var(--bs-stepper-gap));
height: var(--bs-stepper-track-size);
}
- .stepper-horizontal-xl .stepper-item:last-child::after {
+ .xl\:stepper-horizontal .stepper-item:last-child::after {
right: 100%;
}
}
@container (width >= 1536px) {
- .stepper-horizontal-2xl {
+ .\32 xl\:stepper-horizontal {
display: inline-grid;
grid-auto-columns: 1fr;
grid-auto-flow: column;
}
- .stepper-horizontal-2xl .stepper-item {
+ .\32 xl\:stepper-horizontal .stepper-item {
grid-template-rows: var(--bs-stepper-size) auto;
grid-template-columns: auto;
align-items: start;
justify-items: center;
text-align: center;
}
- .stepper-horizontal-2xl .stepper-item::after {
+ .\32 xl\:stepper-horizontal .stepper-item::after {
inset-block-start: calc(var(--bs-stepper-size) * 0.5 - var(--bs-stepper-track-size) * 0.5);
inset-block-end: auto;
inset-inline-start: 50%;
width: calc(100% + var(--bs-stepper-gap));
height: var(--bs-stepper-track-size);
}
- .stepper-horizontal-2xl .stepper-item:last-child::after {
+ .\32 xl\:stepper-horizontal .stepper-item:last-child::after {
right: 100%;
}
}
z-index: 1020;
}
@media (width >= 576px) {
- .sticky-sm-top {
+ .sm\:sticky-top {
position: sticky;
top: 0;
z-index: 1020;
}
- .sticky-sm-bottom {
+ .sm\:sticky-bottom {
position: sticky;
bottom: 0;
z-index: 1020;
}
}
@media (width >= 768px) {
- .sticky-md-top {
+ .md\:sticky-top {
position: sticky;
top: 0;
z-index: 1020;
}
- .sticky-md-bottom {
+ .md\:sticky-bottom {
position: sticky;
bottom: 0;
z-index: 1020;
}
}
@media (width >= 1024px) {
- .sticky-lg-top {
+ .lg\:sticky-top {
position: sticky;
top: 0;
z-index: 1020;
}
- .sticky-lg-bottom {
+ .lg\:sticky-bottom {
position: sticky;
bottom: 0;
z-index: 1020;
}
}
@media (width >= 1280px) {
- .sticky-xl-top {
+ .xl\:sticky-top {
position: sticky;
top: 0;
z-index: 1020;
}
- .sticky-xl-bottom {
+ .xl\:sticky-bottom {
position: sticky;
bottom: 0;
z-index: 1020;
}
}
@media (width >= 1536px) {
- .sticky-2xl-top {
+ .\32 xl\:sticky-top {
position: sticky;
top: 0;
z-index: 1020;
}
- .sticky-2xl-bottom {
+ .\32 xl\:sticky-bottom {
position: sticky;
bottom: 0;
z-index: 1020;
--bs-stack-align-items: flex-start;
}
@container (width >= 576px) {
- .vstack-sm {
+ .sm\:vstack {
--bs-stack-direction: column;
--bs-stack-align-items: stretch;
}
}
@container (width >= 576px) {
- .hstack-sm {
+ .sm\:hstack {
--bs-stack-direction: row;
--bs-stack-align-items: flex-start;
}
}
@container (width >= 768px) {
- .vstack-md {
+ .md\:vstack {
--bs-stack-direction: column;
--bs-stack-align-items: stretch;
}
}
@container (width >= 768px) {
- .hstack-md {
+ .md\:hstack {
--bs-stack-direction: row;
--bs-stack-align-items: flex-start;
}
}
@container (width >= 1024px) {
- .vstack-lg {
+ .lg\:vstack {
--bs-stack-direction: column;
--bs-stack-align-items: stretch;
}
}
@container (width >= 1024px) {
- .hstack-lg {
+ .lg\:hstack {
--bs-stack-direction: row;
--bs-stack-align-items: flex-start;
}
}
@container (width >= 1280px) {
- .vstack-xl {
+ .xl\:vstack {
--bs-stack-direction: column;
--bs-stack-align-items: stretch;
}
}
@container (width >= 1280px) {
- .hstack-xl {
+ .xl\:hstack {
--bs-stack-direction: row;
--bs-stack-align-items: flex-start;
}
}
@container (width >= 1536px) {
- .vstack-2xl {
+ .\32 xl\:vstack {
--bs-stack-direction: column;
--bs-stack-align-items: stretch;
}
}
@container (width >= 1536px) {
- .hstack-2xl {
+ .\32 xl\:hstack {
--bs-stack-direction: row;
--bs-stack-align-items: flex-start;
}
z-index: 3;
}
@media (width >= 576px) {
- .float-sm-start {
+ .sm\:float-start {
float: inline-start;
}
- .float-sm-end {
+ .sm\:float-end {
float: inline-end;
}
- .float-sm-none {
+ .sm\:float-none {
float: none;
}
- .object-fit-sm-contain {
+ .sm\:object-fit-contain {
-o-object-fit: contain;
object-fit: contain;
}
- .object-fit-sm-cover {
+ .sm\:object-fit-cover {
-o-object-fit: cover;
object-fit: cover;
}
- .object-fit-sm-fill {
+ .sm\:object-fit-fill {
-o-object-fit: fill;
object-fit: fill;
}
- .object-fit-sm-scale {
+ .sm\:object-fit-scale {
-o-object-fit: scale-down;
object-fit: scale-down;
}
- .object-fit-sm-none {
+ .sm\:object-fit-none {
-o-object-fit: none;
object-fit: none;
}
- .d-sm-inline {
+ .sm\:d-inline {
display: inline;
}
- .d-sm-inline-block {
+ .sm\:d-inline-block {
display: inline-block;
}
- .d-sm-block {
+ .sm\:d-block {
display: block;
}
- .d-sm-grid {
+ .sm\:d-grid {
display: grid;
}
- .d-sm-inline-grid {
+ .sm\:d-inline-grid {
display: inline-grid;
}
- .d-sm-table {
+ .sm\:d-table {
display: table;
}
- .d-sm-table-row {
+ .sm\:d-table-row {
display: table-row;
}
- .d-sm-table-cell {
+ .sm\:d-table-cell {
display: table-cell;
}
- .d-sm-flex {
+ .sm\:d-flex {
display: flex;
}
- .d-sm-inline-flex {
+ .sm\:d-inline-flex {
display: inline-flex;
}
- .d-sm-contents {
+ .sm\:d-contents {
display: contents;
}
- .d-sm-flow-root {
+ .sm\:d-flow-root {
display: flow-root;
}
- .d-sm-none {
+ .sm\:d-none {
display: none;
}
- .flex-sm-fill {
+ .sm\:flex-fill {
flex: 1 1 auto;
}
- .flex-sm-row {
+ .sm\:flex-row {
flex-direction: row;
}
- .flex-sm-column {
+ .sm\:flex-column {
flex-direction: column;
}
- .flex-sm-row-reverse {
+ .sm\:flex-row-reverse {
flex-direction: row-reverse;
}
- .flex-sm-column-reverse {
+ .sm\:flex-column-reverse {
flex-direction: column-reverse;
}
- .flex-sm-grow-0 {
+ .sm\:flex-grow-0 {
flex-grow: 0;
}
- .flex-sm-grow-1 {
+ .sm\:flex-grow-1 {
flex-grow: 1;
}
- .flex-sm-shrink-0 {
+ .sm\:flex-shrink-0 {
flex-shrink: 0;
}
- .flex-sm-shrink-1 {
+ .sm\:flex-shrink-1 {
flex-shrink: 1;
}
- .flex-sm-wrap {
+ .sm\:flex-wrap {
flex-wrap: wrap;
}
- .flex-sm-nowrap {
+ .sm\:flex-nowrap {
flex-wrap: nowrap;
}
- .flex-sm-wrap-reverse {
+ .sm\:flex-wrap-reverse {
flex-wrap: wrap-reverse;
}
- .justify-content-sm-start {
+ .sm\:justify-content-start {
justify-content: flex-start;
}
- .justify-content-sm-end {
+ .sm\:justify-content-end {
justify-content: flex-end;
}
- .justify-content-sm-center {
+ .sm\:justify-content-center {
justify-content: center;
}
- .justify-content-sm-between {
+ .sm\:justify-content-between {
justify-content: space-between;
}
- .justify-content-sm-around {
+ .sm\:justify-content-around {
justify-content: space-around;
}
- .justify-content-sm-evenly {
+ .sm\:justify-content-evenly {
justify-content: space-evenly;
}
- .justify-items-sm-start {
+ .sm\:justify-items-start {
justify-items: start;
}
- .justify-items-sm-end {
+ .sm\:justify-items-end {
justify-items: end;
}
- .justify-items-sm-center {
+ .sm\:justify-items-center {
justify-items: center;
}
- .justify-items-sm-stretch {
+ .sm\:justify-items-stretch {
justify-items: stretch;
}
- .justify-self-sm-start {
+ .sm\:justify-self-start {
justify-self: flex-start;
}
- .justify-self-sm-end {
+ .sm\:justify-self-end {
justify-self: flex-end;
}
- .justify-self-sm-center {
+ .sm\:justify-self-center {
justify-self: center;
}
- .align-items-sm-start {
+ .sm\:align-items-start {
align-items: flex-start;
}
- .align-items-sm-end {
+ .sm\:align-items-end {
align-items: flex-end;
}
- .align-items-sm-center {
+ .sm\:align-items-center {
align-items: center;
}
- .align-items-sm-baseline {
+ .sm\:align-items-baseline {
align-items: baseline;
}
- .align-items-sm-stretch {
+ .sm\:align-items-stretch {
align-items: stretch;
}
- .align-content-sm-start {
+ .sm\:align-content-start {
align-content: flex-start;
}
- .align-content-sm-end {
+ .sm\:align-content-end {
align-content: flex-end;
}
- .align-content-sm-center {
+ .sm\:align-content-center {
align-content: center;
}
- .align-content-sm-between {
+ .sm\:align-content-between {
align-content: space-between;
}
- .align-content-sm-around {
+ .sm\:align-content-around {
align-content: space-around;
}
- .align-content-sm-stretch {
+ .sm\:align-content-stretch {
align-content: stretch;
}
- .align-self-sm-auto {
+ .sm\:align-self-auto {
align-self: auto;
}
- .align-self-sm-start {
+ .sm\:align-self-start {
align-self: flex-start;
}
- .align-self-sm-end {
+ .sm\:align-self-end {
align-self: flex-end;
}
- .align-self-sm-center {
+ .sm\:align-self-center {
align-self: center;
}
- .align-self-sm-baseline {
+ .sm\:align-self-baseline {
align-self: baseline;
}
- .align-self-sm-stretch {
+ .sm\:align-self-stretch {
align-self: stretch;
}
- .place-items-sm-start {
+ .sm\:place-items-start {
place-items: start;
}
- .place-items-sm-end {
+ .sm\:place-items-end {
place-items: end;
}
- .place-items-sm-center {
+ .sm\:place-items-center {
place-items: center;
}
- .place-items-sm-stretch {
+ .sm\:place-items-stretch {
place-items: stretch;
}
- .grid-cols-sm-2 {
+ .sm\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
- .grid-cols-sm-3 {
+ .sm\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
- .grid-cols-sm-4 {
+ .sm\:grid-cols-4 {
grid-template-columns: repeat(4, 1fr);
}
- .grid-cols-sm-6 {
+ .sm\:grid-cols-6 {
grid-template-columns: repeat(6, 1fr);
}
- .grid-cols-sm-fill {
+ .sm\:grid-cols-fill {
grid-column: 1 / -1;
}
- .grid-auto-flow-sm-row {
+ .sm\:grid-auto-flow-row {
grid-auto-flow: row;
}
- .grid-auto-flow-sm-column {
+ .sm\:grid-auto-flow-column {
grid-auto-flow: column;
}
- .grid-auto-flow-sm-dense {
+ .sm\:grid-auto-flow-dense {
grid-auto-flow: dense;
}
- .order-sm-first {
+ .sm\:order-first {
order: -1;
}
- .order-sm-0 {
+ .sm\:order-0 {
order: 0;
}
- .order-sm-1 {
+ .sm\:order-1 {
order: 1;
}
- .order-sm-2 {
+ .sm\:order-2 {
order: 2;
}
- .order-sm-3 {
+ .sm\:order-3 {
order: 3;
}
- .order-sm-4 {
+ .sm\:order-4 {
order: 4;
}
- .order-sm-5 {
+ .sm\:order-5 {
order: 5;
}
- .order-sm-last {
+ .sm\:order-last {
order: 6;
}
- .m-sm-0 {
+ .sm\:m-0 {
margin: 0;
}
- .m-sm-1 {
+ .sm\:m-1 {
margin: 0.25rem;
}
- .m-sm-2 {
+ .sm\:m-2 {
margin: 0.5rem;
}
- .m-sm-3 {
+ .sm\:m-3 {
margin: 1rem;
}
- .m-sm-4 {
+ .sm\:m-4 {
margin: 1.5rem;
}
- .m-sm-5 {
+ .sm\:m-5 {
margin: 3rem;
}
- .m-sm-auto {
+ .sm\:m-auto {
margin: auto;
}
- .mx-sm-0 {
+ .sm\:mx-0 {
margin-inline: 0;
}
- .mx-sm-1 {
+ .sm\:mx-1 {
margin-inline: 0.25rem;
}
- .mx-sm-2 {
+ .sm\:mx-2 {
margin-inline: 0.5rem;
}
- .mx-sm-3 {
+ .sm\:mx-3 {
margin-inline: 1rem;
}
- .mx-sm-4 {
+ .sm\:mx-4 {
margin-inline: 1.5rem;
}
- .mx-sm-5 {
+ .sm\:mx-5 {
margin-inline: 3rem;
}
- .mx-sm-auto {
+ .sm\:mx-auto {
margin-inline: auto;
}
- .my-sm-0 {
+ .sm\:my-0 {
margin-block: 0;
}
- .my-sm-1 {
+ .sm\:my-1 {
margin-block: 0.25rem;
}
- .my-sm-2 {
+ .sm\:my-2 {
margin-block: 0.5rem;
}
- .my-sm-3 {
+ .sm\:my-3 {
margin-block: 1rem;
}
- .my-sm-4 {
+ .sm\:my-4 {
margin-block: 1.5rem;
}
- .my-sm-5 {
+ .sm\:my-5 {
margin-block: 3rem;
}
- .my-sm-auto {
+ .sm\:my-auto {
margin-block: auto;
}
- .mt-sm-0 {
+ .sm\:mt-0 {
margin-block-start: 0;
}
- .mt-sm-1 {
+ .sm\:mt-1 {
margin-block-start: 0.25rem;
}
- .mt-sm-2 {
+ .sm\:mt-2 {
margin-block-start: 0.5rem;
}
- .mt-sm-3 {
+ .sm\:mt-3 {
margin-block-start: 1rem;
}
- .mt-sm-4 {
+ .sm\:mt-4 {
margin-block-start: 1.5rem;
}
- .mt-sm-5 {
+ .sm\:mt-5 {
margin-block-start: 3rem;
}
- .mt-sm-auto {
+ .sm\:mt-auto {
margin-block-start: auto;
}
- .me-sm-0 {
+ .sm\:me-0 {
margin-inline-end: 0;
}
- .me-sm-1 {
+ .sm\:me-1 {
margin-inline-end: 0.25rem;
}
- .me-sm-2 {
+ .sm\:me-2 {
margin-inline-end: 0.5rem;
}
- .me-sm-3 {
+ .sm\:me-3 {
margin-inline-end: 1rem;
}
- .me-sm-4 {
+ .sm\:me-4 {
margin-inline-end: 1.5rem;
}
- .me-sm-5 {
+ .sm\:me-5 {
margin-inline-end: 3rem;
}
- .me-sm-auto {
+ .sm\:me-auto {
margin-inline-end: auto;
}
- .mb-sm-0 {
+ .sm\:mb-0 {
margin-block-end: 0;
}
- .mb-sm-1 {
+ .sm\:mb-1 {
margin-block-end: 0.25rem;
}
- .mb-sm-2 {
+ .sm\:mb-2 {
margin-block-end: 0.5rem;
}
- .mb-sm-3 {
+ .sm\:mb-3 {
margin-block-end: 1rem;
}
- .mb-sm-4 {
+ .sm\:mb-4 {
margin-block-end: 1.5rem;
}
- .mb-sm-5 {
+ .sm\:mb-5 {
margin-block-end: 3rem;
}
- .mb-sm-auto {
+ .sm\:mb-auto {
margin-block-end: auto;
}
- .ms-sm-0 {
+ .sm\:ms-0 {
margin-inline-start: 0;
}
- .ms-sm-1 {
+ .sm\:ms-1 {
margin-inline-start: 0.25rem;
}
- .ms-sm-2 {
+ .sm\:ms-2 {
margin-inline-start: 0.5rem;
}
- .ms-sm-3 {
+ .sm\:ms-3 {
margin-inline-start: 1rem;
}
- .ms-sm-4 {
+ .sm\:ms-4 {
margin-inline-start: 1.5rem;
}
- .ms-sm-5 {
+ .sm\:ms-5 {
margin-inline-start: 3rem;
}
- .ms-sm--1 {
+ .sm\:ms--1 {
margin-inline-start: -0.25rem;
}
- .ms-sm--2 {
+ .sm\:ms--2 {
margin-inline-start: -0.5rem;
}
- .ms-sm-auto {
+ .sm\:ms-auto {
margin-inline-start: auto;
}
- .p-sm-0 {
+ .sm\:p-0 {
padding: 0;
}
- .p-sm-1 {
+ .sm\:p-1 {
padding: 0.25rem;
}
- .p-sm-2 {
+ .sm\:p-2 {
padding: 0.5rem;
}
- .p-sm-3 {
+ .sm\:p-3 {
padding: 1rem;
}
- .p-sm-4 {
+ .sm\:p-4 {
padding: 1.5rem;
}
- .p-sm-5 {
+ .sm\:p-5 {
padding: 3rem;
}
- .px-sm-0 {
+ .sm\:px-0 {
padding-inline: 0;
}
- .px-sm-1 {
+ .sm\:px-1 {
padding-inline: 0.25rem;
}
- .px-sm-2 {
+ .sm\:px-2 {
padding-inline: 0.5rem;
}
- .px-sm-3 {
+ .sm\:px-3 {
padding-inline: 1rem;
}
- .px-sm-4 {
+ .sm\:px-4 {
padding-inline: 1.5rem;
}
- .px-sm-5 {
+ .sm\:px-5 {
padding-inline: 3rem;
}
- .py-sm-0 {
+ .sm\:py-0 {
padding-block: 0;
}
- .py-sm-1 {
+ .sm\:py-1 {
padding-block: 0.25rem;
}
- .py-sm-2 {
+ .sm\:py-2 {
padding-block: 0.5rem;
}
- .py-sm-3 {
+ .sm\:py-3 {
padding-block: 1rem;
}
- .py-sm-4 {
+ .sm\:py-4 {
padding-block: 1.5rem;
}
- .py-sm-5 {
+ .sm\:py-5 {
padding-block: 3rem;
}
- .pt-sm-0 {
+ .sm\:pt-0 {
padding-block-start: 0;
}
- .pt-sm-1 {
+ .sm\:pt-1 {
padding-block-start: 0.25rem;
}
- .pt-sm-2 {
+ .sm\:pt-2 {
padding-block-start: 0.5rem;
}
- .pt-sm-3 {
+ .sm\:pt-3 {
padding-block-start: 1rem;
}
- .pt-sm-4 {
+ .sm\:pt-4 {
padding-block-start: 1.5rem;
}
- .pt-sm-5 {
+ .sm\:pt-5 {
padding-block-start: 3rem;
}
- .pe-sm-0 {
+ .sm\:pe-0 {
padding-inline-end: 0;
}
- .pe-sm-1 {
+ .sm\:pe-1 {
padding-inline-end: 0.25rem;
}
- .pe-sm-2 {
+ .sm\:pe-2 {
padding-inline-end: 0.5rem;
}
- .pe-sm-3 {
+ .sm\:pe-3 {
padding-inline-end: 1rem;
}
- .pe-sm-4 {
+ .sm\:pe-4 {
padding-inline-end: 1.5rem;
}
- .pe-sm-5 {
+ .sm\:pe-5 {
padding-inline-end: 3rem;
}
- .pb-sm-0 {
+ .sm\:pb-0 {
padding-block-end: 0;
}
- .pb-sm-1 {
+ .sm\:pb-1 {
padding-block-end: 0.25rem;
}
- .pb-sm-2 {
+ .sm\:pb-2 {
padding-block-end: 0.5rem;
}
- .pb-sm-3 {
+ .sm\:pb-3 {
padding-block-end: 1rem;
}
- .pb-sm-4 {
+ .sm\:pb-4 {
padding-block-end: 1.5rem;
}
- .pb-sm-5 {
+ .sm\:pb-5 {
padding-block-end: 3rem;
}
- .ps-sm-0 {
+ .sm\:ps-0 {
padding-inline-start: 0;
}
- .ps-sm-1 {
+ .sm\:ps-1 {
padding-inline-start: 0.25rem;
}
- .ps-sm-2 {
+ .sm\:ps-2 {
padding-inline-start: 0.5rem;
}
- .ps-sm-3 {
+ .sm\:ps-3 {
padding-inline-start: 1rem;
}
- .ps-sm-4 {
+ .sm\:ps-4 {
padding-inline-start: 1.5rem;
}
- .ps-sm-5 {
+ .sm\:ps-5 {
padding-inline-start: 3rem;
}
- .gap-sm-0 {
+ .sm\:gap-0 {
gap: 0;
}
- .gap-sm-1 {
+ .sm\:gap-1 {
gap: 0.25rem;
}
- .gap-sm-2 {
+ .sm\:gap-2 {
gap: 0.5rem;
}
- .gap-sm-3 {
+ .sm\:gap-3 {
gap: 1rem;
}
- .gap-sm-4 {
+ .sm\:gap-4 {
gap: 1.5rem;
}
- .gap-sm-5 {
+ .sm\:gap-5 {
gap: 3rem;
}
- .row-gap-sm-0 {
+ .sm\:row-gap-0 {
row-gap: 0;
}
- .row-gap-sm-1 {
+ .sm\:row-gap-1 {
row-gap: 0.25rem;
}
- .row-gap-sm-2 {
+ .sm\:row-gap-2 {
row-gap: 0.5rem;
}
- .row-gap-sm-3 {
+ .sm\:row-gap-3 {
row-gap: 1rem;
}
- .row-gap-sm-4 {
+ .sm\:row-gap-4 {
row-gap: 1.5rem;
}
- .row-gap-sm-5 {
+ .sm\:row-gap-5 {
row-gap: 3rem;
}
- .column-gap-sm-0 {
+ .sm\:column-gap-0 {
-moz-column-gap: 0;
column-gap: 0;
}
- .column-gap-sm-1 {
+ .sm\:column-gap-1 {
-moz-column-gap: 0.25rem;
column-gap: 0.25rem;
}
- .column-gap-sm-2 {
+ .sm\:column-gap-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
- .column-gap-sm-3 {
+ .sm\:column-gap-3 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
- .column-gap-sm-4 {
+ .sm\:column-gap-4 {
-moz-column-gap: 1.5rem;
column-gap: 1.5rem;
}
- .column-gap-sm-5 {
+ .sm\:column-gap-5 {
-moz-column-gap: 3rem;
column-gap: 3rem;
}
- .text-sm-start {
+ .sm\:text-start {
text-align: start;
}
- .text-sm-end {
+ .sm\:text-end {
text-align: end;
}
- .text-sm-center {
+ .sm\:text-center {
text-align: center;
}
}
@media (width >= 768px) {
- .float-md-start {
+ .md\:float-start {
float: inline-start;
}
- .float-md-end {
+ .md\:float-end {
float: inline-end;
}
- .float-md-none {
+ .md\:float-none {
float: none;
}
- .object-fit-md-contain {
+ .md\:object-fit-contain {
-o-object-fit: contain;
object-fit: contain;
}
- .object-fit-md-cover {
+ .md\:object-fit-cover {
-o-object-fit: cover;
object-fit: cover;
}
- .object-fit-md-fill {
+ .md\:object-fit-fill {
-o-object-fit: fill;
object-fit: fill;
}
- .object-fit-md-scale {
+ .md\:object-fit-scale {
-o-object-fit: scale-down;
object-fit: scale-down;
}
- .object-fit-md-none {
+ .md\:object-fit-none {
-o-object-fit: none;
object-fit: none;
}
- .d-md-inline {
+ .md\:d-inline {
display: inline;
}
- .d-md-inline-block {
+ .md\:d-inline-block {
display: inline-block;
}
- .d-md-block {
+ .md\:d-block {
display: block;
}
- .d-md-grid {
+ .md\:d-grid {
display: grid;
}
- .d-md-inline-grid {
+ .md\:d-inline-grid {
display: inline-grid;
}
- .d-md-table {
+ .md\:d-table {
display: table;
}
- .d-md-table-row {
+ .md\:d-table-row {
display: table-row;
}
- .d-md-table-cell {
+ .md\:d-table-cell {
display: table-cell;
}
- .d-md-flex {
+ .md\:d-flex {
display: flex;
}
- .d-md-inline-flex {
+ .md\:d-inline-flex {
display: inline-flex;
}
- .d-md-contents {
+ .md\:d-contents {
display: contents;
}
- .d-md-flow-root {
+ .md\:d-flow-root {
display: flow-root;
}
- .d-md-none {
+ .md\:d-none {
display: none;
}
- .flex-md-fill {
+ .md\:flex-fill {
flex: 1 1 auto;
}
- .flex-md-row {
+ .md\:flex-row {
flex-direction: row;
}
- .flex-md-column {
+ .md\:flex-column {
flex-direction: column;
}
- .flex-md-row-reverse {
+ .md\:flex-row-reverse {
flex-direction: row-reverse;
}
- .flex-md-column-reverse {
+ .md\:flex-column-reverse {
flex-direction: column-reverse;
}
- .flex-md-grow-0 {
+ .md\:flex-grow-0 {
flex-grow: 0;
}
- .flex-md-grow-1 {
+ .md\:flex-grow-1 {
flex-grow: 1;
}
- .flex-md-shrink-0 {
+ .md\:flex-shrink-0 {
flex-shrink: 0;
}
- .flex-md-shrink-1 {
+ .md\:flex-shrink-1 {
flex-shrink: 1;
}
- .flex-md-wrap {
+ .md\:flex-wrap {
flex-wrap: wrap;
}
- .flex-md-nowrap {
+ .md\:flex-nowrap {
flex-wrap: nowrap;
}
- .flex-md-wrap-reverse {
+ .md\:flex-wrap-reverse {
flex-wrap: wrap-reverse;
}
- .justify-content-md-start {
+ .md\:justify-content-start {
justify-content: flex-start;
}
- .justify-content-md-end {
+ .md\:justify-content-end {
justify-content: flex-end;
}
- .justify-content-md-center {
+ .md\:justify-content-center {
justify-content: center;
}
- .justify-content-md-between {
+ .md\:justify-content-between {
justify-content: space-between;
}
- .justify-content-md-around {
+ .md\:justify-content-around {
justify-content: space-around;
}
- .justify-content-md-evenly {
+ .md\:justify-content-evenly {
justify-content: space-evenly;
}
- .justify-items-md-start {
+ .md\:justify-items-start {
justify-items: start;
}
- .justify-items-md-end {
+ .md\:justify-items-end {
justify-items: end;
}
- .justify-items-md-center {
+ .md\:justify-items-center {
justify-items: center;
}
- .justify-items-md-stretch {
+ .md\:justify-items-stretch {
justify-items: stretch;
}
- .justify-self-md-start {
+ .md\:justify-self-start {
justify-self: flex-start;
}
- .justify-self-md-end {
+ .md\:justify-self-end {
justify-self: flex-end;
}
- .justify-self-md-center {
+ .md\:justify-self-center {
justify-self: center;
}
- .align-items-md-start {
+ .md\:align-items-start {
align-items: flex-start;
}
- .align-items-md-end {
+ .md\:align-items-end {
align-items: flex-end;
}
- .align-items-md-center {
+ .md\:align-items-center {
align-items: center;
}
- .align-items-md-baseline {
+ .md\:align-items-baseline {
align-items: baseline;
}
- .align-items-md-stretch {
+ .md\:align-items-stretch {
align-items: stretch;
}
- .align-content-md-start {
+ .md\:align-content-start {
align-content: flex-start;
}
- .align-content-md-end {
+ .md\:align-content-end {
align-content: flex-end;
}
- .align-content-md-center {
+ .md\:align-content-center {
align-content: center;
}
- .align-content-md-between {
+ .md\:align-content-between {
align-content: space-between;
}
- .align-content-md-around {
+ .md\:align-content-around {
align-content: space-around;
}
- .align-content-md-stretch {
+ .md\:align-content-stretch {
align-content: stretch;
}
- .align-self-md-auto {
+ .md\:align-self-auto {
align-self: auto;
}
- .align-self-md-start {
+ .md\:align-self-start {
align-self: flex-start;
}
- .align-self-md-end {
+ .md\:align-self-end {
align-self: flex-end;
}
- .align-self-md-center {
+ .md\:align-self-center {
align-self: center;
}
- .align-self-md-baseline {
+ .md\:align-self-baseline {
align-self: baseline;
}
- .align-self-md-stretch {
+ .md\:align-self-stretch {
align-self: stretch;
}
- .place-items-md-start {
+ .md\:place-items-start {
place-items: start;
}
- .place-items-md-end {
+ .md\:place-items-end {
place-items: end;
}
- .place-items-md-center {
+ .md\:place-items-center {
place-items: center;
}
- .place-items-md-stretch {
+ .md\:place-items-stretch {
place-items: stretch;
}
- .grid-cols-md-2 {
+ .md\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
- .grid-cols-md-3 {
+ .md\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
- .grid-cols-md-4 {
+ .md\:grid-cols-4 {
grid-template-columns: repeat(4, 1fr);
}
- .grid-cols-md-6 {
+ .md\:grid-cols-6 {
grid-template-columns: repeat(6, 1fr);
}
- .grid-cols-md-fill {
+ .md\:grid-cols-fill {
grid-column: 1 / -1;
}
- .grid-auto-flow-md-row {
+ .md\:grid-auto-flow-row {
grid-auto-flow: row;
}
- .grid-auto-flow-md-column {
+ .md\:grid-auto-flow-column {
grid-auto-flow: column;
}
- .grid-auto-flow-md-dense {
+ .md\:grid-auto-flow-dense {
grid-auto-flow: dense;
}
- .order-md-first {
+ .md\:order-first {
order: -1;
}
- .order-md-0 {
+ .md\:order-0 {
order: 0;
}
- .order-md-1 {
+ .md\:order-1 {
order: 1;
}
- .order-md-2 {
+ .md\:order-2 {
order: 2;
}
- .order-md-3 {
+ .md\:order-3 {
order: 3;
}
- .order-md-4 {
+ .md\:order-4 {
order: 4;
}
- .order-md-5 {
+ .md\:order-5 {
order: 5;
}
- .order-md-last {
+ .md\:order-last {
order: 6;
}
- .m-md-0 {
+ .md\:m-0 {
margin: 0;
}
- .m-md-1 {
+ .md\:m-1 {
margin: 0.25rem;
}
- .m-md-2 {
+ .md\:m-2 {
margin: 0.5rem;
}
- .m-md-3 {
+ .md\:m-3 {
margin: 1rem;
}
- .m-md-4 {
+ .md\:m-4 {
margin: 1.5rem;
}
- .m-md-5 {
+ .md\:m-5 {
margin: 3rem;
}
- .m-md-auto {
+ .md\:m-auto {
margin: auto;
}
- .mx-md-0 {
+ .md\:mx-0 {
margin-inline: 0;
}
- .mx-md-1 {
+ .md\:mx-1 {
margin-inline: 0.25rem;
}
- .mx-md-2 {
+ .md\:mx-2 {
margin-inline: 0.5rem;
}
- .mx-md-3 {
+ .md\:mx-3 {
margin-inline: 1rem;
}
- .mx-md-4 {
+ .md\:mx-4 {
margin-inline: 1.5rem;
}
- .mx-md-5 {
+ .md\:mx-5 {
margin-inline: 3rem;
}
- .mx-md-auto {
+ .md\:mx-auto {
margin-inline: auto;
}
- .my-md-0 {
+ .md\:my-0 {
margin-block: 0;
}
- .my-md-1 {
+ .md\:my-1 {
margin-block: 0.25rem;
}
- .my-md-2 {
+ .md\:my-2 {
margin-block: 0.5rem;
}
- .my-md-3 {
+ .md\:my-3 {
margin-block: 1rem;
}
- .my-md-4 {
+ .md\:my-4 {
margin-block: 1.5rem;
}
- .my-md-5 {
+ .md\:my-5 {
margin-block: 3rem;
}
- .my-md-auto {
+ .md\:my-auto {
margin-block: auto;
}
- .mt-md-0 {
+ .md\:mt-0 {
margin-block-start: 0;
}
- .mt-md-1 {
+ .md\:mt-1 {
margin-block-start: 0.25rem;
}
- .mt-md-2 {
+ .md\:mt-2 {
margin-block-start: 0.5rem;
}
- .mt-md-3 {
+ .md\:mt-3 {
margin-block-start: 1rem;
}
- .mt-md-4 {
+ .md\:mt-4 {
margin-block-start: 1.5rem;
}
- .mt-md-5 {
+ .md\:mt-5 {
margin-block-start: 3rem;
}
- .mt-md-auto {
+ .md\:mt-auto {
margin-block-start: auto;
}
- .me-md-0 {
+ .md\:me-0 {
margin-inline-end: 0;
}
- .me-md-1 {
+ .md\:me-1 {
margin-inline-end: 0.25rem;
}
- .me-md-2 {
+ .md\:me-2 {
margin-inline-end: 0.5rem;
}
- .me-md-3 {
+ .md\:me-3 {
margin-inline-end: 1rem;
}
- .me-md-4 {
+ .md\:me-4 {
margin-inline-end: 1.5rem;
}
- .me-md-5 {
+ .md\:me-5 {
margin-inline-end: 3rem;
}
- .me-md-auto {
+ .md\:me-auto {
margin-inline-end: auto;
}
- .mb-md-0 {
+ .md\:mb-0 {
margin-block-end: 0;
}
- .mb-md-1 {
+ .md\:mb-1 {
margin-block-end: 0.25rem;
}
- .mb-md-2 {
+ .md\:mb-2 {
margin-block-end: 0.5rem;
}
- .mb-md-3 {
+ .md\:mb-3 {
margin-block-end: 1rem;
}
- .mb-md-4 {
+ .md\:mb-4 {
margin-block-end: 1.5rem;
}
- .mb-md-5 {
+ .md\:mb-5 {
margin-block-end: 3rem;
}
- .mb-md-auto {
+ .md\:mb-auto {
margin-block-end: auto;
}
- .ms-md-0 {
+ .md\:ms-0 {
margin-inline-start: 0;
}
- .ms-md-1 {
+ .md\:ms-1 {
margin-inline-start: 0.25rem;
}
- .ms-md-2 {
+ .md\:ms-2 {
margin-inline-start: 0.5rem;
}
- .ms-md-3 {
+ .md\:ms-3 {
margin-inline-start: 1rem;
}
- .ms-md-4 {
+ .md\:ms-4 {
margin-inline-start: 1.5rem;
}
- .ms-md-5 {
+ .md\:ms-5 {
margin-inline-start: 3rem;
}
- .ms-md--1 {
+ .md\:ms--1 {
margin-inline-start: -0.25rem;
}
- .ms-md--2 {
+ .md\:ms--2 {
margin-inline-start: -0.5rem;
}
- .ms-md-auto {
+ .md\:ms-auto {
margin-inline-start: auto;
}
- .p-md-0 {
+ .md\:p-0 {
padding: 0;
}
- .p-md-1 {
+ .md\:p-1 {
padding: 0.25rem;
}
- .p-md-2 {
+ .md\:p-2 {
padding: 0.5rem;
}
- .p-md-3 {
+ .md\:p-3 {
padding: 1rem;
}
- .p-md-4 {
+ .md\:p-4 {
padding: 1.5rem;
}
- .p-md-5 {
+ .md\:p-5 {
padding: 3rem;
}
- .px-md-0 {
+ .md\:px-0 {
padding-inline: 0;
}
- .px-md-1 {
+ .md\:px-1 {
padding-inline: 0.25rem;
}
- .px-md-2 {
+ .md\:px-2 {
padding-inline: 0.5rem;
}
- .px-md-3 {
+ .md\:px-3 {
padding-inline: 1rem;
}
- .px-md-4 {
+ .md\:px-4 {
padding-inline: 1.5rem;
}
- .px-md-5 {
+ .md\:px-5 {
padding-inline: 3rem;
}
- .py-md-0 {
+ .md\:py-0 {
padding-block: 0;
}
- .py-md-1 {
+ .md\:py-1 {
padding-block: 0.25rem;
}
- .py-md-2 {
+ .md\:py-2 {
padding-block: 0.5rem;
}
- .py-md-3 {
+ .md\:py-3 {
padding-block: 1rem;
}
- .py-md-4 {
+ .md\:py-4 {
padding-block: 1.5rem;
}
- .py-md-5 {
+ .md\:py-5 {
padding-block: 3rem;
}
- .pt-md-0 {
+ .md\:pt-0 {
padding-block-start: 0;
}
- .pt-md-1 {
+ .md\:pt-1 {
padding-block-start: 0.25rem;
}
- .pt-md-2 {
+ .md\:pt-2 {
padding-block-start: 0.5rem;
}
- .pt-md-3 {
+ .md\:pt-3 {
padding-block-start: 1rem;
}
- .pt-md-4 {
+ .md\:pt-4 {
padding-block-start: 1.5rem;
}
- .pt-md-5 {
+ .md\:pt-5 {
padding-block-start: 3rem;
}
- .pe-md-0 {
+ .md\:pe-0 {
padding-inline-end: 0;
}
- .pe-md-1 {
+ .md\:pe-1 {
padding-inline-end: 0.25rem;
}
- .pe-md-2 {
+ .md\:pe-2 {
padding-inline-end: 0.5rem;
}
- .pe-md-3 {
+ .md\:pe-3 {
padding-inline-end: 1rem;
}
- .pe-md-4 {
+ .md\:pe-4 {
padding-inline-end: 1.5rem;
}
- .pe-md-5 {
+ .md\:pe-5 {
padding-inline-end: 3rem;
}
- .pb-md-0 {
+ .md\:pb-0 {
padding-block-end: 0;
}
- .pb-md-1 {
+ .md\:pb-1 {
padding-block-end: 0.25rem;
}
- .pb-md-2 {
+ .md\:pb-2 {
padding-block-end: 0.5rem;
}
- .pb-md-3 {
+ .md\:pb-3 {
padding-block-end: 1rem;
}
- .pb-md-4 {
+ .md\:pb-4 {
padding-block-end: 1.5rem;
}
- .pb-md-5 {
+ .md\:pb-5 {
padding-block-end: 3rem;
}
- .ps-md-0 {
+ .md\:ps-0 {
padding-inline-start: 0;
}
- .ps-md-1 {
+ .md\:ps-1 {
padding-inline-start: 0.25rem;
}
- .ps-md-2 {
+ .md\:ps-2 {
padding-inline-start: 0.5rem;
}
- .ps-md-3 {
+ .md\:ps-3 {
padding-inline-start: 1rem;
}
- .ps-md-4 {
+ .md\:ps-4 {
padding-inline-start: 1.5rem;
}
- .ps-md-5 {
+ .md\:ps-5 {
padding-inline-start: 3rem;
}
- .gap-md-0 {
+ .md\:gap-0 {
gap: 0;
}
- .gap-md-1 {
+ .md\:gap-1 {
gap: 0.25rem;
}
- .gap-md-2 {
+ .md\:gap-2 {
gap: 0.5rem;
}
- .gap-md-3 {
+ .md\:gap-3 {
gap: 1rem;
}
- .gap-md-4 {
+ .md\:gap-4 {
gap: 1.5rem;
}
- .gap-md-5 {
+ .md\:gap-5 {
gap: 3rem;
}
- .row-gap-md-0 {
+ .md\:row-gap-0 {
row-gap: 0;
}
- .row-gap-md-1 {
+ .md\:row-gap-1 {
row-gap: 0.25rem;
}
- .row-gap-md-2 {
+ .md\:row-gap-2 {
row-gap: 0.5rem;
}
- .row-gap-md-3 {
+ .md\:row-gap-3 {
row-gap: 1rem;
}
- .row-gap-md-4 {
+ .md\:row-gap-4 {
row-gap: 1.5rem;
}
- .row-gap-md-5 {
+ .md\:row-gap-5 {
row-gap: 3rem;
}
- .column-gap-md-0 {
+ .md\:column-gap-0 {
-moz-column-gap: 0;
column-gap: 0;
}
- .column-gap-md-1 {
+ .md\:column-gap-1 {
-moz-column-gap: 0.25rem;
column-gap: 0.25rem;
}
- .column-gap-md-2 {
+ .md\:column-gap-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
- .column-gap-md-3 {
+ .md\:column-gap-3 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
- .column-gap-md-4 {
+ .md\:column-gap-4 {
-moz-column-gap: 1.5rem;
column-gap: 1.5rem;
}
- .column-gap-md-5 {
+ .md\:column-gap-5 {
-moz-column-gap: 3rem;
column-gap: 3rem;
}
- .text-md-start {
+ .md\:text-start {
text-align: start;
}
- .text-md-end {
+ .md\:text-end {
text-align: end;
}
- .text-md-center {
+ .md\:text-center {
text-align: center;
}
}
@media (width >= 1024px) {
- .float-lg-start {
+ .lg\:float-start {
float: inline-start;
}
- .float-lg-end {
+ .lg\:float-end {
float: inline-end;
}
- .float-lg-none {
+ .lg\:float-none {
float: none;
}
- .object-fit-lg-contain {
+ .lg\:object-fit-contain {
-o-object-fit: contain;
object-fit: contain;
}
- .object-fit-lg-cover {
+ .lg\:object-fit-cover {
-o-object-fit: cover;
object-fit: cover;
}
- .object-fit-lg-fill {
+ .lg\:object-fit-fill {
-o-object-fit: fill;
object-fit: fill;
}
- .object-fit-lg-scale {
+ .lg\:object-fit-scale {
-o-object-fit: scale-down;
object-fit: scale-down;
}
- .object-fit-lg-none {
+ .lg\:object-fit-none {
-o-object-fit: none;
object-fit: none;
}
- .d-lg-inline {
+ .lg\:d-inline {
display: inline;
}
- .d-lg-inline-block {
+ .lg\:d-inline-block {
display: inline-block;
}
- .d-lg-block {
+ .lg\:d-block {
display: block;
}
- .d-lg-grid {
+ .lg\:d-grid {
display: grid;
}
- .d-lg-inline-grid {
+ .lg\:d-inline-grid {
display: inline-grid;
}
- .d-lg-table {
+ .lg\:d-table {
display: table;
}
- .d-lg-table-row {
+ .lg\:d-table-row {
display: table-row;
}
- .d-lg-table-cell {
+ .lg\:d-table-cell {
display: table-cell;
}
- .d-lg-flex {
+ .lg\:d-flex {
display: flex;
}
- .d-lg-inline-flex {
+ .lg\:d-inline-flex {
display: inline-flex;
}
- .d-lg-contents {
+ .lg\:d-contents {
display: contents;
}
- .d-lg-flow-root {
+ .lg\:d-flow-root {
display: flow-root;
}
- .d-lg-none {
+ .lg\:d-none {
display: none;
}
- .flex-lg-fill {
+ .lg\:flex-fill {
flex: 1 1 auto;
}
- .flex-lg-row {
+ .lg\:flex-row {
flex-direction: row;
}
- .flex-lg-column {
+ .lg\:flex-column {
flex-direction: column;
}
- .flex-lg-row-reverse {
+ .lg\:flex-row-reverse {
flex-direction: row-reverse;
}
- .flex-lg-column-reverse {
+ .lg\:flex-column-reverse {
flex-direction: column-reverse;
}
- .flex-lg-grow-0 {
+ .lg\:flex-grow-0 {
flex-grow: 0;
}
- .flex-lg-grow-1 {
+ .lg\:flex-grow-1 {
flex-grow: 1;
}
- .flex-lg-shrink-0 {
+ .lg\:flex-shrink-0 {
flex-shrink: 0;
}
- .flex-lg-shrink-1 {
+ .lg\:flex-shrink-1 {
flex-shrink: 1;
}
- .flex-lg-wrap {
+ .lg\:flex-wrap {
flex-wrap: wrap;
}
- .flex-lg-nowrap {
+ .lg\:flex-nowrap {
flex-wrap: nowrap;
}
- .flex-lg-wrap-reverse {
+ .lg\:flex-wrap-reverse {
flex-wrap: wrap-reverse;
}
- .justify-content-lg-start {
+ .lg\:justify-content-start {
justify-content: flex-start;
}
- .justify-content-lg-end {
+ .lg\:justify-content-end {
justify-content: flex-end;
}
- .justify-content-lg-center {
+ .lg\:justify-content-center {
justify-content: center;
}
- .justify-content-lg-between {
+ .lg\:justify-content-between {
justify-content: space-between;
}
- .justify-content-lg-around {
+ .lg\:justify-content-around {
justify-content: space-around;
}
- .justify-content-lg-evenly {
+ .lg\:justify-content-evenly {
justify-content: space-evenly;
}
- .justify-items-lg-start {
+ .lg\:justify-items-start {
justify-items: start;
}
- .justify-items-lg-end {
+ .lg\:justify-items-end {
justify-items: end;
}
- .justify-items-lg-center {
+ .lg\:justify-items-center {
justify-items: center;
}
- .justify-items-lg-stretch {
+ .lg\:justify-items-stretch {
justify-items: stretch;
}
- .justify-self-lg-start {
+ .lg\:justify-self-start {
justify-self: flex-start;
}
- .justify-self-lg-end {
+ .lg\:justify-self-end {
justify-self: flex-end;
}
- .justify-self-lg-center {
+ .lg\:justify-self-center {
justify-self: center;
}
- .align-items-lg-start {
+ .lg\:align-items-start {
align-items: flex-start;
}
- .align-items-lg-end {
+ .lg\:align-items-end {
align-items: flex-end;
}
- .align-items-lg-center {
+ .lg\:align-items-center {
align-items: center;
}
- .align-items-lg-baseline {
+ .lg\:align-items-baseline {
align-items: baseline;
}
- .align-items-lg-stretch {
+ .lg\:align-items-stretch {
align-items: stretch;
}
- .align-content-lg-start {
+ .lg\:align-content-start {
align-content: flex-start;
}
- .align-content-lg-end {
+ .lg\:align-content-end {
align-content: flex-end;
}
- .align-content-lg-center {
+ .lg\:align-content-center {
align-content: center;
}
- .align-content-lg-between {
+ .lg\:align-content-between {
align-content: space-between;
}
- .align-content-lg-around {
+ .lg\:align-content-around {
align-content: space-around;
}
- .align-content-lg-stretch {
+ .lg\:align-content-stretch {
align-content: stretch;
}
- .align-self-lg-auto {
+ .lg\:align-self-auto {
align-self: auto;
}
- .align-self-lg-start {
+ .lg\:align-self-start {
align-self: flex-start;
}
- .align-self-lg-end {
+ .lg\:align-self-end {
align-self: flex-end;
}
- .align-self-lg-center {
+ .lg\:align-self-center {
align-self: center;
}
- .align-self-lg-baseline {
+ .lg\:align-self-baseline {
align-self: baseline;
}
- .align-self-lg-stretch {
+ .lg\:align-self-stretch {
align-self: stretch;
}
- .place-items-lg-start {
+ .lg\:place-items-start {
place-items: start;
}
- .place-items-lg-end {
+ .lg\:place-items-end {
place-items: end;
}
- .place-items-lg-center {
+ .lg\:place-items-center {
place-items: center;
}
- .place-items-lg-stretch {
+ .lg\:place-items-stretch {
place-items: stretch;
}
- .grid-cols-lg-2 {
+ .lg\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
- .grid-cols-lg-3 {
+ .lg\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
- .grid-cols-lg-4 {
+ .lg\:grid-cols-4 {
grid-template-columns: repeat(4, 1fr);
}
- .grid-cols-lg-6 {
+ .lg\:grid-cols-6 {
grid-template-columns: repeat(6, 1fr);
}
- .grid-cols-lg-fill {
+ .lg\:grid-cols-fill {
grid-column: 1 / -1;
}
- .grid-auto-flow-lg-row {
+ .lg\:grid-auto-flow-row {
grid-auto-flow: row;
}
- .grid-auto-flow-lg-column {
+ .lg\:grid-auto-flow-column {
grid-auto-flow: column;
}
- .grid-auto-flow-lg-dense {
+ .lg\:grid-auto-flow-dense {
grid-auto-flow: dense;
}
- .order-lg-first {
+ .lg\:order-first {
order: -1;
}
- .order-lg-0 {
+ .lg\:order-0 {
order: 0;
}
- .order-lg-1 {
+ .lg\:order-1 {
order: 1;
}
- .order-lg-2 {
+ .lg\:order-2 {
order: 2;
}
- .order-lg-3 {
+ .lg\:order-3 {
order: 3;
}
- .order-lg-4 {
+ .lg\:order-4 {
order: 4;
}
- .order-lg-5 {
+ .lg\:order-5 {
order: 5;
}
- .order-lg-last {
+ .lg\:order-last {
order: 6;
}
- .m-lg-0 {
+ .lg\:m-0 {
margin: 0;
}
- .m-lg-1 {
+ .lg\:m-1 {
margin: 0.25rem;
}
- .m-lg-2 {
+ .lg\:m-2 {
margin: 0.5rem;
}
- .m-lg-3 {
+ .lg\:m-3 {
margin: 1rem;
}
- .m-lg-4 {
+ .lg\:m-4 {
margin: 1.5rem;
}
- .m-lg-5 {
+ .lg\:m-5 {
margin: 3rem;
}
- .m-lg-auto {
+ .lg\:m-auto {
margin: auto;
}
- .mx-lg-0 {
+ .lg\:mx-0 {
margin-inline: 0;
}
- .mx-lg-1 {
+ .lg\:mx-1 {
margin-inline: 0.25rem;
}
- .mx-lg-2 {
+ .lg\:mx-2 {
margin-inline: 0.5rem;
}
- .mx-lg-3 {
+ .lg\:mx-3 {
margin-inline: 1rem;
}
- .mx-lg-4 {
+ .lg\:mx-4 {
margin-inline: 1.5rem;
}
- .mx-lg-5 {
+ .lg\:mx-5 {
margin-inline: 3rem;
}
- .mx-lg-auto {
+ .lg\:mx-auto {
margin-inline: auto;
}
- .my-lg-0 {
+ .lg\:my-0 {
margin-block: 0;
}
- .my-lg-1 {
+ .lg\:my-1 {
margin-block: 0.25rem;
}
- .my-lg-2 {
+ .lg\:my-2 {
margin-block: 0.5rem;
}
- .my-lg-3 {
+ .lg\:my-3 {
margin-block: 1rem;
}
- .my-lg-4 {
+ .lg\:my-4 {
margin-block: 1.5rem;
}
- .my-lg-5 {
+ .lg\:my-5 {
margin-block: 3rem;
}
- .my-lg-auto {
+ .lg\:my-auto {
margin-block: auto;
}
- .mt-lg-0 {
+ .lg\:mt-0 {
margin-block-start: 0;
}
- .mt-lg-1 {
+ .lg\:mt-1 {
margin-block-start: 0.25rem;
}
- .mt-lg-2 {
+ .lg\:mt-2 {
margin-block-start: 0.5rem;
}
- .mt-lg-3 {
+ .lg\:mt-3 {
margin-block-start: 1rem;
}
- .mt-lg-4 {
+ .lg\:mt-4 {
margin-block-start: 1.5rem;
}
- .mt-lg-5 {
+ .lg\:mt-5 {
margin-block-start: 3rem;
}
- .mt-lg-auto {
+ .lg\:mt-auto {
margin-block-start: auto;
}
- .me-lg-0 {
+ .lg\:me-0 {
margin-inline-end: 0;
}
- .me-lg-1 {
+ .lg\:me-1 {
margin-inline-end: 0.25rem;
}
- .me-lg-2 {
+ .lg\:me-2 {
margin-inline-end: 0.5rem;
}
- .me-lg-3 {
+ .lg\:me-3 {
margin-inline-end: 1rem;
}
- .me-lg-4 {
+ .lg\:me-4 {
margin-inline-end: 1.5rem;
}
- .me-lg-5 {
+ .lg\:me-5 {
margin-inline-end: 3rem;
}
- .me-lg-auto {
+ .lg\:me-auto {
margin-inline-end: auto;
}
- .mb-lg-0 {
+ .lg\:mb-0 {
margin-block-end: 0;
}
- .mb-lg-1 {
+ .lg\:mb-1 {
margin-block-end: 0.25rem;
}
- .mb-lg-2 {
+ .lg\:mb-2 {
margin-block-end: 0.5rem;
}
- .mb-lg-3 {
+ .lg\:mb-3 {
margin-block-end: 1rem;
}
- .mb-lg-4 {
+ .lg\:mb-4 {
margin-block-end: 1.5rem;
}
- .mb-lg-5 {
+ .lg\:mb-5 {
margin-block-end: 3rem;
}
- .mb-lg-auto {
+ .lg\:mb-auto {
margin-block-end: auto;
}
- .ms-lg-0 {
+ .lg\:ms-0 {
margin-inline-start: 0;
}
- .ms-lg-1 {
+ .lg\:ms-1 {
margin-inline-start: 0.25rem;
}
- .ms-lg-2 {
+ .lg\:ms-2 {
margin-inline-start: 0.5rem;
}
- .ms-lg-3 {
+ .lg\:ms-3 {
margin-inline-start: 1rem;
}
- .ms-lg-4 {
+ .lg\:ms-4 {
margin-inline-start: 1.5rem;
}
- .ms-lg-5 {
+ .lg\:ms-5 {
margin-inline-start: 3rem;
}
- .ms-lg--1 {
+ .lg\:ms--1 {
margin-inline-start: -0.25rem;
}
- .ms-lg--2 {
+ .lg\:ms--2 {
margin-inline-start: -0.5rem;
}
- .ms-lg-auto {
+ .lg\:ms-auto {
margin-inline-start: auto;
}
- .p-lg-0 {
+ .lg\:p-0 {
padding: 0;
}
- .p-lg-1 {
+ .lg\:p-1 {
padding: 0.25rem;
}
- .p-lg-2 {
+ .lg\:p-2 {
padding: 0.5rem;
}
- .p-lg-3 {
+ .lg\:p-3 {
padding: 1rem;
}
- .p-lg-4 {
+ .lg\:p-4 {
padding: 1.5rem;
}
- .p-lg-5 {
+ .lg\:p-5 {
padding: 3rem;
}
- .px-lg-0 {
+ .lg\:px-0 {
padding-inline: 0;
}
- .px-lg-1 {
+ .lg\:px-1 {
padding-inline: 0.25rem;
}
- .px-lg-2 {
+ .lg\:px-2 {
padding-inline: 0.5rem;
}
- .px-lg-3 {
+ .lg\:px-3 {
padding-inline: 1rem;
}
- .px-lg-4 {
+ .lg\:px-4 {
padding-inline: 1.5rem;
}
- .px-lg-5 {
+ .lg\:px-5 {
padding-inline: 3rem;
}
- .py-lg-0 {
+ .lg\:py-0 {
padding-block: 0;
}
- .py-lg-1 {
+ .lg\:py-1 {
padding-block: 0.25rem;
}
- .py-lg-2 {
+ .lg\:py-2 {
padding-block: 0.5rem;
}
- .py-lg-3 {
+ .lg\:py-3 {
padding-block: 1rem;
}
- .py-lg-4 {
+ .lg\:py-4 {
padding-block: 1.5rem;
}
- .py-lg-5 {
+ .lg\:py-5 {
padding-block: 3rem;
}
- .pt-lg-0 {
+ .lg\:pt-0 {
padding-block-start: 0;
}
- .pt-lg-1 {
+ .lg\:pt-1 {
padding-block-start: 0.25rem;
}
- .pt-lg-2 {
+ .lg\:pt-2 {
padding-block-start: 0.5rem;
}
- .pt-lg-3 {
+ .lg\:pt-3 {
padding-block-start: 1rem;
}
- .pt-lg-4 {
+ .lg\:pt-4 {
padding-block-start: 1.5rem;
}
- .pt-lg-5 {
+ .lg\:pt-5 {
padding-block-start: 3rem;
}
- .pe-lg-0 {
+ .lg\:pe-0 {
padding-inline-end: 0;
}
- .pe-lg-1 {
+ .lg\:pe-1 {
padding-inline-end: 0.25rem;
}
- .pe-lg-2 {
+ .lg\:pe-2 {
padding-inline-end: 0.5rem;
}
- .pe-lg-3 {
+ .lg\:pe-3 {
padding-inline-end: 1rem;
}
- .pe-lg-4 {
+ .lg\:pe-4 {
padding-inline-end: 1.5rem;
}
- .pe-lg-5 {
+ .lg\:pe-5 {
padding-inline-end: 3rem;
}
- .pb-lg-0 {
+ .lg\:pb-0 {
padding-block-end: 0;
}
- .pb-lg-1 {
+ .lg\:pb-1 {
padding-block-end: 0.25rem;
}
- .pb-lg-2 {
+ .lg\:pb-2 {
padding-block-end: 0.5rem;
}
- .pb-lg-3 {
+ .lg\:pb-3 {
padding-block-end: 1rem;
}
- .pb-lg-4 {
+ .lg\:pb-4 {
padding-block-end: 1.5rem;
}
- .pb-lg-5 {
+ .lg\:pb-5 {
padding-block-end: 3rem;
}
- .ps-lg-0 {
+ .lg\:ps-0 {
padding-inline-start: 0;
}
- .ps-lg-1 {
+ .lg\:ps-1 {
padding-inline-start: 0.25rem;
}
- .ps-lg-2 {
+ .lg\:ps-2 {
padding-inline-start: 0.5rem;
}
- .ps-lg-3 {
+ .lg\:ps-3 {
padding-inline-start: 1rem;
}
- .ps-lg-4 {
+ .lg\:ps-4 {
padding-inline-start: 1.5rem;
}
- .ps-lg-5 {
+ .lg\:ps-5 {
padding-inline-start: 3rem;
}
- .gap-lg-0 {
+ .lg\:gap-0 {
gap: 0;
}
- .gap-lg-1 {
+ .lg\:gap-1 {
gap: 0.25rem;
}
- .gap-lg-2 {
+ .lg\:gap-2 {
gap: 0.5rem;
}
- .gap-lg-3 {
+ .lg\:gap-3 {
gap: 1rem;
}
- .gap-lg-4 {
+ .lg\:gap-4 {
gap: 1.5rem;
}
- .gap-lg-5 {
+ .lg\:gap-5 {
gap: 3rem;
}
- .row-gap-lg-0 {
+ .lg\:row-gap-0 {
row-gap: 0;
}
- .row-gap-lg-1 {
+ .lg\:row-gap-1 {
row-gap: 0.25rem;
}
- .row-gap-lg-2 {
+ .lg\:row-gap-2 {
row-gap: 0.5rem;
}
- .row-gap-lg-3 {
+ .lg\:row-gap-3 {
row-gap: 1rem;
}
- .row-gap-lg-4 {
+ .lg\:row-gap-4 {
row-gap: 1.5rem;
}
- .row-gap-lg-5 {
+ .lg\:row-gap-5 {
row-gap: 3rem;
}
- .column-gap-lg-0 {
+ .lg\:column-gap-0 {
-moz-column-gap: 0;
column-gap: 0;
}
- .column-gap-lg-1 {
+ .lg\:column-gap-1 {
-moz-column-gap: 0.25rem;
column-gap: 0.25rem;
}
- .column-gap-lg-2 {
+ .lg\:column-gap-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
- .column-gap-lg-3 {
+ .lg\:column-gap-3 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
- .column-gap-lg-4 {
+ .lg\:column-gap-4 {
-moz-column-gap: 1.5rem;
column-gap: 1.5rem;
}
- .column-gap-lg-5 {
+ .lg\:column-gap-5 {
-moz-column-gap: 3rem;
column-gap: 3rem;
}
- .text-lg-start {
+ .lg\:text-start {
text-align: start;
}
- .text-lg-end {
+ .lg\:text-end {
text-align: end;
}
- .text-lg-center {
+ .lg\:text-center {
text-align: center;
}
}
@media (width >= 1280px) {
- .float-xl-start {
+ .xl\:float-start {
float: inline-start;
}
- .float-xl-end {
+ .xl\:float-end {
float: inline-end;
}
- .float-xl-none {
+ .xl\:float-none {
float: none;
}
- .object-fit-xl-contain {
+ .xl\:object-fit-contain {
-o-object-fit: contain;
object-fit: contain;
}
- .object-fit-xl-cover {
+ .xl\:object-fit-cover {
-o-object-fit: cover;
object-fit: cover;
}
- .object-fit-xl-fill {
+ .xl\:object-fit-fill {
-o-object-fit: fill;
object-fit: fill;
}
- .object-fit-xl-scale {
+ .xl\:object-fit-scale {
-o-object-fit: scale-down;
object-fit: scale-down;
}
- .object-fit-xl-none {
+ .xl\:object-fit-none {
-o-object-fit: none;
object-fit: none;
}
- .d-xl-inline {
+ .xl\:d-inline {
display: inline;
}
- .d-xl-inline-block {
+ .xl\:d-inline-block {
display: inline-block;
}
- .d-xl-block {
+ .xl\:d-block {
display: block;
}
- .d-xl-grid {
+ .xl\:d-grid {
display: grid;
}
- .d-xl-inline-grid {
+ .xl\:d-inline-grid {
display: inline-grid;
}
- .d-xl-table {
+ .xl\:d-table {
display: table;
}
- .d-xl-table-row {
+ .xl\:d-table-row {
display: table-row;
}
- .d-xl-table-cell {
+ .xl\:d-table-cell {
display: table-cell;
}
- .d-xl-flex {
+ .xl\:d-flex {
display: flex;
}
- .d-xl-inline-flex {
+ .xl\:d-inline-flex {
display: inline-flex;
}
- .d-xl-contents {
+ .xl\:d-contents {
display: contents;
}
- .d-xl-flow-root {
+ .xl\:d-flow-root {
display: flow-root;
}
- .d-xl-none {
+ .xl\:d-none {
display: none;
}
- .flex-xl-fill {
+ .xl\:flex-fill {
flex: 1 1 auto;
}
- .flex-xl-row {
+ .xl\:flex-row {
flex-direction: row;
}
- .flex-xl-column {
+ .xl\:flex-column {
flex-direction: column;
}
- .flex-xl-row-reverse {
+ .xl\:flex-row-reverse {
flex-direction: row-reverse;
}
- .flex-xl-column-reverse {
+ .xl\:flex-column-reverse {
flex-direction: column-reverse;
}
- .flex-xl-grow-0 {
+ .xl\:flex-grow-0 {
flex-grow: 0;
}
- .flex-xl-grow-1 {
+ .xl\:flex-grow-1 {
flex-grow: 1;
}
- .flex-xl-shrink-0 {
+ .xl\:flex-shrink-0 {
flex-shrink: 0;
}
- .flex-xl-shrink-1 {
+ .xl\:flex-shrink-1 {
flex-shrink: 1;
}
- .flex-xl-wrap {
+ .xl\:flex-wrap {
flex-wrap: wrap;
}
- .flex-xl-nowrap {
+ .xl\:flex-nowrap {
flex-wrap: nowrap;
}
- .flex-xl-wrap-reverse {
+ .xl\:flex-wrap-reverse {
flex-wrap: wrap-reverse;
}
- .justify-content-xl-start {
+ .xl\:justify-content-start {
justify-content: flex-start;
}
- .justify-content-xl-end {
+ .xl\:justify-content-end {
justify-content: flex-end;
}
- .justify-content-xl-center {
+ .xl\:justify-content-center {
justify-content: center;
}
- .justify-content-xl-between {
+ .xl\:justify-content-between {
justify-content: space-between;
}
- .justify-content-xl-around {
+ .xl\:justify-content-around {
justify-content: space-around;
}
- .justify-content-xl-evenly {
+ .xl\:justify-content-evenly {
justify-content: space-evenly;
}
- .justify-items-xl-start {
+ .xl\:justify-items-start {
justify-items: start;
}
- .justify-items-xl-end {
+ .xl\:justify-items-end {
justify-items: end;
}
- .justify-items-xl-center {
+ .xl\:justify-items-center {
justify-items: center;
}
- .justify-items-xl-stretch {
+ .xl\:justify-items-stretch {
justify-items: stretch;
}
- .justify-self-xl-start {
+ .xl\:justify-self-start {
justify-self: flex-start;
}
- .justify-self-xl-end {
+ .xl\:justify-self-end {
justify-self: flex-end;
}
- .justify-self-xl-center {
+ .xl\:justify-self-center {
justify-self: center;
}
- .align-items-xl-start {
+ .xl\:align-items-start {
align-items: flex-start;
}
- .align-items-xl-end {
+ .xl\:align-items-end {
align-items: flex-end;
}
- .align-items-xl-center {
+ .xl\:align-items-center {
align-items: center;
}
- .align-items-xl-baseline {
+ .xl\:align-items-baseline {
align-items: baseline;
}
- .align-items-xl-stretch {
+ .xl\:align-items-stretch {
align-items: stretch;
}
- .align-content-xl-start {
+ .xl\:align-content-start {
align-content: flex-start;
}
- .align-content-xl-end {
+ .xl\:align-content-end {
align-content: flex-end;
}
- .align-content-xl-center {
+ .xl\:align-content-center {
align-content: center;
}
- .align-content-xl-between {
+ .xl\:align-content-between {
align-content: space-between;
}
- .align-content-xl-around {
+ .xl\:align-content-around {
align-content: space-around;
}
- .align-content-xl-stretch {
+ .xl\:align-content-stretch {
align-content: stretch;
}
- .align-self-xl-auto {
+ .xl\:align-self-auto {
align-self: auto;
}
- .align-self-xl-start {
+ .xl\:align-self-start {
align-self: flex-start;
}
- .align-self-xl-end {
+ .xl\:align-self-end {
align-self: flex-end;
}
- .align-self-xl-center {
+ .xl\:align-self-center {
align-self: center;
}
- .align-self-xl-baseline {
+ .xl\:align-self-baseline {
align-self: baseline;
}
- .align-self-xl-stretch {
+ .xl\:align-self-stretch {
align-self: stretch;
}
- .place-items-xl-start {
+ .xl\:place-items-start {
place-items: start;
}
- .place-items-xl-end {
+ .xl\:place-items-end {
place-items: end;
}
- .place-items-xl-center {
+ .xl\:place-items-center {
place-items: center;
}
- .place-items-xl-stretch {
+ .xl\:place-items-stretch {
place-items: stretch;
}
- .grid-cols-xl-2 {
+ .xl\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
- .grid-cols-xl-3 {
+ .xl\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
- .grid-cols-xl-4 {
+ .xl\:grid-cols-4 {
grid-template-columns: repeat(4, 1fr);
}
- .grid-cols-xl-6 {
+ .xl\:grid-cols-6 {
grid-template-columns: repeat(6, 1fr);
}
- .grid-cols-xl-fill {
+ .xl\:grid-cols-fill {
grid-column: 1 / -1;
}
- .grid-auto-flow-xl-row {
+ .xl\:grid-auto-flow-row {
grid-auto-flow: row;
}
- .grid-auto-flow-xl-column {
+ .xl\:grid-auto-flow-column {
grid-auto-flow: column;
}
- .grid-auto-flow-xl-dense {
+ .xl\:grid-auto-flow-dense {
grid-auto-flow: dense;
}
- .order-xl-first {
+ .xl\:order-first {
order: -1;
}
- .order-xl-0 {
+ .xl\:order-0 {
order: 0;
}
- .order-xl-1 {
+ .xl\:order-1 {
order: 1;
}
- .order-xl-2 {
+ .xl\:order-2 {
order: 2;
}
- .order-xl-3 {
+ .xl\:order-3 {
order: 3;
}
- .order-xl-4 {
+ .xl\:order-4 {
order: 4;
}
- .order-xl-5 {
+ .xl\:order-5 {
order: 5;
}
- .order-xl-last {
+ .xl\:order-last {
order: 6;
}
- .m-xl-0 {
+ .xl\:m-0 {
margin: 0;
}
- .m-xl-1 {
+ .xl\:m-1 {
margin: 0.25rem;
}
- .m-xl-2 {
+ .xl\:m-2 {
margin: 0.5rem;
}
- .m-xl-3 {
+ .xl\:m-3 {
margin: 1rem;
}
- .m-xl-4 {
+ .xl\:m-4 {
margin: 1.5rem;
}
- .m-xl-5 {
+ .xl\:m-5 {
margin: 3rem;
}
- .m-xl-auto {
+ .xl\:m-auto {
margin: auto;
}
- .mx-xl-0 {
+ .xl\:mx-0 {
margin-inline: 0;
}
- .mx-xl-1 {
+ .xl\:mx-1 {
margin-inline: 0.25rem;
}
- .mx-xl-2 {
+ .xl\:mx-2 {
margin-inline: 0.5rem;
}
- .mx-xl-3 {
+ .xl\:mx-3 {
margin-inline: 1rem;
}
- .mx-xl-4 {
+ .xl\:mx-4 {
margin-inline: 1.5rem;
}
- .mx-xl-5 {
+ .xl\:mx-5 {
margin-inline: 3rem;
}
- .mx-xl-auto {
+ .xl\:mx-auto {
margin-inline: auto;
}
- .my-xl-0 {
+ .xl\:my-0 {
margin-block: 0;
}
- .my-xl-1 {
+ .xl\:my-1 {
margin-block: 0.25rem;
}
- .my-xl-2 {
+ .xl\:my-2 {
margin-block: 0.5rem;
}
- .my-xl-3 {
+ .xl\:my-3 {
margin-block: 1rem;
}
- .my-xl-4 {
+ .xl\:my-4 {
margin-block: 1.5rem;
}
- .my-xl-5 {
+ .xl\:my-5 {
margin-block: 3rem;
}
- .my-xl-auto {
+ .xl\:my-auto {
margin-block: auto;
}
- .mt-xl-0 {
+ .xl\:mt-0 {
margin-block-start: 0;
}
- .mt-xl-1 {
+ .xl\:mt-1 {
margin-block-start: 0.25rem;
}
- .mt-xl-2 {
+ .xl\:mt-2 {
margin-block-start: 0.5rem;
}
- .mt-xl-3 {
+ .xl\:mt-3 {
margin-block-start: 1rem;
}
- .mt-xl-4 {
+ .xl\:mt-4 {
margin-block-start: 1.5rem;
}
- .mt-xl-5 {
+ .xl\:mt-5 {
margin-block-start: 3rem;
}
- .mt-xl-auto {
+ .xl\:mt-auto {
margin-block-start: auto;
}
- .me-xl-0 {
+ .xl\:me-0 {
margin-inline-end: 0;
}
- .me-xl-1 {
+ .xl\:me-1 {
margin-inline-end: 0.25rem;
}
- .me-xl-2 {
+ .xl\:me-2 {
margin-inline-end: 0.5rem;
}
- .me-xl-3 {
+ .xl\:me-3 {
margin-inline-end: 1rem;
}
- .me-xl-4 {
+ .xl\:me-4 {
margin-inline-end: 1.5rem;
}
- .me-xl-5 {
+ .xl\:me-5 {
margin-inline-end: 3rem;
}
- .me-xl-auto {
+ .xl\:me-auto {
margin-inline-end: auto;
}
- .mb-xl-0 {
+ .xl\:mb-0 {
margin-block-end: 0;
}
- .mb-xl-1 {
+ .xl\:mb-1 {
margin-block-end: 0.25rem;
}
- .mb-xl-2 {
+ .xl\:mb-2 {
margin-block-end: 0.5rem;
}
- .mb-xl-3 {
+ .xl\:mb-3 {
margin-block-end: 1rem;
}
- .mb-xl-4 {
+ .xl\:mb-4 {
margin-block-end: 1.5rem;
}
- .mb-xl-5 {
+ .xl\:mb-5 {
margin-block-end: 3rem;
}
- .mb-xl-auto {
+ .xl\:mb-auto {
margin-block-end: auto;
}
- .ms-xl-0 {
+ .xl\:ms-0 {
margin-inline-start: 0;
}
- .ms-xl-1 {
+ .xl\:ms-1 {
margin-inline-start: 0.25rem;
}
- .ms-xl-2 {
+ .xl\:ms-2 {
margin-inline-start: 0.5rem;
}
- .ms-xl-3 {
+ .xl\:ms-3 {
margin-inline-start: 1rem;
}
- .ms-xl-4 {
+ .xl\:ms-4 {
margin-inline-start: 1.5rem;
}
- .ms-xl-5 {
+ .xl\:ms-5 {
margin-inline-start: 3rem;
}
- .ms-xl--1 {
+ .xl\:ms--1 {
margin-inline-start: -0.25rem;
}
- .ms-xl--2 {
+ .xl\:ms--2 {
margin-inline-start: -0.5rem;
}
- .ms-xl-auto {
+ .xl\:ms-auto {
margin-inline-start: auto;
}
- .p-xl-0 {
+ .xl\:p-0 {
padding: 0;
}
- .p-xl-1 {
+ .xl\:p-1 {
padding: 0.25rem;
}
- .p-xl-2 {
+ .xl\:p-2 {
padding: 0.5rem;
}
- .p-xl-3 {
+ .xl\:p-3 {
padding: 1rem;
}
- .p-xl-4 {
+ .xl\:p-4 {
padding: 1.5rem;
}
- .p-xl-5 {
+ .xl\:p-5 {
padding: 3rem;
}
- .px-xl-0 {
+ .xl\:px-0 {
padding-inline: 0;
}
- .px-xl-1 {
+ .xl\:px-1 {
padding-inline: 0.25rem;
}
- .px-xl-2 {
+ .xl\:px-2 {
padding-inline: 0.5rem;
}
- .px-xl-3 {
+ .xl\:px-3 {
padding-inline: 1rem;
}
- .px-xl-4 {
+ .xl\:px-4 {
padding-inline: 1.5rem;
}
- .px-xl-5 {
+ .xl\:px-5 {
padding-inline: 3rem;
}
- .py-xl-0 {
+ .xl\:py-0 {
padding-block: 0;
}
- .py-xl-1 {
+ .xl\:py-1 {
padding-block: 0.25rem;
}
- .py-xl-2 {
+ .xl\:py-2 {
padding-block: 0.5rem;
}
- .py-xl-3 {
+ .xl\:py-3 {
padding-block: 1rem;
}
- .py-xl-4 {
+ .xl\:py-4 {
padding-block: 1.5rem;
}
- .py-xl-5 {
+ .xl\:py-5 {
padding-block: 3rem;
}
- .pt-xl-0 {
+ .xl\:pt-0 {
padding-block-start: 0;
}
- .pt-xl-1 {
+ .xl\:pt-1 {
padding-block-start: 0.25rem;
}
- .pt-xl-2 {
+ .xl\:pt-2 {
padding-block-start: 0.5rem;
}
- .pt-xl-3 {
+ .xl\:pt-3 {
padding-block-start: 1rem;
}
- .pt-xl-4 {
+ .xl\:pt-4 {
padding-block-start: 1.5rem;
}
- .pt-xl-5 {
+ .xl\:pt-5 {
padding-block-start: 3rem;
}
- .pe-xl-0 {
+ .xl\:pe-0 {
padding-inline-end: 0;
}
- .pe-xl-1 {
+ .xl\:pe-1 {
padding-inline-end: 0.25rem;
}
- .pe-xl-2 {
+ .xl\:pe-2 {
padding-inline-end: 0.5rem;
}
- .pe-xl-3 {
+ .xl\:pe-3 {
padding-inline-end: 1rem;
}
- .pe-xl-4 {
+ .xl\:pe-4 {
padding-inline-end: 1.5rem;
}
- .pe-xl-5 {
+ .xl\:pe-5 {
padding-inline-end: 3rem;
}
- .pb-xl-0 {
+ .xl\:pb-0 {
padding-block-end: 0;
}
- .pb-xl-1 {
+ .xl\:pb-1 {
padding-block-end: 0.25rem;
}
- .pb-xl-2 {
+ .xl\:pb-2 {
padding-block-end: 0.5rem;
}
- .pb-xl-3 {
+ .xl\:pb-3 {
padding-block-end: 1rem;
}
- .pb-xl-4 {
+ .xl\:pb-4 {
padding-block-end: 1.5rem;
}
- .pb-xl-5 {
+ .xl\:pb-5 {
padding-block-end: 3rem;
}
- .ps-xl-0 {
+ .xl\:ps-0 {
padding-inline-start: 0;
}
- .ps-xl-1 {
+ .xl\:ps-1 {
padding-inline-start: 0.25rem;
}
- .ps-xl-2 {
+ .xl\:ps-2 {
padding-inline-start: 0.5rem;
}
- .ps-xl-3 {
+ .xl\:ps-3 {
padding-inline-start: 1rem;
}
- .ps-xl-4 {
+ .xl\:ps-4 {
padding-inline-start: 1.5rem;
}
- .ps-xl-5 {
+ .xl\:ps-5 {
padding-inline-start: 3rem;
}
- .gap-xl-0 {
+ .xl\:gap-0 {
gap: 0;
}
- .gap-xl-1 {
+ .xl\:gap-1 {
gap: 0.25rem;
}
- .gap-xl-2 {
+ .xl\:gap-2 {
gap: 0.5rem;
}
- .gap-xl-3 {
+ .xl\:gap-3 {
gap: 1rem;
}
- .gap-xl-4 {
+ .xl\:gap-4 {
gap: 1.5rem;
}
- .gap-xl-5 {
+ .xl\:gap-5 {
gap: 3rem;
}
- .row-gap-xl-0 {
+ .xl\:row-gap-0 {
row-gap: 0;
}
- .row-gap-xl-1 {
+ .xl\:row-gap-1 {
row-gap: 0.25rem;
}
- .row-gap-xl-2 {
+ .xl\:row-gap-2 {
row-gap: 0.5rem;
}
- .row-gap-xl-3 {
+ .xl\:row-gap-3 {
row-gap: 1rem;
}
- .row-gap-xl-4 {
+ .xl\:row-gap-4 {
row-gap: 1.5rem;
}
- .row-gap-xl-5 {
+ .xl\:row-gap-5 {
row-gap: 3rem;
}
- .column-gap-xl-0 {
+ .xl\:column-gap-0 {
-moz-column-gap: 0;
column-gap: 0;
}
- .column-gap-xl-1 {
+ .xl\:column-gap-1 {
-moz-column-gap: 0.25rem;
column-gap: 0.25rem;
}
- .column-gap-xl-2 {
+ .xl\:column-gap-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
- .column-gap-xl-3 {
+ .xl\:column-gap-3 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
- .column-gap-xl-4 {
+ .xl\:column-gap-4 {
-moz-column-gap: 1.5rem;
column-gap: 1.5rem;
}
- .column-gap-xl-5 {
+ .xl\:column-gap-5 {
-moz-column-gap: 3rem;
column-gap: 3rem;
}
- .text-xl-start {
+ .xl\:text-start {
text-align: start;
}
- .text-xl-end {
+ .xl\:text-end {
text-align: end;
}
- .text-xl-center {
+ .xl\:text-center {
text-align: center;
}
}
@media (width >= 1536px) {
- .float-2xl-start {
+ .\32 xl\:float-start {
float: inline-start;
}
- .float-2xl-end {
+ .\32 xl\:float-end {
float: inline-end;
}
- .float-2xl-none {
+ .\32 xl\:float-none {
float: none;
}
- .object-fit-2xl-contain {
+ .\32 xl\:object-fit-contain {
-o-object-fit: contain;
object-fit: contain;
}
- .object-fit-2xl-cover {
+ .\32 xl\:object-fit-cover {
-o-object-fit: cover;
object-fit: cover;
}
- .object-fit-2xl-fill {
+ .\32 xl\:object-fit-fill {
-o-object-fit: fill;
object-fit: fill;
}
- .object-fit-2xl-scale {
+ .\32 xl\:object-fit-scale {
-o-object-fit: scale-down;
object-fit: scale-down;
}
- .object-fit-2xl-none {
+ .\32 xl\:object-fit-none {
-o-object-fit: none;
object-fit: none;
}
- .d-2xl-inline {
+ .\32 xl\:d-inline {
display: inline;
}
- .d-2xl-inline-block {
+ .\32 xl\:d-inline-block {
display: inline-block;
}
- .d-2xl-block {
+ .\32 xl\:d-block {
display: block;
}
- .d-2xl-grid {
+ .\32 xl\:d-grid {
display: grid;
}
- .d-2xl-inline-grid {
+ .\32 xl\:d-inline-grid {
display: inline-grid;
}
- .d-2xl-table {
+ .\32 xl\:d-table {
display: table;
}
- .d-2xl-table-row {
+ .\32 xl\:d-table-row {
display: table-row;
}
- .d-2xl-table-cell {
+ .\32 xl\:d-table-cell {
display: table-cell;
}
- .d-2xl-flex {
+ .\32 xl\:d-flex {
display: flex;
}
- .d-2xl-inline-flex {
+ .\32 xl\:d-inline-flex {
display: inline-flex;
}
- .d-2xl-contents {
+ .\32 xl\:d-contents {
display: contents;
}
- .d-2xl-flow-root {
+ .\32 xl\:d-flow-root {
display: flow-root;
}
- .d-2xl-none {
+ .\32 xl\:d-none {
display: none;
}
- .flex-2xl-fill {
+ .\32 xl\:flex-fill {
flex: 1 1 auto;
}
- .flex-2xl-row {
+ .\32 xl\:flex-row {
flex-direction: row;
}
- .flex-2xl-column {
+ .\32 xl\:flex-column {
flex-direction: column;
}
- .flex-2xl-row-reverse {
+ .\32 xl\:flex-row-reverse {
flex-direction: row-reverse;
}
- .flex-2xl-column-reverse {
+ .\32 xl\:flex-column-reverse {
flex-direction: column-reverse;
}
- .flex-2xl-grow-0 {
+ .\32 xl\:flex-grow-0 {
flex-grow: 0;
}
- .flex-2xl-grow-1 {
+ .\32 xl\:flex-grow-1 {
flex-grow: 1;
}
- .flex-2xl-shrink-0 {
+ .\32 xl\:flex-shrink-0 {
flex-shrink: 0;
}
- .flex-2xl-shrink-1 {
+ .\32 xl\:flex-shrink-1 {
flex-shrink: 1;
}
- .flex-2xl-wrap {
+ .\32 xl\:flex-wrap {
flex-wrap: wrap;
}
- .flex-2xl-nowrap {
+ .\32 xl\:flex-nowrap {
flex-wrap: nowrap;
}
- .flex-2xl-wrap-reverse {
+ .\32 xl\:flex-wrap-reverse {
flex-wrap: wrap-reverse;
}
- .justify-content-2xl-start {
+ .\32 xl\:justify-content-start {
justify-content: flex-start;
}
- .justify-content-2xl-end {
+ .\32 xl\:justify-content-end {
justify-content: flex-end;
}
- .justify-content-2xl-center {
+ .\32 xl\:justify-content-center {
justify-content: center;
}
- .justify-content-2xl-between {
+ .\32 xl\:justify-content-between {
justify-content: space-between;
}
- .justify-content-2xl-around {
+ .\32 xl\:justify-content-around {
justify-content: space-around;
}
- .justify-content-2xl-evenly {
+ .\32 xl\:justify-content-evenly {
justify-content: space-evenly;
}
- .justify-items-2xl-start {
+ .\32 xl\:justify-items-start {
justify-items: start;
}
- .justify-items-2xl-end {
+ .\32 xl\:justify-items-end {
justify-items: end;
}
- .justify-items-2xl-center {
+ .\32 xl\:justify-items-center {
justify-items: center;
}
- .justify-items-2xl-stretch {
+ .\32 xl\:justify-items-stretch {
justify-items: stretch;
}
- .justify-self-2xl-start {
+ .\32 xl\:justify-self-start {
justify-self: flex-start;
}
- .justify-self-2xl-end {
+ .\32 xl\:justify-self-end {
justify-self: flex-end;
}
- .justify-self-2xl-center {
+ .\32 xl\:justify-self-center {
justify-self: center;
}
- .align-items-2xl-start {
+ .\32 xl\:align-items-start {
align-items: flex-start;
}
- .align-items-2xl-end {
+ .\32 xl\:align-items-end {
align-items: flex-end;
}
- .align-items-2xl-center {
+ .\32 xl\:align-items-center {
align-items: center;
}
- .align-items-2xl-baseline {
+ .\32 xl\:align-items-baseline {
align-items: baseline;
}
- .align-items-2xl-stretch {
+ .\32 xl\:align-items-stretch {
align-items: stretch;
}
- .align-content-2xl-start {
+ .\32 xl\:align-content-start {
align-content: flex-start;
}
- .align-content-2xl-end {
+ .\32 xl\:align-content-end {
align-content: flex-end;
}
- .align-content-2xl-center {
+ .\32 xl\:align-content-center {
align-content: center;
}
- .align-content-2xl-between {
+ .\32 xl\:align-content-between {
align-content: space-between;
}
- .align-content-2xl-around {
+ .\32 xl\:align-content-around {
align-content: space-around;
}
- .align-content-2xl-stretch {
+ .\32 xl\:align-content-stretch {
align-content: stretch;
}
- .align-self-2xl-auto {
+ .\32 xl\:align-self-auto {
align-self: auto;
}
- .align-self-2xl-start {
+ .\32 xl\:align-self-start {
align-self: flex-start;
}
- .align-self-2xl-end {
+ .\32 xl\:align-self-end {
align-self: flex-end;
}
- .align-self-2xl-center {
+ .\32 xl\:align-self-center {
align-self: center;
}
- .align-self-2xl-baseline {
+ .\32 xl\:align-self-baseline {
align-self: baseline;
}
- .align-self-2xl-stretch {
+ .\32 xl\:align-self-stretch {
align-self: stretch;
}
- .place-items-2xl-start {
+ .\32 xl\:place-items-start {
place-items: start;
}
- .place-items-2xl-end {
+ .\32 xl\:place-items-end {
place-items: end;
}
- .place-items-2xl-center {
+ .\32 xl\:place-items-center {
place-items: center;
}
- .place-items-2xl-stretch {
+ .\32 xl\:place-items-stretch {
place-items: stretch;
}
- .grid-cols-2xl-2 {
+ .\32 xl\:grid-cols-2 {
grid-template-columns: repeat(2, 1fr);
}
- .grid-cols-2xl-3 {
+ .\32 xl\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr);
}
- .grid-cols-2xl-4 {
+ .\32 xl\:grid-cols-4 {
grid-template-columns: repeat(4, 1fr);
}
- .grid-cols-2xl-6 {
+ .\32 xl\:grid-cols-6 {
grid-template-columns: repeat(6, 1fr);
}
- .grid-cols-2xl-fill {
+ .\32 xl\:grid-cols-fill {
grid-column: 1 / -1;
}
- .grid-auto-flow-2xl-row {
+ .\32 xl\:grid-auto-flow-row {
grid-auto-flow: row;
}
- .grid-auto-flow-2xl-column {
+ .\32 xl\:grid-auto-flow-column {
grid-auto-flow: column;
}
- .grid-auto-flow-2xl-dense {
+ .\32 xl\:grid-auto-flow-dense {
grid-auto-flow: dense;
}
- .order-2xl-first {
+ .\32 xl\:order-first {
order: -1;
}
- .order-2xl-0 {
+ .\32 xl\:order-0 {
order: 0;
}
- .order-2xl-1 {
+ .\32 xl\:order-1 {
order: 1;
}
- .order-2xl-2 {
+ .\32 xl\:order-2 {
order: 2;
}
- .order-2xl-3 {
+ .\32 xl\:order-3 {
order: 3;
}
- .order-2xl-4 {
+ .\32 xl\:order-4 {
order: 4;
}
- .order-2xl-5 {
+ .\32 xl\:order-5 {
order: 5;
}
- .order-2xl-last {
+ .\32 xl\:order-last {
order: 6;
}
- .m-2xl-0 {
+ .\32 xl\:m-0 {
margin: 0;
}
- .m-2xl-1 {
+ .\32 xl\:m-1 {
margin: 0.25rem;
}
- .m-2xl-2 {
+ .\32 xl\:m-2 {
margin: 0.5rem;
}
- .m-2xl-3 {
+ .\32 xl\:m-3 {
margin: 1rem;
}
- .m-2xl-4 {
+ .\32 xl\:m-4 {
margin: 1.5rem;
}
- .m-2xl-5 {
+ .\32 xl\:m-5 {
margin: 3rem;
}
- .m-2xl-auto {
+ .\32 xl\:m-auto {
margin: auto;
}
- .mx-2xl-0 {
+ .\32 xl\:mx-0 {
margin-inline: 0;
}
- .mx-2xl-1 {
+ .\32 xl\:mx-1 {
margin-inline: 0.25rem;
}
- .mx-2xl-2 {
+ .\32 xl\:mx-2 {
margin-inline: 0.5rem;
}
- .mx-2xl-3 {
+ .\32 xl\:mx-3 {
margin-inline: 1rem;
}
- .mx-2xl-4 {
+ .\32 xl\:mx-4 {
margin-inline: 1.5rem;
}
- .mx-2xl-5 {
+ .\32 xl\:mx-5 {
margin-inline: 3rem;
}
- .mx-2xl-auto {
+ .\32 xl\:mx-auto {
margin-inline: auto;
}
- .my-2xl-0 {
+ .\32 xl\:my-0 {
margin-block: 0;
}
- .my-2xl-1 {
+ .\32 xl\:my-1 {
margin-block: 0.25rem;
}
- .my-2xl-2 {
+ .\32 xl\:my-2 {
margin-block: 0.5rem;
}
- .my-2xl-3 {
+ .\32 xl\:my-3 {
margin-block: 1rem;
}
- .my-2xl-4 {
+ .\32 xl\:my-4 {
margin-block: 1.5rem;
}
- .my-2xl-5 {
+ .\32 xl\:my-5 {
margin-block: 3rem;
}
- .my-2xl-auto {
+ .\32 xl\:my-auto {
margin-block: auto;
}
- .mt-2xl-0 {
+ .\32 xl\:mt-0 {
margin-block-start: 0;
}
- .mt-2xl-1 {
+ .\32 xl\:mt-1 {
margin-block-start: 0.25rem;
}
- .mt-2xl-2 {
+ .\32 xl\:mt-2 {
margin-block-start: 0.5rem;
}
- .mt-2xl-3 {
+ .\32 xl\:mt-3 {
margin-block-start: 1rem;
}
- .mt-2xl-4 {
+ .\32 xl\:mt-4 {
margin-block-start: 1.5rem;
}
- .mt-2xl-5 {
+ .\32 xl\:mt-5 {
margin-block-start: 3rem;
}
- .mt-2xl-auto {
+ .\32 xl\:mt-auto {
margin-block-start: auto;
}
- .me-2xl-0 {
+ .\32 xl\:me-0 {
margin-inline-end: 0;
}
- .me-2xl-1 {
+ .\32 xl\:me-1 {
margin-inline-end: 0.25rem;
}
- .me-2xl-2 {
+ .\32 xl\:me-2 {
margin-inline-end: 0.5rem;
}
- .me-2xl-3 {
+ .\32 xl\:me-3 {
margin-inline-end: 1rem;
}
- .me-2xl-4 {
+ .\32 xl\:me-4 {
margin-inline-end: 1.5rem;
}
- .me-2xl-5 {
+ .\32 xl\:me-5 {
margin-inline-end: 3rem;
}
- .me-2xl-auto {
+ .\32 xl\:me-auto {
margin-inline-end: auto;
}
- .mb-2xl-0 {
+ .\32 xl\:mb-0 {
margin-block-end: 0;
}
- .mb-2xl-1 {
+ .\32 xl\:mb-1 {
margin-block-end: 0.25rem;
}
- .mb-2xl-2 {
+ .\32 xl\:mb-2 {
margin-block-end: 0.5rem;
}
- .mb-2xl-3 {
+ .\32 xl\:mb-3 {
margin-block-end: 1rem;
}
- .mb-2xl-4 {
+ .\32 xl\:mb-4 {
margin-block-end: 1.5rem;
}
- .mb-2xl-5 {
+ .\32 xl\:mb-5 {
margin-block-end: 3rem;
}
- .mb-2xl-auto {
+ .\32 xl\:mb-auto {
margin-block-end: auto;
}
- .ms-2xl-0 {
+ .\32 xl\:ms-0 {
margin-inline-start: 0;
}
- .ms-2xl-1 {
+ .\32 xl\:ms-1 {
margin-inline-start: 0.25rem;
}
- .ms-2xl-2 {
+ .\32 xl\:ms-2 {
margin-inline-start: 0.5rem;
}
- .ms-2xl-3 {
+ .\32 xl\:ms-3 {
margin-inline-start: 1rem;
}
- .ms-2xl-4 {
+ .\32 xl\:ms-4 {
margin-inline-start: 1.5rem;
}
- .ms-2xl-5 {
+ .\32 xl\:ms-5 {
margin-inline-start: 3rem;
}
- .ms-2xl--1 {
+ .\32 xl\:ms--1 {
margin-inline-start: -0.25rem;
}
- .ms-2xl--2 {
+ .\32 xl\:ms--2 {
margin-inline-start: -0.5rem;
}
- .ms-2xl-auto {
+ .\32 xl\:ms-auto {
margin-inline-start: auto;
}
- .p-2xl-0 {
+ .\32 xl\:p-0 {
padding: 0;
}
- .p-2xl-1 {
+ .\32 xl\:p-1 {
padding: 0.25rem;
}
- .p-2xl-2 {
+ .\32 xl\:p-2 {
padding: 0.5rem;
}
- .p-2xl-3 {
+ .\32 xl\:p-3 {
padding: 1rem;
}
- .p-2xl-4 {
+ .\32 xl\:p-4 {
padding: 1.5rem;
}
- .p-2xl-5 {
+ .\32 xl\:p-5 {
padding: 3rem;
}
- .px-2xl-0 {
+ .\32 xl\:px-0 {
padding-inline: 0;
}
- .px-2xl-1 {
+ .\32 xl\:px-1 {
padding-inline: 0.25rem;
}
- .px-2xl-2 {
+ .\32 xl\:px-2 {
padding-inline: 0.5rem;
}
- .px-2xl-3 {
+ .\32 xl\:px-3 {
padding-inline: 1rem;
}
- .px-2xl-4 {
+ .\32 xl\:px-4 {
padding-inline: 1.5rem;
}
- .px-2xl-5 {
+ .\32 xl\:px-5 {
padding-inline: 3rem;
}
- .py-2xl-0 {
+ .\32 xl\:py-0 {
padding-block: 0;
}
- .py-2xl-1 {
+ .\32 xl\:py-1 {
padding-block: 0.25rem;
}
- .py-2xl-2 {
+ .\32 xl\:py-2 {
padding-block: 0.5rem;
}
- .py-2xl-3 {
+ .\32 xl\:py-3 {
padding-block: 1rem;
}
- .py-2xl-4 {
+ .\32 xl\:py-4 {
padding-block: 1.5rem;
}
- .py-2xl-5 {
+ .\32 xl\:py-5 {
padding-block: 3rem;
}
- .pt-2xl-0 {
+ .\32 xl\:pt-0 {
padding-block-start: 0;
}
- .pt-2xl-1 {
+ .\32 xl\:pt-1 {
padding-block-start: 0.25rem;
}
- .pt-2xl-2 {
+ .\32 xl\:pt-2 {
padding-block-start: 0.5rem;
}
- .pt-2xl-3 {
+ .\32 xl\:pt-3 {
padding-block-start: 1rem;
}
- .pt-2xl-4 {
+ .\32 xl\:pt-4 {
padding-block-start: 1.5rem;
}
- .pt-2xl-5 {
+ .\32 xl\:pt-5 {
padding-block-start: 3rem;
}
- .pe-2xl-0 {
+ .\32 xl\:pe-0 {
padding-inline-end: 0;
}
- .pe-2xl-1 {
+ .\32 xl\:pe-1 {
padding-inline-end: 0.25rem;
}
- .pe-2xl-2 {
+ .\32 xl\:pe-2 {
padding-inline-end: 0.5rem;
}
- .pe-2xl-3 {
+ .\32 xl\:pe-3 {
padding-inline-end: 1rem;
}
- .pe-2xl-4 {
+ .\32 xl\:pe-4 {
padding-inline-end: 1.5rem;
}
- .pe-2xl-5 {
+ .\32 xl\:pe-5 {
padding-inline-end: 3rem;
}
- .pb-2xl-0 {
+ .\32 xl\:pb-0 {
padding-block-end: 0;
}
- .pb-2xl-1 {
+ .\32 xl\:pb-1 {
padding-block-end: 0.25rem;
}
- .pb-2xl-2 {
+ .\32 xl\:pb-2 {
padding-block-end: 0.5rem;
}
- .pb-2xl-3 {
+ .\32 xl\:pb-3 {
padding-block-end: 1rem;
}
- .pb-2xl-4 {
+ .\32 xl\:pb-4 {
padding-block-end: 1.5rem;
}
- .pb-2xl-5 {
+ .\32 xl\:pb-5 {
padding-block-end: 3rem;
}
- .ps-2xl-0 {
+ .\32 xl\:ps-0 {
padding-inline-start: 0;
}
- .ps-2xl-1 {
+ .\32 xl\:ps-1 {
padding-inline-start: 0.25rem;
}
- .ps-2xl-2 {
+ .\32 xl\:ps-2 {
padding-inline-start: 0.5rem;
}
- .ps-2xl-3 {
+ .\32 xl\:ps-3 {
padding-inline-start: 1rem;
}
- .ps-2xl-4 {
+ .\32 xl\:ps-4 {
padding-inline-start: 1.5rem;
}
- .ps-2xl-5 {
+ .\32 xl\:ps-5 {
padding-inline-start: 3rem;
}
- .gap-2xl-0 {
+ .\32 xl\:gap-0 {
gap: 0;
}
- .gap-2xl-1 {
+ .\32 xl\:gap-1 {
gap: 0.25rem;
}
- .gap-2xl-2 {
+ .\32 xl\:gap-2 {
gap: 0.5rem;
}
- .gap-2xl-3 {
+ .\32 xl\:gap-3 {
gap: 1rem;
}
- .gap-2xl-4 {
+ .\32 xl\:gap-4 {
gap: 1.5rem;
}
- .gap-2xl-5 {
+ .\32 xl\:gap-5 {
gap: 3rem;
}
- .row-gap-2xl-0 {
+ .\32 xl\:row-gap-0 {
row-gap: 0;
}
- .row-gap-2xl-1 {
+ .\32 xl\:row-gap-1 {
row-gap: 0.25rem;
}
- .row-gap-2xl-2 {
+ .\32 xl\:row-gap-2 {
row-gap: 0.5rem;
}
- .row-gap-2xl-3 {
+ .\32 xl\:row-gap-3 {
row-gap: 1rem;
}
- .row-gap-2xl-4 {
+ .\32 xl\:row-gap-4 {
row-gap: 1.5rem;
}
- .row-gap-2xl-5 {
+ .\32 xl\:row-gap-5 {
row-gap: 3rem;
}
- .column-gap-2xl-0 {
+ .\32 xl\:column-gap-0 {
-moz-column-gap: 0;
column-gap: 0;
}
- .column-gap-2xl-1 {
+ .\32 xl\:column-gap-1 {
-moz-column-gap: 0.25rem;
column-gap: 0.25rem;
}
- .column-gap-2xl-2 {
+ .\32 xl\:column-gap-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
- .column-gap-2xl-3 {
+ .\32 xl\:column-gap-3 {
-moz-column-gap: 1rem;
column-gap: 1rem;
}
- .column-gap-2xl-4 {
+ .\32 xl\:column-gap-4 {
-moz-column-gap: 1.5rem;
column-gap: 1.5rem;
}
- .column-gap-2xl-5 {
+ .\32 xl\:column-gap-5 {
-moz-column-gap: 3rem;
column-gap: 3rem;
}
- .text-2xl-start {
+ .\32 xl\:text-start {
text-align: start;
}
- .text-2xl-end {
+ .\32 xl\:text-end {
text-align: end;
}
- .text-2xl-center {
+ .\32 xl\:text-center {
text-align: center;
}
}
-{"version":3,"sources":["bootstrap.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_config.scss","../../scss/mixins/_border-radius.scss","../../scss/content/_type.scss","../../scss/mixins/_lists.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/content/_prose.scss","../../scss/mixins/_transition.scss","../../scss/layout/_containers.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_focus-ring.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_check.scss","../../scss/forms/_radio.scss","../../scss/forms/_switch.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/forms/_strength.scss","../../scss/forms/_otp-input.scss","../../scss/forms/_form-adorn.scss","../../scss/forms/_chip-input.scss","../../scss/forms/_combobox.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/forms/_validation.scss","../../scss/forms/_form-variables.scss","../../scss/buttons/_button.scss","../../scss/buttons/_button-group.scss","../../scss/buttons/_close.scss","../../scss/_accordion.scss","../../scss/_alert.scss","../../scss/_avatar.scss","../../scss/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_chip.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/mixins/_color-mode.scss","../../scss/_datepicker.scss","../../scss/_dialog.scss","../../scss/_menu.scss","../../scss/_list-group.scss","../../scss/_nav.scss","../../scss/_nav-overflow.scss","../../scss/_navbar.scss","../../scss/_offcanvas.scss","../../scss/mixins/_backdrop.scss","../../scss/_pagination.scss","../../scss/_placeholder.scss","../../scss/_popover.scss","../../scss/_progress.scss","../../scss/_spinner.scss","../../scss/_stepper.scss","../../scss/_toasts.scss","../../scss/_transitions.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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;MACE,oBAFS;InBumEjB;ImBtmEM;MACE,oBAFS;InB0mEjB;ImBzmEM;MACE,qBAFS;InB6mEjB;ImB5mEM;MACE,qBAFS;InBgnEjB;EACF;EW5pEE;IQoCM;MACE,wBAAA;InB2nER;ImB5nEM;MACE,wBAAA;InB8nER;ImB/nEM;MACE,wBAAA;InBioER;ImBloEM;MACE,wBAAA;InBooER;ImBroEM;MACE,wBAAA;InBuoER;ImBxoEM;MACE,wBAAA;InB0oER;ImB3oEM;MACE,wBAAA;InB6oER;ImB9oEM;MACE,wBAAA;InBgpER;ImBjpEM;MACE,wBAAA;InBmpER;ImBppEM;MACE,yBAAA;InBspER;ImBvpEM;MACE,yBAAA;InBypER;ImB1pEM;MACE,yBAAA;InB4pER;ImBrpEM;MACE,oBAFS;InBypEjB;ImBxpEM;MACE,oBAFS;InB4pEjB;ImB3pEM;MACE,oBAFS;InB+pEjB;ImB9pEM;MACE,oBAFS;InBkqEjB;ImBjqEM;MACE,oBAFS;InBqqEjB;ImBpqEM;MACE,oBAFS;InBwqEjB;ImBvqEM;MACE,oBAFS;InB2qEjB;ImB1qEM;MACE,oBAFS;InB8qEjB;ImB7qEM;MACE,oBAFS;InBirEjB;ImBhrEM;MACE,qBAFS;InBorEjB;ImBnrEM;MACE,qBAFS;InBurEjB;EACF;EWnuEE;IQoCM;MACE,wBAAA;InBksER;ImBnsEM;MACE,wBAAA;InBqsER;ImBtsEM;MACE,wBAAA;InBwsER;ImBzsEM;MACE,wBAAA;InB2sER;ImB5sEM;MACE,wBAAA;InB8sER;ImB/sEM;MACE,wBAAA;InBitER;ImBltEM;MACE,wBAAA;InBotER;ImBrtEM;MACE,wBAAA;InButER;ImBxtEM;MACE,wBAAA;InB0tER;ImB3tEM;MACE,yBAAA;InB6tER;ImB9tEM;MACE,yBAAA;InBguER;ImBjuEM;MACE,yBAAA;InBmuER;ImB5tEM;MACE,oBAFS;InBguEjB;ImB/tEM;MACE,oBAFS;InBmuEjB;ImBluEM;MACE,oBAFS;InBsuEjB;ImBruEM;MACE,oBAFS;InByuEjB;ImBxuEM;MACE,oBAFS;InB4uEjB;ImB3uEM;MACE,oBAFS;InB+uEjB;ImB9uEM;MACE,oBAFS;InBkvEjB;ImBjvEM;MACE,oBAFS;InBqvEjB;ImBpvEM;MACE,oBAFS;InBwvEjB;ImBvvEM;MACE,qBAFS;InB2vEjB;ImB1vEM;MACE,qBAFS;InB8vEjB;EACF;EW1yEE;IQoCM;MACE,wBAAA;InBywER;ImB1wEM;MACE,wBAAA;InB4wER;ImB7wEM;MACE,wBAAA;InB+wER;ImBhxEM;MACE,wBAAA;InBkxER;ImBnxEM;MACE,wBAAA;InBqxER;ImBtxEM;MACE,wBAAA;InBwxER;ImBzxEM;MACE,wBAAA;InB2xER;ImB5xEM;MACE,wBAAA;InB8xER;ImB/xEM;MACE,wBAAA;InBiyER;ImBlyEM;MACE,yBAAA;InBoyER;ImBryEM;MACE,yBAAA;InBuyER;ImBxyEM;MACE,yBAAA;InB0yER;ImBnyEM;MACE,oBAFS;InBuyEjB;ImBtyEM;MACE,oBAFS;InB0yEjB;ImBzyEM;MACE,oBAFS;InB6yEjB;ImB5yEM;MACE,oBAFS;InBgzEjB;ImB/yEM;MACE,oBAFS;InBmzEjB;ImBlzEM;MACE,oBAFS;InBszEjB;ImBrzEM;MACE,oBAFS;InByzEjB;ImBxzEM;MACE,oBAFS;InB4zEjB;ImB3zEM;MACE,oBAFS;InB+zEjB;ImB9zEM;MACE,qBAFS;InBk0EjB;ImBj0EM;MACE,qBAFS;InBq0EjB;EACF;EWj3EE;IQoCM;MACE,wBAAA;InBg1ER;ImBj1EM;MACE,wBAAA;InBm1ER;ImBp1EM;MACE,wBAAA;InBs1ER;ImBv1EM;MACE,wBAAA;InBy1ER;ImB11EM;MACE,wBAAA;InB41ER;ImB71EM;MACE,wBAAA;InB+1ER;ImBh2EM;MACE,wBAAA;InBk2ER;ImBn2EM;MACE,wBAAA;InBq2ER;ImBt2EM;MACE,wBAAA;InBw2ER;ImBz2EM;MACE,yBAAA;InB22ER;ImB52EM;MACE,yBAAA;InB82ER;ImB/2EM;MACE,yBAAA;InBi3ER;ImB12EM;MACE,oBAFS;InB82EjB;ImB72EM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II,YA0CG;ElF4kRT;EkFl/QE;IApII,YA0CG;ElF+kRT;EkFr/QE;IApII,cA0CG;ElFklRT;EkFx/QE;IApII,cA0CG;ElFqlRT;EkF3/QE;IApII,eA+CO;ElFmlRb;EkF9/QE;IApII,iBA+CO;ElFslRb;EkFjgRE;IApII,uBA+CO;ElFylRb;EkFpgRE;IApII,2BA0CG;ElFimRT;EkFvgRE;IApII,yBA0CG;ElFomRT;EkF1gRE;IApII,uBA0CG;ElFumRT;EkF7gRE;IApII,8BA0CG;ElF0mRT;EkFhhRE;IApII,6BA0CG;ElF6mRT;EkFnhRE;IApII,6BA0CG;ElFgnRT;EkFthRE;IApII,oBA0CG;ElFmnRT;EkFzhRE;IApII,kBA0CG;ElFsnRT;EkF5hRE;IApII,qBA0CG;ElFynRT;EkF/hRE;IApII,sBA0CG;ElF4nRT;EkFliRE;IApII,wBA0CG;ElF+nRT;EkFriRE;IApII,sBA0CG;ElFkoRT;EkFxiRE;IApII,oBA0CG;ElFqoRT;EkF3iRE;IApII,uBA0CG;ElFwoRT;EkF9iRE;IApII,qBA0CG;ElF2oRT;EkFjjRE;IApII,mBA0CG;ElF8oRT;EkFpjRE;IApII,qBA0CG;ElFipRT;EkFvjRE;IApII,oBA0CG;ElFopRT;EkF1jRE;IApII,yBA0CG;ElFupRT;EkF7jRE;IApII,uBA0CG;ElF0pRT;EkFhkRE;IApII,qBA0CG;ElF6pRT;EkFnkRE;IApII,4BA0CG;ElFgqRT;EkFtkRE;IApII,2BA0CG;ElFmqRT;EkFzkRE;IApII,sBA0CG;ElFsqRT;EkF5kRE;IApII,gBA0CG;ElFyqRT;EkF/kRE;IApII,sBA0CG;ElF4qRT;EkFllRE;IApII,oBA0CG;ElF+qRT;EkFrlRE;IApII,kBA0CG;ElFkrRT;EkFxlRE;IApII,oBA0CG;ElFqrRT;EkF3lRE;IApII,mBA0CG;ElFwrRT;EkF9lRE;IApII,kBA0CG;ElF2rRT;EkFjmRE;IApII,gBA0CG;ElF8rRT;EkFpmRE;IApII,mBA0CG;ElFisRT;EkFvmRE;IApII,oBA0CG;ElFosRT;EkF1mRE;IApII,qCA0CG;ElFusRT;EkF7mRE;IApII,qCA0CG;ElF0sRT;EkFhnRE;IApII,qCA0CG;ElF6sRT;EkFnnRE;IApII,qCA0CG;ElFgtRT;EkFtnRE;IApII,mBA0CG;ElFmtRT;EkFznRE;IApII,mBA+CO;ElFitRb;EkF5nRE;IApII,sBA+CO;ElFotRb;EkF/nRE;IApII,qBA+CO;ElFutRb;EkFloRE;IApII,SA0CG;ElF+tRT;EkFroRE;IApII,QA0CG;ElFkuRT;EkFxoRE;IApII,QA0CG;ElFquRT;EkF3oRE;IApII,QA0CG;ElFwuRT;EkF9oRE;IApII,QA0CG;ElF2uRT;EkFjpRE;IApII,QA0CG;ElF8uRT;EkFppRE;IApII,QA0CG;ElFivRT;EkFvpRE;IApII,QA0CG;ElFovRT;EkF1pRE;IApII,SA0CG;ElFuvRT;EkF7pRE;IApII,eA0CG;ElF0vRT;EkFhqRE;IApII,cA0CG;ElF6vRT;EkFnqRE;IApII,YA0CG;ElFgwRT;EkFtqRE;IApII,cA0CG;ElFmwRT;EkFzqRE;IApII,YA0CG;ElFswRT;EkF5qRE;IApII,YA0CG;ElFywRT;EkF/qRE;IApII,gBA0CG;ElF4wRT;EkFlrRE;IApII,sBA0CG;ElF+wRT;EkFrrRE;IApII,qBA0CG;ElFkxRT;EkFxrRE;IApII,mBA0CG;ElFqxRT;EkF3rRE;IApII,qBA0CG;ElFwxRT;EkF9rRE;IApII,mBA0CG;ElF2xRT;EkFjsRE;IApII,mBA0CG;ElF8xRT;EkFpsRE;IApII,eA0CG;ElFiyRT;EkFvsRE;IApII,qBA0CG;ElFoyRT;EkF1sRE;IApII,oBA0CG;ElFuyRT;EkF7sRE;IApII,kBA0CG;ElF0yRT;EkFhtRE;IApII,oBA0CG;ElF6yRT;EkFntRE;IApII,kBA0CG;ElFgzRT;EkFttRE;IApII,kBA0CG;ElFmzRT;EkFztRE;IApII,qBA0CG;ElFszRT;EkF5tRE;IApII,2BA0CG;ElFyzRT;EkF/tRE;IApII,0BA0CG;ElF4zRT;EkFluRE;IApII,wBA0CG;ElF+zRT;EkFruRE;IApII,0BA0CG;ElFk0RT;EkFxuRE;IApII,wBA0CG;ElFq0RT;EkF3uRE;IApII,wBA0CG;ElFw0RT;EkF9uRE;IApII,oBA0CG;ElF20RT;EkFjvRE;IApII,0BA0CG;ElF80RT;EkFpvRE;IApII,yBA0CG;ElFi1RT;EkFvvRE;IApII,uBA0CG;ElFo1RT;EkF1vRE;IApII,yBA0CG;ElFu1RT;EkF7vRE;IApII,uBA0CG;ElF01RT;EkFhwRE;IApII,uBA0CG;ElF61RT;EkFnwRE;IApII,mBA0CG;ElFg2RT;EkFtwRE;IApII,yBA0CG;ElFm2RT;EkFzwRE;IApII,wBA0CG;ElFs2RT;EkF5wRE;IApII,sBA0CG;ElFy2RT;EkF/wRE;IApII,wBA0CG;ElF42RT;EkFlxRE;IApII,sBA0CG;ElF+2RT;EkFrxRE;IApII,sBA0CG;ElFk3RT;EkFxxRE;IApII,sBA0CG;ElFq3RT;EkF3xRE;IApII,4BA0CG;ElFw3RT;EkF9xRE;IApII,2BA0CG;ElF23RT;EkFjyRE;IApII,yBA0CG;ElF83RT;EkFpyRE;IApII,2BA0CG;ElFi4RT;EkFvyRE;IApII,yBA0CG;ElFo4RT;EkF1yRE;IApII,6BA0CG;ElFu4RT;EkF7yRE;IApII,4BA0CG;ElF04RT;EkFhzRE;IApII,yBA0CG;ElF64RT;EkFnzRE;IApII,UA0CG;ElFg5RT;EkFtzRE;IApII,gBA0CG;ElFm5RT;EkFzzRE;IApII,eA0CG;ElFs5RT;EkF5zRE;IApII,aA0CG;ElFy5RT;EkF/zRE;IApII,eA0CG;ElF45RT;EkFl0RE;IApII,aA0CG;ElF+5RT;EkFr0RE;IApII,iBA0CG;ElFk6RT;EkFx0RE;IApII,uBA0CG;ElFq6RT;EkF30RE;IApII,sBA0CG;ElFw6RT;EkF90RE;IApII,oBA0CG;ElF26RT;EkFj1RE;IApII,sBA0CG;ElF86RT;EkFp1RE;IApII,oBA0CG;ElFi7RT;EkFv1RE;IApII,gBA0CG;ElFo7RT;EkF11RE;IApII,sBA0CG;ElFu7RT;EkF71RE;IApII,qBA0CG;ElF07RT;EkFh2RE;IApII,mBA0CG;ElF67RT;EkFn2RE;IApII,qBA0CG;ElFg8RT;EkFt2RE;IApII,mBA0CG;ElFm8RT;EkFz2RE;IApII,sBA0CG;ElFs8RT;EkF52RE;IApII,4BA0CG;ElFy8RT;EkF/2RE;IApII,2BA0CG;ElF48RT;EkFl3RE;IApII,yBA0CG;ElF+8RT;EkFr3RE;IApII,2BA0CG;ElFk9RT;EkFx3RE;IApII,yBA0CG;ElFq9RT;EkF33RE;IApII,qBA0CG;ElFw9RT;EkF93RE;IApII,2BA0CG;ElF29RT;EkFj4RE;IApII,0BA0CG;ElF89RT;EkFp4RE;IApII,wBA0CG;ElFi+RT;EkFv4RE;IApII,0BA0CG;ElFo+RT;EkF14RE;IApII,wBA0CG;ElFu+RT;EkF74RE;IApII,oBA0CG;ElF0+RT;EkFh5RE;IApII,0BA0CG;ElF6+RT;EkFn5RE;IApII,yBA0CG;ElFg/RT;EkFt5RE;IApII,uBA0CG;ElFm/RT;EkFz5RE;IApII,yBA0CG;ElFs/RT;EkF55RE;IApII,uBA0CG;ElFy/RT;EkF/5RE;IApII,uBA0CG;ElF4/RT;EkFl6RE;IApII,6BA0CG;ElF+/RT;EkFr6RE;IApII,4BA0CG;ElFkgST;EkFx6RE;IApII,0BA0CG;ElFqgST;EkF36RE;IApII,4BA0CG;ElFwgST;EkF96RE;IApII,0BA0CG;ElF2gST;EkFj7RE;IApII,MA0CG;ElF8gST;EkFp7RE;IApII,YA0CG;ElFihST;EkFv7RE;IApII,WA0CG;ElFohST;EkF17RE;IApII,SA0CG;ElFuhST;EkF77RE;IApII,WA0CG;ElF0hST;EkFh8RE;IApII,SA0CG;ElF6hST;EkFn8RE;IApII,UA0CG;ElFgiST;EkFt8RE;IApII,gBA0CG;ElFmiST;EkFz8RE;IApII,eA0CG;ElFsiST;EkF58RE;IApII,aA0CG;ElFyiST;EkF/8RE;IApII,eA0CG;ElF4iST;EkFl9RE;IApII,aA0CG;ElF+iST;EkFr9RE;IApII,kBA0CG;IA1CH,aA0CG;ElFkjST;EkFx9RE;IApII,wBA0CG;IA1CH,mBA0CG;ElFqjST;EkF39RE;IApII,uBA0CG;IA1CH,kBA0CG;ElFwjST;EkF99RE;IApII,qBA0CG;IA1C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IA3JA,iEA0CG;ElFi6ST;EkFv0SE;IApII,iEA0CG;ElFo6ST;EkFnzSM;IA3JA,iEA0CG;ElFu6ST;EkF70SE;IApII,iEA0CG;ElF06ST;EkFzzSM;IA3JA,iEA0CG;ElF66ST;EkFn1SE;IApII,iEA0CG;ElFg7ST;EkF/zSM;IA3JA,iEA0CG;ElFm7ST;EkFz1SE;IApII,2BA0CG;ElFs7ST;EkFr0SM;IA3JA,2BA0CG;ElFy7ST;EkF/1SE;IApII,8BA0CG;ElF47ST;EkF30SM;IA3JA,8BA0CG;ElF+7ST;EkFr2SE;IApII,6BA0CG;ElFk8ST;EkFj1SM;IA3JA,6BA0CG;ElFq8ST;EkF32SE;IApII,8BA0CG;ElFw8ST;EkFv1SM;IA3JA,8BA0CG;ElF28ST;EkFj3SE;IApII,yEA0CG;ElF88ST;EkFp3SE;IApII,wHA0CG;ElFi9ST;EkFv3SE;IApII,2EA0CG;ElFo9ST;EkF13SE;IApII,uEA0CG;ElFu9ST;EkF73SE;IApII,6EA0CG;ElF09ST;EkFh4SE;IApII,yEA0CG;ElF69ST;EkFn4SE;IApII,yEA0CG;ElFg+ST;EkFt4SE;IApII,yEA0CG;ElFm+ST;EkFz4SE;IApII,iFA0CG;ElFs+ST;EkFr3SM;IA3JA,iFA0CG;ElFy+ST;EkF/4SE;IApII,iFA0CG;ElF4+ST;EkF33SM;IA3JA,iFA0CG;ElF++ST;EkFr5SE;IApII,iFA0CG;ElFk/ST;EkFj4SM;IA3JA,iFA0CG;ElFq/ST;EkF35SE;IApII,iFA0CG;ElFw/ST;EkFv4SM;IA3JA,iFA0CG;ElF2/ST;EkFj6SE;IApII,iFA0CG;ElF8/ST;EkF74SM;IA3JA,iFA0CG;ElFigTT;EkFv6SE;IApII,iFA0CG;ElFogTT;EkFn5SM;IA3JA,iFA0CG;ElFugTT;EkF76SE;IApII,iFA0CG;ElF0gTT;EkFz5SM;IA3JA,iFA0CG;ElF6gTT;EkFn7SE;IApII,iFA0CG;ElFghTT;EkF/5SM;IA3JA,iFA0CG;ElFmhTT;EkFz7SE;IApII,iFA0CG;ElFshTT;EkFr6SM;IA3JA,iFA0CG;ElFyhTT;EkF/7SE;IApII,2CA0C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;IkF94TA;MApII,oBA+CO;IlFs+TX;IkFj5TA;MApII,cA+CO;IlFy+TX;IkFp5TA;MApII,kBA+CO;IlF4+TX;IkFv5TA;MApII,mBA+CO;IlF++TX;IkF15TA;MApII,aA+CO;IlFk/TX;IkF75TA;MApII,oBA+CO;IlFq/TX;IkFh6TA;MApII,iBA+CO;IlFw/TX;IkFn6TA;MApII,kBA+CO;IlF2/TX;IkFt6TA;MApII,aA+CO;IlF8/TX;IkFz6TA;MApII,cA0CG;IlFsgUP;IkF56TA;MApII,mBA+CO;IlFogUX;IkF/6TA;MApII,sBA+CO;IlFugUX;IkFl7TA;MApII,2BA+CO;IlF0gUX;IkFr7TA;MApII,8BA+CO;IlF6gUX;IkFx7TA;MApII,YA0CG;IlFqhUP;IkF37TA;MApII,YA0CG;IlFwhUP;IkF97TA;MApII,cA0CG;IlF2hUP;IkFj8TA;MApII,cA0CG;IlF8hUP;IkFp8TA;MApII,eA+CO;IlF4hUX;IkFv8TA;MApII,iBA+CO;IlF+hUX;IkF18TA;MApII,uBA+CO;IlFkiUX;IkF78TA;MApII,2BA0CG;IlF0iUP;IkFh9TA;MApII,yBA0CG;IlF6iUP;IkFn9TA;MApII,uBA0CG;IlFgjUP;IkFt9TA;MApII,8BA0CG;IlFmjUP;IkFz9TA;MApII,6BA0CG;IlFsjUP;IkF59TA;MApII,6BA0CG;IlFyjUP;IkF/9TA;MApII,oBA0CG;IlF4jUP;IkFl+TA;MApII,kBA0CG;IlF+jUP;IkFr+TA;MApII,qBA0CG;IlFkkUP;IkFx+TA;MApII,sBA0CG;IlFqkUP;IkF3+TA;MApII,wBA0CG;IlFwkUP;IkF9+TA;MApII,sBA0CG;IlF2kUP;IkFj/TA;MApII,oBA0CG;IlF8kUP;IkFp/TA;MApII,uBA0CG;IlFilUP;IkFv/TA;MApII,qBA0CG;IlFolUP;IkF1/TA;MApII,mBA0CG;IlFulUP;IkF7/TA;MApII,qBA0CG;IlF0lUP;IkFhgUA;MApII,oBA0CG;IlF6lUP;IkFngUA;MApII,yBA0CG;IlFgmUP;IkFtgUA;MApII,uBA0CG;IlFmmUP;IkFzgUA;MApII,qBA0CG;IlFsmUP;IkF5gUA;MApII,4BA0CG;IlFymUP;IkF/gUA;MApII,2BA0CG;IlF4mUP;IkFlhUA;MApII,sBA0CG;IlF+mUP;IkFrhUA;MApII,gBA0CG;IlFknUP;IkFxhUA;MApII,sBA0CG;IlFqnUP;IkF3hUA;MApII,oBA0CG;IlFwnUP;IkF9hUA;MApII,kBA0CG;IlF2nUP;IkFjiUA;MApII,oBA0CG;IlF8nUP;IkFpiUA;MApII,mBA0CG;IlFioUP;IkFviUA;MApII,kBA0CG;IlFooUP;IkF1iUA;MApII,gBA0CG;IlFuoUP;IkF7iUA;MApII,mBA0CG;IlF0oUP;IkFhjUA;MApII,oBA0CG;IlF6oUP;IkFnjUA;MApII,qCA0CG;IlFgpUP;IkFtjUA;MApII,qCA0CG;IlFmpUP;IkFzjUA;MApII,qCA0CG;IlFspUP;IkF5jUA;MApII,qCA0CG;IlFypUP;IkF/jUA;MApII,mBA0CG;IlF4pUP;IkFlkUA;MApII,mBA+CO;IlF0pUX;IkFrkUA;MApII,sBA+CO;IlF6pUX;IkFxkUA;MApII,qBA+CO;IlFgqUX;IkF3kUA;MApII,SA0CG;IlFwqUP;IkF9kUA;MApII,QA0CG;IlF2qUP;IkFjlUA;MApII,QA0CG;IlF8qUP;IkFplUA;MApII,QA0CG;IlFirUP;IkFvlUA;MApII,QA0CG;IlForUP;IkF1lUA;MApII,QA0CG;IlFurUP;IkF7lUA;MApII,QA0CG;IlF0rUP;IkFhmUA;MApII,QA0CG;IlF6rUP;IkFnmUA;MApII,SA0CG;IlFgsUP;IkFtmUA;MApII,eA0CG;IlFmsUP;IkFzmUA;MApII,cA0CG;IlFssUP;IkF5mUA;MApII,YA0CG;IlFysUP;IkF/mUA;MApII,cA0CG;IlF4sUP;IkFlnUA;MApII,YA0CG;IlF+sUP;IkFrnUA;MApII,YA0CG;IlFktUP;IkFxnUA;MApII,gBA0CG;IlFqtUP;IkF3nUA;MApII,sBA0CG;IlFwtUP;IkF9nUA;MApII,qBA0CG;IlF2tUP;IkFjoUA;MApII,mBA0CG;IlF8tUP;IkFpoUA;MApII,qBA0CG;IlFiuUP;IkFvoUA;MApII,mBA0CG;IlFouUP;IkF1oUA;MApII,mBA0CG;IlFuuUP;IkF7oUA;MApII,eA0CG;IlF0uUP;IkFhpUA;MApII,qBA0CG;IlF6uUP;IkFnpUA;MApII,oBA0CG;IlFgvUP;IkFtpUA;MApII,kBA0CG;IlFmvUP;IkFzpUA;MApII,oBA0CG;IlFsvUP;IkF5pUA;MApII,kBA0CG;IlFyvUP;IkF/pUA;MApII,kBA0CG;IlF4vUP;IkFlqUA;MApII,qBA0CG;IlF+vUP;IkFrqUA;MApII,2BA0CG;IlFkwUP;IkFxqUA;MApII,0BA0CG;IlFqwUP;IkF3qUA;MApII,wBA0CG;IlFwwUP;IkF9qUA;MApII,0BA0CG;IlF2wUP;IkFjrUA;MApII,wBA0CG;IlF8wUP;IkFprUA;MApII,wBA0CG;IlFixUP;IkFvrUA;MApII,oBA0CG;IlFoxUP;IkF1rUA;MApII,0BA0CG;IlFuxUP;IkF7rUA;MApII,yBA0CG;IlF0xUP;IkFhsUA;MApII,uBA0CG;IlF6xUP;IkFnsUA;MApII,yBA0CG;IlFgyUP;IkFtsUA;MApII,uBA0CG;IlFmyUP;IkFzsUA;MApII,uBA0CG;IlFsyUP;IkF5sUA;MApII,mBA0CG;IlFyyUP;IkF/sUA;MApII,yBA0CG;IlF4yUP;IkFltUA;MApII,wBA0CG;IlF+yUP;IkFrtUA;MApII,sBA0CG;IlFkzUP;IkFxtUA;MApII,wBA0CG;IlFqzUP;IkF3tUA;MApII,sBA0CG;IlFwzUP;IkF9tUA;MApII,sBA0CG;IlF2zUP;IkFjuUA;MApII,sBA0CG;IlF8zUP;IkFpuUA;MApII,4BA0CG;IlFi0UP;IkFvuUA;MApII,2BA0CG;IlFo0UP;IkF1uUA;MApII,yBA0CG;IlFu0UP;IkF7uUA;MApII,2BA0CG;IlF00UP;IkFhvUA;MApII,yBA0CG;IlF60UP;IkFnvUA;MApII,6BA0CG;IlFg1UP;IkFtvUA;MApII,4BA0CG;IlFm1UP;IkFzvUA;MApII,yBA0CG;IlFs1UP;IkF5vUA;MApII,UA0CG;IlFy1UP;IkF/vUA;MApII,gBA0CG;IlF41UP;IkFlwUA;MApII,eA0CG;IlF+1UP;IkFrwUA;MApII,aA0CG;IlFk2UP;IkFxwUA;MApII,eA0CG;IlFq2UP;IkF3wUA;MApII,aA0CG;IlFw2UP;IkF9wUA;MApII,iBA0CG;IlF22UP;IkFjxUA;MApII,uBA0CG;IlF82UP;IkFpxUA;MApII,sBA0CG;IlFi3UP;IkFvxUA;MApII,oBA0CG;IlFo3UP;IkF1xUA;MApII,sBA0CG;IlFu3UP;IkF7xUA;MApII,oBA0CG;IlF03UP;IkFhyUA;MApII,gBA0CG;IlF63UP;IkFnyUA;MApII,sBA0CG;IlFg4UP;IkFtyUA;MApII,qBA0CG;IlFm4UP;IkFzyUA;MApII,mBA0CG;IlFs4UP;IkF5yUA;MApII,qBA0CG;IlFy4UP;IkF/yUA;MApII,mBA0CG;IlF44UP;IkFlzUA;MApII,sBA0CG;IlF+4UP;IkFrzUA;MApII,4BA0CG;IlFk5UP;IkFxzUA;MApII,2BA0CG;IlFq5UP;IkF3zUA;MApII,yBA0CG;IlFw5UP;IkF9zUA;MApII,2BA0CG;IlF25UP;IkFj0UA;MApII,yBA0CG;IlF85UP;IkFp0UA;MApII,qBA0CG;IlFi6UP;IkFv0UA;MApII,2BA0CG;IlFo6UP;IkF10UA;MApII,0BA0CG;IlFu6UP;IkF70UA;MApII,wBA0CG;IlF06UP;IkFh1UA;MApII,0BA0CG;IlF66UP;IkFn1UA;MApII,wBA0CG;IlFg7UP;IkFt1UA;MApII,oBA0CG;IlFm7UP;IkFz1UA;MApII,0BA0CG;IlFs7UP;IkF51UA;MApII,yBA0CG;IlFy7UP;IkF/1UA;MApII,uBA0CG;IlF47UP;IkFl2UA;MApII,yBA0CG;IlF+7UP;IkFr2UA;MApII,uBA0CG;IlFk8UP;IkFx2UA;MApII,uBA0CG;IlFq8UP;IkF32UA;MApII,6BA0CG;IlFw8UP;IkF92UA;MApII,4BA0CG;IlF28UP;IkFj3UA;MApII,0BA0CG;IlF88UP;IkFp3UA;MApII,4BA0CG;IlFi9UP;IkFv3UA;MApII,0BA0CG;IlFo9UP;IkF13UA;MApII,MA0CG;IlFu9UP;IkF73UA;MApII,YA0CG;IlF09UP;IkFh4UA;MApII,WA0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sVP;IkF/mVA;MApII,kBA0CG;IlF4sVP;IkFlnVA;MApII,oBA0CG;IlF+sVP;IkFrnVA;MApII,mBA0CG;IlFktVP;IkFxnVA;MApII,kBA0CG;IlFqtVP;IkF3nVA;MApII,gBA0CG;IlFwtVP;IkF9nVA;MApII,mBA0CG;IlF2tVP;IkFjoVA;MApII,oBA0CG;IlF8tVP;IkFpoVA;MApII,qCA0CG;IlFiuVP;IkFvoVA;MApII,qCA0CG;IlFouVP;IkF1oVA;MApII,qCA0CG;IlFuuVP;IkF7oVA;MApII,qCA0CG;IlF0uVP;IkFhpVA;MApII,mBA0CG;IlF6uVP;IkFnpVA;MApII,mBA+CO;IlF2uVX;IkFtpVA;MApII,sBA+CO;IlF8uVX;IkFzpVA;MApII,qBA+CO;IlFivVX;IkF5pVA;MApII,SA0CG;IlFyvVP;IkF/pVA;MApII,QA0CG;IlF4vVP;IkFlqVA;MApII,QA0CG;IlF+vVP;IkFrqVA;MApII,QA0CG;IlFkwVP;IkFxqVA;MApII,QA0CG;IlFqwVP;IkF3qVA;MApII,QA0CG;IlFwwVP;IkF9qVA;MApII,QA0CG;IlF2wVP;IkFjrVA;MApII,QA0CG;IlF8wVP;IkFprVA;MApII,SA0CG;IlFixVP;IkFvrVA;MApII,eA0CG;IlFoxVP;IkF1rVA;MApII,cA0CG;IlFuxVP;IkF7rVA;MApII,YA0CG;IlF0xVP;IkFhsVA;MApII,cA0CG;IlF6xVP;IkFnsVA;MApII,YA0CG;IlFgyVP;IkFtsVA;MApII,YA0CG;IlFmyVP;IkFzsVA;MApII,gBA0CG;IlFsyVP;IkF5sVA;MApII,sBA0CG;IlFyyVP;IkF/sVA;MApII,qBA0CG;IlF4yVP;IkFltVA;MApII,mBA0CG;IlF+yVP;IkFrtVA;MApII,qBA0CG;IlFkzVP;IkFxtVA;MApII,mBA0CG;IlFqzVP;IkF3tVA;MApII,mBA0CG;IlFwzVP;IkF9tVA;MApII,eA0CG;IlF2zVP;IkFjuVA;MApII,qBA0CG;IlF8zVP;IkFpuVA;MApII,oBA0CG;IlFi0VP;IkFvuVA;MApII,kBA0CG;IlFo0VP;IkF1uVA;MApII,oBA0CG;IlFu0VP;IkF7uVA;MApII,kBA0CG;IlF00VP;IkFhvVA;MApII,kBA0CG;IlF60VP;IkFnvVA;MApII,qBA0CG;IlFg1VP;IkFtvVA;MApII,2BA0CG;IlFm1VP;IkFzvVA;MApII,0BA0CG;IlFs1VP;IkF5vVA;MApII,wBA0CG;IlFy1VP;IkF/vVA;MApII,0BA0CG;IlF41VP;IkFlwVA;MApII,wBA0CG;IlF+1VP;IkFrwVA;MApII,wBA0CG;IlFk2VP;IkFxwVA;MApII,oBA0CG;IlFq2VP;IkF3wVA;MApII,0BA0CG;IlFw2VP;IkF9wVA;MApII,yBA0CG;IlF22VP;IkFjxVA;MApII,uBA0CG;IlF82VP;IkFpxVA;MApII,yBA0CG;IlFi3VP;IkFvxVA;MApII,uBA0CG;IlFo3VP;IkF1xVA;MApII,uBA0CG;IlFu3VP;IkF7xVA;MApII,mBA0CG;IlF03VP;IkFhyVA;MApII,yBA0CG;IlF63VP;IkFnyVA;MApII,wBA0CG;IlFg4VP;IkFtyVA;MApII,sBA0CG;IlFm4VP;IkFzyVA;MApII,wBA0CG;IlFs4VP;IkF5yVA;MApII,sBA0CG;IlFy4VP;IkF/yVA;MApII,sBA0CG;IlF44VP;IkFlzVA;MApII,sBA0CG;IlF+4VP;IkFrzVA;MApII,4BA0CG;IlFk5VP;IkFxzVA;MApII,2BA0CG;IlFq5VP;IkF3zVA;MApII,yBA0CG;IlFw5VP;IkF9zVA;MApII,2BA0CG;IlF25VP;IkFj0VA;MApII,yBA0CG;IlF85VP;IkFp0VA;MApII,6BA0CG;IlFi6VP;IkFv0VA;MApII,4BA0CG;IlFo6VP;IkF10VA;MApII,yBA0CG;IlFu6VP;IkF70VA;MApII,UA0CG;IlF06VP;IkFh1VA;MApII,gBA0CG;IlF66VP;IkFn1VA;MApII,eA0CG;IlFg7VP;IkFt1VA;MApII,aA0CG;IlFm7VP;IkFz1VA;MApII,eA0CG;IlFs7VP;IkF51VA;MApII,aA0CG;IlFy7VP;IkF/1VA;MApII,iBA0CG;IlF47VP;IkFl2VA;MApII,uBA0CG;IlF+7VP;IkFr2VA;MApII,sBA0CG;IlFk8VP;IkFx2VA;MApII,oBA0CG;IlFq8VP;IkF32VA;MApII,sBA0CG;IlFw8VP;IkF92VA;MApII,oBA0CG;IlF28VP;IkFj3VA;MApII,gBA0CG;IlF88VP;IkFp3VA;MApII,sBA0CG;IlFi9VP;IkFv3VA;MApII,qBA0CG;IlFo9VP;IkF13VA;MApII,mBA0CG;IlFu9VP;IkF73VA;MApII,qBA0CG;IlF09VP;IkFh4VA;MApII,mBA0CG;IlF69VP;IkFn4VA;MApII,sBA0CG;IlFg+VP;IkFt4VA;MApII,4BA0CG;IlFm+VP;IkFz4VA;MApII,2BA0CG;IlFs+VP;IkF54VA;MApII,yBA0CG;IlFy+VP;IkF/4VA;MApII,2BA0CG;IlF4+VP;IkFl5VA;MApII,yBA0CG;IlF++VP;IkFr5VA;MApII,qBA0CG;IlFk/VP;IkFx5VA;MApII,2BA0CG;IlFq/VP;IkF35VA;MApII,0BA0CG;IlFw/VP;IkF95VA;MApII,wBA0CG;IlF2/VP;IkFj6VA;MApII,0BA0CG;IlF8/VP;IkFp6VA;MApII,wBA0CG;IlFigWP;IkFv6VA;MApII,oBA0CG;IlFogWP;IkF16VA;MApII,0BA0CG;IlFugWP;IkF76VA;MApII,yBA0CG;IlF0gWP;IkFh7VA;MApII,uBA0CG;IlF6gWP;IkFn7VA;MApII,yBA0CG;IlFghWP;IkFt7VA;MApII,uBA0CG;IlFmhWP;IkFz7VA;MApII,uBA0CG;IlFshWP;IkF57VA;MApII,6BA0CG;IlFyhWP;IkF/7VA;MApII,4BA0CG;IlF4hWP;IkFl8VA;MApII,0BA0CG;IlF+hWP;IkFr8VA;MApII,4BA0CG;IlFkiWP;IkFx8VA;MApII,0BA0CG;IlFqiWP;IkF38VA;MApII,MA0CG;IlFwiWP;IkF98VA;MApII,YA0CG;IlF2iWP;IkFj9VA;MApII,WA0CG;IlF8iWP;IkFp9VA;MApII,SA0CG;IlFijWP;IkFv9VA;MApII,WA0CG;IlFojWP;IkF19VA;MApII,SA0CG;IlFujWP;IkF79VA;MApII,UA0CG;IlF0jWP;IkFh+VA;MApII,gBA0CG;IlF6jWP;IkFn+VA;MApII,eA0CG;IlFgkWP;IkFt+VA;MApII,aA0CG;IlFmkWP;IkFz+VA;MApII,eA0CG;IlFskWP;IkF5+VA;MApII,aA0CG;IlFykWP;IkF/+VA;MApII,kBA0CG;MA1CH,aA0CG;IlF4kWP;IkFl/VA;MApII,wBA0CG;MA1CH,mBA0CG;IlF+kWP;IkFr/VA;MApII,uBA0CG;MA1CH,kBA0CG;IlFklWP;IkFx/VA;MApII,qBA0CG;MA1CH,gBA0CG;IlFqlWP;IkF3/VA;MApII,uBA0CG;MA1CH,kBA0CG;IlFwlWP;IkF9/VA;MApII,qBA0CG;MA1CH,gBA0CG;IlF2lWP;IkFjgWA;MApII,iBA0CG;IlF8lWP;IkFpgWA;MApII,eA0CG;IlFimWP;IkFvgWA;MApII,kBA0CG;IlFomWP;EACF;EWlnWE;IuEuGA;MApII,mBA0CG;IlFymWP;IkF/gWA;MApII,iBA0CG;IlF4mWP;IkFlhWA;MApII,WA0CG;IlF+mWP;IkFrhWA;MApII,sBA0CG;MA1CH,mBA0CG;IlFknWP;IkFxhWA;MApII,oBA0CG;MA1CH,iBA0CG;IlFqnWP;IkF3hWA;MApII,mBA0CG;MA1CH,gBA0CG;IlFwnWP;IkF9hWA;MApII,yBA0CG;MA1CH,sBA0CG;IlF2nWP;IkFjiWA;MApII,mBA0CG;MA1CH,gBA0CG;IlF8nWP;IkFpiWA;MApII,eA+CO;IlF4nWX;IkFviWA;MApII,qBA+CO;IlF+nWX;IkF1iWA;MApII,cA+CO;IlFkoWX;IkF7iWA;MApII,aA+CO;IlFqoWX;IkFhjWA;MApII,oBA+CO;IlFwoWX;IkFnjWA;MApII,cA+CO;IlF2oWX;IkFtjWA;MApII,kBA+CO;IlF8oWX;IkFzjWA;MApII,mBA+CO;IlFipWX;IkF5jWA;MApII,aA+CO;IlFopWX;IkF/jWA;MApII,oBA+CO;IlFupWX;IkFlkWA;MApII,iBA+CO;IlF0pWX;IkFrkWA;MApII,kBA+CO;IlF6pWX;IkFxkWA;MApII,aA+CO;IlFgqWX;IkF3kWA;MApII,cA0CG;IlFwqWP;IkF9kWA;MApII,mBA+CO;IlFsqWX;IkFjlWA;MApII,sBA+CO;IlFyqWX;IkFplWA;MApII,2BA+CO;IlF4qWX;IkFvlWA;MApII,8BA+CO;IlF+qWX;IkF1lWA;MApII,YA0CG;IlFurWP;IkF7lWA;MApII,YA0CG;IlF0rWP;IkFhmWA;MApII,cA0CG;IlF6rWP;IkFnmWA;MApII,cA0CG;IlFgsWP;IkFtmWA;MApII,eA+CO;IlF8rWX;IkFzmWA;MApII,iBA+CO;IlFisWX;IkF5mWA;MApII,uBA+CO;IlFosWX;IkF/mWA;MApII,2BA0CG;IlF4sWP;IkFlnWA;MApII,yBA0CG;IlF+sWP;IkFrnWA;MApII,uBA0CG;IlFktWP;IkFxnWA;MApII,8BA0CG;IlFqtWP;IkF3nWA;MApII,6BA0CG;IlFwtWP;IkF9nWA;MApII,6BA0CG;IlF2tWP;IkFjoWA;MApII,oBA0CG;IlF8tWP;IkFpoWA;MApII,kBA0CG;IlFiuWP;IkFvoWA;MApII,qBA0CG;IlFouWP;IkF1oWA;MApII,sBA0CG;IlFuuWP;IkF7oWA;MApII,wBA0CG;IlF0uWP;IkFhpWA;MApII,sBA0CG;IlF6uWP;IkFnpWA;MApII,oBA0CG;IlFgvWP;IkFtpWA;MApII,uBA0CG;IlFmvWP;IkFzpWA;MApII,qBA0CG;IlFsvWP;IkF5pWA;MApII,mBA0CG;IlFyvWP;IkF/pWA;MApII,qBA0CG;IlF4vWP;IkFlqWA;MApII,oBA0CG;IlF+vWP;IkFrqWA;MApII,yBA0CG;IlFkwWP;IkFxqWA;MApII,uBA0CG;IlFqwWP;IkF3qWA;MApII,qBA0CG;IlFwwWP;IkF9qWA;MApII,4BA0CG;IlF2wWP;IkFjrWA;MApII,2BA0CG;IlF8wWP;IkFprWA;MApII,sBA0CG;IlFixWP;IkFvrWA;MApII,gBA0CG;IlFoxWP;IkF1rWA;MApII,sBA0CG;IlFuxWP;IkF7rWA;MApII,oBA0CG;IlF0xWP;IkFhsWA;MApII,kBA0CG;IlF6xWP;IkFnsWA;MApII,oBA0CG;IlFgyWP;IkFtsWA;MApII,mBA0CG;IlFmyWP;IkFzsWA;MApII,kBA0CG;IlFsyWP;IkF5sWA;MApII,gBA0CG;IlFyyWP;IkF/sWA;MApII,mBA0CG;IlF4yWP;IkFltWA;MApII,oBA0CG;IlF+yWP;IkFrtWA;MApII,qCA0CG;IlFkzWP;IkFxtWA;MApII,qCA0CG;IlFqzWP;IkF3tWA;MApII,qCA0CG;IlFwzWP;IkF9tWA;MApII,qCA0CG;IlF2zWP;IkFjuWA;MApII,mBA0CG;IlF8zWP;IkFpuWA;MApII,mBA+CO;IlF4zWX;IkFvuWA;MApII,sBA+CO;IlF+zWX;IkF1uWA;MApII,qBA+CO;IlFk0WX;IkF7uWA;MApII,SA0CG;IlF00WP;IkFhvWA;MApII,QA0CG;IlF60WP;IkFnvWA;MApII,QA0CG;IlFg1WP;IkFtvWA;MApII,QA0CG;IlFm1WP;IkFzvWA;MApII,QA0CG;IlFs1WP;IkF5vWA;MApII,QA0CG;IlFy1WP;IkF/vWA;MApII,QA0CG;IlF41WP;IkFlwWA;MApII,QA0CG;IlF+1WP;IkFrwWA;MApII,SA0CG;IlFk2WP;IkFxwWA;MApII,eA0CG;IlFq2WP;IkF3wWA;MApII,cA0CG;IlFw2WP;IkF9wWA;MApII,YA0CG;IlF22WP;IkFjxWA;MApII,cA0CG;IlF82WP;IkFpxWA;MApII,YA0CG;IlFi3WP;IkFvxWA;MApII,YA0CG;IlFo3WP;IkF1xWA;MApII,gBA0CG;IlFu3WP;IkF7xWA;MApII,sBA0CG;IlF03WP;IkFhyWA;MApII,qBA0CG;IlF63WP;IkFnyWA;MApII,mBA0CG;IlFg4WP;IkFtyWA;MApII,qBA0CG;IlFm4WP;IkFzyWA;MApII,mBA0CG;IlFs4WP;IkF5yWA;MApII,mBA0CG;IlFy4WP;IkF/yWA;MApII,eA0CG;IlF44WP;IkFlzWA;MApII,qBA0CG;IlF+4WP;IkFrzWA;MApII,oBA0CG;IlFk5WP;IkFxzWA;MApII,kBA0CG;IlFq5WP;IkF3zWA;MApII,oBA0CG;IlFw5WP;IkF9zWA;MApII,kBA0CG;IlF25WP;IkFj0WA;MApII,kBA0CG;IlF85WP;IkFp0WA;MApII,qBA0CG;IlFi6WP;IkFv0WA;MApII,2BA0CG;IlFo6WP;IkF10WA;MApII,0BA0CG;IlFu6WP;IkF70WA;MApII,wBA0CG;IlF06WP;IkFh1WA;MApII,0BA0CG;IlF66WP;IkFn1WA;MApII,wBA0CG;IlFg7WP;IkFt1WA;MApII,wBA0CG;IlFm7WP;IkFz1WA;MApII,oBA0CG;IlFs7WP;IkF51WA;MApII,0BA0CG;IlFy7WP;IkF/1WA;MApII,yBA0CG;IlF47WP;IkFl2WA;MApII,uBA0CG;IlF+7WP;IkFr2WA;MApII,yBA0CG;IlFk8WP;IkFx2WA;MApII,uBA0CG;IlFq8WP;IkF32WA;MApII,uBA0CG;IlFw8WP;IkF92WA;MApII,mBA0CG;IlF28WP;IkFj3WA;MApII,yBA0CG;IlF88WP;IkFp3WA;MApII,wBA0CG;IlFi9WP;IkFv3WA;MApII,sBA0CG;IlFo9WP;IkF13WA;MApII,wBA0CG;IlFu9WP;IkF73WA;MApII,sBA0CG;IlF09WP;IkFh4WA;MApII,sBA0CG;IlF69WP;IkFn4WA;MApII,sBA0CG;IlFg+WP;IkFt4WA;MApII,4BA0CG;IlFm+WP;IkFz4WA;MApII,2BA0CG;IlFs+WP;IkF54WA;MApII,yBA0CG;IlFy+WP;IkF/4WA;MApII,2BA0CG;IlF4+WP;IkFl5WA;MApII,yBA0CG;IlF++WP;IkFr5WA;MApII,6BA0CG;IlFk/WP;IkFx5WA;MApII,4BA0CG;IlFq/WP;IkF35WA;MApII,yBA0CG;IlFw/WP;IkF95WA;MApII,UA0CG;IlF2/WP;IkFj6WA;MApII,gBA0CG;IlF8/WP;IkFp6WA;MApII,eA0CG;IlFigXP;IkFv6WA;MApII,aA0CG;IlFogXP;IkF16WA;MApII,eA0CG;IlFugXP;IkF76WA;MApII,aA0CG;IlF0gXP;IkFh7WA;MApII,iBA0CG;IlF6gXP;IkFn7WA;MApII,uBA0CG;IlFghXP;IkFt7WA;MApII,sBA0CG;IlFmhXP;IkFz7WA;MApII,oBA0CG;IlFshXP;IkF57WA;MApII,sBA0CG;IlFyhXP;IkF/7WA;MApII,oBA0CG;IlF4hXP;IkFl8WA;MApII,gBA0CG;IlF+hXP;IkFr8WA;MApII,sBA0CG;IlFkiXP;IkFx8WA;MApII,qBA0CG;IlFqiXP;IkF38WA;MApII,mB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XX;IkF1rXA;MApII,iBA+CO;IlFkxXX;IkF7rXA;MApII,uBA+CO;IlFqxXX;IkFhsXA;MApII,2BA0CG;IlF6xXP;IkFnsXA;MApII,yBA0CG;IlFgyXP;IkFtsXA;MApII,uBA0CG;IlFmyXP;IkFzsXA;MApII,8BA0CG;IlFsyXP;IkF5sXA;MApII,6BA0CG;IlFyyXP;IkF/sXA;MApII,6BA0CG;IlF4yXP;IkFltXA;MApII,oBA0CG;IlF+yXP;IkFrtXA;MApII,kBA0CG;IlFkzXP;IkFxtXA;MApII,qBA0CG;IlFqzXP;IkF3tXA;MApII,sBA0CG;IlFwzXP;IkF9tXA;MApII,wBA0CG;IlF2zXP;IkFjuXA;MApII,sBA0CG;IlF8zXP;IkFpuXA;MApII,oBA0CG;IlFi0XP;IkFvuXA;MApII,uBA0CG;IlFo0XP;IkF1uXA;MApII,qBA0CG;IlFu0XP;IkF7uXA;MApII,mBA0CG;IlF00XP;IkFhvXA;MApII,qBA0CG;IlF60XP;IkFnvXA;MApII,oBA0CG;IlFg1XP;IkFtvXA;MApII,yBA0CG;IlFm1XP;IkFzvXA;MApII,uBA0CG;IlFs1XP;IkF5vXA;MApII,qBA0CG;IlFy1XP;IkF/vXA;MApII,4BA0CG;IlF41XP;IkFlwXA;MApII,2BA0CG;IlF+1XP;IkFrwXA;MApII,sBA0CG;IlFk2XP;IkFxwXA;MApII,gBA0CG;IlFq2XP;IkF3wXA;MApII,sBA0CG;IlFw2XP;IkF9wXA;MApII,oBA0CG;IlF22XP;IkFjxXA;MApII,kBA0CG;IlF82XP;IkFpxXA;MApII,oBA0CG;IlFi3XP;IkFvxXA;MApII,mBA0CG;IlFo3XP;IkF1xXA;MApII,kBA0CG;IlFu3XP;IkF7xXA;MApII,gBA0CG;IlF03XP;IkFhyXA;MApII,mBA0CG;IlF63XP;IkFnyXA;MApII,oBA0CG;IlFg4XP;IkFtyXA;MApII,qCA0CG;IlFm4XP;IkFzyXA;MApII,qCA0CG;IlFs4XP;IkF5yXA;MApII,qCA0CG;IlFy4XP;IkF/yXA;MApII,qCA0CG;IlF44XP;IkFlzXA;MApII,mBA0CG;IlF+4XP;IkFrzXA;MApII,mBA+CO;IlF64XX;IkFxzXA;MApII,sBA+CO;IlFg5XX;IkF3zXA;MApII,qBA+CO;IlFm5XX;IkF9zXA;MApII,SA0CG;IlF25XP;IkFj0XA;MApII,QA0CG;IlF85XP;IkFp0XA;MApII,QA0CG;IlFi6XP;IkFv0XA;MApII,QA0CG;IlFo6XP;IkF10XA;MApII,QA0CG;IlFu6XP;IkF70XA;MApII,QA0CG;IlF06XP;IkFh1XA;MApII,QA0CG;IlF66XP;IkFn1XA;MApII,QA0CG;IlFg7XP;IkFt1XA;MApII,SA0CG;IlFm7XP;IkFz1XA;MApII,eA0CG;IlFs7XP;IkF51XA;MApII,cA0CG;IlFy7XP;IkF/1XA;MApII,YA0CG;IlF47XP;IkFl2XA;MApII,cA0CG;IlF+7XP;IkFr2XA;MApII,YA0CG;IlFk8XP;IkFx2XA;MApII,YA0CG;IlFq8XP;IkF32XA;MApII,gBA0CG;IlFw8XP;IkF92XA;MApII,sBA0CG;IlF28XP;IkFj3XA;MApII,qBA0CG;IlF88XP;IkFp3XA;MApII,mBA0CG;IlFi9XP;IkFv3XA;MApII,qBA0CG;IlFo9XP;IkF13XA;MApII,mBA0CG;IlFu9XP;IkF73XA;MApII,mBA0CG;IlF09XP;IkFh4XA;MApII,eA0CG;IlF69XP;IkFn4XA;MApII,qBA0CG;IlFg+XP;IkFt4XA;MApII,oBA0CG;IlFm+XP;IkFz4XA;MApII,kBA0CG;IlFs+XP;IkF54XA;MApII,oBA0CG;IlFy+XP;IkF/4XA;MApII,kBA0CG;IlF4+XP;IkFl5XA;MApII,kBA0CG;IlF++XP;IkFr5XA;MApII,qBA0CG;IlFk/XP;IkFx5XA;MApII,2BA0CG;IlFq/XP;IkF35XA;MApII,0BA0CG;IlFw/XP;IkF95XA;MApII,wBA0CG;IlF2/XP;IkFj6XA;MApII,0BA0CG;IlF8/XP;IkFp6XA;MApII,wBA0CG;IlFigYP;IkFv6XA;MApII,wBA0CG;IlFogYP;IkF16XA;MApII,oBA0CG;IlFugYP;IkF76XA;MApII,0BA0CG;IlF0gYP;IkFh7XA;MApII,yBA0CG;IlF6gYP;IkFn7XA;MApII,uBA0CG;IlFghYP;IkFt7XA;MApII,yBA0CG;IlFmhYP;IkFz7XA;MApII,uBA0CG;IlFshYP;IkF57XA;MApII,uBA0CG;IlFyhYP;IkF/7XA;MApII,mBA0CG;IlF4hYP;IkFl8XA;MApII,yBA0CG;IlF+hYP;IkFr8XA;MApII,wBA0CG;IlFkiYP;IkFx8XA;MApII,sBA0CG;IlFqiYP;IkF38XA;MApII,wBA0CG;IlFwiYP;IkF98XA;MApII,sBA0CG;IlF2iYP;IkFj9XA;MApII,sBA0CG;IlF8iYP;IkFp9XA;MApII,sBA0CG;IlFijYP;IkFv9XA;MApII,4BA0CG;IlFojYP;IkF19XA;MApII,2BA0CG;IlFujYP;IkF79XA;MApII,yBA0CG;IlF0jYP;IkFh+XA;MApII,2BA0CG;IlF6jYP;IkFn+XA;MApII,yBA0CG;IlFgkYP;IkFt+XA;MApII,6BA0CG;IlFmkYP;IkFz+XA;MApII,4BA0CG;IlFskYP;IkF5+XA;MApII,yBA0CG;IlFykYP;IkF/+XA;MApII,UA0CG;IlF4kYP;IkFl/XA;MApII,gBA0CG;IlF+kYP;IkFr/XA;MApII,eA0CG;IlFklYP;IkFx/XA;MApII,aA0CG;IlFqlYP;IkF3/XA;MApII,eA0CG;IlFwlYP;IkF9/XA;MApII,aA0CG;IlF2lYP;IkFjgYA;MApII,iBA0CG;IlF8lYP;IkFpgYA;MApII,uBA0CG;IlFimYP;IkFvgYA;MApII,sBA0CG;IlFomYP;IkF1gYA;MApII,oBA0CG;IlFumYP;IkF7gYA;MApII,sBA0CG;IlF0mYP;IkFhhYA;MApII,oBA0CG;IlF6mYP;IkFnhYA;MApII,gBA0CG;IlFgnYP;IkFthYA;MApII,sBA0CG;IlFmnYP;IkFzhYA;MApII,qBA0CG;IlFsnYP;IkF5hYA;MApII,mBA0CG;IlFynYP;IkF/hYA;MApII,qBA0CG;IlF4nYP;IkFliYA;MApII,mBA0CG;IlF+nYP;IkFriYA;MApII,sBA0CG;IlFkoYP;IkFxiYA;MApII,4BA0CG;IlFqoYP;IkF3iYA;MApII,2BA0CG;IlFwoYP;IkF9iYA;MApII,yBA0CG;I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7xYA;MApII,6BA0CG;IlF03YP;IkFhyYA;MApII,6BA0CG;IlF63YP;IkFnyYA;MApII,oBA0CG;IlFg4YP;IkFtyYA;MApII,kBA0CG;IlFm4YP;IkFzyYA;MApII,qBA0CG;IlFs4YP;IkF5yYA;MApII,sBA0CG;IlFy4YP;IkF/yYA;MApII,wBA0CG;IlF44YP;IkFlzYA;MApII,sBA0CG;IlF+4YP;IkFrzYA;MApII,oBA0CG;IlFk5YP;IkFxzYA;MApII,uBA0CG;IlFq5YP;IkF3zYA;MApII,qBA0CG;IlFw5YP;IkF9zYA;MApII,mBA0CG;IlF25YP;IkFj0YA;MApII,qBA0CG;IlF85YP;IkFp0YA;MApII,oBA0CG;IlFi6YP;IkFv0YA;MApII,yBA0CG;IlFo6YP;IkF10YA;MApII,uBA0CG;IlFu6YP;IkF70YA;MApII,qBA0CG;IlF06YP;IkFh1YA;MApII,4BA0CG;IlF66YP;IkFn1YA;MApII,2BA0CG;IlFg7YP;IkFt1YA;MApII,sBA0CG;IlFm7YP;IkFz1YA;MApII,gBA0CG;IlFs7YP;IkF51YA;MApII,sBA0CG;IlFy7YP;IkF/1YA;MApII,oBA0CG;IlF47YP;IkFl2YA;MApII,kBA0CG;IlF+7YP;IkFr2YA;MApII,oBA0CG;IlFk8YP;IkFx2YA;MApII,mBA0CG;IlFq8YP;IkF32YA;MApII,kBA0CG;IlFw8YP;IkF92YA;MApII,gBA0CG;IlF28YP;IkFj3YA;MApII,mBA0CG;IlF88YP;IkFp3YA;MApII,oBA0CG;IlFi9YP;IkFv3YA;MApII,qCA0CG;IlFo9YP;IkF13YA;MApII,qCA0CG;IlFu9YP;IkF73YA;MApII,qCA0CG;IlF09YP;IkFh4YA;MApII,qCA0CG;IlF69YP;IkFn4YA;MApII,mBA0CG;IlFg+YP;IkFt4YA;MApII,mBA+CO;IlF89YX;IkFz4YA;MApII,sBA+CO;IlFi+YX;IkF54YA;MApII,qBA+CO;IlFo+YX;IkF/4YA;MApII,SA0CG;IlF4+YP;IkFl5YA;MApII,QA0CG;IlF++YP;IkFr5YA;MApII,QA0CG;IlFk/YP;IkFx5YA;MApII,QA0CG;IlFq/YP;IkF35YA;MApII,QA0CG;IlFw/YP;IkF95YA;MApII,QA0CG;IlF2/YP;IkFj6YA;MApII,QA0CG;IlF8/YP;IkFp6YA;MApII,QA0CG;IlFigZP;IkFv6YA;MApII,SA0CG;IlFogZP;IkF16YA;MApII,eA0CG;IlFugZP;IkF76YA;MApII,cA0CG;IlF0gZP;IkFh7YA;MApII,YA0CG;IlF6gZP;IkFn7YA;MApII,cA0CG;IlFghZP;IkFt7YA;MApII,YA0CG;IlFmhZP;IkFz7YA;MApII,YA0CG;IlFshZP;IkF57YA;MApII,gBA0CG;IlFyhZP;IkF/7YA;MApII,sBA0CG;IlF4hZP;IkFl8YA;MApII,qBA0CG;IlF+hZP;IkFr8YA;MApII,mBA0CG;IlFkiZP;IkFx8YA;MApII,qBA0CG;IlFqiZP;IkF38YA;MApII,mBA0CG;IlFwiZP;IkF98YA;MApII,mBA0CG;IlF2iZP;IkFj9YA;MApII,eA0CG;IlF8iZP;IkFp9YA;MApII,qBA0CG;IlFijZP;IkFv9YA;MApII,oBA0CG;IlFojZP;IkF19YA;MApII,kBA0CG;IlFujZP;IkF79YA;MApII,oBA0CG;IlF0jZP;IkFh+YA;MApII,kBA0CG;IlF6jZP;IkFn+YA;MApII,kBA0CG;IlFgkZP;IkFt+YA;MApII,qBA0CG;IlFmkZP;IkFz+YA;MApII,2BA0CG;IlFskZP;IkF5+YA;MApII,0BA0CG;IlFykZP;IkF/+YA;MApII,wBA0CG;IlF4kZP;IkFl/YA;MApII,0BA0CG;IlF+kZP;IkFr/YA;MApII,wBA0CG;IlFklZP;IkFx/YA;MApII,wBA0CG;IlFqlZP;IkF3/YA;MApII,oBA0CG;IlFwlZP;IkF9/YA;MApII,0BA0CG;IlF2lZP;IkFjgZA;MApII,yBA0CG;IlF8lZP;IkFpgZA;MApII,uBA0CG;IlFimZP;IkFvgZA;MApII,yBA0CG;IlFomZP;IkF1gZA;MApII,uBA0CG;IlFumZP;IkF7gZA;MApII,uBA0CG;IlF0mZP;IkFhhZA;MApII,mBA0CG;IlF6mZP;IkFnhZA;MApII,yBA0CG;IlFgnZP;IkFthZA;MApII,wBA0CG;IlFmnZP;IkFzhZA;MApII,sBA0CG;IlFsnZP;IkF5hZA;MApII,wBA0CG;IlFynZP;IkF/hZA;MApII,sBA0CG;IlF4nZP;IkFliZA;MApII,sBA0CG;IlF+nZP;IkFriZA;MApII,sBA0CG;IlFkoZP;IkFxiZA;MApII,4BA0CG;IlFqoZP;IkF3iZA;MApII,2BA0CG;IlFwoZP;IkF9iZA;MApII,yBA0CG;IlF2oZP;IkFjjZA;MApII,2BA0CG;IlF8oZP;IkFpjZA;MApII,yBA0CG;IlFipZP;IkFvjZA;MApII,6BA0CG;IlFopZP;IkF1jZA;MApII,4BA0CG;IlFupZP;IkF7jZA;MApII,yBA0CG;IlF0pZP;IkFhkZA;MApII,UA0CG;IlF6pZP;IkFnkZA;MApII,gBA0CG;IlFgqZP;IkFtkZA;MApII,eA0CG;IlFmqZP;IkFzkZA;MApII,aA0CG;IlFsqZP;IkF5kZA;MApII,eA0CG;IlFyqZP;IkF/kZA;MApII,aA0CG;IlF4qZP;IkFllZA;MApII,iBA0CG;IlF+qZP;IkFrlZA;MApII,uBA0CG;IlFkrZP;IkFxlZA;MApII,sBA0CG;IlFqrZP;IkF3lZA;MApII,oBA0CG;IlFwrZP;IkF9lZA;MApII,sBA0CG;IlF2rZP;IkFjmZA;MApII,oBA0CG;IlF8rZP;IkFpmZA;MApII,gBA0CG;IlFisZP;IkFvmZA;MApII,sBA0CG;IlFosZP;IkF1mZA;MApII,qBA0CG;IlFusZP;IkF7mZA;MApII,mBA0CG;IlF0sZP;IkFhnZA;MApII,qBA0CG;IlF6sZP;IkFnnZA;MApII,mBA0CG;IlFgtZP;IkFtnZA;MApII,sBA0CG;IlFmtZP;IkFznZA;MApII,4BA0CG;IlFstZP;IkF5nZA;MApII,2BA0CG;IlFytZP;IkF/nZA;MApII,yBA0CG;IlF4tZP;IkFloZA;MApII,2BA0CG;IlF+tZP;IkFroZA;MApII,yBA0CG;IlFkuZP;IkFxoZA;MApII,qBA0CG;IlFquZP;IkF3oZA;MApII,2BA0CG;IlFwuZP;IkF9oZA;MApII,0BA0CG;IlF2uZP;IkFjpZA;MApII,wBA0CG;IlF8uZP;IkFppZA;MApII,0BA0CG;IlFivZP;IkFvpZA;MApII,wBA0CG;IlFovZP;IkF1pZA;MApII,oBA0CG;IlFuvZP;IkF7pZA;MApII,0BA0CG;IlF0vZP;IkFhqZA;MApII,yBA0CG;IlF6vZP;IkFnqZA;MApII,uBA0CG;IlFgwZP;IkFtqZA;MApII,yBA0CG;IlFmwZP;IkFzqZA;MApII,uBA0CG;IlFswZP;IkF5qZA;MApII,uBA0CG;IlFywZP;IkF/qZA;MApII,6BA0CG;IlF4wZP;IkFlrZA;MApII,4BA0CG;IlF+wZP;IkFrrZA;MApII,0BA0CG;IlFkxZP;IkFxrZA;MApII,4BA0CG;IlFqxZP;IkF3rZA;MApII,0BA0CG;IlFwxZP;IkF9rZA;MApII,MA0CG;IlF2xZP;IkFjsZA;MApII,YA0CG;IlF8xZP;IkFpsZA;MApII,WA0CG;IlFiyZP;IkFvsZA;MApII,SA0CG;IlFoyZP;IkF1sZA;MApII,WA0CG;IlFuyZP;IkF7sZA;MApII,SA0CG;IlF0yZP;IkFhtZA;MApII,UA0CG;IlF6yZP;IkFntZA;MApII,gBA0CG;IlFgzZP;IkFttZA;MApII,eA0CG;IlFmzZP;IkFztZA;MApII,aA0CG;IlFszZP;IkF5tZA;MApII,eA0CG;IlFyzZP;IkF/tZA;MApII,aA0CG;IlF4zZP;IkFluZA;MApII,kBA0CG;MA1CH,aA0CG;IlF+zZP;IkFruZA;MApII,wBA0CG;MA1CH,mBA0CG;IlFk0ZP;IkFxuZA;MApII,uBA0CG;MA1CH,kBA0CG;IlFq0ZP;IkF3uZA;MApII,qBA0CG;MA1CH,gBA0CG;IlFw0ZP;IkF9uZA;MApII,uBA0CG;MA1CH,kBA0CG;IlF20ZP;IkFjvZA;MApII,qBA0CG;MA1CH,gBA0CG;IlF80ZP;IkFpvZA;MApII,iBA0CG;IlFi1ZP;IkFvvZA;MApII,eA0CG;IlFo1ZP;IkF1vZA;MApII,kBA0CG;IlFu1ZP;EACF;AACF","file":"bootstrap.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n * Bootstrap v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n --blue-500: oklch(60% 0.24 240deg);\n --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n --indigo-500: oklch(56% 0.26 288deg);\n --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n --violet-500: oklch(56% 0.24 300deg);\n --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n --purple-500: oklch(56% 0.24 320deg);\n --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n --pink-500: oklch(60% 0.22 4deg);\n --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n --red-500: oklch(60% 0.22 20deg);\n --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n --orange-500: oklch(70% 0.22 52deg);\n --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n --amber-500: oklch(79% 0.2 78deg);\n --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n --yellow-500: oklch(88% 0.24 88deg);\n --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n --lime-500: oklch(65% 0.24 135deg);\n --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n --green-500: oklch(64% 0.22 160deg);\n --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n --teal-500: oklch(68% 0.22 190deg);\n --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n --cyan-500: oklch(69% 0.22 220deg);\n --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n --brown-500: oklch(60% 0.12 54deg);\n --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n --gray-500: oklch(60% 0.02 245deg);\n --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n --pewter-500: oklch(65% 0.01 290deg);\n --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n --black: #000;\n --white: #fff;\n --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n --font-weight-lighter: lighter;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-bolder: bolder;\n --body-font-family: system-ui;\n --body-font-size: var(--font-size-base);\n --body-font-weight: 400;\n --body-line-height: 1.5;\n --heading-color: inherit;\n --hr-border-color: var(--border-color);\n --link-color: light-dark(var(--primary-base), var(--primary-text));\n --link-decoration: underline;\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --code-font-size: 95%;\n --code-color: var(--fg-2);\n --border-width: 1px;\n --border-style: solid;\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --border-radius: 0.5rem;\n --border-radius-xs: 0.375rem;\n --border-radius-sm: 0.5rem;\n --border-radius-lg: 0.75rem;\n --border-radius-xl: 1rem;\n --border-radius-2xl: 2rem;\n --border-radius-pill: 50rem;\n --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --spacer: 1rem;\n --focus-ring-width: 3px;\n --focus-ring-offset: 1px;\n --focus-ring-color: var(--primary-focus-ring);\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n --control-checked-bg: var(--primary-base);\n --control-checked-border-color: var(--control-checked-bg);\n --control-active-bg: var(--primary-base);\n --control-active-border-color: var(--control-active-bg);\n --control-disabled-bg: var(--bg-3);\n --control-disabled-opacity: 0.65;\n --btn-input-fg: var(--fg-body);\n --btn-input-bg: var(--bg-body);\n --btn-input-min-height: 2.375rem;\n --btn-input-padding-y: 0.375rem;\n --btn-input-padding-x: 0.75rem;\n --btn-input-font-size: var(--font-size-base);\n --btn-input-line-height: var(--line-height-base);\n --btn-input-border-radius: var(--border-radius);\n --btn-input-xs-min-height: 1.5rem;\n --btn-input-xs-padding-y: 0.125rem;\n --btn-input-xs-padding-x: 0.5rem;\n --btn-input-xs-font-size: var(--font-size-xs);\n --btn-input-xs-line-height: 1.125;\n --btn-input-xs-border-radius: var(--border-radius-xs);\n --btn-input-sm-min-height: 2rem;\n --btn-input-sm-padding-y: 0.25rem;\n --btn-input-sm-padding-x: 0.625rem;\n --btn-input-sm-font-size: var(--font-size-sm);\n --btn-input-sm-line-height: var(--line-height-sm);\n --btn-input-sm-border-radius: var(--border-radius-sm);\n --btn-input-lg-min-height: 2.75rem;\n --btn-input-lg-padding-y: 0.5rem;\n --btn-input-lg-padding-x: 1rem;\n --btn-input-lg-font-size: var(--font-size-md);\n --btn-input-lg-line-height: var(--line-height-md);\n --btn-input-lg-border-radius: var(--border-radius-lg);\n --form-valid-color: var(--success-text);\n --form-valid-border-color: var(--success-text);\n --form-invalid-color: var(--danger-text);\n --form-invalid-border-color: var(--danger-text);\n --font-size-xs: 0.75rem;\n --line-height-xs: 1.25;\n --font-size-sm: 0.875rem;\n --line-height-sm: 1.5;\n --font-size-md: 1rem;\n --line-height-md: 1.5;\n --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n --line-height-lg: 1.5;\n --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n --line-height-xl: 1.4285714286;\n --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n --line-height-2xl: 1.3333333333;\n --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n --line-height-3xl: 1.2;\n --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n --line-height-4xl: 1.1;\n --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n --line-height-5xl: 1.1;\n --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n --line-height-6xl: 1;\n --primary-base: var(--blue-500);\n --primary-text: light-dark(var(--blue-600), var(--blue-400));\n --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n --primary-bg: var(--blue-500);\n --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n --primary-border: light-dark(var(--blue-300), var(--blue-600));\n --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n --primary-contrast: var(--white);\n --accent-base: var(--indigo-500);\n --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n --accent-bg: var(--indigo-500);\n --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n --accent-contrast: var(--white);\n --success-base: var(--green-500);\n --success-text: light-dark(var(--green-600), var(--green-400));\n --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n --success-bg: var(--green-500);\n --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n --success-border: light-dark(var(--green-300), var(--green-600));\n --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n --success-contrast: var(--white);\n --danger-base: var(--red-500);\n --danger-text: light-dark(var(--red-600), var(--red-400));\n --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n --danger-bg: var(--red-500);\n --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n --danger-border: light-dark(var(--red-300), var(--red-600));\n --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n --danger-contrast: var(--white);\n --warning-base: var(--yellow-500);\n --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n --warning-bg: var(--yellow-500);\n --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n --warning-contrast: var(--gray-900);\n --info-base: var(--cyan-500);\n --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n --info-bg: var(--cyan-500);\n --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n --info-contrast: var(--gray-900);\n --inverse-base: var(--gray-900);\n --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n --inverse-contrast: light-dark(var(--white), var(--gray-900));\n --secondary-base: var(--gray-200);\n --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n --secondary-contrast: light-dark(var(--gray-900), var(--white));\n --bg-body: light-dark(var(--white), var(--gray-975));\n --bg-1: light-dark(var(--gray-025), var(--gray-950));\n --bg-2: light-dark(var(--gray-050), var(--gray-900));\n --bg-3: light-dark(var(--gray-100), var(--gray-800));\n --bg-4: light-dark(var(--gray-200), var(--gray-700));\n --bg-white: var(--white);\n --bg-black: var(--black);\n --bg-transparent: transparent;\n --bg-inherit: inherit;\n --fg-body: light-dark(var(--gray-900), var(--gray-050));\n --fg-1: light-dark(var(--gray-800), var(--gray-200));\n --fg-2: light-dark(var(--gray-700), var(--gray-300));\n --fg-3: light-dark(var(--gray-600), var(--gray-500));\n --fg-4: light-dark(var(--gray-500), var(--gray-600));\n --fg-white: var(--white);\n --fg-black: var(--black);\n --fg-inherit: inherit;\n --border-bg: var(--bg-body);\n --border-body: light-dark(var(--gray-300), var(--gray-800));\n --border-muted: light-dark(var(--gray-200), var(--gray-800));\n --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n --border-white: var(--white);\n --border-black: var(--black);\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n color-scheme: light;\n}\n\n@layer reboot {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n :root {\n accent-color: var(--primary-base);\n }\n @media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n }\n body {\n margin: 0;\n font-family: var(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n h6,\n .h6, h5,\n .h5, h4,\n .h4, h3,\n .h3, h2,\n .h2, h1,\n .h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n color: var(--heading-color);\n }\n h1,\n .h1 {\n font-size: var(--font-size-3xl);\n }\n h2,\n .h2 {\n font-size: var(--font-size-2xl);\n }\n h3,\n .h3 {\n font-size: var(--font-size-xl);\n }\n h4,\n .h4 {\n font-size: var(--font-size-lg);\n }\n h5,\n .h5 {\n font-size: var(--font-size-md);\n }\n h6,\n .h6 {\n font-size: var(--font-size-sm);\n }\n p {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n abbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n }\n address {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n }\n ol,\n ul {\n padding-inline-start: 2rem;\n }\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n dt {\n font-weight: 700;\n }\n dd {\n margin-inline-start: 0;\n margin-bottom: 0.5rem;\n }\n blockquote {\n margin: 0 0 1rem;\n }\n blockquote > * {\n margin-block: 0;\n }\n b,\n strong {\n font-weight: bolder;\n }\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n mark,\n .mark {\n --mark-padding: 0.1875em;\n --mark-color: var(--fg-body);\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, 0.75em);\n line-height: 0;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n a {\n color: var(--theme-text, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: 0.2em;\n }\n a:hover {\n color: var(--theme-text-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-decoration));\n }\n a:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n }\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em;\n }\n pre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n }\n pre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n code {\n font-size: var(--code-font-size);\n color: var(--code-color);\n word-wrap: break-word;\n }\n a > code {\n color: inherit;\n }\n kbd {\n --kbd-padding-y: 0.125rem;\n --kbd-padding-x: 0.25rem;\n --kbd-font-size: var(--font-size-xs);\n --kbd-color: var(--bg-body);\n --kbd-bg: var(--fg-2);\n --kbd-border-radius: var(--border-radius-sm);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n border-radius: var(--kbd-border-radius);\n }\n kbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: inherit;\n }\n figure {\n margin: 0 0 1rem;\n }\n img,\n svg {\n vertical-align: middle;\n }\n table {\n caption-side: bottom;\n border-collapse: collapse;\n }\n caption {\n padding-block: 0.5rem;\n color: var(--fg-3);\n text-align: start;\n }\n th {\n text-align: inherit;\n text-align: -webkit-match-parent;\n }\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n label {\n display: inline-block;\n }\n button {\n border-radius: 0;\n }\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n button,\n select {\n text-transform: none;\n }\n [role=button] {\n cursor: pointer;\n }\n select {\n word-wrap: normal;\n }\n select:disabled {\n opacity: 1;\n }\n [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n }\n button,\n [type=button],\n [type=reset],\n [type=submit] {\n -webkit-appearance: button;\n }\n button:not(:disabled),\n [type=button]:not(:disabled),\n [type=reset]:not(:disabled),\n [type=submit]:not(:disabled) {\n cursor: pointer;\n }\n ::-moz-focus-inner {\n padding: 0;\n border-style: none;\n }\n textarea {\n resize: vertical;\n }\n fieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n }\n legend {\n float: inline-start;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n }\n legend + * {\n clear: inline-start;\n }\n ::-webkit-datetime-edit-fields-wrapper,\n ::-webkit-datetime-edit-text,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-ampm-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-week-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-year-field {\n padding: 0;\n }\n ::-webkit-inner-spin-button {\n height: auto;\n }\n [type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n [type=search]::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n }\n [type=tel],\n [type=url],\n [type=email],\n [type=number] {\n direction: ltr;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n ::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n }\n output {\n display: inline-block;\n }\n iframe {\n border: 0;\n }\n summary {\n display: list-item;\n cursor: pointer;\n }\n progress {\n vertical-align: baseline;\n }\n [hidden] {\n display: none !important;\n }\n}\n@layer content {\n .list-unstyled {\n padding-inline-start: 0;\n list-style: none;\n }\n .list-inline {\n padding-inline-start: 0;\n list-style: none;\n }\n .list-inline-item {\n display: inline-block;\n }\n .list-inline-item:not(:last-child) {\n margin-inline-end: var(--list-inline-padding, var(--spacer)/2);\n }\n .initialism {\n font-size: var(--initialism-font-size, var(--font-size-xs));\n text-transform: uppercase;\n }\n .blockquote {\n --blockquote-gap: calc(var(--spacer) / 2);\n --blockquote-padding-x: var(--spacer);\n --blockquote-margin-y: 1rem;\n --blockquote-font-size: var(--font-size-md);\n --blockquote-border-width: 0.25rem;\n --blockquote-border-color: var(--border-color);\n --blockquote-footer-font-size: var(--font-size-sm);\n --blockquote-footer-color: var(--fg-3);\n display: flex;\n flex-direction: column;\n gap: var(--blockquote-gap);\n padding-inline-start: var(--blockquote-padding-x);\n margin-bottom: var(--blockquote-margin-y);\n font-size: var(--blockquote-font-size);\n border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n }\n .blockquote > * {\n margin-bottom: 0;\n }\n figure.blockquote blockquote {\n margin-bottom: 0;\n }\n .blockquote-footer {\n font-size: var(--blockquote-footer-font-size);\n color: var(--blockquote-footer-color);\n }\n .blockquote-footer::before {\n content: \"— \";\n }\n}\n@layer content {\n .table {\n --table-cell-padding-y: 0.5rem;\n --table-cell-padding-x: 0.5rem;\n --table-cell-vertical-align: top;\n --table-color: var(--fg-body);\n --table-bg: var(--bg-body);\n --table-accent-bg: transparent;\n --table-border-width: var(--border-width);\n --table-border-color: var(--border-color);\n --table-group-separator-color: currentcolor;\n --table-striped-color: var(--table-color);\n --table-striped-bg-factor: 0.05;\n --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent);\n --table-active-color: var(--table-color);\n --table-active-bg-factor: 0.1;\n --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent);\n --table-hover-color: var(--table-color);\n --table-hover-bg-factor: 0.075;\n --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent);\n --table-color-type: initial;\n --table-bg-type: initial;\n --table-color-state: initial;\n --table-bg-state: initial;\n width: 100%;\n margin-bottom: 1rem;\n vertical-align: var(--table-cell-vertical-align);\n border-color: var(--theme-border, var(--table-border-color));\n }\n .table > :not(caption) > * > * {\n padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n background-color: var(--theme-bg-subtle, var(--table-bg));\n border-block-end-width: var(--table-border-width);\n box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n }\n .table > tbody {\n vertical-align: inherit;\n }\n .table > thead {\n vertical-align: bottom;\n }\n .table-group-divider {\n border-block-start: calc(var(--table-border-width) * 2) solid var(--table-group-separator-color);\n }\n .caption-top {\n caption-side: top;\n }\n .table-sm > :not(caption) > * > * {\n --table-cell-padding-y: .25rem;\n --table-cell-padding-x: .25rem;\n }\n .table-bordered > :not(caption) > * {\n border-width: var(--table-border-width) 0;\n }\n .table-bordered > :not(caption) > * > * {\n border-width: 0 var(--table-border-width);\n }\n .table-borderless > :not(caption) > * > * {\n border-block-end-width: 0;\n }\n .table-borderless > :not(:first-child) {\n border-block-start-width: 0;\n }\n .table-striped > tbody > tr:nth-of-type(odd) > * {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n .table-striped-columns > :not(caption) > tr > :nth-child(even) {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n .table-active {\n --table-color-state: var(--theme-text, var(--table-active-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n }\n .table-hover > tbody > tr:hover > * {\n --table-color-state: var(--theme-text, var(--table-hover-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n }\n .table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n @media (width < 576px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 768px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 1024px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 1280px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 1536px) {\n .table-responsive-2xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n@layer content {\n .img-fluid {\n max-width: 100%;\n height: auto;\n }\n .img-thumbnail {\n --thumbnail-padding: 0.25rem;\n --thumbnail-bg: var(--bg-body);\n --thumbnail-border-width: var(--border-width);\n --thumbnail-border-color: var(--border-color);\n --thumbnail-border-radius: var(--border-radius);\n --thumbnail-box-shadow: var(--box-shadow-sm);\n padding: var(--thumbnail-padding);\n background-color: var(--thumbnail-bg);\n border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n border-radius: var(--thumbnail-border-radius);\n box-shadow: var(--thumbnail-box-shadow);\n max-width: 100%;\n height: auto;\n }\n .figure {\n --figure-gap: calc(var(--spacer) * 0.5);\n --figure-caption-font-size: var(--font-size-sm);\n --figure-caption-color: var(--fg-3);\n display: flex;\n flex-direction: column;\n gap: var(--figure-gap);\n }\n .figure-caption {\n font-size: var(--figure-caption-font-size);\n color: var(--figure-caption-color);\n }\n}\n@layer content {\n .prose {\n --content-font-size: 1rem;\n --content-gap: 20px;\n --heading-color: light-dark(var(--gray-900), var(--white));\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--content-gap);\n max-width: 1000px;\n margin-inline: auto;\n font-size: var(--content-font-size);\n line-height: 1.5;\n }\n @media (width >= 1024px) {\n .prose {\n --content-font-size: var(--font-size-md);\n --content-gap: 24px;\n }\n }\n .prose :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n margin-block: 0;\n }\n .prose :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n margin-bottom: calc(var(--content-gap) / 4);\n }\n .prose :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) / 4);\n }\n .prose :where(hr):not(:where(.not-prose, .not-prose *)) {\n margin: calc(var(--content-gap) * 1.5) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n margin-top: 0;\n margin-bottom: calc(var(--content-gap) / -2);\n font-weight: 500;\n line-height: 1.25;\n }\n .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) code {\n font-weight: 600;\n color: inherit;\n }\n .prose :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * 0.75);\n }\n .prose :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * 0.5);\n }\n .prose :where(h1):not(:where(.not-prose, .not-prose *)) {\n font-size: 2.25em;\n line-height: 1.1;\n }\n .prose :where(h2):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.75em;\n }\n .prose :where(h3):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.5em;\n }\n .prose :where(h4):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.25em;\n }\n .prose :where(h5):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.125em;\n }\n .prose :where(h6):not(:where(.not-prose, .not-prose *)) {\n font-size: 1em;\n }\n .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n color: var(--link-color);\n text-decoration: underline;\n text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n text-underline-offset: 4px;\n transition: 0.1s text-decoration-color ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n transition: none;\n }\n }\n .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)):hover {\n text-decoration-color: var(--link-hover-color);\n }\n .prose :where(img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n .prose :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n padding-inline-start: calc(var(--content-gap) / 2);\n margin: 0;\n border-inline-start: 4px solid var(--border-color);\n }\n .prose :where(table):not(:where(.not-prose, .not-prose *)) {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n }\n .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) td,\n .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) th {\n padding: 6px 12px;\n text-align: inherit;\n border: 1px solid var(--border-color);\n }\n .prose :where(dt):not(:where(.not-prose, .not-prose *)) {\n font-weight: 500;\n }\n .prose :where(video, img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n}\n@layer layout {\n .container,\n .container-fluid,\n .container-2xl,\n .container-xl,\n .container-lg,\n .container-md,\n .container-sm {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-inline: auto;\n }\n @media (width >= 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n }\n @media (width >= 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n }\n @media (width >= 1024px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n }\n @media (width >= 1280px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1200px;\n }\n }\n @media (width >= 1536px) {\n .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1440px;\n }\n }\n}\n@layer layout {\n .row {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-inline: calc(-0.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n }\n .row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-top: var(--gutter-y);\n }\n .col {\n flex: 1 0 0;\n }\n .row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-3 {\n margin-inline-start: 25%;\n }\n .offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-6 {\n margin-inline-start: 50%;\n }\n .offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-9 {\n margin-inline-start: 75%;\n }\n .offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-0,\n .gx-0 {\n --gutter-x: 0;\n }\n .g-0,\n .gy-0 {\n --gutter-y: 0;\n }\n .g-1,\n .gx-1 {\n --gutter-x: 0.25rem;\n }\n .g-1,\n .gy-1 {\n --gutter-y: 0.25rem;\n }\n .g-2,\n .gx-2 {\n --gutter-x: 0.5rem;\n }\n .g-2,\n .gy-2 {\n --gutter-y: 0.5rem;\n }\n .g-3,\n .gx-3 {\n --gutter-x: 1rem;\n }\n .g-3,\n .gy-3 {\n --gutter-y: 1rem;\n }\n .g-4,\n .gx-4 {\n --gutter-x: 1.5rem;\n }\n .g-4,\n .gy-4 {\n --gutter-y: 1.5rem;\n }\n .g-5,\n .gx-5 {\n --gutter-x: 3rem;\n }\n .g-5,\n .gy-5 {\n --gutter-y: 3rem;\n }\n @media (width >= 576px) {\n .col-sm {\n flex: 1 0 0;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-inline-start: 0;\n }\n .offset-sm-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-sm-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-sm-3 {\n margin-inline-start: 25%;\n }\n .offset-sm-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-sm-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-sm-6 {\n margin-inline-start: 50%;\n }\n .offset-sm-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-sm-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-sm-9 {\n margin-inline-start: 75%;\n }\n .offset-sm-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-sm-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 768px) {\n .col-md {\n flex: 1 0 0;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-inline-start: 0;\n }\n .offset-md-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-md-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-md-3 {\n margin-inline-start: 25%;\n }\n .offset-md-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-md-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-md-6 {\n margin-inline-start: 50%;\n }\n .offset-md-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-md-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-md-9 {\n margin-inline-start: 75%;\n }\n .offset-md-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-md-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1024px) {\n .col-lg {\n flex: 1 0 0;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-inline-start: 0;\n }\n .offset-lg-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-lg-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-lg-3 {\n margin-inline-start: 25%;\n }\n .offset-lg-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-lg-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-lg-6 {\n margin-inline-start: 50%;\n }\n .offset-lg-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-lg-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-lg-9 {\n margin-inline-start: 75%;\n }\n .offset-lg-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-lg-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1280px) {\n .col-xl {\n flex: 1 0 0;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-inline-start: 0;\n }\n .offset-xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-xl-3 {\n margin-inline-start: 25%;\n }\n .offset-xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-xl-6 {\n margin-inline-start: 50%;\n }\n .offset-xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-xl-9 {\n margin-inline-start: 75%;\n }\n .offset-xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1536px) {\n .col-2xl {\n flex: 1 0 0;\n }\n .row-cols-2xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-2xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-2xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-2xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-2xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-2xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-2xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-2xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-2xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-2xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-2xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-2xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-2xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-2xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-2xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-2xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-2xl-0 {\n margin-inline-start: 0;\n }\n .offset-2xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-2xl-3 {\n margin-inline-start: 25%;\n }\n .offset-2xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-2xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-2xl-6 {\n margin-inline-start: 50%;\n }\n .offset-2xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-2xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-2xl-9 {\n margin-inline-start: 75%;\n }\n .offset-2xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-2xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-2xl-0,\n .gx-2xl-0 {\n --gutter-x: 0;\n }\n .g-2xl-0,\n .gy-2xl-0 {\n --gutter-y: 0;\n }\n .g-2xl-1,\n .gx-2xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-2xl-1,\n .gy-2xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-2xl-2,\n .gx-2xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-2xl-2,\n .gy-2xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-2xl-3,\n .gx-2xl-3 {\n --gutter-x: 1rem;\n }\n .g-2xl-3,\n .gy-2xl-3 {\n --gutter-y: 1rem;\n }\n .g-2xl-4,\n .gx-2xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-2xl-4,\n .gy-2xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-2xl-5,\n .gx-2xl-5 {\n --gutter-x: 3rem;\n }\n .g-2xl-5,\n .gy-2xl-5 {\n --gutter-y: 3rem;\n }\n }\n .grid {\n --columns: 12;\n --rows: 1;\n --gap: 1.5rem;\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n }\n .g-col-1 {\n grid-column: auto/span 1;\n }\n .g-col-2 {\n grid-column: auto/span 2;\n }\n .g-col-3 {\n grid-column: auto/span 3;\n }\n .g-col-4 {\n grid-column: auto/span 4;\n }\n .g-col-5 {\n grid-column: auto/span 5;\n }\n .g-col-6 {\n grid-column: auto/span 6;\n }\n .g-col-7 {\n grid-column: auto/span 7;\n }\n .g-col-8 {\n grid-column: auto/span 8;\n }\n .g-col-9 {\n grid-column: auto/span 9;\n }\n .g-col-10 {\n grid-column: auto/span 10;\n }\n .g-col-11 {\n grid-column: auto/span 11;\n }\n .g-col-12 {\n grid-column: auto/span 12;\n }\n .g-start-1 {\n grid-column-start: 1;\n }\n .g-start-2 {\n grid-column-start: 2;\n }\n .g-start-3 {\n grid-column-start: 3;\n }\n .g-start-4 {\n grid-column-start: 4;\n }\n .g-start-5 {\n grid-column-start: 5;\n }\n .g-start-6 {\n grid-column-start: 6;\n }\n .g-start-7 {\n grid-column-start: 7;\n }\n .g-start-8 {\n grid-column-start: 8;\n }\n .g-start-9 {\n grid-column-start: 9;\n }\n .g-start-10 {\n grid-column-start: 10;\n }\n .g-start-11 {\n grid-column-start: 11;\n }\n @media (width >= 576px) {\n .g-col-sm-1 {\n grid-column: auto/span 1;\n }\n .g-col-sm-2 {\n grid-column: auto/span 2;\n }\n .g-col-sm-3 {\n grid-column: auto/span 3;\n }\n .g-col-sm-4 {\n grid-column: auto/span 4;\n }\n .g-col-sm-5 {\n grid-column: auto/span 5;\n }\n .g-col-sm-6 {\n grid-column: auto/span 6;\n }\n .g-col-sm-7 {\n grid-column: auto/span 7;\n }\n .g-col-sm-8 {\n grid-column: auto/span 8;\n }\n .g-col-sm-9 {\n grid-column: auto/span 9;\n }\n .g-col-sm-10 {\n grid-column: auto/span 10;\n }\n .g-col-sm-11 {\n grid-column: auto/span 11;\n }\n .g-col-sm-12 {\n grid-column: auto/span 12;\n }\n .g-start-sm-1 {\n grid-column-start: 1;\n }\n .g-start-sm-2 {\n grid-column-start: 2;\n }\n .g-start-sm-3 {\n grid-column-start: 3;\n }\n .g-start-sm-4 {\n grid-column-start: 4;\n }\n .g-start-sm-5 {\n grid-column-start: 5;\n }\n .g-start-sm-6 {\n grid-column-start: 6;\n }\n .g-start-sm-7 {\n grid-column-start: 7;\n }\n .g-start-sm-8 {\n grid-column-start: 8;\n }\n .g-start-sm-9 {\n grid-column-start: 9;\n }\n .g-start-sm-10 {\n grid-column-start: 10;\n }\n .g-start-sm-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 768px) {\n .g-col-md-1 {\n grid-column: auto/span 1;\n }\n .g-col-md-2 {\n grid-column: auto/span 2;\n }\n .g-col-md-3 {\n grid-column: auto/span 3;\n }\n .g-col-md-4 {\n grid-column: auto/span 4;\n }\n .g-col-md-5 {\n grid-column: auto/span 5;\n }\n .g-col-md-6 {\n grid-column: auto/span 6;\n }\n .g-col-md-7 {\n grid-column: auto/span 7;\n }\n .g-col-md-8 {\n grid-column: auto/span 8;\n }\n .g-col-md-9 {\n grid-column: auto/span 9;\n }\n .g-col-md-10 {\n grid-column: auto/span 10;\n }\n .g-col-md-11 {\n grid-column: auto/span 11;\n }\n .g-col-md-12 {\n grid-column: auto/span 12;\n }\n .g-start-md-1 {\n grid-column-start: 1;\n }\n .g-start-md-2 {\n grid-column-start: 2;\n }\n .g-start-md-3 {\n grid-column-start: 3;\n }\n .g-start-md-4 {\n grid-column-start: 4;\n }\n .g-start-md-5 {\n grid-column-start: 5;\n }\n .g-start-md-6 {\n grid-column-start: 6;\n }\n .g-start-md-7 {\n grid-column-start: 7;\n }\n .g-start-md-8 {\n grid-column-start: 8;\n }\n .g-start-md-9 {\n grid-column-start: 9;\n }\n .g-start-md-10 {\n grid-column-start: 10;\n }\n .g-start-md-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1024px) {\n .g-col-lg-1 {\n grid-column: auto/span 1;\n }\n .g-col-lg-2 {\n grid-column: auto/span 2;\n }\n .g-col-lg-3 {\n grid-column: auto/span 3;\n }\n .g-col-lg-4 {\n grid-column: auto/span 4;\n }\n .g-col-lg-5 {\n grid-column: auto/span 5;\n }\n .g-col-lg-6 {\n grid-column: auto/span 6;\n }\n .g-col-lg-7 {\n grid-column: auto/span 7;\n }\n .g-col-lg-8 {\n grid-column: auto/span 8;\n }\n .g-col-lg-9 {\n grid-column: auto/span 9;\n }\n .g-col-lg-10 {\n grid-column: auto/span 10;\n }\n .g-col-lg-11 {\n grid-column: auto/span 11;\n }\n .g-col-lg-12 {\n grid-column: auto/span 12;\n }\n .g-start-lg-1 {\n grid-column-start: 1;\n }\n .g-start-lg-2 {\n grid-column-start: 2;\n }\n .g-start-lg-3 {\n grid-column-start: 3;\n }\n .g-start-lg-4 {\n grid-column-start: 4;\n }\n .g-start-lg-5 {\n grid-column-start: 5;\n }\n .g-start-lg-6 {\n grid-column-start: 6;\n }\n .g-start-lg-7 {\n grid-column-start: 7;\n }\n .g-start-lg-8 {\n grid-column-start: 8;\n }\n .g-start-lg-9 {\n grid-column-start: 9;\n }\n .g-start-lg-10 {\n grid-column-start: 10;\n }\n .g-start-lg-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1280px) {\n .g-col-xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-xl-1 {\n grid-column-start: 1;\n }\n .g-start-xl-2 {\n grid-column-start: 2;\n }\n .g-start-xl-3 {\n grid-column-start: 3;\n }\n .g-start-xl-4 {\n grid-column-start: 4;\n }\n .g-start-xl-5 {\n grid-column-start: 5;\n }\n .g-start-xl-6 {\n grid-column-start: 6;\n }\n .g-start-xl-7 {\n grid-column-start: 7;\n }\n .g-start-xl-8 {\n grid-column-start: 8;\n }\n .g-start-xl-9 {\n grid-column-start: 9;\n }\n .g-start-xl-10 {\n grid-column-start: 10;\n }\n .g-start-xl-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1536px) {\n .g-col-2xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-2xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-2xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-2xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-2xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-2xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-2xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-2xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-2xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-2xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-2xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-2xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-2xl-1 {\n grid-column-start: 1;\n }\n .g-start-2xl-2 {\n grid-column-start: 2;\n }\n .g-start-2xl-3 {\n grid-column-start: 3;\n }\n .g-start-2xl-4 {\n grid-column-start: 4;\n }\n .g-start-2xl-5 {\n grid-column-start: 5;\n }\n .g-start-2xl-6 {\n grid-column-start: 6;\n }\n .g-start-2xl-7 {\n grid-column-start: 7;\n }\n .g-start-2xl-8 {\n grid-column-start: 8;\n }\n .g-start-2xl-9 {\n grid-column-start: 9;\n }\n .g-start-2xl-10 {\n grid-column-start: 10;\n }\n .g-start-2xl-11 {\n grid-column-start: 11;\n }\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-fill {\n --gap: 1.5rem;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n}\n@layer forms {\n .form-label,\n .col-form-label {\n font-size: var(--label-font-size, var(--font-size-sm));\n font-style: var(--label-font-style, inherit);\n font-weight: var(--label-font-weight, inherit);\n color: var(--label-color, var(--fg-body));\n }\n .form-label {\n margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\n }\n .col-form-label {\n --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n padding-block: var(--label-padding-y);\n margin-bottom: 0;\n }\n .col-form-label-lg {\n --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n font-size: var(--btn-input-lg-font-size);\n }\n .col-form-label-sm {\n --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n font-size: var(--btn-input-sm-font-size);\n }\n}\n@layer forms {\n .form-text {\n --form-text-margin-top: 0.25rem;\n --form-text-font-size: var(--font-size-sm);\n --form-text-color: var(--fg-3);\n margin-top: var(--form-text-margin-top);\n font-size: var(--form-text-font-size);\n font-style: var(--form-text-font-style);\n font-weight: var(--form-text-font-weight);\n color: var(--form-text-color);\n }\n}\n@layer forms {\n .form-control {\n --control-min-height: var(--btn-input-min-height);\n --control-padding-y: var(--btn-input-padding-y);\n --control-padding-x: var(--btn-input-padding-x);\n --control-font-size: var(--btn-input-font-size);\n --control-line-height: var(--btn-input-line-height);\n --control-fg: var(--btn-input-fg);\n --control-bg: var(--btn-input-bg);\n --control-border-width: var(--border-width);\n --control-border-color: var(--border-color);\n --control-border-radius: var(--border-radius);\n --control-box-shadow: var(--box-shadow-inset);\n --control-action-bg: var(--bg-1);\n --control-action-hover-bg: var(--bg-2);\n --control-transition-property: border-color, box-shadow;\n --control-transition-timing: 0.15s ease-in-out;\n --control-transition: var(--control-transition-property) var(--control-transition-timing);\n --control-placeholder-color: var(--fg-3);\n --control-disabled-color: var(--control-fg);\n --control-disabled-bg: var(--bg-2);\n --control-disabled-border-color: var(--control-border-color);\n --control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n --control-select-bg-position: right 0.75rem center;\n --control-select-bg-size: 16px 12px;\n --control-select-bg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n display: flex;\n width: 100%;\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n font-size: var(--control-font-size);\n line-height: var(--control-line-height);\n color: var(--control-fg);\n appearance: none;\n background-color: var(--control-bg);\n background-clip: padding-box;\n border: var(--control-border-width) solid var(--control-border-color);\n border-radius: var(--control-border-radius);\n box-shadow: var(--control-box-shadow);\n transition: var(--control-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n }\n .form-control:focus-visible {\n --focus-ring-offset: -1px;\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-control::placeholder {\n color: var(--control-placeholder-color);\n opacity: 1;\n }\n .form-control:disabled {\n color: var(--control-disabled-color);\n background-color: var(--control-disabled-bg);\n border-color: var(--control-disabled-border-color);\n opacity: 1;\n }\n .form-control::-webkit-datetime-edit {\n display: block;\n height: 1.5rem;\n padding: 0;\n margin-bottom: -0.125rem;\n }\n .form-control::-webkit-datetime-edit-fields-wrapper {\n height: 1.5rem;\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::file-selector-button {\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n margin-inline-end: var(--control-padding-x);\n color: var(--control-fg);\n background-color: var(--control-action-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--control-border-width);\n border-radius: 0;\n transition: var(--control-transition);\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(--control-action-hover-bg);\n }\n .form-control-plaintext {\n display: block;\n width: 100%;\n padding: var(--control-padding-y) 0;\n margin-bottom: 0;\n line-height: var(--control-line-height);\n color: var(--control-fg);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--control-border-width) 0;\n }\n .form-control-plaintext:focus {\n outline: 0;\n }\n .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-inline: 0;\n }\n select.form-control {\n padding-inline-end: calc(var(--control-padding-x) * 3);\n background-image: var(--control-select-bg);\n background-repeat: no-repeat;\n background-position: var(--control-select-bg-position);\n background-size: var(--control-select-bg-size);\n }\n select.form-control[multiple], select.form-control[size]:not([size=\"1\"]) {\n padding-inline-end: var(--control-padding-x);\n background-image: none;\n }\n @media (prefers-color-scheme: dark) {\n select.form-control {\n background-image: var(--control-select-bg-dark);\n }\n }\n .form-control-sm {\n --control-min-height: var(--btn-input-sm-min-height);\n --control-padding-y: var(--btn-input-sm-padding-y);\n --control-padding-x: var(--btn-input-sm-padding-x);\n --control-font-size: var(--btn-input-sm-font-size);\n --control-line-height: var(--btn-input-sm-line-height);\n --control-border-radius: var(--btn-input-sm-border-radius);\n }\n .form-control-lg {\n --control-min-height: var(--btn-input-lg-min-height);\n --control-padding-y: var(--btn-input-lg-padding-y);\n --control-padding-x: var(--btn-input-lg-padding-x);\n --control-font-size: var(--btn-input-lg-font-size);\n --control-line-height: var(--btn-input-lg-line-height);\n --control-border-radius: var(--btn-input-lg-border-radius);\n }\n .form-control-color {\n width: var(--control-min-height);\n padding: var(--control-padding-y);\n }\n .form-control-color:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n .form-control-color::-moz-color-swatch {\n border: 0 !important;\n border-radius: var(--border-radius-sm);\n }\n .form-control-color::-webkit-color-swatch {\n border: 0 !important;\n border-radius: var(--border-radius-sm);\n }\n .form-ghost {\n display: block;\n width: 100%;\n padding: 0;\n font: inherit;\n color: inherit;\n appearance: none;\n background: transparent;\n border: 0;\n }\n .form-ghost:focus {\n outline: 0;\n }\n .form-ghost::placeholder {\n color: var(--fg-3);\n opacity: 1;\n }\n .form-ghost:disabled {\n color: var(--fg-4);\n cursor: not-allowed;\n }\n}\n@layer forms {\n .checkgroup {\n display: flex;\n gap: var(--gap, 0.5rem);\n align-items: var(--align-items, start);\n }\n .checkgroup .description {\n color: var(--fg-3);\n }\n .check {\n --check-size: 1.25rem;\n --check-margin-block: 0.125rem;\n --check-bg: transparent;\n --check-border-color: var(--border-color);\n --check-border-radius: 0.375rem;\n --check-checked-bg: var(--control-checked-bg);\n --check-checked-border-color: var(--control-checked-border-color);\n --check-indeterminate-bg: var(--control-checked-bg);\n --check-indeterminate-border-color: var(--control-checked-border-color);\n --check-active-bg: var(--control-active-bg);\n --check-active-border-color: var(--control-active-border-color);\n --check-disabled-bg: var(--control-disabled-bg);\n --check-disabled-opacity: var(--control-disabled-opacity);\n display: grid;\n grid-template-columns: repeat(1, minmax(0, 1fr));\n margin-block: var(--check-margin-block);\n }\n .check :where(svg, input) {\n flex-shrink: 0;\n grid-row-start: 1;\n grid-column-start: 1;\n width: var(--check-size);\n height: var(--check-size);\n }\n .check :where(input) {\n appearance: none;\n background-color: var(--theme-bg, var(--check-bg));\n border: 1px solid var(--theme-bg, var(--check-border-color));\n border-radius: 0.3em;\n }\n .check :where(input:checked, input:indeterminate) {\n background-color: var(--theme-bg, var(--check-checked-bg));\n border-color: var(--theme-bg, var(--check-checked-border-color));\n }\n .check :where(input:focus-visible) {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .check:has(input:checked) .checked, .check:has(input:indeterminate) .indeterminate {\n display: block;\n color: var(--theme-contrast, var(--primary-contrast));\n stroke: currentcolor;\n }\n .check:has(input:disabled) {\n --check-bg: var(--check-disabled-bg);\n }\n .check:has(input:disabled) ~ label {\n color: var(--fg-3);\n cursor: default;\n }\n .check:has(input:disabled:checked) {\n opacity: var(--check-disabled-opacity);\n }\n .check :where(svg) {\n pointer-events: none;\n }\n .check :where(svg path) {\n display: none;\n }\n .check-sm {\n --check-size: 1rem;\n }\n .check-lg {\n --check-size: 1.5rem;\n --check-margin-block: 0;\n }\n}\n@layer forms {\n .radiogroup {\n display: flex;\n gap: var(--gap, 0.5rem);\n align-items: var(--align-items, start);\n }\n .radiogroup .description {\n color: var(--fg-3);\n }\n .radio {\n --radio-size: 1.25rem;\n --radio-margin-block: 0.125rem;\n --radio-bg: transparent;\n --radio-border-color: var(--border-color);\n --radio-checked-bg: var(--control-checked-bg);\n --radio-checked-border-color: var(--control-checked-border-color);\n --radio-disabled-bg: var(--control-disabled-bg);\n --radio-disabled-opacity: var(--control-disabled-opacity);\n position: relative;\n flex-shrink: 0;\n width: var(--radio-size);\n height: var(--radio-size);\n margin-block: var(--radio-margin-block);\n appearance: none;\n background-color: var(--theme-bg, var(--radio-bg));\n border: 1px solid var(--theme-bg, var(--radio-border-color));\n border-radius: 50%;\n }\n .radio:checked {\n color: var(--theme-contrast, var(--primary-contrast));\n background-color: var(--theme-bg, var(--radio-checked-bg));\n border-color: var(--theme-bg, var(--radio-checked-border-color));\n }\n .radio:checked::before {\n position: absolute;\n inset: 0.25rem;\n content: \"\";\n background-color: currentcolor;\n border-radius: 50%;\n }\n .radio:disabled {\n --radio-bg: var(--radio-disabled-bg);\n }\n .radio:disabled ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n .radio:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .radio-sm {\n --radio-size: 1rem;\n }\n .radio-lg {\n --radio-size: 1.5rem;\n --radio-margin-block: 0;\n }\n}\n@layer forms {\n .switch {\n --switch-height: 1.25rem;\n --switch-width: calc(var(--switch-height) * 1.5);\n --switch-padding: 0.0625rem;\n --switch-margin-block: 0.125rem;\n --switch-bg: var(--bg-3);\n --switch-border-width: var(--border-width);\n --switch-border-color: var(--border-color);\n --switch-indicator-bg: var(--white);\n --switch-checked-bg: var(--control-checked-bg);\n --switch-checked-border-color: var(--switch-checked-bg);\n --switch-checked-indicator-bg: var(--white);\n --switch-disabled-bg: var(--control-disabled-bg);\n --switch-disabled-indicator-bg: var(--fg-3);\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: stretch;\n justify-content: flex-start;\n width: var(--switch-width);\n height: var(--switch-height);\n padding: var(--switch-padding);\n margin-block: var(--switch-margin-block);\n background-color: var(--switch-bg);\n border: var(--switch-border-width) solid var(--switch-border-color);\n border-radius: 10rem;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);\n transition: 0.15s ease-in-out;\n transition-property: padding-inline-start, background-color;\n }\n .switch::before {\n flex-shrink: 0;\n width: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n height: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n content: \"\";\n background-color: var(--theme-contrast, var(--switch-indicator-bg));\n border-radius: 50%;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n }\n .switch input {\n position: absolute;\n inset: 0;\n appearance: none;\n background-color: transparent;\n outline: 0;\n }\n .switch:focus-within {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .switch:has(input:checked) {\n padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n background-color: var(--theme-bg, var(--switch-checked-bg));\n border-color: var(--theme-bg, var(--switch-checked-border-color));\n }\n .switch:has(input:disabled) {\n --switch-bg: var(--switch-disabled-bg);\n --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n }\n .switch:has(input:disabled)::before {\n opacity: 0.4;\n }\n .switch:has(input:disabled) ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n .switch-sm {\n --switch-height: 1rem;\n }\n .switch-lg {\n --switch-height: 1.5rem;\n --switch-margin-block: 0;\n }\n}\n@layer forms {\n .form-range {\n --range-track-width: 100%;\n --range-track-height: 0.5rem;\n --range-track-cursor: pointer;\n --range-track-bg: var(--bg-3);\n --range-track-border-radius: 1rem;\n --range-track-box-shadow: var(--box-shadow-inset);\n --range-thumb-width: 1rem;\n --range-thumb-height: var(--range-thumb-width);\n --range-thumb-bg: var(--primary-base);\n --range-thumb-border: 0;\n --range-thumb-border-radius: 1rem;\n --range-thumb-box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body));\n --range-thumb-disabled-bg: var(--fg-3);\n --range-thumb-transition-property: background-color, border-color, box-shadow;\n --range-thumb-transition-timing: 0.15s ease-in-out;\n --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing);\n width: 100%;\n height: calc(var(--range-thumb-height) + var(--focus-ring-width) * 2);\n padding: 0;\n appearance: none;\n background-color: transparent;\n }\n .form-range:focus {\n outline: 0;\n }\n .form-range:focus::-webkit-slider-thumb {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .form-range:focus::-moz-range-thumb {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .form-range::-moz-focus-outer {\n border: 0;\n }\n .form-range::-webkit-slider-thumb {\n width: var(--range-thumb-width);\n height: var(--range-thumb-height);\n appearance: none;\n background-color: var(--range-thumb-bg);\n border: var(--range-thumb-border);\n border-radius: var(--range-thumb-border-radius);\n box-shadow: var(--range-thumb-box-shadow);\n transition: var(--range-thumb-transition);\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: var(--range-thumb-active-bg);\n }\n .form-range::-webkit-slider-thumb {\n margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * 0.5);\n }\n .form-range::-moz-range-thumb {\n width: var(--range-thumb-width);\n height: var(--range-thumb-height);\n appearance: none;\n background-color: var(--range-thumb-bg);\n border: var(--range-thumb-border);\n border-radius: var(--range-thumb-border-radius);\n box-shadow: var(--range-thumb-box-shadow);\n transition: var(--range-thumb-transition);\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: var(--range-thumb-active-bg);\n }\n .form-range::-webkit-slider-runnable-track {\n width: var(--range-track-width);\n height: var(--range-track-height);\n color: transparent;\n cursor: var(--range-track-cursor);\n background-color: var(--range-track-bg);\n border-color: transparent;\n border-radius: var(--range-track-border-radius);\n box-shadow: var(--range-track-box-shadow);\n }\n .form-range::-moz-range-track {\n width: var(--range-track-width);\n height: var(--range-track-height);\n color: transparent;\n cursor: var(--range-track-cursor);\n background-color: var(--range-track-bg);\n border-color: transparent;\n border-radius: var(--range-track-border-radius);\n box-shadow: var(--range-track-box-shadow);\n }\n .form-range:disabled {\n pointer-events: none;\n }\n .form-range:disabled::-webkit-slider-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n .form-range:disabled::-moz-range-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n}\n@layer forms {\n .form-floating {\n --form-floating-height: calc(3.5rem + var(--border-width) * 2);\n --form-floating-line-height: 1.25;\n --form-floating-padding-x: var(--btn-input-padding-x);\n --form-floating-padding-y: 1rem;\n --form-floating-input-padding-t: 1.625rem;\n --form-floating-input-padding-b: 0.625rem;\n --form-floating-label-height: 1.5em;\n --form-floating-label-opacity: 0.65;\n --form-floating-label-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n --form-floating-label-disabled-color: var(--fg-3);\n --form-floating-transition-property: opacity, transform;\n --form-floating-transition-timing: 0.1s ease-in-out;\n --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing);\n position: relative;\n }\n .form-floating > label {\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n max-width: 100%;\n height: 100%;\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n overflow: hidden;\n color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--input-btn-border-width) solid transparent;\n transform-origin: 0 0;\n transition: var(--form-floating-transition);\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 height: var(--form-floating-height);\n min-height: var(--form-floating-height);\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n line-height: var(--form-floating-line-height);\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: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n .form-floating > .form-control:-webkit-autofill,\n .form-floating > .form-control-plaintext:-webkit-autofill {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\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 transform: var(--form-floating-label-transform);\n }\n .form-floating > .form-control:-webkit-autofill ~ label {\n transform: var(--form-floating-label-transform);\n }\n .form-floating > textarea:focus ~ label::after,\n .form-floating > textarea:not(:placeholder-shown) ~ label::after {\n position: absolute;\n inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * 0.5);\n z-index: -1;\n height: var(--form-floating-label-height);\n content: \"\";\n background-color: var(--control-bg);\n border-radius: var(--btn-input-border-radius);\n }\n .form-floating > textarea:disabled ~ label::after {\n background-color: var(--control-disabled-bg);\n }\n .form-floating > .form-control-plaintext ~ label {\n border-width: var(--control-border-width) 0;\n }\n .form-floating > :disabled ~ label,\n .form-floating > .form-control:disabled ~ label {\n color: var(--form-floating-label-disabled-color);\n }\n}\n@layer components {\n .input-group {\n --input-group-addon-padding-y: var(--btn-input-padding-y);\n --input-group-addon-padding-x: var(--btn-input-padding-x);\n --input-group-addon-font-size: var(--btn-input-font-size);\n --input-group-addon-line-height: var(--btn-input-line-height);\n --input-group-addon-color: var(--fg-body);\n --input-group-addon-bg: var(--bg-2);\n --input-group-addon-border-color: var(--border-color);\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-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-floating:focus-within {\n z-index: 5;\n }\n .input-group > .input-group-btn {\n position: relative;\n z-index: 2;\n }\n .input-group > .input-group-btn:focus {\n z-index: 5;\n }\n .input-group-text {\n display: flex;\n align-items: center;\n padding: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n font-size: var(--input-group-addon-font-size);\n line-height: var(--input-group-addon-line-height);\n color: var(--input-group-addon-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--input-group-addon-bg);\n border: var(--border-width) solid var(--input-group-addon-border-color);\n border-radius: var(--btn-input-border-radius);\n }\n .input-group-sm > .form-control,\n .input-group-sm > .input-group-text,\n .input-group-sm > .btn {\n min-height: var(--btn-input-sm-min-height);\n padding: var(--btn-input-sm-padding-y) var(--btn-input-sm-padding-x);\n font-size: var(--btn-input-sm-font-size);\n border-radius: var(--btn-input-sm-border-radius);\n }\n .input-group-lg > .form-control,\n .input-group-lg > .input-group-text,\n .input-group-lg > .btn {\n min-height: var(--btn-input-lg-min-height);\n padding: var(--btn-input-lg-padding-y) var(--btn-input-lg-padding-x);\n font-size: var(--btn-input-lg-font-size);\n border-radius: var(--btn-input-lg-border-radius);\n }\n .input-group:not(.has-validation) > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n .input-group:not(.has-validation) > .menu-toggle-split:nth-last-child(n+3),\n .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .input-group.has-validation > :nth-last-child(n+3):not(.menu-toggle-split):not(.menu):not(.form-floating),\n .input-group.has-validation > .menu-toggle-split:nth-last-child(n+4),\n .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .input-group > :not(:first-child):not(.menu) {\n margin-inline-start: calc(-1 * var(--border-width));\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .input-group > .form-floating:not(:first-child) > .form-control,\n .input-group > .form-floating:not(:first-child) > .form-select {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n}\n@layer forms {\n .strength {\n --strength-height: 0.375rem;\n --strength-gap: 0.25rem;\n --strength-margin-top: 0.25rem;\n --strength-border-radius: var(--border-radius-pill);\n --strength-bg: var(--bg-2);\n --strength-color: var(--bg-2);\n --strength-weak-color: var(--danger-bg);\n --strength-fair-color: var(--warning-bg);\n --strength-good-color: var(--info-bg);\n --strength-strong-color: var(--success-bg);\n display: flex;\n gap: var(--strength-gap);\n width: 100%;\n margin-top: var(--strength-margin-top);\n }\n .strength-segment {\n flex: 1;\n height: var(--strength-height);\n background-color: var(--strength-bg);\n border-radius: var(--strength-border-radius);\n transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .strength-segment {\n transition: none;\n }\n }\n .strength-segment.active {\n background-color: var(--strength-color);\n }\n .strength[data-bs-strength=weak] {\n --strength-color: var(--strength-weak-color);\n }\n .strength[data-bs-strength=fair] {\n --strength-color: var(--strength-fair-color);\n }\n .strength[data-bs-strength=good] {\n --strength-color: var(--strength-good-color);\n }\n .strength[data-bs-strength=strong] {\n --strength-color: var(--strength-strong-color);\n }\n .strength-text {\n display: block;\n margin-top: var(--strength-margin-top);\n font-size: var(--font-size-xs);\n color: var(--strength-color, var(--fg-3));\n transition: color 0.2s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .strength-text {\n transition: none;\n }\n }\n .strength-text:empty {\n display: none;\n }\n .strength-bar {\n --strength-height: 0.375rem;\n --strength-gap: 0.25rem;\n --strength-margin-top: 0.25rem;\n --strength-border-radius: var(--border-radius-pill);\n --strength-bg: var(--bg-2);\n --strength-color: var(--bg-2);\n --strength-weak-color: var(--danger-bg);\n --strength-fair-color: var(--warning-bg);\n --strength-good-color: var(--info-bg);\n --strength-strong-color: var(--success-bg);\n --strength-color: transparent;\n --strength-width: 0%;\n width: 100%;\n height: var(--strength-height);\n margin-top: var(--strength-margin-top);\n overflow: hidden;\n background-color: var(--strength-bg);\n border-radius: var(--strength-border-radius);\n }\n .strength-bar::after {\n display: block;\n width: var(--strength-width);\n height: 100%;\n content: \"\";\n background-color: var(--strength-color);\n border-radius: var(--strength-border-radius);\n transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .strength-bar::after {\n transition: none;\n }\n }\n .strength-bar[data-bs-strength=weak] {\n --strength-color: var(--strength-weak-color);\n --strength-width: 25%;\n }\n .strength-bar[data-bs-strength=fair] {\n --strength-color: var(--strength-fair-color);\n --strength-width: 50%;\n }\n .strength-bar[data-bs-strength=good] {\n --strength-color: var(--strength-good-color);\n --strength-width: 75%;\n }\n .strength-bar[data-bs-strength=strong] {\n --strength-color: var(--strength-strong-color);\n --strength-width: 100%;\n }\n}\n@layer components {\n .otp {\n --otp-size: var(--btn-input-lg-min-height);\n --otp-font-size: var(--btn-input-font-size);\n --otp-gap: 0.5rem;\n display: inline-flex;\n gap: var(--otp-gap);\n }\n .otp .form-control {\n width: var(--otp-size);\n min-height: var(--otp-size);\n padding: 0;\n font-size: var(--otp-font-size);\n font-weight: 500;\n line-height: 1;\n text-align: center;\n border-radius: var(--otp-border-radius, var(--btn-input-border-radius));\n }\n .otp .form-control::-webkit-outer-spin-button, .otp .form-control::-webkit-inner-spin-button {\n margin: 0;\n appearance: none;\n }\n .otp .form-control[type=number] {\n appearance: textfield;\n }\n .otp .form-control:focus, .otp .form-control:focus-visible {\n z-index: 1;\n }\n .otp.is-valid .form-control, .was-validated .otp:valid .form-control {\n border-color: var(--form-valid-border-color);\n }\n .otp.is-valid .form-control:focus, .was-validated .otp:valid .form-control:focus {\n --focus-ring-color: rgba(var(--success-rgb), .25);\n border-color: var(--form-valid-border-color);\n }\n .otp.is-invalid .form-control, .was-validated .otp:invalid .form-control {\n border-color: var(--form-invalid-border-color);\n }\n .otp.is-invalid .form-control:focus, .was-validated .otp:invalid .form-control:focus {\n --focus-ring-color: rgba(var(--danger-rgb), .25);\n border-color: var(--form-invalid-border-color);\n }\n .otp.input-group {\n gap: 0;\n width: auto;\n }\n .otp.input-group .form-control {\n flex: 0 0 auto;\n }\n .otp-separator {\n display: flex;\n align-items: center;\n padding-inline: var(--otp-gap);\n font-size: var(--otp-font-size);\n color: var(--fg-4);\n user-select: none;\n }\n .otp-sm {\n --otp-size: var(--btn-input-sm-min-height);\n --otp-font-size: var(--btn-input-sm-font-size);\n --otp-border-radius: var(--btn-input-sm-border-radius);\n }\n .otp-lg {\n --otp-size: var(--btn-input-lg-min-height);\n --otp-font-size: var(--btn-input-lg-font-size);\n --otp-border-radius: var(--btn-input-lg-border-radius);\n }\n}\n@layer forms {\n .form-adorn {\n --form-adorn-gap: 0.375rem;\n --form-adorn-icon-size: 1rem;\n --form-adorn-icon-color: var(--fg-2);\n gap: var(--form-adorn-gap);\n align-items: center;\n }\n .form-adorn:focus-visible {\n outline: 0;\n }\n .form-adorn:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-adorn > .form-ghost {\n flex: 1;\n min-width: 0;\n }\n .form-adorn.form-adorn-end > .form-ghost {\n order: -1;\n }\n .form-adorn-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n }\n .form-adorn-icon > svg {\n width: var(--form-adorn-icon-size);\n height: var(--form-adorn-icon-size);\n }\n .form-adorn-text {\n flex-shrink: 0;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n user-select: none;\n }\n}\n@layer forms {\n .chip-input {\n --chip-input-padding-y: 0.75rem;\n --chip-input-padding-x: 0.75rem;\n --chip-input-gap: 0.375rem;\n --chip-input-ghost-min-width: 5rem;\n --control-fg: var(--btn-input-fg);\n --control-bg: var(--btn-input-bg);\n --control-border-width: var(--border-width);\n --control-border-color: var(--border-color);\n --control-border-radius: var(--border-radius);\n display: flex;\n flex-wrap: wrap;\n gap: var(--chip-input-gap);\n align-items: center;\n padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n color: var(--control-fg);\n background-color: var(--control-bg);\n border: var(--control-border-width) solid var(--control-border-color);\n border-radius: var(--control-border-radius);\n }\n .chip-input:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .chip-input > .form-ghost {\n flex: 1 1 0;\n min-width: var(--chip-input-ghost-min-width);\n min-height: 1.75rem;\n }\n .chip-input.disabled, .chip-input:has(.form-ghost:disabled) {\n background-color: var(--bg-2);\n opacity: 1;\n }\n .chip-input.disabled > .chip, .chip-input:has(.form-ghost:disabled) > .chip {\n opacity: var(--control-disabled-opacity);\n }\n .chip-input.disabled > .chip .chip-dismiss, .chip-input:has(.form-ghost:disabled) > .chip .chip-dismiss {\n pointer-events: none;\n }\n .chip-input.disabled > .form-ghost, .chip-input:has(.form-ghost:disabled) > .form-ghost {\n cursor: not-allowed;\n }\n}\n@layer components {\n .combobox-toggle {\n display: inline-flex;\n gap: 0.5rem;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding-inline-end: var(--control-padding-x);\n text-align: start;\n cursor: pointer;\n }\n .combobox-toggle.show {\n background-color: var(--bg-1);\n }\n .combobox-toggle:disabled, .combobox-toggle.disabled {\n cursor: not-allowed;\n opacity: 0.65;\n }\n .combobox-value {\n display: flex;\n flex: 1;\n gap: 0.5rem;\n align-items: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .combobox-placeholder {\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n .combobox-caret {\n flex-shrink: 0;\n transition: transform 0.2s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .combobox-caret {\n transition: none;\n }\n }\n .show > .combobox-caret {\n transform: rotate(180deg);\n }\n .combobox-toggle + .menu {\n --menu-max-height: 300px;\n --menu-overflow-y: auto;\n }\n .combobox-search {\n position: sticky;\n top: 0;\n z-index: 1;\n padding: var(--menu-padding-x, 0.25rem);\n background-color: var(--menu-bg, var(--bg-body));\n }\n .combobox-search-input {\n width: 100%;\n }\n .combobox-no-results {\n padding: 1rem;\n font-size: var(--font-size-sm);\n color: var(--fg-3);\n text-align: center;\n }\n}\n@layer components {\n .tooltip {\n --tooltip-zindex: 1080;\n --tooltip-max-width: 200px;\n --tooltip-padding-x: 0.75rem;\n --tooltip-padding-y: 0.375rem;\n --tooltip-font-size: var(--font-size-sm);\n --tooltip-color: var(--bg-body);\n --tooltip-bg: var(--fg-body);\n --tooltip-border-radius: var(--border-radius);\n --tooltip-opacity: 0.95;\n --tooltip-arrow-width: 0.8rem;\n --tooltip-arrow-height: 0.4rem;\n z-index: var(--tooltip-zindex);\n display: block;\n font-family: var(--body-font-family);\n font-style: normal;\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--tooltip-font-size);\n word-wrap: break-word;\n opacity: 0;\n }\n .tooltip.show {\n opacity: var(--tooltip-opacity);\n }\n .tooltip .tooltip-arrow {\n display: block;\n width: var(--tooltip-arrow-width);\n height: var(--tooltip-arrow-height);\n }\n .tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow {\n bottom: calc(-1 * var(--tooltip-arrow-height));\n }\n .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before {\n top: -1px;\n border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n border-block-start-color: var(--tooltip-bg);\n }\n .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow {\n left: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n }\n .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before {\n right: -1px;\n border-width: calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n border-inline-end-color: var(--tooltip-bg);\n }\n .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow {\n top: calc(-1 * var(--tooltip-arrow-height));\n }\n .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before {\n bottom: -1px;\n border-width: 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n border-block-end-color: var(--tooltip-bg);\n }\n .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow {\n right: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n }\n .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before {\n left: -1px;\n border-width: calc(var(--tooltip-arrow-width) * 0.5) 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n border-inline-start-color: var(--tooltip-bg);\n }\n .tooltip-inner {\n max-width: var(--tooltip-max-width);\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n color: var(--tooltip-color);\n text-align: center;\n background-color: var(--tooltip-bg);\n border-radius: var(--tooltip-border-radius);\n }\n}\n@layer components {\n .valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.5rem;\n font-size: var(--font-size-xs);\n color: var(--form-valid-color);\n }\n .valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n margin-top: 0.1rem;\n font-size: var(--tooltip-font-size);\n color: var(--success-contrast);\n background-color: var(--success-bg);\n border-radius: var(--tooltip-border-radius);\n }\n .was-validated :valid ~ .valid-feedback,\n .was-validated :valid ~ .valid-tooltip,\n .is-valid ~ .valid-feedback,\n .is-valid ~ .valid-tooltip {\n display: block;\n }\n .was-validated .form-control:valid, .form-control.is-valid {\n border-color: var(--success-border);\n padding-inline-end: calc(var(--control-padding-x) * 3.5);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a748' 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 var(--control-padding-x) center;\n background-size: 1rem;\n }\n .was-validated .form-control:valid:focus-visible, .form-control.is-valid:focus-visible {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--success-border);\n }\n .was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n background-position: right var(--control-padding-x) top var(--control-padding-x);\n }\n .was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: var(--success-border);\n }\n .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: var(--form-valid-color);\n }\n .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: var(--form-valid-color);\n }\n .form-check-inline .form-check-input ~ .valid-feedback {\n margin-inline-start: 0.5em;\n }\n .was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n .was-validated .input-group > .form-select:not(:focus):valid,\n .input-group > .form-select:not(:focus).is-valid,\n .was-validated .input-group > .form-floating:not(:focus-within):valid,\n .input-group > .form-floating:not(:focus-within).is-valid {\n z-index: 3;\n }\n .invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.5rem;\n font-size: var(--font-size-xs);\n color: var(--form-invalid-color);\n }\n .invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n margin-top: 0.1rem;\n font-size: var(--tooltip-font-size);\n color: var(--danger-contrast);\n background-color: var(--danger-bg);\n border-radius: var(--tooltip-border-radius);\n }\n .was-validated :invalid ~ .invalid-feedback,\n .was-validated :invalid ~ .invalid-tooltip,\n .is-invalid ~ .invalid-feedback,\n .is-invalid ~ .invalid-tooltip {\n display: block;\n }\n .was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: var(--danger-border);\n padding-inline-end: calc(var(--control-padding-x) * 3.5);\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='%23dd0d37'%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='%23dd0d37' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right var(--control-padding-x) center;\n background-size: 1rem;\n }\n .was-validated .form-control:invalid:focus-visible, .form-control.is-invalid:focus-visible {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--danger-border);\n }\n .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n background-position: right var(--control-padding-x) top var(--control-padding-x);\n }\n .was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: var(--danger-border);\n }\n .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: var(--form-invalid-color);\n }\n .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: var(--form-invalid-color);\n }\n .form-check-inline .form-check-input ~ .invalid-feedback {\n margin-inline-start: 0.5em;\n }\n .was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n .was-validated .input-group > .form-select:not(:focus):invalid,\n .input-group > .form-select:not(:focus).is-invalid,\n .was-validated .input-group > .form-floating:not(:focus-within):invalid,\n .input-group > .form-floating:not(:focus-within).is-invalid {\n z-index: 4;\n }\n}\n@layer components {\n .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n --btn-min-height: var(--btn-input-min-height);\n --btn-padding-x: var(--btn-input-padding-x);\n --btn-padding-y: var(--btn-input-padding-y);\n --btn-font-size: var(--btn-input-font-size);\n --btn-font-weight: var(--btn-input-font-weight);\n --btn-line-height: var(--btn-input-line-height);\n --btn-color: var(--fg-body);\n --btn-white-space: nowrap;\n --btn-border-width: var(--border-width);\n --btn-border-color: transparent;\n --btn-border-radius: var(--border-radius);\n --btn-hover-border-color: transparent;\n --btn-disabled-opacity: 0.65;\n --btn-transition-timing: 0.15s ease-in-out;\n --btn-transition-property: color, background-color, border-color, box-shadow;\n --btn-transition: var(--btn-transition-property) var(--btn-transition-timing);\n display: inline-flex;\n gap: var(--btn-gap, 0.25rem);\n align-items: center;\n justify-content: center;\n min-height: var(--btn-min-height);\n padding: var(--btn-padding-y) var(--btn-padding-x);\n font-size: var(--btn-font-size);\n font-weight: var(--btn-font-weight);\n line-height: var(--btn-line-height);\n color: var(--btn-color);\n text-decoration: none;\n white-space: var(--btn-white-space);\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: var(--btn-bg, var(--bg-2));\n border: var(--btn-border-width) solid var(--btn-border-color);\n border-radius: var(--btn-border-radius);\n transition: var(--btn-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n transition: none;\n }\n }\n .btn:hover, .btn-link:hover, .btn-icon:hover, .btn-solid:hover, .btn-outline:hover, .btn-subtle:hover, .btn-text:hover {\n color: var(--btn-hover-color);\n background-color: var(--btn-hover-bg, var(--bg-3));\n border-color: var(--btn-hover-border-color);\n }\n .btn:focus-visible, .btn-link:focus-visible, .btn-icon:focus-visible, .btn-solid:focus-visible, .btn-outline:focus-visible, .btn-subtle:focus-visible, .btn-text:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .btn.active, .btn.show, .btn-link.active, .btn-link.show, .btn-icon.active, .btn-icon.show, .btn-solid.active, .btn-solid.show, .btn-outline.active, .btn-outline.show, .btn-subtle.active, .btn-subtle.show, .btn-text.active, .btn-text.show {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n border-color: var(--btn-active-border-color);\n }\n .btn.active:focus-visible, .btn.show:focus-visible, .btn-link.active:focus-visible, .btn-link.show:focus-visible, .btn-icon.active:focus-visible, .btn-icon.show:focus-visible, .btn-solid.active:focus-visible, .btn-solid.show:focus-visible, .btn-outline.active:focus-visible, .btn-outline.show:focus-visible, .btn-subtle.active:focus-visible, .btn-subtle.show:focus-visible, .btn-text.active:focus-visible, .btn-text.show:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .btn:disabled, .btn.disabled, fieldset:disabled .btn, .btn-link:disabled, .btn-link.disabled, fieldset:disabled .btn-link, .btn-icon:disabled, .btn-icon.disabled, fieldset:disabled .btn-icon, .btn-solid:disabled, .btn-solid.disabled, fieldset:disabled .btn-solid, .btn-outline:disabled, .btn-outline.disabled, fieldset:disabled .btn-outline, .btn-subtle:disabled, .btn-subtle.disabled, fieldset:disabled .btn-subtle, .btn-text:disabled, .btn-text.disabled, fieldset:disabled .btn-text {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n }\n .btn-solid {\n --btn-bg: var(--theme-bg);\n --btn-color: var(--theme-contrast);\n --btn-border-color: var(--theme-bg);\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n --btn-disabled-bg: var(--theme-bg);\n --btn-disabled-color: var(--theme-contrast);\n --btn-disabled-border-color: var(--theme-bg);\n }\n .btn-solid:hover {\n --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n }\n .btn-solid:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-solid:active, .btn-solid.active, .btn-solid.btn-check:has(input:checked) {\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n }\n .btn-solid:disabled, .btn-solid.disabled, .btn-solid.btn-check:has(input:disabled) {\n --btn-disabled-bg: var(--theme-bg);\n --btn-disabled-color: var(--theme-contrast);\n --btn-disabled-border-color: var(--theme-bg);\n }\n .btn-outline {\n --btn-bg: transparent;\n --btn-color: var(--theme-text);\n --btn-border-color: var(--theme-border);\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-disabled-bg: transparent;\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: var(--theme-border);\n }\n .btn-outline:hover {\n --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n }\n .btn-outline:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-outline:active, .btn-outline.active, .btn-outline.btn-check:has(input:checked) {\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n }\n .btn-outline:disabled, .btn-outline.disabled, .btn-outline.btn-check:has(input:disabled) {\n --btn-disabled-bg: transparent;\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: var(--theme-border);\n }\n .btn-subtle {\n --btn-bg: var(--theme-bg-subtle);\n --btn-color: var(--theme-text);\n --btn-border-color: transparent;\n --btn-active-bg: var(--theme-bg-subtle);\n --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n --btn-disabled-bg: var(--theme-bg-subtle);\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: transparent;\n }\n .btn-subtle:hover {\n --btn-hover-bg: color-mix(in oklch, var(--theme-bg-muted) 50%, var(--theme-bg-subtle));\n --btn-hover-color: oklch(from var(--theme-text-emphasis) calc(l * .95) calc(c * 1.1) h);\n }\n .btn-subtle:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-subtle:active, .btn-subtle.active, .btn-subtle.btn-check:has(input:checked) {\n --btn-active-bg: var(--theme-bg-subtle);\n --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n }\n .btn-subtle:disabled, .btn-subtle.disabled, .btn-subtle.btn-check:has(input:disabled) {\n --btn-disabled-bg: var(--theme-bg-subtle);\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: transparent;\n }\n .btn-text {\n --btn-color: var(--theme-text);\n --btn-bg: transparent;\n --btn-border-color: transparent;\n --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n --btn-active-bg: var(--theme-bg-subtle);\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-bg: transparent;\n --btn-disabled-border-color: transparent;\n }\n .btn-text:hover {\n --btn-hover-color: oklch(from var(--theme-text) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-bg: var(--theme-bg-subtle);\n }\n .btn-text:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-text:active, .btn-text.active, .btn-text.btn-check:has(input:checked) {\n --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n --btn-active-bg: var(--theme-bg-subtle);\n }\n .btn-text:disabled, .btn-text.disabled, .btn-text.btn-check:has(input:disabled) {\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-bg: transparent;\n --btn-disabled-border-color: transparent;\n }\n .btn-link {\n --btn-font-weight: var(--font-weight-normal);\n --btn-color: var(--link-color);\n --btn-bg: transparent;\n --btn-border-color: transparent;\n --btn-hover-color: var(--link-hover-color);\n --btn-hover-bg: transparent;\n --btn-hover-border-color: transparent;\n --btn-active-color: var(--link-hover-color);\n --btn-active-bg: transparent;\n --btn-active-border-color: transparent;\n --btn-disabled-color: var(--fg-3);\n --btn-disabled-border-color: transparent;\n color: var(--theme-text, var(--btn-color));\n text-decoration: var(--link-decoration);\n }\n .btn-link:focus-visible {\n color: var(--theme-text, var(--btn-color));\n }\n .btn-link:hover {\n color: var(--theme-text-emphasis, var(--btn-hover-color));\n }\n .btn-xs,\n .btn-group-xs > [class*=btn-] {\n --btn-min-height: var(--btn-input-xs-min-height);\n --btn-padding-y: var(--btn-input-xs-padding-y);\n --btn-padding-x: var(--btn-input-xs-padding-x);\n --btn-font-size: var(--btn-input-xs-font-size);\n --btn-line-height: var(--btn-input-xs-line-height);\n --btn-border-radius: var(--btn-input-xs-border-radius);\n }\n .btn-sm,\n .btn-group-sm > [class*=btn-] {\n --btn-min-height: var(--btn-input-sm-min-height);\n --btn-padding-y: var(--btn-input-sm-padding-y);\n --btn-padding-x: var(--btn-input-sm-padding-x);\n --btn-font-size: var(--btn-input-sm-font-size);\n --btn-line-height: var(--btn-input-sm-line-height);\n --btn-border-radius: var(--btn-input-sm-border-radius);\n }\n .btn-lg,\n .btn-group-lg > [class*=btn-] {\n --btn-min-height: var(--btn-input-lg-min-height);\n --btn-padding-y: var(--btn-input-lg-padding-y);\n --btn-padding-x: var(--btn-input-lg-padding-x);\n --btn-font-size: var(--btn-input-lg-font-size);\n --btn-line-height: var(--btn-input-lg-line-height);\n --btn-border-radius: var(--btn-input-lg-border-radius);\n }\n .btn-icon {\n align-items: center;\n justify-content: center;\n aspect-ratio: 1;\n padding: 0;\n }\n .btn-check > input {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n .btn-check:has(input:checked) {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n border-color: var(--btn-active-border-color);\n box-shadow: var(--btn-active-shadow);\n }\n .btn-check:has(input:focus-visible) {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .btn-check:has(input:disabled) {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n box-shadow: none;\n }\n .btn-styled {\n --btn-gradient-start: rgba(255, 255, 255, 0.125);\n --btn-gradient-end: rgba(0, 0, 0, 0.075);\n --btn-border-mix-color: #000;\n --btn-border-mix-amount: 10%;\n --btn-border-hover-mix-amount: 12.5%;\n --btn-border-active-mix-amount: 20%;\n --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n box-shadow: var(--btn-shadow);\n }\n .btn-styled:hover {\n background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n }\n .btn-styled:active, .btn-styled.active {\n background-image: none;\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n box-shadow: var(--btn-active-shadow);\n }\n .btn-styled:disabled, .btn-styled.disabled {\n background-image: none;\n box-shadow: none;\n }\n}\n@layer components {\n .btn-group,\n .btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n }\n .btn-group > [class*=btn-],\n .btn-group-vertical > [class*=btn-] {\n position: relative;\n flex: 1 1 auto;\n }\n .btn-group > [class*=btn-]:hover,\n .btn-group-vertical > [class*=btn-]:hover {\n z-index: 1;\n }\n .btn-group > .btn-check:has(input:checked),\n .btn-group > [class*=btn-]:active,\n .btn-group > [class*=btn-].active,\n .btn-group-vertical > .btn-check:has(input:checked),\n .btn-group-vertical > [class*=btn-]:active,\n .btn-group-vertical > [class*=btn-].active {\n z-index: 2;\n }\n .btn-group > .btn-check:has(input:focus),\n .btn-group > [class*=btn-]:focus,\n .btn-group-vertical > .btn-check:has(input:focus),\n .btn-group-vertical > [class*=btn-]:focus {\n z-index: 3;\n }\n .btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n justify-content: flex-start;\n }\n .btn-toolbar .input-group {\n width: auto;\n }\n .btn-group {\n border-radius: var(--btn-border-radius);\n }\n .btn-group > [class*=btn-]:not(:first-child),\n .btn-group > .btn-group:not(:first-child) {\n margin-inline-start: calc(-1 * var(--btn-border-width));\n }\n .btn-group > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n .btn-group > .btn-group:not(:last-child) > [class*=btn-] {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .btn-group > [class*=btn-]:not(:first-child),\n .btn-group > .btn-group:not(:first-child) > [class*=btn-] {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n }\n .btn-group-vertical > [class*=btn-],\n .btn-group-vertical > .btn-group {\n width: 100%;\n }\n .btn-group-vertical > [class*=btn-]:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: calc(-1 * var(--btn-border-width));\n }\n .btn-group-vertical > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n .btn-group-vertical > .btn-group:not(:last-child) > [class*=btn-] {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .btn-group-vertical > [class*=btn-]:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) > [class*=btn-] {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n}\n@layer components {\n .btn-close {\n --btn-close-size: 1.25rem;\n --btn-close-color: var(--fg-body);\n --btn-close-opacity: 0.5;\n --btn-close-hover-opacity: 0.75;\n --btn-close-focus-opacity: 0.85;\n --btn-close-disabled-opacity: 0.25;\n box-sizing: content-box;\n width: var(--btn-close-size);\n height: var(--btn-close-size);\n padding: 0;\n color: var(--btn-close-color);\n background: transparent;\n border: 0;\n border-radius: var(--border-radius-sm);\n opacity: var(--btn-close-opacity);\n }\n .btn-close > svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: currentcolor;\n }\n .btn-close:hover {\n color: var(--btn-close-color);\n text-decoration: none;\n opacity: var(--btn-close-hover-opacity);\n }\n .btn-close:focus-visible {\n opacity: var(--btn-close-focus-opacity);\n outline: var(--focus-ring);\n }\n .btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--btn-close-disabled-opacity);\n }\n}\n@layer components {\n .accordion {\n --accordion-padding-x: 1.25rem;\n --accordion-padding-y: 1rem;\n --accordion-color: var(--fg-body);\n --accordion-bg: var(--bg-body);\n --accordion-transition-property: color, background-color, border-radius;\n --accordion-transition-timing: .15s ease-in-out;\n --accordion-transition: var(--accordion-transition-property) var(--accordion-timing);\n --accordion-border-color: var(--border-color);\n --accordion-border-width: var(--border-width);\n --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg));\n --accordion-btn-color: var(--fg-2);\n --accordion-btn-bg: var(--bg-body);\n --accordion-btn-icon-width: 1rem;\n --accordion-btn-icon-transform: rotate(-180deg);\n --accordion-btn-icon-transition: transform 0.2s ease-in-out;\n --accordion-active-color: var(--fg);\n --accordion-active-bg: var(--bg-2);\n }\n .accordion-header {\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n font-size: var(--accordion-font-size, var(--font-size-base));\n color: var(--accordion-btn-color);\n text-align: start;\n list-style: none;\n cursor: pointer;\n background-color: var(--accordion-btn-bg);\n transition: var(--accordion-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .accordion-header {\n transition: none;\n }\n }\n .accordion-header .accordion-icon {\n flex-shrink: 0;\n width: var(--accordion-btn-icon-width);\n height: var(--accordion-btn-icon-width);\n margin-inline-start: auto;\n color: currentcolor;\n transition: var(--accordion-btn-icon-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .accordion-header .accordion-icon {\n transition: none;\n }\n }\n .accordion-header:hover {\n z-index: 2;\n }\n .accordion-header:focus-visible {\n position: relative;\n z-index: 3;\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n outline-offset: -1px;\n }\n .accordion-item {\n color: var(--accordion-color);\n background-color: var(--accordion-bg);\n border: var(--accordion-border-width) solid var(--accordion-border-color);\n }\n .accordion-item:first-of-type {\n border-start-start-radius: var(--accordion-border-radius);\n border-start-end-radius: var(--accordion-border-radius);\n }\n .accordion-item:first-of-type > .accordion-header {\n border-start-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n border-start-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n }\n .accordion-item:not(:first-of-type) {\n border-block-start: 0;\n }\n .accordion-item:last-of-type {\n border-end-start-radius: var(--accordion-border-radius);\n border-end-end-radius: var(--accordion-border-radius);\n }\n .accordion-item:last-of-type > .accordion-header {\n border-end-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n border-end-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n }\n .accordion-item:last-of-type > .accordion-body {\n border-end-start-radius: var(--accordion-border-radius);\n border-end-end-radius: var(--accordion-border-radius);\n }\n .accordion-item[open] {\n border-color: var(--theme-border, var(--accordion-border-color));\n }\n .accordion-item[open] > .accordion-header {\n color: var(--theme-text, var(--accordion-active-color));\n background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n }\n .accordion-item[open] > .accordion-header .accordion-icon {\n transform: var(--accordion-btn-icon-transform);\n }\n .accordion-item[open]:last-of-type > .accordion-header {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .accordion-body {\n padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n }\n .accordion-flush > .accordion-item {\n border-inline: 0;\n border-radius: 0;\n }\n .accordion-flush > .accordion-item:first-child {\n border-block-start: 0;\n }\n .accordion-flush > .accordion-item:last-child {\n border-block-end: 0;\n }\n .accordion-flush > .accordion-item > .accordion-header,\n .accordion-flush > .accordion-item > .accordion-body {\n border-radius: 0;\n }\n}\n@layer components {\n .alert {\n --alert-gap: 0.75rem;\n --alert-bg: var(--theme-bg-subtle, var(--bg-1));\n --alert-padding-x: 1rem;\n --alert-padding-y: 1rem;\n --alert-color: var(--theme-text, inherit);\n --alert-border-color: var(--theme-border, var(--border-color));\n --alert-border: var(--border-width) solid var(--alert-border-color);\n --alert-border-radius: var(--border-radius);\n --alert-link-color: inherit;\n --hr-border-color: var(--theme-border, var(--border-color));\n display: flex;\n gap: var(--alert-gap);\n align-items: start;\n padding: var(--alert-padding-y) var(--alert-padding-x);\n color: var(--alert-color);\n background-color: var(--alert-bg);\n border: var(--alert-border);\n border-radius: var(--alert-border-radius);\n }\n .alert > p {\n margin-bottom: 0;\n }\n .alert-heading {\n color: inherit;\n }\n .alert-link {\n font-weight: var(--font-weight-semibold);\n color: var(--alert-link-color);\n }\n}\n@layer components {\n .avatar {\n --avatar-size: 2.5rem;\n --avatar-border-radius: 50%;\n --avatar-border-width: 2px;\n --avatar-border-color: var(--bg-body);\n --avatar-bg: var(--bg-2);\n --avatar-color: var(--fg-body);\n --avatar-status-size: 0.75rem;\n --avatar-status-border-width: 2px;\n --avatar-status-border-color: var(--bg-body);\n --avatar-stack-spacing: -0.3;\n --avatar-stack-transition: transform .2s ease-in-out;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--avatar-size);\n height: var(--avatar-size);\n font-size: calc(var(--avatar-size) * 0.4);\n font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n line-height: 1;\n color: var(--theme-contrast, var(--avatar-color));\n text-transform: uppercase;\n vertical-align: middle;\n background-color: var(--theme-bg, var(--avatar-bg));\n border-radius: var(--avatar-border-radius);\n }\n .avatar-subtle {\n color: var(--theme-text, var(--avatar-color));\n background-color: var(--theme-bg-subtle, var(--avatar-bg));\n }\n .avatar-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: inherit;\n }\n .avatar-status {\n position: absolute;\n right: calc(var(--avatar-status-border-width) * -1);\n bottom: calc(var(--avatar-status-border-width) * -1);\n width: var(--avatar-status-size);\n height: var(--avatar-status-size);\n background-color: var(--gray-400);\n border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n border-radius: 50%;\n }\n .avatar-status.status-online {\n background-color: var(--green-500);\n }\n .avatar-status.status-offline {\n background-color: var(--gray-400);\n border-radius: 20%;\n }\n .avatar-status.status-busy {\n background-color: var(--red-500);\n border-radius: 20%;\n }\n .avatar-status.status-away {\n background-color: var(--yellow-500);\n }\n .avatar-stack {\n display: inline-flex;\n flex-direction: row-reverse;\n }\n .avatar-stack .avatar {\n margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n border: var(--avatar-border-width) solid var(--avatar-border-color);\n mask-image: none;\n transition: var(--avatar-stack-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .avatar-stack .avatar {\n transition: none;\n }\n }\n .avatar-stack .avatar:last-child {\n margin-left: 0;\n }\n .avatar-stack .avatar:hover {\n z-index: 1;\n transform: translateY(-2px);\n }\n .avatar-xs,\n .avatar-stack-xs {\n --avatar-size: 1.5rem;\n --avatar-status-size: 0.625rem;\n }\n .avatar-sm,\n .avatar-stack-sm {\n --avatar-size: 2rem;\n }\n .avatar-lg,\n .avatar-stack-lg {\n --avatar-size: 3rem;\n --avatar-status-size: 1rem;\n }\n .avatar-xl,\n .avatar-stack-xl {\n --avatar-size: 4rem;\n --avatar-status-size: 1.25rem;\n }\n}\n@layer components {\n .badge {\n --badge-padding-x: 0.625em;\n --badge-padding-y: 0.25em;\n --badge-font-size: clamp(12px, 0.75em, 0.75em);\n --badge-font-weight: var(--font-weight-semibold);\n --badge-color: inherit;\n --badge-bg: var(--bg-2);\n --badge-border-width: var(--border-width);\n --badge-border-color: transparent;\n --badge-border-radius: var(--border-radius-lg);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 1.375rem;\n padding: var(--badge-padding-y) var(--badge-padding-x);\n font-size: var(--badge-font-size);\n font-weight: var(--badge-font-weight);\n line-height: 1;\n color: var(--theme-contrast, var(--badge-color));\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n background-color: var(--theme-bg, var(--badge-bg));\n border: var(--badge-border-width) solid var(--badge-border-color);\n border-radius: var(--badge-border-radius);\n }\n .badge:empty {\n display: none;\n }\n .btn .badge {\n position: relative;\n top: -1px;\n }\n .badge-subtle {\n --badge-color: var(--theme-text);\n --badge-bg: var(--theme-bg-subtle);\n --badge-border-color: transparent;\n color: var(--badge-color);\n background-color: var(--badge-bg);\n border-color: var(--badge-border-color);\n }\n .badge-outline {\n --badge-color: var(--theme-text);\n --badge-bg: transparent;\n --badge-border-color: var(--theme-border);\n color: var(--badge-color);\n background-color: var(--badge-bg);\n border-color: var(--badge-border-color);\n }\n}\n@layer components {\n .breadcrumb {\n --breadcrumb-margin-bottom: 1rem;\n --breadcrumb-font-size: inherit;\n --breadcrumb-bg: transparent;\n --breadcrumb-border-radius: var(--border-radius);\n --breadcrumb-divider-color: var(--fg-4);\n --breadcrumb-link-padding-x: 0.75rem;\n --breadcrumb-link-padding-y: 0.25rem;\n --breadcrumb-link-color: var(--fg-3);\n --breadcrumb-link-hover-color: var(--fg-2);\n --breadcrumb-link-hover-bg: var(--bg-1);\n --breadcrumb-link-active-color: var(--fg-1);\n --breadcrumb-link-border-radius: var(--border-radius-lg);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n font-size: var(--breadcrumb-font-size);\n list-style: none;\n background-color: var(--breadcrumb-bg);\n border-radius: var(--breadcrumb-border-radius);\n }\n .breadcrumb-item {\n display: flex;\n }\n .breadcrumb-divider {\n margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n color: var(--breadcrumb-divider-color);\n }\n .breadcrumb-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 2.25rem;\n padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n color: var(--breadcrumb-link-color);\n text-decoration: none;\n border-radius: var(--breadcrumb-link-border-radius);\n transition: 0.1s text-decoration-color ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .breadcrumb-link {\n transition: none;\n }\n }\n .breadcrumb-link:hover {\n z-index: 2;\n color: var(--breadcrumb-link-hover-color);\n background-color: var(--breadcrumb-link-hover-bg);\n }\n .breadcrumb-link.active {\n color: var(--breadcrumb-link-active-color);\n }\n}\n@layer components {\n .chip {\n --chip-height: 1.75rem;\n --chip-padding-x: 0.625rem;\n --chip-gap: 0.3125rem;\n --chip-border-radius: var(--border-radius-pill);\n --chip-img-size: 1.25rem;\n --chip-icon-size: 1rem;\n --chip-dismiss-size: 1rem;\n --chip-dismiss-opacity: 0.65;\n --chip-dismiss-hover-opacity: 1;\n --chip-color: var(--theme-text, var(--fg-body));\n --chip-bg: var(--theme-bg-subtle, var(--bg-2));\n --chip-border-color: transparent;\n --chip-selected-color: var(--theme-contrast, var(--primary-contrast));\n --chip-selected-bg: var(--theme-bg, var(--primary-bg));\n --chip-selected-border-color: var(--theme-bg, var(--primary-bg));\n display: inline-flex;\n gap: var(--chip-gap);\n align-items: center;\n height: var(--chip-height);\n padding-inline: var(--chip-padding-x);\n font-size: var(--chip-font-size, var(--font-size-sm));\n font-weight: var(--chip-font-weight, var(--font-weight-base));\n line-height: var(--chip-line-height, 1.25rem);\n color: var(--chip-color);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n background-color: var(--chip-bg);\n border: var(--border-width) solid var(--chip-border-color);\n border-radius: var(--chip-border-radius);\n }\n .chip:hover {\n --chip-bg: var(--theme-bg-muted, var(--bg-3));\n }\n .chip:focus-visible {\n outline: 0;\n }\n .chip.active {\n --chip-color: var(--chip-selected-color);\n --chip-bg: var(--chip-selected-bg);\n --chip-border-color: var(--chip-selected-border-color);\n }\n .chip.active:hover {\n --chip-bg: var(--chip-selected-bg);\n opacity: 0.9;\n }\n .chip.disabled, .chip:disabled {\n pointer-events: none;\n opacity: 0.65;\n }\n .chip-img {\n width: var(--chip-img-size);\n height: var(--chip-img-size);\n border-radius: 50%;\n }\n .chip-img:first-child {\n margin-inline-start: -0.375rem;\n }\n .chip-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n margin-inline-start: calc(var(--chip-gap) * -0.25);\n }\n .chip-icon > svg {\n display: block;\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n }\n .chip-icon > img {\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n object-fit: cover;\n border-radius: 50%;\n }\n .chip-dismiss {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--chip-min-height);\n height: var(--chip-min-height);\n padding: 0;\n margin-inline-end: calc(var(--chip-padding-x) * -0.25);\n color: inherit;\n cursor: pointer;\n background: transparent;\n border: 0;\n opacity: var(--chip-dismiss-opacity);\n }\n .chip-dismiss:hover {\n opacity: var(--chip-dismiss-hover-opacity);\n }\n .chip-dismiss:focus-visible {\n outline: 0;\n opacity: 1;\n outline: var(--focus-ring);\n }\n .chip-dismiss > svg {\n display: block;\n width: var(--chip-dismiss-size);\n height: var(--chip-dismiss-size);\n }\n}\n@layer components {\n .card {\n --card-spacer-y: 1rem;\n --card-spacer-x: 1rem;\n --card-subtitle-color: inherit;\n --card-border-width: var(--border-width);\n --card-border-color: var(--border-color-translucent);\n --card-border-radius: var(--border-radius-lg);\n --card-box-shadow: none;\n --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n --card-cap-padding-y: 0.75rem;\n --card-cap-padding-x: 1rem;\n --card-cap-bg: var(--bg-1);\n --card-cap-color: inherit;\n --card-height: auto;\n --card-color: inherit;\n --card-bg: var(--bg-body);\n --card-img-overlay-padding: 1rem;\n --card-group-margin: 0.75rem;\n --card-body-gap: 0.5rem;\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n height: var(--card-height);\n color: var(--fg-body);\n word-wrap: break-word;\n background-color: var(--card-bg);\n box-shadow: var(--card-box-shadow);\n }\n .card > hr {\n margin-inline: 0;\n }\n .card-body {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--card-body-gap);\n align-items: flex-start;\n padding: var(--card-spacer-y) var(--card-spacer-x);\n color: var(--card-color);\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n }\n .card-body > * {\n margin-block: 0;\n }\n .card-body,\n .card-list {\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n }\n .card-body:first-child,\n .card-list:first-child {\n border-start-start-radius: var(--card-border-radius);\n border-start-end-radius: var(--card-border-radius);\n border-top-width: var(--card-border-width);\n }\n .card-body:last-child,\n .card-list:last-child {\n border-end-start-radius: var(--card-border-radius);\n border-end-end-radius: var(--card-border-radius);\n border-bottom-width: var(--card-border-width);\n }\n .card-body:not(:first-child):not(:last-child),\n .card-list:not(:first-child):not(:last-child) {\n border-block-end-width: var(--card-border-width);\n }\n .card-title,\n .card-subtitle,\n .card-text {\n align-self: stretch;\n }\n .card-subtitle {\n margin-top: calc(var(--card-body-gap) * -0.5);\n }\n .card-header {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n margin-bottom: 0;\n color: var(--theme-contrast, var(--card-cap-color));\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n }\n .card-header:first-child {\n border-radius: var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0;\n }\n .card-footer {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n color: var(--card-cap-color);\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n }\n .card-footer:last-child {\n border-radius: 0 0 var(--card-inner-border-radius) var(--card-inner-border-radius);\n }\n .card-translucent {\n background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n .card-translucent .card-header,\n .card-translucent .card-footer {\n background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n }\n .card-subtle {\n border-color: var(--theme-border, var(--card-border-color));\n }\n .card-subtle .card-header {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n .card-subtle .card-footer {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n .card-subtle .card-body,\n .card-subtle .card-list {\n border-color: var(--theme-border, var(--card-border-color));\n }\n .nav.card-header-tabs {\n margin-inline: calc(-0.5 * var(--card-cap-padding-x));\n margin-bottom: calc(-1 * var(--card-cap-padding-y));\n border-block-end: 0;\n }\n .nav.card-header-tabs .nav-link.active {\n background-color: var(--card-bg);\n border-block-end-color: var(--card-bg);\n }\n .card-img-overlay {\n position: absolute;\n inset: 0;\n padding: var(--card-img-overlay-padding);\n border-radius: var(--card-inner-border-radius);\n }\n .card-img,\n .card-img-top,\n .card-img-bottom {\n width: 100%;\n outline: var(--card-border-width) solid var(--card-border-color);\n outline-offset: calc(var(--card-border-width) * -1);\n }\n .card-img,\n .card-img-top {\n border-start-start-radius: var(--card-inner-border-radius);\n border-start-end-radius: var(--card-inner-border-radius);\n }\n .card-img,\n .card-img-bottom {\n border-end-start-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n }\n .card-row {\n flex-direction: row;\n }\n .card-row .card-body,\n .card-row .card-list {\n border-width: var(--card-border-width) 0;\n border-radius: 0;\n }\n .card-row .card-body:first-child,\n .card-row .card-list:first-child {\n border-start-start-radius: var(--card-inner-border-radius);\n border-end-start-radius: var(--card-inner-border-radius);\n border-inline-start-width: var(--card-border-width);\n }\n .card-row .card-body:last-child,\n .card-row .card-list:last-child {\n border-start-end-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n border-inline-end-width: var(--card-border-width);\n }\n .card-row .card-body:not(:first-child):not(:last-child),\n .card-row .card-list:not(:first-child):not(:last-child) {\n border-inline-end-width: var(--card-border-width);\n }\n .card-img-start {\n border-start-start-radius: var(--card-inner-border-radius);\n border-end-start-radius: var(--card-inner-border-radius);\n }\n .card-img-end {\n border-start-end-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n }\n .card-group > .card {\n margin-bottom: var(--card-group-margin);\n }\n @media (width >= 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-inline-start: 0;\n border-inline-start: 0;\n }\n .card-group > .card:not(:last-child) {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .card-group > .card:not(:last-child) > .card-img-top,\n .card-group > .card:not(:last-child) > .card-header {\n border-start-end-radius: 0;\n }\n .card-group > .card:not(:last-child) > .card-img-bottom,\n .card-group > .card:not(:last-child) > .card-footer {\n border-end-end-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .card-group > .card:not(:first-child) > .card-img-top,\n .card-group > .card:not(:first-child) > .card-header {\n border-start-start-radius: 0;\n }\n .card-group > .card:not(:first-child) > .card-img-bottom,\n .card-group > .card:not(:first-child) > .card-footer {\n border-end-start-radius: 0;\n }\n }\n}\n@layer components {\n .carousel {\n position: relative;\n --carousel-control-color: #fff;\n --carousel-control-width: 15%;\n --carousel-control-opacity: 0.5;\n --carousel-control-hover-opacity: 0.9;\n --carousel-control-transition: opacity 0.15s ease;\n --carousel-control-icon-filter: none;\n --carousel-indicator-width: 30px;\n --carousel-indicator-height: 3px;\n --carousel-indicator-hit-area-height: 10px;\n --carousel-indicator-spacer: 3px;\n --carousel-indicator-opacity: 0.5;\n --carousel-indicator-active-bg: var(--white);\n --carousel-indicator-active-opacity: 1;\n --carousel-indicator-transition: opacity 0.6s ease;\n --carousel-caption-width: 70%;\n --carousel-caption-color: var(--white);\n --carousel-caption-padding-y: 1.25rem;\n --carousel-caption-spacer: 1.25rem;\n --carousel-control-icon-width: 2rem;\n --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\");\n --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\");\n --carousel-transition-duration: 0.6s;\n --carousel-transition: transform 0.6s ease-in-out;\n }\n .carousel.pointer-event {\n touch-action: pan-y;\n }\n .carousel-inner {\n position: relative;\n display: flow-root;\n width: 100%;\n overflow: hidden;\n }\n .carousel-item {\n position: relative;\n display: none;\n float: inline-start;\n width: 100%;\n margin-inline-end: -100%;\n backface-visibility: hidden;\n transition: var(--carousel-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n }\n .carousel-item.active,\n .carousel-item-next,\n .carousel-item-prev {\n display: block;\n }\n .carousel-item-next:not(.carousel-item-start),\n .active.carousel-item-end {\n transform: translateX(100%);\n }\n .carousel-item-prev:not(.carousel-item-end),\n .active.carousel-item-start {\n transform: translateX(-100%);\n }\n .carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n .carousel-fade .carousel-item.active,\n .carousel-fade .carousel-item-next.carousel-item-start,\n .carousel-fade .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n }\n .carousel-fade .active.carousel-item-start,\n .carousel-fade .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s var(--carousel-transition-duration);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-start,\n .carousel-fade .active.carousel-item-end {\n transition: none;\n }\n }\n .carousel-control-prev,\n .carousel-control-next {\n position: absolute;\n inset-block: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--carousel-control-width);\n padding: 0;\n color: var(--carousel-control-color);\n text-align: center;\n background: none;\n filter: var(--carousel-control-icon-filter);\n border: 0;\n opacity: var(--carousel-control-opacity);\n transition: var(--carousel-control-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n }\n .carousel-control-prev:hover, .carousel-control-prev:focus,\n .carousel-control-next:hover,\n .carousel-control-next:focus {\n color: var(--carousel-control-color);\n text-decoration: none;\n outline: 0;\n opacity: var(--carousel-control-hover-opacity);\n }\n .carousel-control-prev {\n inset-inline-start: 0;\n }\n .carousel-control-next {\n inset-inline-end: 0;\n }\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n display: inline-block;\n width: var(--carousel-control-icon-width);\n height: var(--carousel-control-icon-width);\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n }\n .carousel-control-prev-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n [dir=rtl] .carousel-control-prev-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n .carousel-control-next-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n [dir=rtl] .carousel-control-next-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n .carousel-indicators {\n position: absolute;\n inset: auto 0 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n margin-inline: var(--carousel-control-width);\n margin-bottom: 1rem;\n }\n .carousel-indicators [data-bs-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: var(--carousel-indicator-width);\n height: var(--carousel-indicator-height);\n padding: 0;\n margin-inline: var(--carousel-indicator-spacer);\n text-indent: -999px;\n cursor: pointer;\n background-color: var(--carousel-indicator-active-bg);\n background-clip: padding-box;\n border: 0;\n border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n opacity: var(--carousel-indicator-opacity);\n transition: var(--carousel-indicator-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-indicators [data-bs-target] {\n transition: none;\n }\n }\n .carousel-indicators .active {\n opacity: var(--carousel-indicator-active-opacity);\n }\n .carousel-caption {\n position: absolute;\n right: calc((100% - var(--carousel-caption-width)) * 0.5);\n bottom: var(--carousel-caption-spacer);\n left: calc((100% - var(--carousel-caption-width)) * 0.5);\n padding-top: var(--carousel-caption-padding-y);\n padding-bottom: var(--carousel-caption-padding-y);\n color: var(--carousel-caption-color);\n text-align: center;\n }\n .carousel-dark {\n --carousel-indicator-active-bg: #000;\n --carousel-caption-color: #000;\n --carousel-control-icon-filter: invert(1) grayscale(100);\n }\n @media (prefers-color-scheme: dark) {\n :root {\n --carousel-indicator-active-bg: #000;\n --carousel-caption-color: #000;\n --carousel-control-icon-filter: invert(1) grayscale(100);\n }\n }\n}\n@layer components {\n [data-vc=calendar] {\n --datepicker-padding: 1rem;\n --datepicker-bg: var(--bg-body);\n --datepicker-color: var(--fg-body);\n --datepicker-border-color: var(--border-color-translucent);\n --datepicker-border-width: var(--border-width);\n --datepicker-border-radius: var(--border-radius-lg);\n --datepicker-box-shadow: var(--box-shadow);\n --datepicker-font-size: var(--font-size-sm);\n --datepicker-min-width: 280px;\n --datepicker-zindex: 1000;\n --datepicker-header-font-weight: 600;\n --datepicker-weekday-color: var(--fg-3);\n --datepicker-day-hover-bg: var(--bg-1);\n --datepicker-day-selected-bg: var(--primary-bg);\n --datepicker-day-selected-color: var(--primary-contrast);\n --datepicker-day-today-bg: var(--bg-2);\n --datepicker-day-today-color: var(--fg-1);\n --datepicker-day-disabled-color: var(--fg-4);\n position: absolute;\n z-index: var(--datepicker-zindex);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n min-width: var(--datepicker-min-width);\n padding: var(--datepicker-padding);\n font-family: var(--font-sans-serif);\n font-size: var(--datepicker-font-size);\n color: var(--datepicker-color);\n color-scheme: light dark;\n background-color: var(--datepicker-bg);\n border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n border-radius: var(--datepicker-border-radius);\n box-shadow: var(--datepicker-box-shadow);\n opacity: 1;\n }\n [data-vc=calendar][data-bs-theme=light] {\n color-scheme: light;\n }\n [data-vc=calendar][data-bs-theme=dark] {\n color-scheme: dark;\n }\n [data-vc=calendar] button:focus-visible {\n position: relative;\n z-index: 1;\n outline: var(--focus-ring);\n }\n [data-vc-calendar-hidden] {\n pointer-events: none;\n opacity: 0;\n }\n [data-vc=calendar]:not([data-vc-input]) {\n position: relative;\n width: fit-content;\n padding: 0;\n border: 0;\n box-shadow: none;\n }\n [data-vc-position=bottom] {\n margin-block-start: 0.25rem;\n }\n [data-vc-position=top] {\n margin-block-end: -0.25rem;\n }\n [data-vc-arrow] {\n position: relative;\n display: block;\n width: 2rem;\n height: 2rem;\n color: var(--datepicker-color);\n pointer-events: auto;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc-arrow]::before {\n position: absolute;\n inset: 0.25rem;\n content: \"\";\n background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n background-repeat: no-repeat;\n background-position: center;\n }\n [data-vc-arrow]:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc-arrow=prev]::before {\n transform: rotate(90deg);\n }\n [data-vc-arrow=next]::before {\n transform: rotate(-90deg);\n }\n [data-vc=controls] {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 20;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 1rem;\n padding-right: 1rem;\n padding-left: 1rem;\n pointer-events: none;\n }\n [data-vc=grid] {\n display: flex;\n flex-grow: 1;\n flex-wrap: wrap;\n gap: 1.75rem;\n }\n [data-vc=column] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n min-width: 240px;\n }\n [data-vc=header] {\n position: relative;\n display: flex;\n align-items: center;\n margin-bottom: 0.75rem;\n }\n [data-vc-header=content] {\n display: inline-flex;\n flex-grow: 1;\n align-items: center;\n justify-content: center;\n white-space: pre-wrap;\n }\n [data-vc=month],\n [data-vc=year] {\n padding: 0.25rem 0.5rem;\n margin-inline: -0.125rem;\n font-size: 1rem;\n font-weight: var(--datepicker-header-font-weight);\n color: var(--datepicker-color);\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc=month]:disabled,\n [data-vc=year]:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n [data-vc=month]:hover:not(:disabled),\n [data-vc=year]:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc=content] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n }\n [data-vc=months],\n [data-vc=years] {\n display: grid;\n flex-grow: 1;\n grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n row-gap: 1rem;\n column-gap: 0.25rem;\n align-items: center;\n }\n [data-vc=years] {\n --vc-columns: 5;\n }\n [data-vc-months-month],\n [data-vc-years-year] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 2.5rem;\n padding: 0.25rem;\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n text-align: center;\n word-break: break-all;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc-months-month]:disabled,\n [data-vc-years-year]:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n [data-vc-months-month]:hover:not(:disabled),\n [data-vc-years-year]:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc-months-month][data-vc-months-month-selected], [data-vc-months-month][data-vc-years-year-selected],\n [data-vc-years-year][data-vc-months-month-selected],\n [data-vc-years-year][data-vc-years-year-selected] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n [data-vc-months-month][data-vc-months-month-selected]:hover, [data-vc-months-month][data-vc-years-year-selected]:hover,\n [data-vc-years-year][data-vc-months-month-selected]:hover,\n [data-vc-years-year][data-vc-years-year-selected]:hover {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n [data-vc=week] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n justify-items: center;\n margin-bottom: 0.5rem;\n }\n [data-vc-week-day] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n padding: 0;\n margin: 0;\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n background-color: transparent;\n border: 0;\n }\n button[data-vc-week-day] {\n cursor: pointer;\n }\n [data-vc=dates] {\n pointer-events: none;\n }\n [data-vc-dates=row] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n align-items: center;\n justify-items: center;\n width: 100%;\n }\n [data-vc-date] {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n pointer-events: auto;\n }\n [data-vc-date]:not(:has([data-vc-date-btn])), [data-vc-date][data-vc-date-disabled], [data-vc-date][data-vc-date-disabled] [data-vc-date-btn] {\n pointer-events: none;\n }\n [data-vc-date-btn] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n height: 100%;\n min-height: 1.875rem;\n padding: 0;\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--datepicker-color);\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc-date-btn]:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc-date-today] [data-vc-date-btn] {\n font-weight: 600;\n color: var(--datepicker-day-today-color);\n background-color: var(--datepicker-day-today-bg);\n }\n [data-vc-date-month=next] [data-vc-date-btn],\n [data-vc-date-month=prev] [data-vc-date-btn] {\n opacity: 0.5;\n }\n [data-vc-date-disabled] [data-vc-date-btn] {\n color: var(--datepicker-day-disabled-color);\n }\n [data-vc-date-hover] [data-vc-date-btn] {\n background-color: var(--datepicker-day-hover-bg);\n border-radius: 0;\n }\n [data-vc-date-hover=first] [data-vc-date-btn] {\n border-start-start-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n [data-vc-date-hover=last] [data-vc-date-btn] {\n border-start-end-radius: var(--border-radius);\n border-end-end-radius: var(--border-radius);\n }\n [data-vc-date-hover=first-and-last] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n [data-vc-date-selected=middle] [data-vc-date-btn] {\n border-radius: 0;\n opacity: 0.8;\n }\n [data-vc-date-selected] [data-vc-date-btn] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n [data-vc-date-selected=first] [data-vc-date-btn] {\n border-top-left-radius: var(--border-radius);\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: var(--border-radius);\n }\n [data-vc-date-selected=last] [data-vc-date-btn] {\n border-top-left-radius: 0;\n border-top-right-radius: var(--border-radius);\n border-bottom-right-radius: var(--border-radius);\n border-bottom-left-radius: 0;\n }\n [data-vc-date-selected=first-and-last] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n}\n@layer components {\n .dialog-open {\n overflow: hidden;\n scrollbar-gutter: stable;\n }\n .dialog {\n --dialog-padding: 1rem;\n --dialog-width: 500px;\n --dialog-margin: 1.75rem;\n --dialog-color: var(--fg-body);\n --dialog-bg: var(--bg-body);\n --dialog-border-color: var(--border-color-translucent);\n --dialog-border-width: var(--border-width);\n --dialog-border-radius: var(--border-radius-lg);\n --dialog-box-shadow: var(--box-shadow-lg);\n --dialog-backdrop-bg: rgba(0, 0, 0, 0.5);\n --dialog-backdrop-blur: 8px;\n --dialog-header-padding: 1rem;\n --dialog-header-border-color: var(--border-color);\n --dialog-header-border-width: var(--border-width);\n --dialog-footer-padding: 1rem;\n --dialog-footer-border-color: var(--border-color);\n --dialog-footer-border-width: var(--border-width);\n --dialog-footer-gap: 0.5rem;\n max-width: var(--dialog-width);\n max-height: calc(100% - var(--dialog-margin) * 2);\n padding: 0;\n margin: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n border-radius: var(--dialog-border-radius);\n box-shadow: var(--dialog-box-shadow);\n }\n .dialog::backdrop {\n background-color: var(--dialog-backdrop-bg);\n backdrop-filter: blur(var(--dialog-backdrop-blur));\n }\n .dialog.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n }\n @media (prefers-reduced-motion: reduce) {\n .dialog.fade {\n transition: none;\n }\n }\n .dialog.fade::backdrop {\n opacity: 0;\n transition: opacity 0.15s linear;\n }\n @media (prefers-reduced-motion: reduce) {\n .dialog.fade::backdrop {\n transition: none;\n }\n }\n .dialog.fade[open] {\n opacity: 1;\n }\n .dialog.fade[open]::backdrop {\n opacity: 1;\n }\n .dialog.dialog-static {\n transform: scale(1.02);\n }\n .dialog.dialog-nonmodal {\n position: fixed;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n z-index: 1055;\n margin-inline: 0;\n transform: translate(-50%, -50%);\n }\n .dialog.dialog-overflow {\n position: fixed;\n inset: 0;\n width: 100%;\n max-width: 100%;\n height: 100%;\n max-height: 100%;\n padding: var(--dialog-margin);\n margin: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n background: transparent;\n border: 0;\n box-shadow: none;\n }\n .dialog.dialog-overflow > .dialog-box {\n max-width: var(--dialog-width);\n margin-block-end: var(--dialog-margin);\n margin-inline: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n border-radius: var(--dialog-border-radius);\n box-shadow: var(--dialog-box-shadow);\n }\n .dialog.dialog-scrollable[open] {\n display: flex;\n flex-direction: column;\n max-height: calc(100% - var(--dialog-margin) * 2);\n }\n .dialog.dialog-scrollable[open] .dialog-body {\n overflow-y: auto;\n }\n .dialog-sm {\n --dialog-width: 280px;\n }\n .dialog-lg {\n --dialog-width: 800px;\n }\n .dialog-xl {\n --dialog-width: 1140px;\n }\n .dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n @media (width < 576px) {\n .dialog-fullscreen-sm-down {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 768px) {\n .dialog-fullscreen-md-down {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 1024px) {\n .dialog-fullscreen-lg-down {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 1280px) {\n .dialog-fullscreen-xl-down {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 1536px) {\n .dialog-fullscreen-2xl-down {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n .dialog-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding: var(--dialog-header-padding);\n border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n }\n .dialog-header .btn-close {\n margin-inline-start: auto;\n }\n .dialog-title {\n margin-bottom: 0;\n font-size: var(--font-size-md);\n line-height: 1.5;\n }\n .dialog-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--dialog-padding);\n overflow-y: auto;\n }\n .dialog-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: var(--dialog-footer-gap);\n align-items: center;\n justify-content: flex-end;\n padding: var(--dialog-footer-padding);\n border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n }\n}\n@layer components {\n .menu {\n --menu-zindex: 1000;\n --menu-gap: 0.125rem;\n --menu-min-width: 10rem;\n --menu-padding-x: 0.25rem;\n --menu-padding-y: 0.25rem;\n --menu-spacer: 0.125rem;\n --menu-font-size: var(--font-size-sm);\n --menu-color: var(--fg-body);\n --menu-bg: var(--bg-body);\n --menu-box-shadow: var(--box-shadow);\n --menu-divider-bg: var(--border-color-translucent);\n --menu-divider-margin-y: 0.125rem;\n --menu-divider-margin-x: 0.25rem;\n --menu-item-color: var(--menu-color, var(--fg-body));\n --menu-item-hover-color: var(--menu-color, var(--fg-body));\n --menu-item-hover-bg: var(--bg-1);\n --menu-item-active-color: var(--primary-contrast);\n --menu-item-active-bg: var(--primary-bg);\n --menu-item-disabled-color: var(--fg-3);\n --menu-item-gap: 0.5rem;\n --menu-item-padding-x: 0.75rem;\n --menu-item-padding-y: 0.25rem;\n --menu-item-border-radius: var(--border-radius);\n --menu-icon-size: 1rem;\n --menu-image-size: 1.5rem;\n --menu-description-font-size: var(--font-size-xs);\n --menu-check-color: currentcolor;\n --menu-header-color: var(--fg-3);\n --menu-header-padding-x: 0.75rem;\n --menu-header-padding-y: 0.25rem;\n position: absolute;\n z-index: var(--menu-zindex);\n display: none;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: var(--menu-min-width);\n max-height: var(--menu-max-height, none);\n padding: var(--menu-padding-y) var(--menu-padding-x);\n margin: 0;\n overflow-y: var(--menu-overflow-y, initial);\n overscroll-behavior: contain;\n font-size: var(--menu-font-size);\n color: var(--menu-color);\n text-align: start;\n list-style: none;\n background-color: var(--menu-bg);\n background-clip: padding-box;\n border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n border-radius: var(--menu-border-radius, var(--border-radius-lg));\n box-shadow: var(--menu-box-shadow);\n }\n .menu.show {\n display: flex;\n }\n .menu-scrollable {\n --menu-max-height: 80dvh;\n --menu-overflow-y: auto;\n }\n .menu-translucent {\n --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n .menu-divider {\n height: 0;\n margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n overflow: hidden;\n border-block-start: 1px solid var(--menu-divider-bg);\n opacity: 1;\n }\n .menu-item {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n width: 100%;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n color: var(--theme-text, var(--menu-item-color));\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n outline: 0;\n border-radius: var(--menu-item-border-radius, 0);\n }\n .menu-item:hover, .menu-item:focus {\n color: var(--theme-text, var(--menu-item-hover-color));\n background-color: var(--theme-bg-subtle, var(--menu-item-hover-bg));\n }\n .menu-item.active, .menu-item:active {\n color: var(--theme-contrast, var(--menu-item-active-color));\n background-color: var(--theme-bg, var(--menu-item-active-bg));\n }\n .menu-item.active .menu-item-icon, .menu-item:active .menu-item-icon {\n color: inherit !important;\n }\n .menu-item.selected {\n font-weight: 600;\n }\n .menu-item.disabled, .menu-item:disabled {\n color: var(--menu-item-disabled-color);\n pointer-events: none;\n background-color: transparent;\n }\n .menu-item-icon {\n flex-shrink: 0;\n align-self: flex-start;\n width: var(--menu-icon-size);\n height: auto;\n margin-top: 0.125rem;\n }\n .menu-image {\n width: var(--menu-image-size);\n height: var(--menu-image-size);\n object-fit: cover;\n border-radius: var(--border-radius-sm);\n }\n .menu-item-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-width: fit-content;\n }\n .menu-item-description {\n font-size: var(--menu-description-font-size);\n font-weight: var(--font-weight-normal);\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n .menu-item-check {\n flex-shrink: 0;\n align-self: flex-start;\n margin-block-start: 0.125rem;\n margin-inline-start: auto;\n color: var(--menu-check-color);\n visibility: hidden;\n }\n .selected > .menu-item-check {\n visibility: visible;\n }\n .menu-header {\n display: block;\n padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n margin-bottom: 0;\n font-size: var(--font-size-sm);\n color: var(--menu-header-color);\n white-space: nowrap;\n }\n .menu-text {\n display: block;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n color: var(--fg-2);\n }\n .submenu {\n position: relative;\n }\n .submenu > .menu-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n .submenu > .menu-item::after {\n display: inline-block;\n flex-shrink: 0;\n width: 0.375em;\n height: 0.375em;\n margin-inline-start: auto;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: 0 0.125em 0.125em 0;\n transform: rotate(-45deg);\n }\n [dir=rtl] .submenu > .menu-item::after {\n transform: rotate(135deg);\n }\n .submenu > .menu {\n top: 0;\n margin-top: calc(-1 * var(--menu-padding-y));\n }\n .submenu:hover > .menu-item, .submenu:focus-within > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n .submenu.show > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n @media (max-width: 575.98px) {\n .submenu:has(.submenu-stacked) {\n position: static;\n }\n .submenu-stacked {\n position: absolute;\n inset: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: 0;\n padding: var(--menu-padding-y) var(--menu-padding-x);\n background-color: var(--menu-bg);\n border: 0;\n border-radius: 0;\n box-shadow: none;\n }\n .submenu-back {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--font-weight-semibold, 600);\n color: var(--menu-item-color);\n }\n .submenu-back::before {\n display: inline-block;\n flex-shrink: 0;\n width: 0.375em;\n height: 0.375em;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: 0.125em 0 0 0.125em;\n transform: rotate(-45deg);\n }\n [dir=rtl] .submenu-back::before {\n border-width: 0 0.125em 0.125em 0;\n }\n .submenu-dimmed {\n pointer-events: none;\n filter: blur(2px);\n opacity: 0.3;\n }\n }\n}\n@layer components {\n .list-group {\n --list-group-color: var(--fg-body);\n --list-group-bg: var(--bg-body);\n --list-group-border-color: var(--border-color);\n --list-group-border-width: var(--border-width);\n --list-group-border-radius: var(--border-radius);\n --list-group-item-padding-x: 1rem;\n --list-group-item-padding-y: 0.5rem;\n --list-group-action-color: var(--fg-2);\n --list-group-action-hover-color: var(--fg-1);\n --list-group-action-hover-bg: var(--bg-1);\n --list-group-action-active-color: var(--fg-body);\n --list-group-action-active-bg: var(--bg-2);\n --list-group-disabled-color: var(--fg-3);\n --list-group-disabled-bg: var(--bg-body);\n --list-group-active-color: var(--primary-contrast);\n --list-group-active-bg: var(--primary-bg);\n --list-group-active-border-color: var(--primary-bg);\n display: flex;\n flex-direction: column;\n padding-inline-start: 0;\n margin-bottom: 0;\n border-radius: var(--list-group-border-radius);\n }\n .list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n }\n .list-group-numbered > .list-group-item::before {\n content: counters(section, \".\") \". \";\n counter-increment: section;\n }\n .list-group-item {\n position: relative;\n display: block;\n padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n color: var(--theme-text, var(--list-group-color));\n background-color: var(--theme-bg-subtle, var(--list-group-bg));\n border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n }\n .list-group-item:first-child {\n border-start-start-radius: inherit;\n border-start-end-radius: inherit;\n }\n .list-group-item:last-child {\n border-end-start-radius: inherit;\n border-end-end-radius: inherit;\n }\n .list-group-item.disabled, .list-group-item:disabled {\n color: var(--list-group-disabled-color);\n pointer-events: none;\n background-color: var(--list-group-disabled-bg);\n }\n .list-group-item.active {\n z-index: 2;\n color: var(--list-group-active-color);\n background-color: var(--list-group-active-bg);\n border-color: var(--list-group-active-border-color);\n }\n .list-group-item + .list-group-item {\n border-block-start-width: 0;\n }\n .list-group-item + .list-group-item.active {\n margin-top: calc(-1 * var(--list-group-border-width));\n border-block-start-width: var(--list-group-border-width);\n }\n .list-group-item-action {\n width: 100%;\n color: var(--theme-text, var(--list-group-action-color));\n text-align: inherit;\n text-decoration: none;\n }\n .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n z-index: 1;\n color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n text-decoration: none;\n background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n }\n .list-group-item-action:not(.active):active {\n color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n }\n .list-group-horizontal {\n flex-direction: row;\n }\n .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n @media (width >= 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 1024px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 1280px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 1536px) {\n .list-group-horizontal-2xl {\n flex-direction: row;\n }\n .list-group-horizontal-2xl > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .list-group-horizontal-2xl > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .list-group-horizontal-2xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-2xl > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .list-group-horizontal-2xl > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n .list-group-flush {\n border-radius: 0;\n }\n .list-group-flush > .list-group-item {\n border-width: 0 0 var(--list-group-border-width);\n }\n .list-group-flush > .list-group-item:last-child {\n border-block-end-width: 0;\n }\n}\n@layer components {\n .nav {\n --nav-gap: 0.125rem;\n --nav-link-gap: 0.5rem;\n --nav-link-align: center;\n --nav-link-justify: center;\n --nav-link-padding-x: 0.75rem;\n --nav-link-padding-y: 0.375rem;\n --nav-link-color: var(--fg-2);\n --nav-link-hover-color: var(--fg-1);\n --nav-link-hover-bg: var(--bg-1);\n --nav-link-active-color: var(--fg-body);\n --nav-link-active-bg: var(--bg-2);\n --nav-link-disabled-color: var(--fg-4);\n --nav-link-border-width: var(--border-width);\n --nav-link-transition-property: color, background-color, border-color;\n --nav-link-transition-timing: 0.15s ease-in-out;\n --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing);\n display: flex;\n flex-wrap: wrap;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n }\n .nav-item {\n display: flex;\n }\n .nav-link {\n display: flex;\n gap: var(--nav-link-gap);\n align-items: var(--nav-link-align);\n justify-content: var(--nav-link-justify);\n padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n font-weight: var(--nav-link-font-weight);\n color: var(--nav-link-color);\n text-decoration: none;\n white-space: nowrap;\n background: none;\n border: var(--nav-link-border-width) solid transparent;\n border-radius: var(--border-radius);\n transition: var(--nav-link-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n }\n .nav-link:hover, .nav-link:focus {\n color: var(--nav-link-hover-color);\n background-color: var(--nav-link-hover-bg);\n }\n .nav-link:focus-visible {\n --focus-ring-offset: 1px;\n color: var(--nav-link-hover-color);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .nav-link.active, .nav-link:active {\n color: var(--nav-link-active-color);\n background-color: var(--nav-link-active-bg);\n }\n .nav-link.disabled, .nav-link:disabled {\n color: var(--nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n }\n .nav-tabs {\n --nav-tabs-border-width: var(--border-width);\n --nav-tabs-border-color: var(--border-color);\n --nav-tabs-border-radius: var(--border-radius);\n --nav-tabs-link-hover-border-color: var(--border-subtle);\n --nav-tabs-link-active-color: var(--fg-color);\n --nav-tabs-link-active-bg: var(--bg-body);\n --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body);\n box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n }\n .nav-tabs .nav-link {\n border: var(--nav-tabs-border-width) solid transparent;\n border-bottom-color: var(--nav-tabs-border-color);\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .nav-tabs .nav-link:hover {\n isolation: isolate;\n border-color: var(--nav-tabs-link-hover-border-color);\n border-bottom-color: var(--nav-tabs-border-color);\n }\n .nav-tabs .nav-link.active,\n .nav-tabs .nav-item.show .nav-link {\n color: var(--nav-tabs-link-active-color);\n background-color: var(--nav-tabs-link-active-bg);\n border-color: var(--nav-tabs-link-active-border-color);\n border-bottom-color: var(--nav-tabs-link-active-bg);\n }\n .nav-tabs .menu {\n margin-top: calc(-1 * var(--nav-tabs-border-width));\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .nav-pills {\n --nav-pills-link-active-color: var(--primary-contrast);\n --nav-pills-link-active-bg: var(--primary-bg);\n }\n .nav-pills .nav-link.active,\n .nav-pills .show > .nav-link {\n color: var(--nav-pills-link-active-color);\n background-color: var(--nav-pills-link-active-bg);\n }\n .nav-underline {\n --nav-gap: 1rem;\n --nav-link-active-bg: transparent;\n --nav-underline-border-width: 0.125rem;\n --nav-underline-link-active-color: var(--fg-color);\n }\n .nav-underline .nav-link {\n padding-inline: 0;\n border: 0;\n border-block-end: var(--nav-underline-border-width) solid transparent;\n border-radius: 0;\n }\n .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n border-block-end-color: currentcolor;\n }\n .nav-underline .nav-link.active,\n .nav-underline .show > .nav-link {\n font-weight: 700;\n color: var(--nav-underline-link-active-color);\n border-block-end-color: currentcolor;\n }\n .nav-fill > .nav-link,\n .nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n .nav-justified > .nav-link,\n .nav-justified .nav-item {\n flex-grow: 1;\n flex-basis: 0;\n text-align: center;\n }\n .nav-fill .nav-item .nav-link,\n .nav-justified .nav-item .nav-link {\n width: 100%;\n }\n .tab-content > .tab-pane {\n display: none;\n }\n .tab-content > .active {\n display: block;\n }\n}\n@layer components {\n .nav-overflow {\n flex-wrap: nowrap;\n min-width: 0;\n }\n .nav-overflow-item {\n flex-shrink: 0;\n margin-inline-start: auto;\n }\n .nav-overflow [data-bs-nav-overflow=true] {\n display: none;\n }\n .nav-overflow-keep {\n flex-shrink: 0;\n }\n}\n@layer components {\n .navbar {\n --navbar-padding-x: 0;\n --navbar-padding-y: 0.5rem;\n --navbar-color: var(--fg-2);\n --navbar-hover-color: var(--fg-1);\n --navbar-disabled-color: var(--fg-3);\n --navbar-active-color: var(--fg-body);\n --navbar-brand-padding-y: 0.75rem;\n --navbar-brand-margin-end: 1rem;\n --navbar-brand-font-size: var(--font-size-md);\n --navbar-brand-font-weight: var(--font-weight-medium);\n --navbar-brand-color: var(--fg-body);\n --navbar-brand-hover-color: var(--fg-body);\n --navbar-nav-link-padding-x: 0.75rem;\n --navbar-toggler-width: 2rem;\n --navbar-toggler-padding-y: 0.25rem;\n --navbar-toggler-padding-x: 0.75rem;\n --navbar-toggler-font-size: var(--font-size-lg);\n --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --navbar-toggler-border-radius: var(--border-radius);\n --navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--navbar-padding-y) var(--navbar-padding-x);\n container-type: inline-size;\n color: var(--navbar-color, var(--fg-body));\n background-color: var(--navbar-bg, var(--bg-body));\n }\n .navbar > .container-2xl, .navbar > .container-xl, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container,\n .navbar > .container-fluid {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n .navbar-brand {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n margin-inline-end: var(--navbar-brand-margin-end);\n font-size: var(--navbar-brand-font-size);\n font-weight: var(--navbar-brand-font-weight);\n color: var(--navbar-brand-color);\n text-decoration: none;\n white-space: nowrap;\n }\n .navbar-brand:hover, .navbar-brand:focus {\n color: var(--navbar-brand-hover-color);\n }\n .navbar-nav {\n --nav-gap: 0.25rem;\n --nav-link-gap: 0.5rem;\n --nav-link-padding-x: 0.5rem;\n --nav-link-padding-y: 0.375rem;\n --nav-link-color: var(--navbar-color);\n --nav-link-border-width: var(--border-width);\n --nav-link-hover-color: var(--navbar-hover-color);\n --nav-link-hover-bg: transparent;\n --nav-link-active-color: var(--navbar-active-color);\n --nav-link-active-bg: transparent;\n --nav-link-disabled-color: var(--navbar-disabled-color);\n display: flex;\n flex-direction: column;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n }\n .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n color: var(--navbar-active-color);\n border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n }\n .navbar-text {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n color: var(--navbar-color);\n }\n .navbar-text a,\n .navbar-text a:hover,\n .navbar-text a:focus {\n color: var(--navbar-active-color);\n }\n .navbar-toggler {\n --btn-bg: transparent;\n --btn-hover-bg: var(--bg-2);\n }\n .navbar-expand > .container,\n .navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .navbar-expand .navbar-toggler {\n display: none !important;\n }\n .navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n .navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n @container (width >= 576px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none !important;\n }\n .navbar-expand-sm .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 768px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .navbar-expand-md .navbar-toggler {\n display: none !important;\n }\n .navbar-expand-md .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 1024px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none !important;\n }\n .navbar-expand-lg .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 1280px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none !important;\n }\n .navbar-expand-xl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 1536px) {\n .navbar-expand-2xl > .container,\n .navbar-expand-2xl > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-2xl .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .navbar-expand-2xl .navbar-toggler {\n display: none !important;\n }\n .navbar-expand-2xl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand-2xl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-2xl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n .navbar-translucent {\n position: relative;\n background-color: transparent;\n }\n .navbar-translucent::before {\n position: absolute;\n inset: 0;\n z-index: -1;\n content: \"\";\n background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n background-image: none;\n backdrop-filter: blur(5px) saturate(180%);\n }\n .navbar[data-bs-theme=dark] {\n --navbar-color: color-mix(in oklch, var(--white) 0.55, transparent);\n --navbar-hover-color: color-mix(in oklch, var(--white) 0.75, transparent);\n --navbar-disabled-color: color-mix(in oklch, var(--white) 0.25, transparent);\n --navbar-active-color: var(--white);\n --navbar-brand-color: var(--white);\n --navbar-brand-hover-color: var(--white);\n --navbar-toggler-border-color: color-mix(in oklch, var(--white) 0.1, transparent);\n }\n}\n.offcanvas, .offcanvas-2xl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {\n --offcanvas-inset: var(--spacer);\n --offcanvas-zindex: 1045;\n --offcanvas-width: 400px;\n --offcanvas-height: 30vh;\n --offcanvas-padding-x: var(--spacer);\n --offcanvas-padding-y: var(--spacer);\n --offcanvas-color: var(--fg-body);\n --offcanvas-bg: var(--bg-body);\n --offcanvas-border-width: var(--border-width);\n --offcanvas-border-color: var(--border-color-translucent);\n --offcanvas-border-radius: var(--border-radius-lg);\n --offcanvas-box-shadow: var(--box-shadow-lg);\n --offcanvas-transition: transform 0.3s ease-in-out;\n --offcanvas-title-line-height: 1.5;\n}\n\n@layer components {\n @media (width < 576px) {\n .offcanvas-sm {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 576px) and (prefers-reduced-motion: reduce) {\n .offcanvas-sm {\n transition: none;\n }\n }\n @media (width < 576px) {\n .offcanvas-sm:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .offcanvas-sm:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .offcanvas-sm:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .offcanvas-sm:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .offcanvas-sm:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .offcanvas-sm:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .offcanvas-sm:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {\n visibility: visible;\n }\n }\n @media (width >= 576px) {\n .offcanvas-sm {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-sm .offcanvas-header {\n display: none;\n }\n .offcanvas-sm .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 768px) {\n .offcanvas-md {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 768px) and (prefers-reduced-motion: reduce) {\n .offcanvas-md {\n transition: none;\n }\n }\n @media (width < 768px) {\n .offcanvas-md:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .offcanvas-md:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .offcanvas-md:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .offcanvas-md:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .offcanvas-md:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .offcanvas-md:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .offcanvas-md:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {\n visibility: visible;\n }\n }\n @media (width >= 768px) {\n .offcanvas-md {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-md .offcanvas-header {\n display: none;\n }\n .offcanvas-md .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 1024px) {\n .offcanvas-lg {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n .offcanvas-lg {\n transition: none;\n }\n }\n @media (width < 1024px) {\n .offcanvas-lg:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .offcanvas-lg:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .offcanvas-lg:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .offcanvas-lg:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .offcanvas-lg:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .offcanvas-lg:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .offcanvas-lg:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {\n visibility: visible;\n }\n }\n @media (width >= 1024px) {\n .offcanvas-lg {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-lg .offcanvas-header {\n display: none;\n }\n .offcanvas-lg .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 1280px) {\n .offcanvas-xl {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xl {\n transition: none;\n }\n }\n @media (width < 1280px) {\n .offcanvas-xl:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .offcanvas-xl:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .offcanvas-xl:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .offcanvas-xl:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .offcanvas-xl:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .offcanvas-xl:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .offcanvas-xl:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {\n visibility: visible;\n }\n }\n @media (width >= 1280px) {\n .offcanvas-xl {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xl .offcanvas-header {\n display: none;\n }\n .offcanvas-xl .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 1536px) {\n .offcanvas-2xl {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n .offcanvas-2xl {\n transition: none;\n }\n }\n @media (width < 1536px) {\n .offcanvas-2xl:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .offcanvas-2xl:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .offcanvas-2xl:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .offcanvas-2xl:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .offcanvas-2xl:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .offcanvas-2xl:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .offcanvas-2xl:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .offcanvas-2xl.showing, .offcanvas-2xl.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-2xl.showing, .offcanvas-2xl.hiding, .offcanvas-2xl.show {\n visibility: visible;\n }\n }\n @media (width >= 1536px) {\n .offcanvas-2xl {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-2xl .offcanvas-header {\n display: none;\n }\n .offcanvas-2xl .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n .offcanvas {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .offcanvas {\n transition: none;\n }\n }\n .offcanvas:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .offcanvas:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .offcanvas:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .offcanvas:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .offcanvas:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .offcanvas:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .offcanvas:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .offcanvas.showing, .offcanvas.show:not(.hiding) {\n transform: none;\n }\n .offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\n visibility: visible;\n }\n .offcanvas-backdrop {\n --offcanvas-backdrop-bg: var(--bg-body);\n --offcanvas-backdrop-opacity: 25%;\n --offcanvas-backdrop-blur: 8px;\n position: fixed;\n inset: 0;\n z-index: 1040;\n background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n }\n .offcanvas-backdrop.fade {\n opacity: 0;\n }\n .offcanvas-backdrop.show {\n opacity: 1;\n }\n .offcanvas-translucent {\n background-color: color-mix(in oklch, var(--offcanvas-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n .offcanvas-header {\n display: flex;\n align-items: center;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n }\n .offcanvas-header .btn-close {\n padding: calc(var(--offcanvas-padding-y) * 0.5) calc(var(--offcanvas-padding-x) * 0.5);\n margin-inline-start: auto;\n margin-inline-end: calc(-0.5 * var(--offcanvas-padding-x));\n margin-top: calc(-0.5 * var(--offcanvas-padding-y));\n margin-bottom: calc(-0.5 * var(--offcanvas-padding-y));\n }\n .offcanvas-title {\n margin-bottom: 0;\n line-height: var(--offcanvas-title-line-height);\n }\n .offcanvas-body {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n gap: var(--offcanvas-padding-y);\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n overflow-y: auto;\n }\n .offcanvas-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: 0.5rem;\n align-items: center;\n justify-content: flex-end;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n }\n .offcanvas-fit-content {\n inset-block-end: auto;\n }\n}\n@layer components {\n .pagination {\n --pagination-min-height: var(--btn-input-min-height);\n --pagination-padding-x: var(--btn-input-padding-x);\n --pagination-padding-y: var(--btn-input-padding-y);\n --pagination-font-size: var(--btn-input-font-size);\n --pagination-color: var(--link-color);\n --pagination-bg: var(--bg-body);\n --pagination-border-width: var(--border-width);\n --pagination-border-color: var(--border-color);\n --pagination-border-radius: var(--btn-input-border-radius);\n --pagination-hover-color: var(--link-hover-color);\n --pagination-hover-bg: var(--bg-1);\n --pagination-hover-border-color: var(--border-color);\n --pagination-focus-color: var(--link-hover-color);\n --pagination-focus-bg: var(--bg-2);\n --pagination-active-color: var(--primary-contrast);\n --pagination-active-bg: var(--primary-bg);\n --pagination-active-border-color: var(--primary-bg);\n --pagination-disabled-color: var(--fg-3);\n --pagination-disabled-bg: var(--bg-2);\n --pagination-disabled-border-color: var(--border-color);\n display: flex;\n padding-inline-start: 0;\n list-style: none;\n }\n .page-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--pagination-min-height);\n padding: var(--pagination-padding-y) var(--pagination-padding-x);\n font-size: var(--pagination-font-size);\n color: var(--pagination-color);\n text-decoration: none;\n background-color: var(--pagination-bg);\n border: var(--pagination-border-width) solid var(--pagination-border-color);\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n }\n .page-link:hover {\n z-index: 2;\n color: var(--pagination-hover-color);\n background-color: var(--pagination-hover-bg);\n border-color: var(--pagination-hover-border-color);\n }\n .page-link:focus-visible {\n z-index: 3;\n color: var(--pagination-focus-color);\n background-color: var(--pagination-focus-bg);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .page-link.active, .active > .page-link {\n z-index: 3;\n color: var(--pagination-active-color);\n background-color: var(--pagination-active-bg);\n border-color: var(--pagination-active-border-color);\n }\n .page-link.disabled, .disabled > .page-link {\n color: var(--pagination-disabled-color);\n pointer-events: none;\n background-color: var(--pagination-disabled-bg);\n border-color: var(--pagination-disabled-border-color);\n }\n .page-item:not(:first-child) .page-link {\n margin-inline-start: calc(-1 * var(--pagination-border-width));\n }\n .page-item:first-child .page-link {\n border-start-start-radius: var(--pagination-border-radius);\n border-end-start-radius: var(--pagination-border-radius);\n }\n .page-item:last-child .page-link {\n border-start-end-radius: var(--pagination-border-radius);\n border-end-end-radius: var(--pagination-border-radius);\n }\n .pagination-sm {\n --pagination-min-height: var(--bs-btn-input-sm-min-height);\n --pagination-padding-y: var(--btn-input-sm-padding-y);\n --pagination-padding-x: var(--btn-input-sm-padding-x);\n --pagination-font-size: var(--btn-input-sm-font-size);\n --pagination-border-radius: var(--btn-input-sm-border-radius);\n }\n .pagination-lg {\n --pagination-min-height: var(--bs-btn-input-lg-min-height);\n --pagination-padding-y: var(--btn-input-lg-padding-y);\n --pagination-padding-x: var(--btn-input-lg-padding-x);\n --pagination-font-size: var(--btn-input-lg-font-size);\n --pagination-border-radius: var(--btn-input-lg-border-radius);\n }\n}\n@layer components {\n .placeholder {\n --placeholder-opacity-max: 0.5;\n --placeholder-opacity-min: 0.2;\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: var(--placeholder-opacity-max);\n }\n .placeholder.btn::before {\n display: inline-block;\n content: \"\";\n }\n .placeholder-xs {\n min-height: 0.6em;\n }\n .placeholder-sm {\n min-height: 0.8em;\n }\n .placeholder-lg {\n min-height: 1.2em;\n }\n .placeholder-glow .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n }\n @keyframes placeholder-glow {\n 50% {\n opacity: var(--placeholder-opacity-min);\n }\n }\n .placeholder-wave {\n mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, #000 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n }\n @keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n }\n}\n@layer components {\n .popover {\n --popover-zindex: 1070;\n --popover-max-width: 280px;\n --popover-font-size: var(--font-size-sm);\n --popover-bg: var(--bg-body);\n --popover-border-width: var(--border-width);\n --popover-border-color: var(--border-color-translucent);\n --popover-border-radius: var(--border-radius-lg);\n --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n --popover-box-shadow: var(--box-shadow);\n --popover-header-padding-x: 1rem;\n --popover-header-padding-y: 0.75rem;\n --popover-header-font-size: var(--font-size-sm);\n --popover-header-color: inherit;\n --popover-header-bg: var(--bg-1);\n --popover-body-padding-x: 1rem;\n --popover-body-padding-y: 0.75rem;\n --popover-body-color: var(--fg-body);\n --popover-arrow-width: 1rem;\n --popover-arrow-height: 0.5rem;\n --popover-arrow-border: var(--popover-border-color);\n z-index: var(--popover-zindex);\n display: block;\n max-width: var(--popover-max-width);\n font-family: var(--body-font-family);\n font-style: normal;\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--popover-font-size);\n word-wrap: break-word;\n background-color: var(--popover-bg);\n background-clip: padding-box;\n border: var(--popover-border-width) solid var(--popover-border-color);\n border-radius: var(--popover-border-radius);\n box-shadow: var(--popover-box-shadow);\n }\n .popover .popover-arrow {\n display: block;\n width: var(--popover-arrow-width);\n height: var(--popover-arrow-height);\n }\n .popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n }\n .bs-popover-top > .popover-arrow, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow {\n bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n }\n .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n }\n .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before {\n bottom: 0;\n border-block-start-color: var(--popover-arrow-border);\n }\n .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n bottom: var(--popover-border-width);\n border-block-start-color: var(--popover-bg);\n }\n .bs-popover-end > .popover-arrow, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow {\n left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n }\n .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n border-width: calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n }\n .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before {\n left: 0;\n border-inline-end-color: var(--popover-arrow-border);\n }\n .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n left: var(--popover-border-width);\n border-inline-end-color: var(--popover-bg);\n }\n .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow {\n top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n }\n .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n border-width: 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n }\n .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before {\n top: 0;\n border-block-end-color: var(--popover-arrow-border);\n }\n .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n top: var(--popover-border-width);\n border-block-end-color: var(--popover-bg);\n }\n .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-bs-placement^=bottom] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--popover-arrow-width);\n margin-inline-start: calc(-0.5 * var(--popover-arrow-width));\n content: \"\";\n border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n }\n .bs-popover-start > .popover-arrow, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow {\n right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n }\n .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n border-width: calc(var(--popover-arrow-width) * 0.5) 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n }\n .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before {\n right: 0;\n border-inline-start-color: var(--popover-arrow-border);\n }\n .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n right: var(--popover-border-width);\n border-inline-start-color: var(--popover-bg);\n }\n .popover-header {\n padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n margin-bottom: 0;\n font-size: var(--popover-header-font-size);\n color: var(--popover-header-color);\n background-color: var(--popover-header-bg);\n border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n border-start-start-radius: var(--popover-inner-border-radius);\n border-start-end-radius: var(--popover-inner-border-radius);\n }\n .popover-header:empty {\n display: none;\n }\n .popover-body {\n padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n color: var(--popover-body-color);\n }\n}\n@layer components {\n @keyframes progress-bar-stripes {\n 0% {\n background-position-x: var(--progress-height);\n }\n }\n .progress,\n .progress-stacked {\n --progress-height: 1rem;\n --progress-font-size: var(--font-size-sm);\n --progress-bg: var(--bg-2);\n --progress-border-radius: var(--border-radius);\n --progress-box-shadow: var(--box-shadow-inset);\n --progress-bar-color: var(--white);\n --progress-bar-bg: var(--primary-bg);\n --progress-bar-transition: width 0.6s ease;\n --progress-bar-animation: progress-bar-stripes 1s linear infinite;\n display: flex;\n height: var(--progress-height);\n overflow: hidden;\n font-size: var(--progress-font-size);\n background-color: var(--progress-bg);\n border-radius: var(--progress-border-radius);\n box-shadow: var(--progress-box-shadow);\n }\n .progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--theme-contrast, var(--progress-bar-color));\n text-align: center;\n white-space: nowrap;\n background-color: var(--theme-bg, var(--progress-bar-bg));\n transition: var(--progress-bar-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n }\n .progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: var(--progress-height) var(--progress-height);\n }\n .progress-stacked > .progress {\n overflow: visible;\n }\n .progress-stacked > .progress > .progress-bar {\n width: 100%;\n }\n .progress-bar-animated {\n animation: var(--progress-bar-animation);\n }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n }\n}\n@layer components {\n .spinner-grow,\n .spinner-border {\n display: inline-block;\n flex-shrink: 0;\n width: var(--spinner-width);\n height: var(--spinner-height);\n vertical-align: var(--spinner-vertical-align);\n border-radius: 50%;\n animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n }\n @keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n }\n .spinner-border {\n --spinner-width: 2rem;\n --spinner-height: 2rem;\n --spinner-vertical-align: -0.125em;\n --spinner-border-width: 0.25em;\n --spinner-animation-speed: 0.75s;\n --spinner-animation-name: spinner-border;\n border: var(--spinner-border-width) solid currentcolor;\n border-inline-end-color: transparent;\n }\n .spinner-border-sm {\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n --spinner-border-width: .2em;\n }\n @keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n }\n .spinner-grow {\n --spinner-width: 2rem;\n --spinner-height: 2rem;\n --spinner-vertical-align: -0.125em;\n --spinner-animation-speed: 0.75s;\n --spinner-animation-name: spinner-grow;\n background-color: currentcolor;\n opacity: 0;\n }\n .spinner-grow-sm {\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n }\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --spinner-animation-speed: 1.5s;\n }\n }\n}\n@layer components {\n .stepper {\n --stepper-size: 2rem;\n --stepper-gap: 1rem;\n --stepper-font-size: var(--font-size-sm);\n --stepper-text-gap: 0.5rem;\n --stepper-track-size: 0.125rem;\n --stepper-bg: var(--bg-2);\n --stepper-active-color: var(--primary-contrast);\n --stepper-active-bg: var(--primary-bg);\n display: grid;\n grid-auto-rows: 1fr;\n grid-auto-flow: row;\n gap: var(--stepper-gap);\n padding-inline-start: 0;\n list-style: none;\n counter-reset: stepper;\n }\n .stepper-item {\n position: relative;\n display: grid;\n grid-template-rows: auto;\n grid-template-columns: var(--stepper-size) auto;\n gap: var(--stepper-text-gap);\n align-items: var(--stepper-align-items, center);\n text-decoration: none;\n }\n .stepper-item::before {\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--stepper-size);\n height: var(--stepper-size);\n padding: 0.5rem;\n font-size: var(--stepper-font-size);\n font-weight: 600;\n line-height: 1;\n text-align: center;\n content: counter(stepper);\n counter-increment: stepper;\n background-color: var(--stepper-bg);\n border-radius: 50%;\n }\n .stepper-item::after {\n position: absolute;\n inset-block-start: 50%;\n inset-block-end: 100%;\n inset-inline-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n width: var(--stepper-track-size);\n height: calc(100% + var(--stepper-gap));\n content: \"\";\n background-color: var(--stepper-bg);\n }\n .stepper-item:last-child::after {\n display: none;\n }\n .stepper-item.active::before, .stepper-item.active::after {\n color: var(--theme-contrast, var(--stepper-active-color));\n background-color: var(--theme-bg, var(--stepper-active-bg));\n }\n .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n background-color: var(--stepper-bg);\n }\n .stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n @container (width >= 576px) {\n .stepper-horizontal-sm {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .stepper-horizontal-sm .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .stepper-horizontal-sm .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .stepper-horizontal-sm .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 768px) {\n .stepper-horizontal-md {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .stepper-horizontal-md .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .stepper-horizontal-md .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .stepper-horizontal-md .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 1024px) {\n .stepper-horizontal-lg {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .stepper-horizontal-lg .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .stepper-horizontal-lg .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .stepper-horizontal-lg .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 1280px) {\n .stepper-horizontal-xl {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .stepper-horizontal-xl .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .stepper-horizontal-xl .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .stepper-horizontal-xl .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 1536px) {\n .stepper-horizontal-2xl {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .stepper-horizontal-2xl .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .stepper-horizontal-2xl .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .stepper-horizontal-2xl .stepper-item:last-child::after {\n right: 100%;\n }\n }\n .stepper-overflow {\n container-type: inline-size;\n overflow-x: auto;\n overscroll-behavior-x: contain;\n -webkit-overflow-scrolling: touch;\n }\n .stepper-overflow > .stepper {\n width: max-content;\n min-width: 100%;\n }\n}\n@layer components {\n .toast {\n --toast-zindex: 1090;\n --toast-padding-x: 0.75rem;\n --toast-padding-y: 0.5rem;\n --toast-spacing: 1.5rem;\n --toast-max-width: 350px;\n --toast-font-size: 0.875rem;\n --toast-bg: rgba(var(--body-bg-rgb), 0.85);\n --toast-border-width: var(--border-width);\n --toast-border-color: var(--border-color-translucent);\n --toast-border-radius: var(--border-radius);\n --toast-box-shadow: var(--box-shadow);\n --toast-header-color: var(--fg-3);\n --toast-header-bg: rgba(var(--body-bg-rgb), 0.85);\n --toast-header-border-color: var(--border-color-translucent);\n width: var(--toast-max-width);\n max-width: 100%;\n font-size: var(--toast-font-size);\n color: var(--toast-color);\n pointer-events: auto;\n background-color: var(--toast-bg);\n background-clip: padding-box;\n border: var(--toast-border-width) solid var(--toast-border-color);\n box-shadow: var(--toast-box-shadow);\n border-radius: var(--toast-border-radius);\n }\n .toast.showing {\n opacity: 0;\n }\n .toast:not(.show) {\n display: none;\n }\n .toast-container {\n --toast-zindex: 1090;\n position: absolute;\n z-index: var(--toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n }\n .toast-container > :not(:last-child) {\n margin-bottom: var(--toast-spacing);\n }\n .toast-header {\n display: flex;\n align-items: center;\n padding: var(--toast-padding-y) var(--toast-padding-x);\n color: var(--toast-header-color);\n background-color: var(--toast-header-bg);\n background-clip: padding-box;\n border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n border-start-start-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n border-start-end-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n }\n .toast-header .btn-close {\n margin-inline-start: var(--toast-padding-x);\n margin-inline-end: calc(-0.5 * var(--toast-padding-x));\n }\n .toast-translucent {\n backdrop-filter: blur(5px) saturate(180%);\n }\n .toast-body {\n padding: var(--toast-padding-x);\n word-wrap: break-word;\n }\n}\n.fade {\n transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n.collapsing.collapse-horizontal {\n width: 0;\n height: auto;\n transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing.collapse-horizontal {\n transition: none;\n }\n}\n\n@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: 0.375rem;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n text-underline-offset: 0.25em;\n backface-visibility: hidden;\n }\n .icon-link > .bi {\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n fill: currentcolor;\n transition: 0.2s ease-in-out transform;\n }\n @media (prefers-reduced-motion: reduce) {\n .icon-link > .bi {\n transition: none;\n }\n }\n .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n }\n}\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: 1030;\n }\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: 1030;\n }\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n @media (width >= 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-sm-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-md-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1024px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-lg-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1280px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1536px) {\n .sticky-2xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-2xl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n}\n@layer helpers {\n .stack-container {\n container-type: inline-size;\n }\n [class*=hstack],\n [class*=vstack] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n .vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n .hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n @container (width >= 576px) {\n .vstack-sm {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 576px) {\n .hstack-sm {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 768px) {\n .vstack-md {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 768px) {\n .hstack-md {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1024px) {\n .vstack-lg {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1024px) {\n .hstack-lg {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1280px) {\n .vstack-xl {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1280px) {\n .hstack-xl {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1536px) {\n .vstack-2xl {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1536px) {\n .hstack-2xl {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n}\n@layer helpers {\n .theme-primary {\n --theme-base: var(--primary-base);\n --theme-text: var(--primary-text);\n --theme-text-emphasis: var(--primary-text-emphasis);\n --theme-bg: var(--primary-bg);\n --theme-bg-subtle: var(--primary-bg-subtle);\n --theme-bg-muted: var(--primary-bg-muted);\n --theme-border: var(--primary-border);\n --theme-focus-ring: var(--primary-focus-ring);\n --theme-contrast: var(--primary-contrast);\n }\n .theme-accent {\n --theme-base: var(--accent-base);\n --theme-text: var(--accent-text);\n --theme-text-emphasis: var(--accent-text-emphasis);\n --theme-bg: var(--accent-bg);\n --theme-bg-subtle: var(--accent-bg-subtle);\n --theme-bg-muted: var(--accent-bg-muted);\n --theme-border: var(--accent-border);\n --theme-focus-ring: var(--accent-focus-ring);\n --theme-contrast: var(--accent-contrast);\n }\n .theme-success {\n --theme-base: var(--success-base);\n --theme-text: var(--success-text);\n --theme-text-emphasis: var(--success-text-emphasis);\n --theme-bg: var(--success-bg);\n --theme-bg-subtle: var(--success-bg-subtle);\n --theme-bg-muted: var(--success-bg-muted);\n --theme-border: var(--success-border);\n --theme-focus-ring: var(--success-focus-ring);\n --theme-contrast: var(--success-contrast);\n }\n .theme-danger {\n --theme-base: var(--danger-base);\n --theme-text: var(--danger-text);\n --theme-text-emphasis: var(--danger-text-emphasis);\n --theme-bg: var(--danger-bg);\n --theme-bg-subtle: var(--danger-bg-subtle);\n --theme-bg-muted: var(--danger-bg-muted);\n --theme-border: var(--danger-border);\n --theme-focus-ring: var(--danger-focus-ring);\n --theme-contrast: var(--danger-contrast);\n }\n .theme-warning {\n --theme-base: var(--warning-base);\n --theme-text: var(--warning-text);\n --theme-text-emphasis: var(--warning-text-emphasis);\n --theme-bg: var(--warning-bg);\n --theme-bg-subtle: var(--warning-bg-subtle);\n --theme-bg-muted: var(--warning-bg-muted);\n --theme-border: var(--warning-border);\n --theme-focus-ring: var(--warning-focus-ring);\n --theme-contrast: var(--warning-contrast);\n }\n .theme-info {\n --theme-base: var(--info-base);\n --theme-text: var(--info-text);\n --theme-text-emphasis: var(--info-text-emphasis);\n --theme-bg: var(--info-bg);\n --theme-bg-subtle: var(--info-bg-subtle);\n --theme-bg-muted: var(--info-bg-muted);\n --theme-border: var(--info-border);\n --theme-focus-ring: var(--info-focus-ring);\n --theme-contrast: var(--info-contrast);\n }\n .theme-inverse {\n --theme-base: var(--inverse-base);\n --theme-text: var(--inverse-text);\n --theme-text-emphasis: var(--inverse-text-emphasis);\n --theme-bg: var(--inverse-bg);\n --theme-bg-subtle: var(--inverse-bg-subtle);\n --theme-bg-muted: var(--inverse-bg-muted);\n --theme-border: var(--inverse-border);\n --theme-focus-ring: var(--inverse-focus-ring);\n --theme-contrast: var(--inverse-contrast);\n }\n .theme-secondary {\n --theme-base: var(--secondary-base);\n --theme-text: var(--secondary-text);\n --theme-text-emphasis: var(--secondary-text-emphasis);\n --theme-bg: var(--secondary-bg);\n --theme-bg-subtle: var(--secondary-bg-subtle);\n --theme-bg-muted: var(--secondary-bg-muted);\n --theme-border: var(--secondary-border);\n --theme-focus-ring: var(--secondary-focus-ring);\n --theme-contrast: var(--secondary-contrast);\n }\n}\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n .visually-hidden:not(caption),\n .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n position: absolute !important;\n }\n .visually-hidden *,\n .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n overflow: hidden !important;\n }\n}\n@layer helpers {\n .stretched-link::after {\n position: absolute;\n inset: 0;\n z-index: 1;\n content: \"\";\n }\n}\n@layer helpers {\n .text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n@layer utilities {\n .align-baseline {\n vertical-align: baseline;\n }\n .align-top {\n vertical-align: top;\n }\n .align-middle {\n vertical-align: middle;\n }\n .align-bottom {\n vertical-align: bottom;\n }\n .align-text-bottom {\n vertical-align: text-bottom;\n }\n .align-text-top {\n vertical-align: text-top;\n }\n [class*=ratio-] {\n aspect-ratio: var(--ratio);\n }\n .ratio-auto {\n --ratio: auto;\n }\n .ratio-1x1 {\n --ratio: 1 / 1;\n }\n .ratio-4x3 {\n --ratio: 4 / 3;\n }\n .ratio-16x9 {\n --ratio: 16 / 9;\n }\n .ratio-21x9 {\n --ratio: 21 / 9;\n }\n .float-start {\n float: inline-start;\n }\n .float-end {\n float: inline-end;\n }\n .float-none {\n float: none;\n }\n .object-fit-contain {\n object-fit: contain;\n }\n .object-fit-cover {\n object-fit: cover;\n }\n .object-fit-fill {\n object-fit: fill;\n }\n .object-fit-scale {\n object-fit: scale-down;\n }\n .object-fit-none {\n object-fit: none;\n }\n .opacity-0 {\n opacity: 0;\n }\n .opacity-25 {\n opacity: 0.25;\n }\n .opacity-50 {\n opacity: 0.5;\n }\n .opacity-75 {\n opacity: 0.75;\n }\n .opacity-100 {\n opacity: 1;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-visible {\n overflow: visible;\n }\n .overflow-scroll {\n overflow: scroll;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n .overflow-x-visible {\n overflow-x: visible;\n }\n .overflow-x-scroll {\n overflow-x: scroll;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .overflow-y-hidden {\n overflow-y: hidden;\n }\n .overflow-y-visible {\n overflow-y: visible;\n }\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n .contains-inline {\n container-type: inline-size;\n }\n .contains-size {\n container-type: size;\n }\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .shadow {\n box-shadow: var(--box-shadow);\n }\n .shadow-sm {\n box-shadow: var(--box-shadow-sm);\n }\n .shadow-lg {\n box-shadow: var(--box-shadow-lg);\n }\n .shadow-none {\n box-shadow: none;\n }\n .focus-ring-primary {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n }\n .focus-ring-accent {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n }\n .focus-ring-success {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n }\n .focus-ring-danger {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n }\n .focus-ring-warning {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n }\n .focus-ring-info {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n }\n .focus-ring-inverse {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n }\n .focus-ring-secondary {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n }\n .position-static {\n position: static;\n }\n .position-relative {\n position: relative;\n }\n .position-absolute {\n position: absolute;\n }\n .position-fixed {\n position: fixed;\n }\n .position-sticky {\n position: sticky;\n }\n .top-0 {\n top: 0;\n }\n .top-50 {\n top: 50%;\n }\n .top-100 {\n top: 100%;\n }\n .bottom-0 {\n bottom: 0;\n }\n .bottom-50 {\n bottom: 50%;\n }\n .bottom-100 {\n bottom: 100%;\n }\n .start-0 {\n left: 0;\n }\n .start-50 {\n left: 50%;\n }\n .start-100 {\n left: 100%;\n }\n .end-0 {\n right: 0;\n }\n .end-50 {\n right: 50%;\n }\n .end-100 {\n right: 100%;\n }\n .translate-middle {\n transform: translate(-50%, -50%);\n }\n .translate-middle-x {\n transform: translateX(-50%);\n }\n .translate-middle-y {\n transform: translateY(-50%);\n }\n .border {\n border: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-0 {\n border: 0;\n }\n .border-top {\n border-block-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-top-0 {\n border-block-start: 0;\n }\n .border-end {\n border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-end-0 {\n border-inline-end: 0;\n }\n .border-bottom {\n border-block-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-bottom-0 {\n border-block-end: 0;\n }\n .border-start {\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-start-0 {\n border-inline-start: 0;\n }\n .border-block {\n border-block: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-block-0 {\n border-block: 0;\n }\n .border-inline {\n border-inline: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-inline-0 {\n border-inline: 0;\n }\n .border-primary {\n --border-color: var(--blue-500);\n border-color: var(--border-color);\n }\n .border-accent {\n --border-color: var(--indigo-500);\n border-color: var(--border-color);\n }\n .border-success {\n --border-color: var(--green-500);\n border-color: var(--border-color);\n }\n .border-danger {\n --border-color: var(--red-500);\n border-color: var(--border-color);\n }\n .border-warning {\n --border-color: var(--yellow-500);\n border-color: var(--border-color);\n }\n .border-info {\n --border-color: var(--cyan-500);\n border-color: var(--border-color);\n }\n .border-inverse {\n --border-color: light-dark(var(--gray-900), var(--gray-025));\n border-color: var(--border-color);\n }\n .border-secondary {\n --border-color: light-dark(var(--gray-100), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-bg {\n --border-color: var(--bg-body);\n border-color: var(--border-color);\n }\n .border-body {\n --border-color: light-dark(var(--gray-300), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-muted {\n --border-color: light-dark(var(--gray-200), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-subtle {\n --border-color: light-dark(var(--gray-100), var(--gray-900));\n border-color: var(--border-color);\n }\n .border-emphasized {\n --border-color: light-dark(var(--gray-400), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-white {\n --border-color: var(--white);\n border-color: var(--border-color);\n }\n .border-black {\n --border-color: var(--black);\n border-color: var(--border-color);\n }\n .border-subtle-primary {\n --border-color: light-dark(var(--blue-300), var(--blue-600));\n border-color: var(--border-color);\n }\n .border-subtle-accent {\n --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n border-color: var(--border-color);\n }\n .border-subtle-success {\n --border-color: light-dark(var(--green-300), var(--green-600));\n border-color: var(--border-color);\n }\n .border-subtle-danger {\n --border-color: light-dark(var(--red-300), var(--red-600));\n border-color: var(--border-color);\n }\n .border-subtle-warning {\n --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n border-color: var(--border-color);\n }\n .border-subtle-info {\n --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n border-color: var(--border-color);\n }\n .border-subtle-inverse {\n --border-color: light-dark(var(--gray-400), var(--gray-100));\n border-color: var(--border-color);\n }\n .border-subtle-secondary {\n --border-color: light-dark(var(--gray-300), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-1 {\n border-width: 1px;\n }\n .border-2 {\n border-width: 2px;\n }\n .border-3 {\n border-width: 3px;\n }\n .border-4 {\n border-width: 4px;\n }\n .border-5 {\n border-width: 5px;\n }\n .border-10 {\n border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n }\n .border-20 {\n border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n }\n .border-30 {\n border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n }\n .border-40 {\n border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n }\n .border-50 {\n border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n }\n .border-60 {\n border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n }\n .border-70 {\n border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n }\n .border-80 {\n border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n }\n .border-90 {\n border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n }\n .border-100 {\n border-color: var(--border-color);\n }\n .w-1 {\n width: 1rem;\n }\n .w-2 {\n width: 2rem;\n }\n .w-3 {\n width: 3rem;\n }\n .w-4 {\n width: 4rem;\n }\n .w-5 {\n width: 5rem;\n }\n .w-6 {\n width: 6rem;\n }\n .w-7 {\n width: 7rem;\n }\n .w-8 {\n width: 8rem;\n }\n .w-9 {\n width: 9rem;\n }\n .w-10 {\n width: 10rem;\n }\n .w-11 {\n width: 11rem;\n }\n .w-12 {\n width: 12rem;\n }\n .w-25 {\n width: 25%;\n }\n .w-50 {\n width: 50%;\n }\n .w-75 {\n width: 75%;\n }\n .w-100 {\n width: 100%;\n }\n .w-auto {\n width: auto;\n }\n .w-min {\n width: min-content;\n }\n .w-max {\n width: max-content;\n }\n .w-fit {\n width: fit-content;\n }\n .max-w-100 {\n max-width: 100%;\n }\n .min-w-0 {\n min-width: 0;\n }\n .min-w-100 {\n min-width: 100%;\n }\n .vw-100 {\n width: 100vw;\n }\n .min-vw-100 {\n min-width: 100vw;\n }\n .h-25 {\n height: 25%;\n }\n .h-50 {\n height: 50%;\n }\n .h-75 {\n height: 75%;\n }\n .h-100 {\n height: 100%;\n }\n .h-auto {\n height: auto;\n }\n .h-min {\n height: min-content;\n }\n .h-max {\n height: max-content;\n }\n .h-fit {\n height: fit-content;\n }\n .max-h-100 {\n max-height: 100%;\n }\n .min-h-0 {\n min-height: 0;\n }\n .min-h-100 {\n min-height: 100%;\n }\n .vh-100 {\n height: 100vh;\n }\n .min-vh-100 {\n min-height: 100vh;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .justify-self-start {\n justify-self: flex-start;\n }\n .justify-self-end {\n justify-self: flex-end;\n }\n .justify-self-center {\n justify-self: center;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .order-first {\n order: -1;\n }\n .order-0 {\n order: 0;\n }\n .order-1 {\n order: 1;\n }\n .order-2 {\n order: 2;\n }\n .order-3 {\n order: 3;\n }\n .order-4 {\n order: 4;\n }\n .order-5 {\n order: 5;\n }\n .order-last {\n order: 6;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n .gap-0 {\n gap: 0;\n }\n .gap-1 {\n gap: 0.25rem;\n }\n .gap-2 {\n gap: 0.5rem;\n }\n .gap-3 {\n gap: 1rem;\n }\n .gap-4 {\n gap: 1.5rem;\n }\n .gap-5 {\n gap: 3rem;\n }\n .row-gap-0 {\n row-gap: 0;\n }\n .row-gap-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2 {\n row-gap: 0.5rem;\n }\n .row-gap-3 {\n row-gap: 1rem;\n }\n .row-gap-4 {\n row-gap: 1.5rem;\n }\n .row-gap-5 {\n row-gap: 3rem;\n }\n .column-gap-0 {\n column-gap: 0;\n }\n .column-gap-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2 {\n column-gap: 0.5rem;\n }\n .column-gap-3 {\n column-gap: 1rem;\n }\n .column-gap-4 {\n column-gap: 1.5rem;\n }\n .column-gap-5 {\n column-gap: 3rem;\n }\n .font-monospace {\n font-family: var(--font-mono);\n }\n .font-body {\n font-family: var(--body-font-family);\n }\n .fs-xs {\n font-size: 0.75rem;\n }\n .fs-sm {\n font-size: 0.875rem;\n }\n .fs-md {\n font-size: 1rem;\n }\n .fs-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n }\n .fs-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n }\n .fs-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n }\n .fs-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n }\n .fs-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n }\n .fs-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n }\n .fs-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n }\n .text-xs {\n font-size: 0.75rem;\n line-height: 1.25;\n }\n .text-sm {\n font-size: 0.875rem;\n line-height: 1.5;\n }\n .text-md {\n font-size: 1rem;\n line-height: 1.5;\n }\n .text-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n line-height: 1.5;\n }\n .text-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n line-height: 1.4285714286;\n }\n .text-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n line-height: 1.3333333333;\n }\n .text-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n line-height: 1.2;\n }\n .text-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n line-height: 1.1;\n }\n .text-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n line-height: 1.1;\n }\n .text-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n line-height: 1;\n }\n .fst-italic {\n font-style: italic;\n }\n .fst-normal {\n font-style: normal;\n }\n .fw-lighter {\n font-weight: lighter;\n }\n .fw-light {\n font-weight: 300;\n }\n .fw-normal {\n font-weight: 400;\n }\n .fw-medium {\n font-weight: 500;\n }\n .fw-semibold {\n font-weight: 600;\n }\n .fw-bold {\n font-weight: 700;\n }\n .fw-bolder {\n font-weight: bolder;\n }\n .lh-1 {\n line-height: 1;\n }\n .lh-sm {\n line-height: 1.25;\n }\n .lh-base {\n line-height: 1.5;\n }\n .lh-lg {\n line-height: 2;\n }\n .text-start {\n text-align: start;\n }\n .text-end {\n text-align: end;\n }\n .text-center {\n text-align: center;\n }\n .text-decoration-none {\n text-decoration: none;\n }\n .text-decoration-underline {\n text-decoration: underline;\n }\n .text-decoration-line-through {\n text-decoration: line-through;\n }\n .text-lowercase {\n text-transform: lowercase;\n }\n .text-uppercase {\n text-transform: uppercase;\n }\n .text-capitalize {\n text-transform: capitalize;\n }\n .text-wrap {\n white-space: wrap;\n }\n .text-nowrap {\n white-space: nowrap;\n }\n .text-balance {\n white-space: balance;\n }\n .text-pretty {\n white-space: pretty;\n }\n .text-break {\n word-wrap: break-word;\n word-break: break-word;\n }\n .fg-primary {\n --fg: light-dark(var(--blue-600), var(--blue-400));\n color: var(--fg);\n }\n .fg-accent {\n --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n color: var(--fg);\n }\n .fg-success {\n --fg: light-dark(var(--green-600), var(--green-400));\n color: var(--fg);\n }\n .fg-danger {\n --fg: light-dark(var(--red-600), var(--red-400));\n color: var(--fg);\n }\n .fg-warning {\n --fg: light-dark(var(--yellow-700), var(--yellow-400));\n color: var(--fg);\n }\n .fg-info {\n --fg: light-dark(var(--cyan-600), var(--cyan-400));\n color: var(--fg);\n }\n .fg-inverse {\n --fg: light-dark(var(--gray-900), var(--gray-200));\n color: var(--fg);\n }\n .fg-secondary {\n --fg: light-dark(var(--gray-600), var(--gray-400));\n color: var(--fg);\n }\n .fg-body {\n --fg: light-dark(var(--gray-900), var(--gray-050));\n color: var(--fg);\n }\n .fg-1 {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-2 {\n --fg: light-dark(var(--gray-700), var(--gray-300));\n color: var(--fg);\n }\n .fg-3 {\n --fg: light-dark(var(--gray-600), var(--gray-500));\n color: var(--fg);\n }\n .fg-4 {\n --fg: light-dark(var(--gray-500), var(--gray-600));\n color: var(--fg);\n }\n .fg-white {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-black {\n --fg: var(--black);\n color: var(--fg);\n }\n .fg-inherit {\n --fg: inherit;\n color: var(--fg);\n }\n .fg-emphasis-primary {\n --fg: light-dark(var(--blue-800), var(--blue-200));\n color: var(--fg);\n }\n .fg-emphasis-accent {\n --fg: light-dark(var(--indigo-800), var(--indigo-300));\n color: var(--fg);\n }\n .fg-emphasis-success {\n --fg: light-dark(var(--green-800), var(--green-300));\n color: var(--fg);\n }\n .fg-emphasis-danger {\n --fg: light-dark(var(--red-800), var(--red-300));\n color: var(--fg);\n }\n .fg-emphasis-warning {\n --fg: light-dark(var(--yellow-800), var(--yellow-300));\n color: var(--fg);\n }\n .fg-emphasis-info {\n --fg: light-dark(var(--cyan-800), var(--cyan-300));\n color: var(--fg);\n }\n .fg-emphasis-inverse {\n --fg: light-dark(var(--gray-975), var(--white));\n color: var(--fg);\n }\n .fg-emphasis-secondary {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-contrast-primary {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-accent {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-success {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-danger {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-warning {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-info {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-inverse {\n --fg: light-dark(var(--white), var(--gray-900));\n color: var(--fg);\n }\n .fg-contrast-secondary {\n --fg: light-dark(var(--gray-900), var(--white));\n color: var(--fg);\n }\n .fg-10 {\n color: color-mix(in oklch, var(--fg) 10%, transparent);\n }\n .fg-20 {\n color: color-mix(in oklch, var(--fg) 20%, transparent);\n }\n .fg-30 {\n color: color-mix(in oklch, var(--fg) 30%, transparent);\n }\n .fg-40 {\n color: color-mix(in oklch, var(--fg) 40%, transparent);\n }\n .fg-50 {\n color: color-mix(in oklch, var(--fg) 50%, transparent);\n }\n .fg-60 {\n color: color-mix(in oklch, var(--fg) 60%, transparent);\n }\n .fg-70 {\n color: color-mix(in oklch, var(--fg) 70%, transparent);\n }\n .fg-80 {\n color: color-mix(in oklch, var(--fg) 80%, transparent);\n }\n .fg-90 {\n color: color-mix(in oklch, var(--fg) 90%, transparent);\n }\n .fg-100 {\n color: var(--fg);\n }\n .link-10 {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-10-hover:hover {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-20 {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-20-hover:hover {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-30 {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-30-hover:hover {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-40 {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-40-hover:hover {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-50 {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-50-hover:hover {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-60 {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-60-hover:hover {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-70 {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-70-hover:hover {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-80 {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-80-hover:hover {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-90 {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-90-hover:hover {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-100 {\n color: var(--link-color);\n }\n .link-100-hover:hover {\n color: var(--link-color);\n }\n .underline-offset-1 {\n text-underline-offset: 0.125em;\n }\n .underline-offset-1-hover:hover {\n text-underline-offset: 0.125em;\n }\n .underline-offset-2 {\n text-underline-offset: 0.25em;\n }\n .underline-offset-2-hover:hover {\n text-underline-offset: 0.25em;\n }\n .underline-offset-3 {\n text-underline-offset: 0.375em;\n }\n .underline-offset-3-hover:hover {\n text-underline-offset: 0.375em;\n }\n .underline-primary {\n text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n }\n .underline-accent {\n text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n }\n .underline-success {\n text-decoration-color: light-dark(var(--green-600), var(--green-400));\n }\n .underline-danger {\n text-decoration-color: light-dark(var(--red-600), var(--red-400));\n }\n .underline-warning {\n text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n }\n .underline-info {\n text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n }\n .underline-inverse {\n text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n }\n .underline-secondary {\n text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n }\n .underline-10 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-10-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-20 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-20-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-30 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-30-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-40 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-40-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-50 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-50-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-60 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-60-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-70 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-70-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-80 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-80-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-90 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-90-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-100 {\n text-decoration-color: var(--link-color);\n }\n .underline-100-hover:hover {\n text-decoration-color: var(--link-color);\n }\n .underline-thickness-1 {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-1-hover:hover {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-2 {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-2-hover:hover {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-3 {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-3-hover:hover {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-4 {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-4-hover:hover {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-5 {\n text-decoration-thickness: 5px;\n }\n .underline-thickness-5-hover:hover {\n text-decoration-thickness: 5px;\n }\n .bg-primary {\n --bg: var(--blue-500);\n background-color: var(--bg);\n }\n .bg-accent {\n --bg: var(--indigo-500);\n background-color: var(--bg);\n }\n .bg-success {\n --bg: var(--green-500);\n background-color: var(--bg);\n }\n .bg-danger {\n --bg: var(--red-500);\n background-color: var(--bg);\n }\n .bg-warning {\n --bg: var(--yellow-500);\n background-color: var(--bg);\n }\n .bg-info {\n --bg: var(--cyan-500);\n background-color: var(--bg);\n }\n .bg-inverse {\n --bg: light-dark(var(--gray-900), var(--gray-025));\n background-color: var(--bg);\n }\n .bg-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-600));\n background-color: var(--bg);\n }\n .bg-body {\n --bg: light-dark(var(--white), var(--gray-975));\n background-color: var(--bg);\n }\n .bg-1 {\n --bg: light-dark(var(--gray-025), var(--gray-950));\n background-color: var(--bg);\n }\n .bg-2 {\n --bg: light-dark(var(--gray-050), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-3 {\n --bg: light-dark(var(--gray-100), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-4 {\n --bg: light-dark(var(--gray-200), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-white {\n --bg: var(--white);\n background-color: var(--bg);\n }\n .bg-black {\n --bg: var(--black);\n background-color: var(--bg);\n }\n .bg-transparent {\n --bg: transparent;\n background-color: var(--bg);\n }\n .bg-inherit {\n --bg: inherit;\n background-color: var(--bg);\n }\n .bg-subtle-primary {\n --bg: light-dark(var(--blue-100), var(--blue-900));\n background-color: var(--bg);\n }\n .bg-subtle-accent {\n --bg: light-dark(var(--indigo-100), var(--indigo-900));\n background-color: var(--bg);\n }\n .bg-subtle-success {\n --bg: light-dark(var(--green-100), var(--green-900));\n background-color: var(--bg);\n }\n .bg-subtle-danger {\n --bg: light-dark(var(--red-100), var(--red-900));\n background-color: var(--bg);\n }\n .bg-subtle-warning {\n --bg: light-dark(var(--yellow-100), var(--yellow-900));\n background-color: var(--bg);\n }\n .bg-subtle-info {\n --bg: light-dark(var(--cyan-100), var(--cyan-900));\n background-color: var(--bg);\n }\n .bg-subtle-inverse {\n --bg: light-dark(var(--gray-100), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-subtle-secondary {\n --bg: light-dark(var(--gray-050), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-muted-primary {\n --bg: light-dark(var(--blue-200), var(--blue-800));\n background-color: var(--bg);\n }\n .bg-muted-accent {\n --bg: light-dark(var(--indigo-200), var(--indigo-800));\n background-color: var(--bg);\n }\n .bg-muted-success {\n --bg: light-dark(var(--green-200), var(--green-800));\n background-color: var(--bg);\n }\n .bg-muted-danger {\n --bg: light-dark(var(--red-200), var(--red-800));\n background-color: var(--bg);\n }\n .bg-muted-warning {\n --bg: light-dark(var(--yellow-200), var(--yellow-800));\n background-color: var(--bg);\n }\n .bg-muted-info {\n --bg: light-dark(var(--cyan-200), var(--cyan-800));\n background-color: var(--bg);\n }\n .bg-muted-inverse {\n --bg: light-dark(var(--gray-200), var(--gray-300));\n background-color: var(--bg);\n }\n .bg-muted-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-10 {\n background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n }\n .bg-20 {\n background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n }\n .bg-30 {\n background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n }\n .bg-40 {\n background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n }\n .bg-50 {\n background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n }\n .bg-60 {\n background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n }\n .bg-70 {\n background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n }\n .bg-80 {\n background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n }\n .bg-90 {\n background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n }\n .bg-100 {\n background-color: var(--bg);\n }\n .theme-contrast {\n background-color: var(--theme-bg);\n color: var(--theme-contrast);\n }\n .theme-subtle {\n background-color: var(--theme-bg-subtle);\n color: var(--theme-text);\n }\n .theme-muted {\n background-color: var(--theme-bg-muted);\n color: var(--theme-text-emphasis);\n }\n .theme-border {\n border: var(--border-width) solid var(--theme-border);\n }\n .bg-gradient {\n background-image: var(--gradient);\n }\n .user-select-all {\n user-select: all;\n }\n .user-select-auto {\n user-select: auto;\n }\n .user-select-text {\n user-select: text;\n }\n .user-select-none {\n user-select: none;\n }\n .pe-none {\n pointer-events: none;\n }\n .pe-auto {\n pointer-events: auto;\n }\n .rounded {\n border-radius: var(--border-radius);\n }\n .rounded-0 {\n border-radius: 0;\n }\n .rounded-1 {\n border-radius: var(--border-radius-sm);\n }\n .rounded-2 {\n border-radius: var(--border-radius);\n }\n .rounded-3 {\n border-radius: var(--border-radius-lg);\n }\n .rounded-4 {\n border-radius: var(--border-radius-xl);\n }\n .rounded-5 {\n border-radius: var(--border-radius-2xl);\n }\n .rounded-circle {\n border-radius: 50%;\n }\n .rounded-pill {\n border-radius: var(--border-radius-pill);\n }\n .rounded-top {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-top-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-top-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-top-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-top-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-top-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-top-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .rounded-end {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-end-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-end-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-end-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-end-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-end-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-end-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-bottom {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-bottom-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-bottom-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-bottom-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-bottom-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-bottom-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-bottom-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-start {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-start-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-start-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-start-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-start-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-start-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-start-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .visible {\n visibility: visible;\n }\n .invisible {\n visibility: hidden;\n }\n .z-n1 {\n z-index: -1;\n }\n .z-0 {\n z-index: 0;\n }\n .z-1 {\n z-index: 1;\n }\n .z-2 {\n z-index: 2;\n }\n .z-3 {\n z-index: 3;\n }\n @media (width >= 576px) {\n .float-sm-start {\n float: inline-start;\n }\n .float-sm-end {\n float: inline-end;\n }\n .float-sm-none {\n float: none;\n }\n .object-fit-sm-contain {\n object-fit: contain;\n }\n .object-fit-sm-cover {\n object-fit: cover;\n }\n .object-fit-sm-fill {\n object-fit: fill;\n }\n .object-fit-sm-scale {\n object-fit: scale-down;\n }\n .object-fit-sm-none {\n object-fit: none;\n }\n .d-sm-inline {\n display: inline;\n }\n .d-sm-inline-block {\n display: inline-block;\n }\n .d-sm-block {\n display: block;\n }\n .d-sm-grid {\n display: grid;\n }\n .d-sm-inline-grid {\n display: inline-grid;\n }\n .d-sm-table {\n display: table;\n }\n .d-sm-table-row {\n display: table-row;\n }\n .d-sm-table-cell {\n display: table-cell;\n }\n .d-sm-flex {\n display: flex;\n }\n .d-sm-inline-flex {\n display: inline-flex;\n }\n .d-sm-contents {\n display: contents;\n }\n .d-sm-flow-root {\n display: flow-root;\n }\n .d-sm-none {\n display: none;\n }\n .flex-sm-fill {\n flex: 1 1 auto;\n }\n .flex-sm-row {\n flex-direction: row;\n }\n .flex-sm-column {\n flex-direction: column;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-sm-grow-0 {\n flex-grow: 0;\n }\n .flex-sm-grow-1 {\n flex-grow: 1;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1;\n }\n .flex-sm-wrap {\n flex-wrap: wrap;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-sm-start {\n justify-content: flex-start;\n }\n .justify-content-sm-end {\n justify-content: flex-end;\n }\n .justify-content-sm-center {\n justify-content: center;\n }\n .justify-content-sm-between {\n justify-content: space-between;\n }\n .justify-content-sm-around {\n justify-content: space-around;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly;\n }\n .justify-items-sm-start {\n justify-items: start;\n }\n .justify-items-sm-end {\n justify-items: end;\n }\n .justify-items-sm-center {\n justify-items: center;\n }\n .justify-items-sm-stretch {\n justify-items: stretch;\n }\n .justify-self-sm-start {\n justify-self: flex-start;\n }\n .justify-self-sm-end {\n justify-self: flex-end;\n }\n .justify-self-sm-center {\n justify-self: center;\n }\n .align-items-sm-start {\n align-items: flex-start;\n }\n .align-items-sm-end {\n align-items: flex-end;\n }\n .align-items-sm-center {\n align-items: center;\n }\n .align-items-sm-baseline {\n align-items: baseline;\n }\n .align-items-sm-stretch {\n align-items: stretch;\n }\n .align-content-sm-start {\n align-content: flex-start;\n }\n .align-content-sm-end {\n align-content: flex-end;\n }\n .align-content-sm-center {\n align-content: center;\n }\n .align-content-sm-between {\n align-content: space-between;\n }\n .align-content-sm-around {\n align-content: space-around;\n }\n .align-content-sm-stretch {\n align-content: stretch;\n }\n .align-self-sm-auto {\n align-self: auto;\n }\n .align-self-sm-start {\n align-self: flex-start;\n }\n .align-self-sm-end {\n align-self: flex-end;\n }\n .align-self-sm-center {\n align-self: center;\n }\n .align-self-sm-baseline {\n align-self: baseline;\n }\n .align-self-sm-stretch {\n align-self: stretch;\n }\n .place-items-sm-start {\n place-items: start;\n }\n .place-items-sm-end {\n place-items: end;\n }\n .place-items-sm-center {\n place-items: center;\n }\n .place-items-sm-stretch {\n place-items: stretch;\n }\n .grid-cols-sm-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-sm-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-sm-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-sm-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-sm-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-sm-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-sm-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-sm-dense {\n grid-auto-flow: dense;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-last {\n order: 6;\n }\n .m-sm-0 {\n margin: 0;\n }\n .m-sm-1 {\n margin: 0.25rem;\n }\n .m-sm-2 {\n margin: 0.5rem;\n }\n .m-sm-3 {\n margin: 1rem;\n }\n .m-sm-4 {\n margin: 1.5rem;\n }\n .m-sm-5 {\n margin: 3rem;\n }\n .m-sm-auto {\n margin: auto;\n }\n .mx-sm-0 {\n margin-inline: 0;\n }\n .mx-sm-1 {\n margin-inline: 0.25rem;\n }\n .mx-sm-2 {\n margin-inline: 0.5rem;\n }\n .mx-sm-3 {\n margin-inline: 1rem;\n }\n .mx-sm-4 {\n margin-inline: 1.5rem;\n }\n .mx-sm-5 {\n margin-inline: 3rem;\n }\n .mx-sm-auto {\n margin-inline: auto;\n }\n .my-sm-0 {\n margin-block: 0;\n }\n .my-sm-1 {\n margin-block: 0.25rem;\n }\n .my-sm-2 {\n margin-block: 0.5rem;\n }\n .my-sm-3 {\n margin-block: 1rem;\n }\n .my-sm-4 {\n margin-block: 1.5rem;\n }\n .my-sm-5 {\n margin-block: 3rem;\n }\n .my-sm-auto {\n margin-block: auto;\n }\n .mt-sm-0 {\n margin-block-start: 0;\n }\n .mt-sm-1 {\n margin-block-start: 0.25rem;\n }\n .mt-sm-2 {\n margin-block-start: 0.5rem;\n }\n .mt-sm-3 {\n margin-block-start: 1rem;\n }\n .mt-sm-4 {\n margin-block-start: 1.5rem;\n }\n .mt-sm-5 {\n margin-block-start: 3rem;\n }\n .mt-sm-auto {\n margin-block-start: auto;\n }\n .me-sm-0 {\n margin-inline-end: 0;\n }\n .me-sm-1 {\n margin-inline-end: 0.25rem;\n }\n .me-sm-2 {\n margin-inline-end: 0.5rem;\n }\n .me-sm-3 {\n margin-inline-end: 1rem;\n }\n .me-sm-4 {\n margin-inline-end: 1.5rem;\n }\n .me-sm-5 {\n margin-inline-end: 3rem;\n }\n .me-sm-auto {\n margin-inline-end: auto;\n }\n .mb-sm-0 {\n margin-block-end: 0;\n }\n .mb-sm-1 {\n margin-block-end: 0.25rem;\n }\n .mb-sm-2 {\n margin-block-end: 0.5rem;\n }\n .mb-sm-3 {\n margin-block-end: 1rem;\n }\n .mb-sm-4 {\n margin-block-end: 1.5rem;\n }\n .mb-sm-5 {\n margin-block-end: 3rem;\n }\n .mb-sm-auto {\n margin-block-end: auto;\n }\n .ms-sm-0 {\n margin-inline-start: 0;\n }\n .ms-sm-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-sm-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-sm-3 {\n margin-inline-start: 1rem;\n }\n .ms-sm-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-sm-5 {\n margin-inline-start: 3rem;\n }\n .ms-sm--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-sm--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-sm-auto {\n margin-inline-start: auto;\n }\n .p-sm-0 {\n padding: 0;\n }\n .p-sm-1 {\n padding: 0.25rem;\n }\n .p-sm-2 {\n padding: 0.5rem;\n }\n .p-sm-3 {\n padding: 1rem;\n }\n .p-sm-4 {\n padding: 1.5rem;\n }\n .p-sm-5 {\n padding: 3rem;\n }\n .px-sm-0 {\n padding-inline: 0;\n }\n .px-sm-1 {\n padding-inline: 0.25rem;\n }\n .px-sm-2 {\n padding-inline: 0.5rem;\n }\n .px-sm-3 {\n padding-inline: 1rem;\n }\n .px-sm-4 {\n padding-inline: 1.5rem;\n }\n .px-sm-5 {\n padding-inline: 3rem;\n }\n .py-sm-0 {\n padding-block: 0;\n }\n .py-sm-1 {\n padding-block: 0.25rem;\n }\n .py-sm-2 {\n padding-block: 0.5rem;\n }\n .py-sm-3 {\n padding-block: 1rem;\n }\n .py-sm-4 {\n padding-block: 1.5rem;\n }\n .py-sm-5 {\n padding-block: 3rem;\n }\n .pt-sm-0 {\n padding-block-start: 0;\n }\n .pt-sm-1 {\n padding-block-start: 0.25rem;\n }\n .pt-sm-2 {\n padding-block-start: 0.5rem;\n }\n .pt-sm-3 {\n padding-block-start: 1rem;\n }\n .pt-sm-4 {\n padding-block-start: 1.5rem;\n }\n .pt-sm-5 {\n padding-block-start: 3rem;\n }\n .pe-sm-0 {\n padding-inline-end: 0;\n }\n .pe-sm-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-sm-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-sm-3 {\n padding-inline-end: 1rem;\n }\n .pe-sm-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-sm-5 {\n padding-inline-end: 3rem;\n }\n .pb-sm-0 {\n padding-block-end: 0;\n }\n .pb-sm-1 {\n padding-block-end: 0.25rem;\n }\n .pb-sm-2 {\n padding-block-end: 0.5rem;\n }\n .pb-sm-3 {\n padding-block-end: 1rem;\n }\n .pb-sm-4 {\n padding-block-end: 1.5rem;\n }\n .pb-sm-5 {\n padding-block-end: 3rem;\n }\n .ps-sm-0 {\n padding-inline-start: 0;\n }\n .ps-sm-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-sm-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-sm-3 {\n padding-inline-start: 1rem;\n }\n .ps-sm-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-sm-5 {\n padding-inline-start: 3rem;\n }\n .gap-sm-0 {\n gap: 0;\n }\n .gap-sm-1 {\n gap: 0.25rem;\n }\n .gap-sm-2 {\n gap: 0.5rem;\n }\n .gap-sm-3 {\n gap: 1rem;\n }\n .gap-sm-4 {\n gap: 1.5rem;\n }\n .gap-sm-5 {\n gap: 3rem;\n }\n .row-gap-sm-0 {\n row-gap: 0;\n }\n .row-gap-sm-1 {\n row-gap: 0.25rem;\n }\n .row-gap-sm-2 {\n row-gap: 0.5rem;\n }\n .row-gap-sm-3 {\n row-gap: 1rem;\n }\n .row-gap-sm-4 {\n row-gap: 1.5rem;\n }\n .row-gap-sm-5 {\n row-gap: 3rem;\n }\n .column-gap-sm-0 {\n column-gap: 0;\n }\n .column-gap-sm-1 {\n column-gap: 0.25rem;\n }\n .column-gap-sm-2 {\n column-gap: 0.5rem;\n }\n .column-gap-sm-3 {\n column-gap: 1rem;\n }\n .column-gap-sm-4 {\n column-gap: 1.5rem;\n }\n .column-gap-sm-5 {\n column-gap: 3rem;\n }\n .text-sm-start {\n text-align: start;\n }\n .text-sm-end {\n text-align: end;\n }\n .text-sm-center {\n text-align: center;\n }\n }\n @media (width >= 768px) {\n .float-md-start {\n float: inline-start;\n }\n .float-md-end {\n float: inline-end;\n }\n .float-md-none {\n float: none;\n }\n .object-fit-md-contain {\n object-fit: contain;\n }\n .object-fit-md-cover {\n object-fit: cover;\n }\n .object-fit-md-fill {\n object-fit: fill;\n }\n .object-fit-md-scale {\n object-fit: scale-down;\n }\n .object-fit-md-none {\n object-fit: none;\n }\n .d-md-inline {\n display: inline;\n }\n .d-md-inline-block {\n display: inline-block;\n }\n .d-md-block {\n display: block;\n }\n .d-md-grid {\n display: grid;\n }\n .d-md-inline-grid {\n display: inline-grid;\n }\n .d-md-table {\n display: table;\n }\n .d-md-table-row {\n display: table-row;\n }\n .d-md-table-cell {\n display: table-cell;\n }\n .d-md-flex {\n display: flex;\n }\n .d-md-inline-flex {\n display: inline-flex;\n }\n .d-md-contents {\n display: contents;\n }\n .d-md-flow-root {\n display: flow-root;\n }\n .d-md-none {\n display: none;\n }\n .flex-md-fill {\n flex: 1 1 auto;\n }\n .flex-md-row {\n flex-direction: row;\n }\n .flex-md-column {\n flex-direction: column;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-md-grow-0 {\n flex-grow: 0;\n }\n .flex-md-grow-1 {\n flex-grow: 1;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1;\n }\n .flex-md-wrap {\n flex-wrap: wrap;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-md-start {\n justify-content: flex-start;\n }\n .justify-content-md-end {\n justify-content: flex-end;\n }\n .justify-content-md-center {\n justify-content: center;\n }\n .justify-content-md-between {\n justify-content: space-between;\n }\n .justify-content-md-around {\n justify-content: space-around;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly;\n }\n .justify-items-md-start {\n justify-items: start;\n }\n .justify-items-md-end {\n justify-items: end;\n }\n .justify-items-md-center {\n justify-items: center;\n }\n .justify-items-md-stretch {\n justify-items: stretch;\n }\n .justify-self-md-start {\n justify-self: flex-start;\n }\n .justify-self-md-end {\n justify-self: flex-end;\n }\n .justify-self-md-center {\n justify-self: center;\n }\n .align-items-md-start {\n align-items: flex-start;\n }\n .align-items-md-end {\n align-items: flex-end;\n }\n .align-items-md-center {\n align-items: center;\n }\n .align-items-md-baseline {\n align-items: baseline;\n }\n .align-items-md-stretch {\n align-items: stretch;\n }\n .align-content-md-start {\n align-content: flex-start;\n }\n .align-content-md-end {\n align-content: flex-end;\n }\n .align-content-md-center {\n align-content: center;\n }\n .align-content-md-between {\n align-content: space-between;\n }\n .align-content-md-around {\n align-content: space-around;\n }\n .align-content-md-stretch {\n align-content: stretch;\n }\n .align-self-md-auto {\n align-self: auto;\n }\n .align-self-md-start {\n align-self: flex-start;\n }\n .align-self-md-end {\n align-self: flex-end;\n }\n .align-self-md-center {\n align-self: center;\n }\n .align-self-md-baseline {\n align-self: baseline;\n }\n .align-self-md-stretch {\n align-self: stretch;\n }\n .place-items-md-start {\n place-items: start;\n }\n .place-items-md-end {\n place-items: end;\n }\n .place-items-md-center {\n place-items: center;\n }\n .place-items-md-stretch {\n place-items: stretch;\n }\n .grid-cols-md-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-md-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-md-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-md-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-md-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-md-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-md-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-md-dense {\n grid-auto-flow: dense;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-last {\n order: 6;\n }\n .m-md-0 {\n margin: 0;\n }\n .m-md-1 {\n margin: 0.25rem;\n }\n .m-md-2 {\n margin: 0.5rem;\n }\n .m-md-3 {\n margin: 1rem;\n }\n .m-md-4 {\n margin: 1.5rem;\n }\n .m-md-5 {\n margin: 3rem;\n }\n .m-md-auto {\n margin: auto;\n }\n .mx-md-0 {\n margin-inline: 0;\n }\n .mx-md-1 {\n margin-inline: 0.25rem;\n }\n .mx-md-2 {\n margin-inline: 0.5rem;\n }\n .mx-md-3 {\n margin-inline: 1rem;\n }\n .mx-md-4 {\n margin-inline: 1.5rem;\n }\n .mx-md-5 {\n margin-inline: 3rem;\n }\n .mx-md-auto {\n margin-inline: auto;\n }\n .my-md-0 {\n margin-block: 0;\n }\n .my-md-1 {\n margin-block: 0.25rem;\n }\n .my-md-2 {\n margin-block: 0.5rem;\n }\n .my-md-3 {\n margin-block: 1rem;\n }\n .my-md-4 {\n margin-block: 1.5rem;\n }\n .my-md-5 {\n margin-block: 3rem;\n }\n .my-md-auto {\n margin-block: auto;\n }\n .mt-md-0 {\n margin-block-start: 0;\n }\n .mt-md-1 {\n margin-block-start: 0.25rem;\n }\n .mt-md-2 {\n margin-block-start: 0.5rem;\n }\n .mt-md-3 {\n margin-block-start: 1rem;\n }\n .mt-md-4 {\n margin-block-start: 1.5rem;\n }\n .mt-md-5 {\n margin-block-start: 3rem;\n }\n .mt-md-auto {\n margin-block-start: auto;\n }\n .me-md-0 {\n margin-inline-end: 0;\n }\n .me-md-1 {\n margin-inline-end: 0.25rem;\n }\n .me-md-2 {\n margin-inline-end: 0.5rem;\n }\n .me-md-3 {\n margin-inline-end: 1rem;\n }\n .me-md-4 {\n margin-inline-end: 1.5rem;\n }\n .me-md-5 {\n margin-inline-end: 3rem;\n }\n .me-md-auto {\n margin-inline-end: auto;\n }\n .mb-md-0 {\n margin-block-end: 0;\n }\n .mb-md-1 {\n margin-block-end: 0.25rem;\n }\n .mb-md-2 {\n margin-block-end: 0.5rem;\n }\n .mb-md-3 {\n margin-block-end: 1rem;\n }\n .mb-md-4 {\n margin-block-end: 1.5rem;\n }\n .mb-md-5 {\n margin-block-end: 3rem;\n }\n .mb-md-auto {\n margin-block-end: auto;\n }\n .ms-md-0 {\n margin-inline-start: 0;\n }\n .ms-md-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-md-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-md-3 {\n margin-inline-start: 1rem;\n }\n .ms-md-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-md-5 {\n margin-inline-start: 3rem;\n }\n .ms-md--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-md--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-md-auto {\n margin-inline-start: auto;\n }\n .p-md-0 {\n padding: 0;\n }\n .p-md-1 {\n padding: 0.25rem;\n }\n .p-md-2 {\n padding: 0.5rem;\n }\n .p-md-3 {\n padding: 1rem;\n }\n .p-md-4 {\n padding: 1.5rem;\n }\n .p-md-5 {\n padding: 3rem;\n }\n .px-md-0 {\n padding-inline: 0;\n }\n .px-md-1 {\n padding-inline: 0.25rem;\n }\n .px-md-2 {\n padding-inline: 0.5rem;\n }\n .px-md-3 {\n padding-inline: 1rem;\n }\n .px-md-4 {\n padding-inline: 1.5rem;\n }\n .px-md-5 {\n padding-inline: 3rem;\n }\n .py-md-0 {\n padding-block: 0;\n }\n .py-md-1 {\n padding-block: 0.25rem;\n }\n .py-md-2 {\n padding-block: 0.5rem;\n }\n .py-md-3 {\n padding-block: 1rem;\n }\n .py-md-4 {\n padding-block: 1.5rem;\n }\n .py-md-5 {\n padding-block: 3rem;\n }\n .pt-md-0 {\n padding-block-start: 0;\n }\n .pt-md-1 {\n padding-block-start: 0.25rem;\n }\n .pt-md-2 {\n padding-block-start: 0.5rem;\n }\n .pt-md-3 {\n padding-block-start: 1rem;\n }\n .pt-md-4 {\n padding-block-start: 1.5rem;\n }\n .pt-md-5 {\n padding-block-start: 3rem;\n }\n .pe-md-0 {\n padding-inline-end: 0;\n }\n .pe-md-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-md-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-md-3 {\n padding-inline-end: 1rem;\n }\n .pe-md-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-md-5 {\n padding-inline-end: 3rem;\n }\n .pb-md-0 {\n padding-block-end: 0;\n }\n .pb-md-1 {\n padding-block-end: 0.25rem;\n }\n .pb-md-2 {\n padding-block-end: 0.5rem;\n }\n .pb-md-3 {\n padding-block-end: 1rem;\n }\n .pb-md-4 {\n padding-block-end: 1.5rem;\n }\n .pb-md-5 {\n padding-block-end: 3rem;\n }\n .ps-md-0 {\n padding-inline-start: 0;\n }\n .ps-md-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-md-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-md-3 {\n padding-inline-start: 1rem;\n }\n .ps-md-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-md-5 {\n padding-inline-start: 3rem;\n }\n .gap-md-0 {\n gap: 0;\n }\n .gap-md-1 {\n gap: 0.25rem;\n }\n .gap-md-2 {\n gap: 0.5rem;\n }\n .gap-md-3 {\n gap: 1rem;\n }\n .gap-md-4 {\n gap: 1.5rem;\n }\n .gap-md-5 {\n gap: 3rem;\n }\n .row-gap-md-0 {\n row-gap: 0;\n }\n .row-gap-md-1 {\n row-gap: 0.25rem;\n }\n .row-gap-md-2 {\n row-gap: 0.5rem;\n }\n .row-gap-md-3 {\n row-gap: 1rem;\n }\n .row-gap-md-4 {\n row-gap: 1.5rem;\n }\n .row-gap-md-5 {\n row-gap: 3rem;\n }\n .column-gap-md-0 {\n column-gap: 0;\n }\n .column-gap-md-1 {\n column-gap: 0.25rem;\n }\n .column-gap-md-2 {\n column-gap: 0.5rem;\n }\n .column-gap-md-3 {\n column-gap: 1rem;\n }\n .column-gap-md-4 {\n column-gap: 1.5rem;\n }\n .column-gap-md-5 {\n column-gap: 3rem;\n }\n .text-md-start {\n text-align: start;\n }\n .text-md-end {\n text-align: end;\n }\n .text-md-center {\n text-align: center;\n }\n }\n @media (width >= 1024px) {\n .float-lg-start {\n float: inline-start;\n }\n .float-lg-end {\n float: inline-end;\n }\n .float-lg-none {\n float: none;\n }\n .object-fit-lg-contain {\n object-fit: contain;\n }\n .object-fit-lg-cover {\n object-fit: cover;\n }\n .object-fit-lg-fill {\n object-fit: fill;\n }\n .object-fit-lg-scale {\n object-fit: scale-down;\n }\n .object-fit-lg-none {\n object-fit: none;\n }\n .d-lg-inline {\n display: inline;\n }\n .d-lg-inline-block {\n display: inline-block;\n }\n .d-lg-block {\n display: block;\n }\n .d-lg-grid {\n display: grid;\n }\n .d-lg-inline-grid {\n display: inline-grid;\n }\n .d-lg-table {\n display: table;\n }\n .d-lg-table-row {\n display: table-row;\n }\n .d-lg-table-cell {\n display: table-cell;\n }\n .d-lg-flex {\n display: flex;\n }\n .d-lg-inline-flex {\n display: inline-flex;\n }\n .d-lg-contents {\n display: contents;\n }\n .d-lg-flow-root {\n display: flow-root;\n }\n .d-lg-none {\n display: none;\n }\n .flex-lg-fill {\n flex: 1 1 auto;\n }\n .flex-lg-row {\n flex-direction: row;\n }\n .flex-lg-column {\n flex-direction: column;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-lg-grow-0 {\n flex-grow: 0;\n }\n .flex-lg-grow-1 {\n flex-grow: 1;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1;\n }\n .flex-lg-wrap {\n flex-wrap: wrap;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-lg-start {\n justify-content: flex-start;\n }\n .justify-content-lg-end {\n justify-content: flex-end;\n }\n .justify-content-lg-center {\n justify-content: center;\n }\n .justify-content-lg-between {\n justify-content: space-between;\n }\n .justify-content-lg-around {\n justify-content: space-around;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly;\n }\n .justify-items-lg-start {\n justify-items: start;\n }\n .justify-items-lg-end {\n justify-items: end;\n }\n .justify-items-lg-center {\n justify-items: center;\n }\n .justify-items-lg-stretch {\n justify-items: stretch;\n }\n .justify-self-lg-start {\n justify-self: flex-start;\n }\n .justify-self-lg-end {\n justify-self: flex-end;\n }\n .justify-self-lg-center {\n justify-self: center;\n }\n .align-items-lg-start {\n align-items: flex-start;\n }\n .align-items-lg-end {\n align-items: flex-end;\n }\n .align-items-lg-center {\n align-items: center;\n }\n .align-items-lg-baseline {\n align-items: baseline;\n }\n .align-items-lg-stretch {\n align-items: stretch;\n }\n .align-content-lg-start {\n align-content: flex-start;\n }\n .align-content-lg-end {\n align-content: flex-end;\n }\n .align-content-lg-center {\n align-content: center;\n }\n .align-content-lg-between {\n align-content: space-between;\n }\n .align-content-lg-around {\n align-content: space-around;\n }\n .align-content-lg-stretch {\n align-content: stretch;\n }\n .align-self-lg-auto {\n align-self: auto;\n }\n .align-self-lg-start {\n align-self: flex-start;\n }\n .align-self-lg-end {\n align-self: flex-end;\n }\n .align-self-lg-center {\n align-self: center;\n }\n .align-self-lg-baseline {\n align-self: baseline;\n }\n .align-self-lg-stretch {\n align-self: stretch;\n }\n .place-items-lg-start {\n place-items: start;\n }\n .place-items-lg-end {\n place-items: end;\n }\n .place-items-lg-center {\n place-items: center;\n }\n .place-items-lg-stretch {\n place-items: stretch;\n }\n .grid-cols-lg-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-lg-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-lg-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-lg-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-lg-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-lg-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-lg-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-lg-dense {\n grid-auto-flow: dense;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-last {\n order: 6;\n }\n .m-lg-0 {\n margin: 0;\n }\n .m-lg-1 {\n margin: 0.25rem;\n }\n .m-lg-2 {\n margin: 0.5rem;\n }\n .m-lg-3 {\n margin: 1rem;\n }\n .m-lg-4 {\n margin: 1.5rem;\n }\n .m-lg-5 {\n margin: 3rem;\n }\n .m-lg-auto {\n margin: auto;\n }\n .mx-lg-0 {\n margin-inline: 0;\n }\n .mx-lg-1 {\n margin-inline: 0.25rem;\n }\n .mx-lg-2 {\n margin-inline: 0.5rem;\n }\n .mx-lg-3 {\n margin-inline: 1rem;\n }\n .mx-lg-4 {\n margin-inline: 1.5rem;\n }\n .mx-lg-5 {\n margin-inline: 3rem;\n }\n .mx-lg-auto {\n margin-inline: auto;\n }\n .my-lg-0 {\n margin-block: 0;\n }\n .my-lg-1 {\n margin-block: 0.25rem;\n }\n .my-lg-2 {\n margin-block: 0.5rem;\n }\n .my-lg-3 {\n margin-block: 1rem;\n }\n .my-lg-4 {\n margin-block: 1.5rem;\n }\n .my-lg-5 {\n margin-block: 3rem;\n }\n .my-lg-auto {\n margin-block: auto;\n }\n .mt-lg-0 {\n margin-block-start: 0;\n }\n .mt-lg-1 {\n margin-block-start: 0.25rem;\n }\n .mt-lg-2 {\n margin-block-start: 0.5rem;\n }\n .mt-lg-3 {\n margin-block-start: 1rem;\n }\n .mt-lg-4 {\n margin-block-start: 1.5rem;\n }\n .mt-lg-5 {\n margin-block-start: 3rem;\n }\n .mt-lg-auto {\n margin-block-start: auto;\n }\n .me-lg-0 {\n margin-inline-end: 0;\n }\n .me-lg-1 {\n margin-inline-end: 0.25rem;\n }\n .me-lg-2 {\n margin-inline-end: 0.5rem;\n }\n .me-lg-3 {\n margin-inline-end: 1rem;\n }\n .me-lg-4 {\n margin-inline-end: 1.5rem;\n }\n .me-lg-5 {\n margin-inline-end: 3rem;\n }\n .me-lg-auto {\n margin-inline-end: auto;\n }\n .mb-lg-0 {\n margin-block-end: 0;\n }\n .mb-lg-1 {\n margin-block-end: 0.25rem;\n }\n .mb-lg-2 {\n margin-block-end: 0.5rem;\n }\n .mb-lg-3 {\n margin-block-end: 1rem;\n }\n .mb-lg-4 {\n margin-block-end: 1.5rem;\n }\n .mb-lg-5 {\n margin-block-end: 3rem;\n }\n .mb-lg-auto {\n margin-block-end: auto;\n }\n .ms-lg-0 {\n margin-inline-start: 0;\n }\n .ms-lg-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-lg-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-lg-3 {\n margin-inline-start: 1rem;\n }\n .ms-lg-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-lg-5 {\n margin-inline-start: 3rem;\n }\n .ms-lg--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-lg--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-lg-auto {\n margin-inline-start: auto;\n }\n .p-lg-0 {\n padding: 0;\n }\n .p-lg-1 {\n padding: 0.25rem;\n }\n .p-lg-2 {\n padding: 0.5rem;\n }\n .p-lg-3 {\n padding: 1rem;\n }\n .p-lg-4 {\n padding: 1.5rem;\n }\n .p-lg-5 {\n padding: 3rem;\n }\n .px-lg-0 {\n padding-inline: 0;\n }\n .px-lg-1 {\n padding-inline: 0.25rem;\n }\n .px-lg-2 {\n padding-inline: 0.5rem;\n }\n .px-lg-3 {\n padding-inline: 1rem;\n }\n .px-lg-4 {\n padding-inline: 1.5rem;\n }\n .px-lg-5 {\n padding-inline: 3rem;\n }\n .py-lg-0 {\n padding-block: 0;\n }\n .py-lg-1 {\n padding-block: 0.25rem;\n }\n .py-lg-2 {\n padding-block: 0.5rem;\n }\n .py-lg-3 {\n padding-block: 1rem;\n }\n .py-lg-4 {\n padding-block: 1.5rem;\n }\n .py-lg-5 {\n padding-block: 3rem;\n }\n .pt-lg-0 {\n padding-block-start: 0;\n }\n .pt-lg-1 {\n padding-block-start: 0.25rem;\n }\n .pt-lg-2 {\n padding-block-start: 0.5rem;\n }\n .pt-lg-3 {\n padding-block-start: 1rem;\n }\n .pt-lg-4 {\n padding-block-start: 1.5rem;\n }\n .pt-lg-5 {\n padding-block-start: 3rem;\n }\n .pe-lg-0 {\n padding-inline-end: 0;\n }\n .pe-lg-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-lg-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-lg-3 {\n padding-inline-end: 1rem;\n }\n .pe-lg-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-lg-5 {\n padding-inline-end: 3rem;\n }\n .pb-lg-0 {\n padding-block-end: 0;\n }\n .pb-lg-1 {\n padding-block-end: 0.25rem;\n }\n .pb-lg-2 {\n padding-block-end: 0.5rem;\n }\n .pb-lg-3 {\n padding-block-end: 1rem;\n }\n .pb-lg-4 {\n padding-block-end: 1.5rem;\n }\n .pb-lg-5 {\n padding-block-end: 3rem;\n }\n .ps-lg-0 {\n padding-inline-start: 0;\n }\n .ps-lg-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-lg-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-lg-3 {\n padding-inline-start: 1rem;\n }\n .ps-lg-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-lg-5 {\n padding-inline-start: 3rem;\n }\n .gap-lg-0 {\n gap: 0;\n }\n .gap-lg-1 {\n gap: 0.25rem;\n }\n .gap-lg-2 {\n gap: 0.5rem;\n }\n .gap-lg-3 {\n gap: 1rem;\n }\n .gap-lg-4 {\n gap: 1.5rem;\n }\n .gap-lg-5 {\n gap: 3rem;\n }\n .row-gap-lg-0 {\n row-gap: 0;\n }\n .row-gap-lg-1 {\n row-gap: 0.25rem;\n }\n .row-gap-lg-2 {\n row-gap: 0.5rem;\n }\n .row-gap-lg-3 {\n row-gap: 1rem;\n }\n .row-gap-lg-4 {\n row-gap: 1.5rem;\n }\n .row-gap-lg-5 {\n row-gap: 3rem;\n }\n .column-gap-lg-0 {\n column-gap: 0;\n }\n .column-gap-lg-1 {\n column-gap: 0.25rem;\n }\n .column-gap-lg-2 {\n column-gap: 0.5rem;\n }\n .column-gap-lg-3 {\n column-gap: 1rem;\n }\n .column-gap-lg-4 {\n column-gap: 1.5rem;\n }\n .column-gap-lg-5 {\n column-gap: 3rem;\n }\n .text-lg-start {\n text-align: start;\n }\n .text-lg-end {\n text-align: end;\n }\n .text-lg-center {\n text-align: center;\n }\n }\n @media (width >= 1280px) {\n .float-xl-start {\n float: inline-start;\n }\n .float-xl-end {\n float: inline-end;\n }\n .float-xl-none {\n float: none;\n }\n .object-fit-xl-contain {\n object-fit: contain;\n }\n .object-fit-xl-cover {\n object-fit: cover;\n }\n .object-fit-xl-fill {\n object-fit: fill;\n }\n .object-fit-xl-scale {\n object-fit: scale-down;\n }\n .object-fit-xl-none {\n object-fit: none;\n }\n .d-xl-inline {\n display: inline;\n }\n .d-xl-inline-block {\n display: inline-block;\n }\n .d-xl-block {\n display: block;\n }\n .d-xl-grid {\n display: grid;\n }\n .d-xl-inline-grid {\n display: inline-grid;\n }\n .d-xl-table {\n display: table;\n }\n .d-xl-table-row {\n display: table-row;\n }\n .d-xl-table-cell {\n display: table-cell;\n }\n .d-xl-flex {\n display: flex;\n }\n .d-xl-inline-flex {\n display: inline-flex;\n }\n .d-xl-contents {\n display: contents;\n }\n .d-xl-flow-root {\n display: flow-root;\n }\n .d-xl-none {\n display: none;\n }\n .flex-xl-fill {\n flex: 1 1 auto;\n }\n .flex-xl-row {\n flex-direction: row;\n }\n .flex-xl-column {\n flex-direction: column;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-xl-grow-0 {\n flex-grow: 0;\n }\n .flex-xl-grow-1 {\n flex-grow: 1;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-xl-wrap {\n flex-wrap: wrap;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-xl-start {\n justify-content: flex-start;\n }\n .justify-content-xl-end {\n justify-content: flex-end;\n }\n .justify-content-xl-center {\n justify-content: center;\n }\n .justify-content-xl-between {\n justify-content: space-between;\n }\n .justify-content-xl-around {\n justify-content: space-around;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-xl-start {\n justify-items: start;\n }\n .justify-items-xl-end {\n justify-items: end;\n }\n .justify-items-xl-center {\n justify-items: center;\n }\n .justify-items-xl-stretch {\n justify-items: stretch;\n }\n .justify-self-xl-start {\n justify-self: flex-start;\n }\n .justify-self-xl-end {\n justify-self: flex-end;\n }\n .justify-self-xl-center {\n justify-self: center;\n }\n .align-items-xl-start {\n align-items: flex-start;\n }\n .align-items-xl-end {\n align-items: flex-end;\n }\n .align-items-xl-center {\n align-items: center;\n }\n .align-items-xl-baseline {\n align-items: baseline;\n }\n .align-items-xl-stretch {\n align-items: stretch;\n }\n .align-content-xl-start {\n align-content: flex-start;\n }\n .align-content-xl-end {\n align-content: flex-end;\n }\n .align-content-xl-center {\n align-content: center;\n }\n .align-content-xl-between {\n align-content: space-between;\n }\n .align-content-xl-around {\n align-content: space-around;\n }\n .align-content-xl-stretch {\n align-content: stretch;\n }\n .align-self-xl-auto {\n align-self: auto;\n }\n .align-self-xl-start {\n align-self: flex-start;\n }\n .align-self-xl-end {\n align-self: flex-end;\n }\n .align-self-xl-center {\n align-self: center;\n }\n .align-self-xl-baseline {\n align-self: baseline;\n }\n .align-self-xl-stretch {\n align-self: stretch;\n }\n .place-items-xl-start {\n place-items: start;\n }\n .place-items-xl-end {\n place-items: end;\n }\n .place-items-xl-center {\n place-items: center;\n }\n .place-items-xl-stretch {\n place-items: stretch;\n }\n .grid-cols-xl-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-xl-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-xl-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-xl-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-xl-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-xl-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-xl-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-xl-dense {\n grid-auto-flow: dense;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-last {\n order: 6;\n }\n .m-xl-0 {\n margin: 0;\n }\n .m-xl-1 {\n margin: 0.25rem;\n }\n .m-xl-2 {\n margin: 0.5rem;\n }\n .m-xl-3 {\n margin: 1rem;\n }\n .m-xl-4 {\n margin: 1.5rem;\n }\n .m-xl-5 {\n margin: 3rem;\n }\n .m-xl-auto {\n margin: auto;\n }\n .mx-xl-0 {\n margin-inline: 0;\n }\n .mx-xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-xl-3 {\n margin-inline: 1rem;\n }\n .mx-xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-xl-5 {\n margin-inline: 3rem;\n }\n .mx-xl-auto {\n margin-inline: auto;\n }\n .my-xl-0 {\n margin-block: 0;\n }\n .my-xl-1 {\n margin-block: 0.25rem;\n }\n .my-xl-2 {\n margin-block: 0.5rem;\n }\n .my-xl-3 {\n margin-block: 1rem;\n }\n .my-xl-4 {\n margin-block: 1.5rem;\n }\n .my-xl-5 {\n margin-block: 3rem;\n }\n .my-xl-auto {\n margin-block: auto;\n }\n .mt-xl-0 {\n margin-block-start: 0;\n }\n .mt-xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-xl-3 {\n margin-block-start: 1rem;\n }\n .mt-xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-xl-5 {\n margin-block-start: 3rem;\n }\n .mt-xl-auto {\n margin-block-start: auto;\n }\n .me-xl-0 {\n margin-inline-end: 0;\n }\n .me-xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-xl-3 {\n margin-inline-end: 1rem;\n }\n .me-xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-xl-5 {\n margin-inline-end: 3rem;\n }\n .me-xl-auto {\n margin-inline-end: auto;\n }\n .mb-xl-0 {\n margin-block-end: 0;\n }\n .mb-xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-xl-3 {\n margin-block-end: 1rem;\n }\n .mb-xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-xl-5 {\n margin-block-end: 3rem;\n }\n .mb-xl-auto {\n margin-block-end: auto;\n }\n .ms-xl-0 {\n margin-inline-start: 0;\n }\n .ms-xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-xl-auto {\n margin-inline-start: auto;\n }\n .p-xl-0 {\n padding: 0;\n }\n .p-xl-1 {\n padding: 0.25rem;\n }\n .p-xl-2 {\n padding: 0.5rem;\n }\n .p-xl-3 {\n padding: 1rem;\n }\n .p-xl-4 {\n padding: 1.5rem;\n }\n .p-xl-5 {\n padding: 3rem;\n }\n .px-xl-0 {\n padding-inline: 0;\n }\n .px-xl-1 {\n padding-inline: 0.25rem;\n }\n .px-xl-2 {\n padding-inline: 0.5rem;\n }\n .px-xl-3 {\n padding-inline: 1rem;\n }\n .px-xl-4 {\n padding-inline: 1.5rem;\n }\n .px-xl-5 {\n padding-inline: 3rem;\n }\n .py-xl-0 {\n padding-block: 0;\n }\n .py-xl-1 {\n padding-block: 0.25rem;\n }\n .py-xl-2 {\n padding-block: 0.5rem;\n }\n .py-xl-3 {\n padding-block: 1rem;\n }\n .py-xl-4 {\n padding-block: 1.5rem;\n }\n .py-xl-5 {\n padding-block: 3rem;\n }\n .pt-xl-0 {\n padding-block-start: 0;\n }\n .pt-xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-xl-3 {\n padding-block-start: 1rem;\n }\n .pt-xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-xl-5 {\n padding-block-start: 3rem;\n }\n .pe-xl-0 {\n padding-inline-end: 0;\n }\n .pe-xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-xl-0 {\n padding-block-end: 0;\n }\n .pb-xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-xl-3 {\n padding-block-end: 1rem;\n }\n .pb-xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-xl-5 {\n padding-block-end: 3rem;\n }\n .ps-xl-0 {\n padding-inline-start: 0;\n }\n .ps-xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-xl-5 {\n padding-inline-start: 3rem;\n }\n .gap-xl-0 {\n gap: 0;\n }\n .gap-xl-1 {\n gap: 0.25rem;\n }\n .gap-xl-2 {\n gap: 0.5rem;\n }\n .gap-xl-3 {\n gap: 1rem;\n }\n .gap-xl-4 {\n gap: 1.5rem;\n }\n .gap-xl-5 {\n gap: 3rem;\n }\n .row-gap-xl-0 {\n row-gap: 0;\n }\n .row-gap-xl-1 {\n row-gap: 0.25rem;\n }\n .row-gap-xl-2 {\n row-gap: 0.5rem;\n }\n .row-gap-xl-3 {\n row-gap: 1rem;\n }\n .row-gap-xl-4 {\n row-gap: 1.5rem;\n }\n .row-gap-xl-5 {\n row-gap: 3rem;\n }\n .column-gap-xl-0 {\n column-gap: 0;\n }\n .column-gap-xl-1 {\n column-gap: 0.25rem;\n }\n .column-gap-xl-2 {\n column-gap: 0.5rem;\n }\n .column-gap-xl-3 {\n column-gap: 1rem;\n }\n .column-gap-xl-4 {\n column-gap: 1.5rem;\n }\n .column-gap-xl-5 {\n column-gap: 3rem;\n }\n .text-xl-start {\n text-align: start;\n }\n .text-xl-end {\n text-align: end;\n }\n .text-xl-center {\n text-align: center;\n }\n }\n @media (width >= 1536px) {\n .float-2xl-start {\n float: inline-start;\n }\n .float-2xl-end {\n float: inline-end;\n }\n .float-2xl-none {\n float: none;\n }\n .object-fit-2xl-contain {\n object-fit: contain;\n }\n .object-fit-2xl-cover {\n object-fit: cover;\n }\n .object-fit-2xl-fill {\n object-fit: fill;\n }\n .object-fit-2xl-scale {\n object-fit: scale-down;\n }\n .object-fit-2xl-none {\n object-fit: none;\n }\n .d-2xl-inline {\n display: inline;\n }\n .d-2xl-inline-block {\n display: inline-block;\n }\n .d-2xl-block {\n display: block;\n }\n .d-2xl-grid {\n display: grid;\n }\n .d-2xl-inline-grid {\n display: inline-grid;\n }\n .d-2xl-table {\n display: table;\n }\n .d-2xl-table-row {\n display: table-row;\n }\n .d-2xl-table-cell {\n display: table-cell;\n }\n .d-2xl-flex {\n display: flex;\n }\n .d-2xl-inline-flex {\n display: inline-flex;\n }\n .d-2xl-contents {\n display: contents;\n }\n .d-2xl-flow-root {\n display: flow-root;\n }\n .d-2xl-none {\n display: none;\n }\n .flex-2xl-fill {\n flex: 1 1 auto;\n }\n .flex-2xl-row {\n flex-direction: row;\n }\n .flex-2xl-column {\n flex-direction: column;\n }\n .flex-2xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-2xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-2xl-grow-0 {\n flex-grow: 0;\n }\n .flex-2xl-grow-1 {\n flex-grow: 1;\n }\n .flex-2xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-2xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-2xl-wrap {\n flex-wrap: wrap;\n }\n .flex-2xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-2xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-2xl-start {\n justify-content: flex-start;\n }\n .justify-content-2xl-end {\n justify-content: flex-end;\n }\n .justify-content-2xl-center {\n justify-content: center;\n }\n .justify-content-2xl-between {\n justify-content: space-between;\n }\n .justify-content-2xl-around {\n justify-content: space-around;\n }\n .justify-content-2xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-2xl-start {\n justify-items: start;\n }\n .justify-items-2xl-end {\n justify-items: end;\n }\n .justify-items-2xl-center {\n justify-items: center;\n }\n .justify-items-2xl-stretch {\n justify-items: stretch;\n }\n .justify-self-2xl-start {\n justify-self: flex-start;\n }\n .justify-self-2xl-end {\n justify-self: flex-end;\n }\n .justify-self-2xl-center {\n justify-self: center;\n }\n .align-items-2xl-start {\n align-items: flex-start;\n }\n .align-items-2xl-end {\n align-items: flex-end;\n }\n .align-items-2xl-center {\n align-items: center;\n }\n .align-items-2xl-baseline {\n align-items: baseline;\n }\n .align-items-2xl-stretch {\n align-items: stretch;\n }\n .align-content-2xl-start {\n align-content: flex-start;\n }\n .align-content-2xl-end {\n align-content: flex-end;\n }\n .align-content-2xl-center {\n align-content: center;\n }\n .align-content-2xl-between {\n align-content: space-between;\n }\n .align-content-2xl-around {\n align-content: space-around;\n }\n .align-content-2xl-stretch {\n align-content: stretch;\n }\n .align-self-2xl-auto {\n align-self: auto;\n }\n .align-self-2xl-start {\n align-self: flex-start;\n }\n .align-self-2xl-end {\n align-self: flex-end;\n }\n .align-self-2xl-center {\n align-self: center;\n }\n .align-self-2xl-baseline {\n align-self: baseline;\n }\n .align-self-2xl-stretch {\n align-self: stretch;\n }\n .place-items-2xl-start {\n place-items: start;\n }\n .place-items-2xl-end {\n place-items: end;\n }\n .place-items-2xl-center {\n place-items: center;\n }\n .place-items-2xl-stretch {\n place-items: stretch;\n }\n .grid-cols-2xl-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-2xl-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-2xl-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-2xl-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-2xl-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-2xl-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-2xl-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-2xl-dense {\n grid-auto-flow: dense;\n }\n .order-2xl-first {\n order: -1;\n }\n .order-2xl-0 {\n order: 0;\n }\n .order-2xl-1 {\n order: 1;\n }\n .order-2xl-2 {\n order: 2;\n }\n .order-2xl-3 {\n order: 3;\n }\n .order-2xl-4 {\n order: 4;\n }\n .order-2xl-5 {\n order: 5;\n }\n .order-2xl-last {\n order: 6;\n }\n .m-2xl-0 {\n margin: 0;\n }\n .m-2xl-1 {\n margin: 0.25rem;\n }\n .m-2xl-2 {\n margin: 0.5rem;\n }\n .m-2xl-3 {\n margin: 1rem;\n }\n .m-2xl-4 {\n margin: 1.5rem;\n }\n .m-2xl-5 {\n margin: 3rem;\n }\n .m-2xl-auto {\n margin: auto;\n }\n .mx-2xl-0 {\n margin-inline: 0;\n }\n .mx-2xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-2xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-2xl-3 {\n margin-inline: 1rem;\n }\n .mx-2xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-2xl-5 {\n margin-inline: 3rem;\n }\n .mx-2xl-auto {\n margin-inline: auto;\n }\n .my-2xl-0 {\n margin-block: 0;\n }\n .my-2xl-1 {\n margin-block: 0.25rem;\n }\n .my-2xl-2 {\n margin-block: 0.5rem;\n }\n .my-2xl-3 {\n margin-block: 1rem;\n }\n .my-2xl-4 {\n margin-block: 1.5rem;\n }\n .my-2xl-5 {\n margin-block: 3rem;\n }\n .my-2xl-auto {\n margin-block: auto;\n }\n .mt-2xl-0 {\n margin-block-start: 0;\n }\n .mt-2xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-2xl-3 {\n margin-block-start: 1rem;\n }\n .mt-2xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-2xl-5 {\n margin-block-start: 3rem;\n }\n .mt-2xl-auto {\n margin-block-start: auto;\n }\n .me-2xl-0 {\n margin-inline-end: 0;\n }\n .me-2xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-2xl-3 {\n margin-inline-end: 1rem;\n }\n .me-2xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-2xl-5 {\n margin-inline-end: 3rem;\n }\n .me-2xl-auto {\n margin-inline-end: auto;\n }\n .mb-2xl-0 {\n margin-block-end: 0;\n }\n .mb-2xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-2xl-3 {\n margin-block-end: 1rem;\n }\n .mb-2xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-2xl-5 {\n margin-block-end: 3rem;\n }\n .mb-2xl-auto {\n margin-block-end: auto;\n }\n .ms-2xl-0 {\n margin-inline-start: 0;\n }\n .ms-2xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-2xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-2xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-2xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-2xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-2xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-2xl-auto {\n margin-inline-start: auto;\n }\n .p-2xl-0 {\n padding: 0;\n }\n .p-2xl-1 {\n padding: 0.25rem;\n }\n .p-2xl-2 {\n padding: 0.5rem;\n }\n .p-2xl-3 {\n padding: 1rem;\n }\n .p-2xl-4 {\n padding: 1.5rem;\n }\n .p-2xl-5 {\n padding: 3rem;\n }\n .px-2xl-0 {\n padding-inline: 0;\n }\n .px-2xl-1 {\n padding-inline: 0.25rem;\n }\n .px-2xl-2 {\n padding-inline: 0.5rem;\n }\n .px-2xl-3 {\n padding-inline: 1rem;\n }\n .px-2xl-4 {\n padding-inline: 1.5rem;\n }\n .px-2xl-5 {\n padding-inline: 3rem;\n }\n .py-2xl-0 {\n padding-block: 0;\n }\n .py-2xl-1 {\n padding-block: 0.25rem;\n }\n .py-2xl-2 {\n padding-block: 0.5rem;\n }\n .py-2xl-3 {\n padding-block: 1rem;\n }\n .py-2xl-4 {\n padding-block: 1.5rem;\n }\n .py-2xl-5 {\n padding-block: 3rem;\n }\n .pt-2xl-0 {\n padding-block-start: 0;\n }\n .pt-2xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-2xl-3 {\n padding-block-start: 1rem;\n }\n .pt-2xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-2xl-5 {\n padding-block-start: 3rem;\n }\n .pe-2xl-0 {\n padding-inline-end: 0;\n }\n .pe-2xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-2xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-2xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-2xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-2xl-0 {\n padding-block-end: 0;\n }\n .pb-2xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-2xl-3 {\n padding-block-end: 1rem;\n }\n .pb-2xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-2xl-5 {\n padding-block-end: 3rem;\n }\n .ps-2xl-0 {\n padding-inline-start: 0;\n }\n .ps-2xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-2xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-2xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-2xl-5 {\n padding-inline-start: 3rem;\n }\n .gap-2xl-0 {\n gap: 0;\n }\n .gap-2xl-1 {\n gap: 0.25rem;\n }\n .gap-2xl-2 {\n gap: 0.5rem;\n }\n .gap-2xl-3 {\n gap: 1rem;\n }\n .gap-2xl-4 {\n gap: 1.5rem;\n }\n .gap-2xl-5 {\n gap: 3rem;\n }\n .row-gap-2xl-0 {\n row-gap: 0;\n }\n .row-gap-2xl-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2xl-2 {\n row-gap: 0.5rem;\n }\n .row-gap-2xl-3 {\n row-gap: 1rem;\n }\n .row-gap-2xl-4 {\n row-gap: 1.5rem;\n }\n .row-gap-2xl-5 {\n row-gap: 3rem;\n }\n .column-gap-2xl-0 {\n column-gap: 0;\n }\n .column-gap-2xl-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2xl-2 {\n column-gap: 0.5rem;\n }\n .column-gap-2xl-3 {\n column-gap: 1rem;\n }\n .column-gap-2xl-4 {\n column-gap: 1.5rem;\n }\n .column-gap-2xl-5 {\n column-gap: 3rem;\n }\n .text-2xl-start {\n text-align: start;\n }\n .text-2xl-end {\n text-align: end;\n }\n .text-2xl-center {\n text-align: center;\n }\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */\n","$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"violet\": $violet,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"amber\": $amber,\n \"yellow\": $yellow,\n \"lime\": $lime,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"brown\": $brown,\n \"gray\": $gray,\n \"pewter\": $pewter,\n ),\n $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n \"025\": 94%,\n \"050\": 90%,\n \"100\": 80%,\n \"200\": 60%,\n \"300\": 40%,\n \"400\": 20%,\n) !default;\n\n$color-shades: (\n \"600\": 16%,\n \"700\": 32%,\n \"800\": 48%,\n \"900\": 64%,\n \"950\": 76%,\n \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n @each $stop, $percent in $color-tints {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n }\n $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n @each $stop, $percent in $color-shades {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n @each $prop, $value in $map {\n #{$prop}: #{$value};\n }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n (\n --black: #{$black},\n --white: #{$white},\n\n --gradient: #{$gradient},\n\n // scss-docs-start root-font-weight-variables\n --font-weight-lighter: lighter,\n --font-weight-light: 300,\n --font-weight-normal: 400,\n --font-weight-medium: 500,\n --font-weight-semibold: 600,\n --font-weight-bold: 700,\n --font-weight-bolder: bolder,\n // scss-docs-end root-font-weight-variables\n\n // scss-docs-start root-body-variables\n --body-font-family: system-ui,\n --body-font-size: var(--font-size-base),\n --body-font-weight: #{$font-weight-base},\n --body-line-height: #{$line-height-base},\n\n --heading-color: #{$headings-color},\n\n --hr-border-color: var(--border-color),\n\n --link-color: light-dark(var(--primary-base), var(--primary-text)),\n --link-decoration: #{$link-decoration},\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n --code-font-size: 95%,\n --code-color: var(--fg-2),\n\n // scss-docs-start root-border-var\n --border-width: #{$border-width},\n --border-style: #{$border-style},\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n // scss-docs-end root-border-var\n\n // scss-docs-start root-border-radius-var\n --border-radius: .5rem,\n --border-radius-xs: .375rem,\n --border-radius-sm: .5rem,\n --border-radius-lg: .75rem,\n --border-radius-xl: 1rem,\n --border-radius-2xl: 2rem,\n --border-radius-pill: 50rem,\n // scss-docs-end root-border-radius-var\n\n // scss-docs-start root-box-shadow-variables\n --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n // scss-docs-end root-box-shadow-variables\n\n --spacer: 1rem,\n\n // scss-docs-start root-focus-variables\n --focus-ring-width: 3px,\n --focus-ring-offset: 1px,\n --focus-ring-color: var(--primary-focus-ring),\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-variables\n --control-checked-bg: var(--primary-base),\n --control-checked-border-color: var(--control-checked-bg),\n --control-active-bg: var(--primary-base),\n --control-active-border-color: var(--control-active-bg),\n --control-disabled-bg: var(--bg-3),\n --control-disabled-opacity: .65,\n\n --btn-input-fg: var(--fg-body),\n --btn-input-bg: var(--bg-body),\n\n --btn-input-min-height: 2.375rem,\n --btn-input-padding-y: .375rem,\n --btn-input-padding-x: .75rem,\n --btn-input-font-size: var(--font-size-base),\n --btn-input-line-height: var(--line-height-base),\n --btn-input-border-radius: var(--border-radius),\n\n --btn-input-xs-min-height: 1.5rem,\n --btn-input-xs-padding-y: .125rem,\n --btn-input-xs-padding-x: .5rem,\n --btn-input-xs-font-size: var(--font-size-xs),\n --btn-input-xs-line-height: 1.125,\n --btn-input-xs-border-radius: var(--border-radius-xs),\n\n --btn-input-sm-min-height: 2rem,\n --btn-input-sm-padding-y: .25rem,\n --btn-input-sm-padding-x: .625rem,\n --btn-input-sm-font-size: var(--font-size-sm),\n --btn-input-sm-line-height: var(--line-height-sm),\n --btn-input-sm-border-radius: var(--border-radius-sm),\n\n --btn-input-lg-min-height: 2.75rem,\n --btn-input-lg-padding-y: .5rem,\n --btn-input-lg-padding-x: 1rem,\n --btn-input-lg-font-size: var(--font-size-md),\n --btn-input-lg-line-height: var(--line-height-md),\n --btn-input-lg-border-radius: var(--border-radius-lg),\n // scss-docs-end root-form-variables\n\n // scss-docs-start root-form-validation-variables\n --form-valid-color: #{$form-valid-color},\n --form-valid-border-color: #{$form-valid-border-color},\n --form-invalid-color: #{$form-invalid-color},\n --form-invalid-border-color: #{$form-invalid-border-color},\n // scss-docs-end root-form-validation-variables\n ),\n $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n @each $key, $value in $color-map {\n $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n @include tokens($root-tokens);\n\n color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n color-scheme: light;\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$reboot-kbd-tokens: () !default;\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n (\n --kbd-padding-y: .125rem,\n --kbd-padding-x: .25rem,\n --kbd-font-size: var(--font-size-xs),\n --kbd-color: var(--bg-body),\n --kbd-bg: var(--fg-2),\n --kbd-border-radius: var(--border-radius-sm),\n ),\n $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n (\n --mark-padding: .1875em,\n --mark-color: var(--fg-body),\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n ),\n $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\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 // 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 // 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 // Assume browser default font-size of 16px, or a user's preference\n accent-color: var(--primary-base);\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\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(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n }\n // scss-docs-end reboot-body-rules\n\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n\n // Typography\n //\n // 1. Remove top margins from headings\n // By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n // margin for easier control within type scales as it avoids margin collapsing.\n\n %heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--heading-color);\n }\n\n h1,\n .h1 {\n @extend %heading;\n font-size: var(--font-size-3xl);\n }\n\n h2,\n .h2 {\n @extend %heading;\n font-size: var(--font-size-2xl);\n }\n\n h3,\n .h3 {\n @extend %heading;\n font-size: var(--font-size-xl);\n }\n\n h4,\n .h4 {\n @extend %heading;\n font-size: var(--font-size-lg);\n }\n\n h5,\n .h5 {\n @extend %heading;\n font-size: var(--font-size-md);\n }\n\n h6,\n .h6 {\n @extend %heading;\n font-size: var(--font-size-sm);\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 // 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 // Address\n\n address {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n }\n\n // Lists\n\n ol,\n ul {\n padding-inline-start: 2rem;\n }\n\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n\n dt {\n font-weight: $dt-font-weight;\n }\n\n // 1. Undo browser default\n\n dd {\n margin-inline-start: 0; // 1\n margin-bottom: .5rem;\n }\n\n // Blockquote\n\n blockquote {\n margin: 0 0 1rem;\n > * {\n margin-block: 0;\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 // Small\n //\n // Add the correct font size in all browsers\n\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n\n // Mark\n\n mark,\n .mark {\n @include tokens($reboot-mark-tokens);\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n\n // Sub and Sup\n //\n // Prevent `sub` and `sup` elements from affecting the line height in\n // all browsers.\n\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, .75em);\n line-height: 0;\n vertical-align: baseline;\n }\n\n sub { bottom: -.25em; }\n sup { top: -.5em; }\n\n // Links\n\n a {\n color: var(--theme-text, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: $link-underline-offset;\n\n &:hover {\n // --link-color: var(--link-hover-color);\n // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n color: var(--theme-text-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-decoration));\n }\n }\n\n // And undo these styles for placeholder links/named anchors (without href).\n // It would be more straightforward to just use a[href] in previous block, but that\n // causes specificity issues in many other styles that are too complex to fix.\n // See https://github.com/twbs/bootstrap/issues/19402\n\n a:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n }\n\n // Code\n\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n }\n\n // 1. Remove browser default top margin\n // 2. Reset browser default of `1em` to use `rem`s\n // 3. Don't allow content to break outside\n\n pre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n }\n\n code {\n font-size: var(--code-font-size);\n color: var(--code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n }\n\n kbd {\n @include tokens($reboot-kbd-tokens);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n @include border-radius(var(--kbd-border-radius));\n\n kbd {\n padding: 0;\n font-size: 1em;\n font-weight: inherit; // mdo-do: check if this is needed\n }\n }\n\n // Figures\n //\n // Apply a consistent margin strategy (matches our type styles).\n\n figure {\n margin: 0 0 1rem;\n }\n\n // Images and content\n\n img,\n svg {\n vertical-align: middle;\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(--fg-3);\n text-align: start;\n }\n\n // 1. Removes font-weight bold by inheriting\n // 2. Matches default `<td>` alignment by inheriting `text-align`.\n // 3. Fix alignment for Safari\n\n th {\n // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n }\n\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n\n // Forms\n //\n // 1. Allow labels to use `margin` for spacing.\n\n label {\n display: inline-block; // 1\n }\n\n // Remove the default `border-radius` that macOS Chrome adds.\n // See https://github.com/twbs/bootstrap/issues/24093\n\n button {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n }\n\n // Explicitly remove focus outline in Chromium when it shouldn't be\n // visible (e.g. as result of mouse click or touch tap). It already\n // should be doing this automatically, but seems to currently be\n // confused and applies its very visible two-tone outline anyway.\n\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n\n // 1. Remove the margin in Firefox and Safari\n\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0; // 1\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n // Remove the inheritance of text transform in Firefox\n button,\n select {\n text-transform: none;\n }\n // Set the cursor for non-`<button>` buttons\n //\n // Details at https://github.com/twbs/bootstrap/pull/30562\n [role=\"button\"] {\n cursor: pointer;\n }\n\n select {\n // Remove the inheritance of word-wrap in Safari.\n // See https://github.com/twbs/bootstrap/issues/24990\n word-wrap: normal;\n\n // Undo the opacity change from Chrome\n &:disabled {\n opacity: 1;\n }\n }\n\n // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n // See https://stackoverflow.com/a/54997118\n\n [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n display: none !important;\n }\n\n // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n // controls in Android 4.\n // 2. Correct the inability to style clickable types in iOS and Safari.\n // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n button,\n [type=\"button\"], // 1\n [type=\"reset\"],\n [type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n }\n\n // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n ::-moz-focus-inner {\n padding: 0;\n border-style: none;\n }\n\n // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n textarea {\n resize: vertical; // 1\n }\n\n // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n fieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n }\n\n // 1. By using `float: inline-start`, the legend will behave like a block element.\n // This way the border of a fieldset wraps around the legend if present.\n // 2. Fix wrapping bug.\n // See https://github.com/twbs/bootstrap/issues/29712\n\n legend {\n float: inline-start; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n font-size: $legend-font-size;\n font-weight: $legend-font-weight;\n line-height: inherit;\n\n + * {\n clear: inline-start; // 2\n }\n }\n\n // Fix height of inputs with a type of datetime-local, date, month, week, or time\n // See https://github.com/twbs/bootstrap/issues/18842\n\n ::-webkit-datetime-edit-fields-wrapper,\n ::-webkit-datetime-edit-text,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-ampm-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-week-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-year-field {\n padding: 0;\n }\n\n ::-webkit-inner-spin-button {\n height: auto;\n }\n\n // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n // 2. Correct the outline style in Safari.\n\n [type=\"search\"] {\n -webkit-appearance: textfield; // 1\n outline-offset: -2px; // 2\n\n // 3. Better affordance and consistent appearance for search cancel button\n &::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n }\n }\n\n // A few input types should stay LTR regardless of document direction\n // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n [type=\"tel\"],\n [type=\"url\"],\n [type=\"email\"],\n [type=\"number\"] {\n direction: ltr;\n }\n\n // Remove the inner padding in Chrome and Safari on macOS.\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n // Remove padding around color pickers in webkit browsers\n\n ::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n // 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 // Progress\n //\n // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n progress {\n vertical-align: baseline;\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:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n @if meta.type-of($defaults) == \"list\" {\n $map: ();\n @each $key in $defaults {\n $map: map.merge($map, ($key: true));\n }\n $defaults: $map;\n }\n $merged: map.merge($defaults, $overrides);\n @each $key, $value in $merged {\n @if $value == null {\n $merged: map.remove($merged, $key);\n }\n }\n @return $merged;\n}\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n\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\n$negative-spacers: (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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 breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !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\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, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\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// Links\n//\n// Style anchor elements.\n\n$link-decoration: underline !default;\n$link-underline-offset: .2em !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// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n\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$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// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n (\n \"xs\": (\n \"font-size\": .75rem,\n \"line-height\": 1.25\n ),\n \"sm\": (\n \"font-size\": .875rem,\n \"line-height\": 1.5\n ),\n \"md\": (\n \"font-size\": 1rem,\n \"line-height\": 1.5\n ),\n \"lg\": (\n \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n \"line-height\": 1.5\n ),\n \"xl\": (\n \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n \"line-height\": calc(2.5 / 1.75)\n ),\n \"2xl\": (\n \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n \"line-height\": calc(3 / 2.25)\n ),\n \"3xl\": (\n \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n \"line-height\": 1.2\n ),\n \"4xl\": (\n \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n \"line-height\": 1.1\n ),\n \"5xl\": (\n \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n \"line-height\": 1.1\n ),\n \"6xl\": (\n \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n \"line-height\": 1\n ),\n ),\n $font-sizes\n);\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 type-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// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-dialog: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" 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: var(--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: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n border-start-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-end-radius: valid-radius($radius);\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-start-radius: valid-radius($radius);\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n border-end-start-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-start-radius: valid-radius($radius);\n }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/lists\" as *;\n@use \"../mixins/tokens\" as *;\n\n$blockquote-tokens: () !default;\n\n// scss-docs-start blockquote-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$blockquote-tokens: defaults(\n (\n --blockquote-gap: calc(var(--spacer) / 2),\n --blockquote-padding-x: var(--spacer),\n --blockquote-margin-y: 1rem,\n --blockquote-font-size: var(--font-size-md),\n --blockquote-border-width: .25rem,\n --blockquote-border-color: var(--border-color),\n --blockquote-footer-font-size: var(--font-size-sm),\n --blockquote-footer-color: var(--fg-3),\n ),\n $blockquote-tokens\n);\n// scss-docs-end blockquote-tokens\n\n@layer content {\n //\n // Lists\n //\n\n .list-unstyled {\n @include list-unstyled();\n }\n\n // Inline turns list items into inline-block\n .list-inline {\n @include list-unstyled();\n }\n .list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-inline-end: var(--list-inline-padding, var(--spacer) / 2);\n }\n }\n\n //\n // Misc\n //\n\n // Builds on `abbr`\n .initialism {\n font-size: var(--initialism-font-size, var(--font-size-xs));\n text-transform: uppercase;\n }\n\n // Blockquotes\n .blockquote {\n @include tokens($blockquote-tokens);\n display: flex;\n flex-direction: column;\n gap: var(--blockquote-gap);\n padding-inline-start: var(--blockquote-padding-x);\n margin-bottom: var(--blockquote-margin-y);\n font-size: var(--blockquote-font-size);\n border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n\n > * {\n margin-bottom: 0;\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n figure.blockquote {\n blockquote {\n margin-bottom: 0;\n }\n }\n\n .blockquote-footer {\n font-size: var(--blockquote-footer-font-size);\n color: var(--blockquote-footer-color);\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-inline-start: 0;\n list-style: none;\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$table-tokens: () !default;\n\n// scss-docs-start table-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$table-tokens: defaults(\n (\n --table-cell-padding-y: .5rem,\n --table-cell-padding-x: .5rem,\n --table-cell-vertical-align: top,\n --table-color: var(--fg-body),\n --table-bg: var(--bg-body),\n --table-accent-bg: transparent,\n --table-border-width: var(--border-width),\n --table-border-color: var(--border-color),\n --table-group-separator-color: currentcolor,\n --table-striped-color: var(--table-color),\n --table-striped-bg-factor: .05,\n --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent),\n --table-active-color: var(--table-color),\n --table-active-bg-factor: .1,\n --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent),\n --table-hover-color: var(--table-color),\n --table-hover-bg-factor: .075,\n --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent),\n ),\n $table-tokens\n);\n// scss-docs-end table-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n .table {\n @include tokens($table-tokens);\n\n // Reset needed for nesting tables\n --table-color-type: initial;\n --table-bg-type: initial;\n --table-color-state: initial;\n --table-bg-state: initial;\n // End of reset\n\n width: 100%;\n margin-bottom: $spacer;\n vertical-align: var(--table-cell-vertical-align);\n border-color: var(--theme-border, var(--table-border-color));\n\n // Target th & td\n // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n background-color: var(--theme-bg-subtle, var(--table-bg));\n border-block-end-width: var(--table-border-width);\n box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n }\n\n .table-group-divider {\n border-block-start: calc(var(--table-border-width) * 2) solid var(--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 // Condensed table w/ half padding\n //\n\n .table-sm {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n --table-cell-padding-y: .25rem;\n --table-cell-padding-x: .25rem;\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: var(--table-border-width) 0;\n\n // stylelint-disable-next-line selector-max-universal\n > * {\n border-width: 0 var(--table-border-width);\n }\n }\n }\n\n .table-borderless {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n border-block-end-width: 0;\n }\n\n > :not(:first-child) {\n border-block-start-width: 0;\n }\n }\n\n // Zebra-striping\n //\n // Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n // For rows\n .table-striped {\n > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n }\n\n // For columns\n .table-striped-columns {\n > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n }\n\n // Active table\n //\n // The `.table-active` class can be added to highlight rows or cells\n\n .table-active {\n --table-color-state: var(--theme-text, var(--table-active-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n }\n\n // Hover effect\n //\n // Placed here since it has to come after the potential zebra striping\n\n .table-hover {\n > tbody > tr:hover > * {\n --table-color-state: var(--theme-text, var(--table-hover-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n }\n }\n\n // Responsive tables\n //\n // Generate series of `.table-responsive-*` classes for configuring the screen\n // size of where your table will overflow.\n\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-down($breakpoint) {\n .table-responsive#{$infix} {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $breakpoints) {\n @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$name}\");\n}\n\n// Iterate all breakpoints and provide the current name and infix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n @content($breakpoint, $infix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next infix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $infix: breakpoint-infix($next, $breakpoints);\n @content($breakpoint, $next, $infix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $infix) {\n @content($breakpoint, $next, $infix);\n }\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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (width >= $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (width < $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $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 @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/image\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/tokens\" as *;\n\n$thumbnail-tokens: () !default;\n\n// scss-docs-start thumbnail-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$thumbnail-tokens: defaults(\n (\n --thumbnail-padding: .25rem,\n --thumbnail-bg: var(--bg-body),\n --thumbnail-border-width: var(--border-width),\n --thumbnail-border-color: var(--border-color),\n --thumbnail-border-radius: var(--border-radius),\n --thumbnail-box-shadow: var(--box-shadow-sm),\n ),\n $thumbnail-tokens\n);\n// scss-docs-end thumbnail-tokens\n\n$figure-tokens: () !default;\n\n// scss-docs-start figure-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$figure-tokens: defaults(\n (\n --figure-gap: calc(var(--spacer) * .5),\n --figure-caption-font-size: var(--font-size-sm),\n --figure-caption-color: var(--fg-3),\n ),\n $figure-tokens\n);\n// scss-docs-end figure-tokens\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 .img-thumbnail {\n @include tokens($thumbnail-tokens);\n padding: var(--thumbnail-padding);\n background-color: var(--thumbnail-bg);\n border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n @include border-radius(var(--thumbnail-border-radius));\n @include box-shadow(var(--thumbnail-box-shadow));\n\n // Keep them at most 100% wide\n @include img-fluid();\n }\n\n .figure {\n @include tokens($figure-tokens);\n // Ensures the caption's text aligns with the image.\n display: flex;\n flex-direction: column;\n gap: var(--figure-gap);\n }\n\n .figure-caption {\n font-size: var(--figure-caption-font-size);\n color: var(--figure-caption-color);\n }\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n@mixin box-shadow($shadow...) {\n @if $enable-shadows {\n $result: ();\n $has-single-value: false;\n $single-value: null;\n\n @each $value in $shadow {\n @if $value != null {\n @if $value == none or $value == initial or $value == inherit or $value == unset {\n $has-single-value: true;\n $single-value: $value;\n } @else {\n $result: list.append($result, $value, \"comma\");\n }\n }\n }\n\n @if $has-single-value {\n box-shadow: $single-value;\n } @else if (list.length($result) > 0) {\n box-shadow: $result;\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$prose-tokens: () !default;\n\n// scss-docs-start prose-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$prose-tokens: defaults(\n (\n --content-font-size: 1rem,\n --content-gap: 20px,\n --heading-color: light-dark(var(--gray-900), var(--white)),\n ),\n $prose-tokens\n);\n// scss-docs-end prose-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer content {\n .prose {\n @include tokens($prose-tokens);\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--content-gap);\n max-width: 1000px;\n margin-inline: auto;\n font-size: var(--content-font-size);\n line-height: 1.5;\n\n @media (width >= 1024px) {\n --content-font-size: var(--font-size-md);\n --content-gap: 24px;\n }\n\n :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n margin-block: 0;\n }\n\n :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n margin-bottom: calc(var(--content-gap) / 4);\n }\n\n :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) / 4);\n }\n\n :where(hr):not(:where(.not-prose, .not-prose *)) {\n margin: calc(var(--content-gap) * 1.5) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n\n :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n margin-top: 0;\n margin-bottom: calc(var(--content-gap) / -2);\n font-weight: 500;\n line-height: 1.25;\n\n code {\n font-weight: 600;\n color: inherit;\n }\n }\n\n :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * .75);\n }\n\n :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * .5);\n }\n\n :where(h1):not(:where(.not-prose, .not-prose *)) {\n font-size: 2.25em;\n line-height: 1.1;\n }\n :where(h2):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.75em;\n }\n :where(h3):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.5em;\n }\n :where(h4):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.25em;\n }\n :where(h5):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.125em;\n }\n :where(h6):not(:where(.not-prose, .not-prose *)) {\n font-size: 1em;\n }\n\n :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n color: var(--link-color);\n text-decoration: underline;\n text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n text-underline-offset: 4px;\n @include transition(.1s text-decoration-color ease-in-out);\n\n &:hover {\n text-decoration-color: var(--link-hover-color);\n }\n }\n\n :where(img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n\n :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n padding-inline-start: calc(var(--content-gap) / 2);\n margin: 0;\n border-inline-start: 4px solid var(--border-color);\n }\n\n :where(table):not(:where(.not-prose, .not-prose *)) {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n }\n\n :where(table:not([class])):not(:where(.not-prose, .not-prose *)) {\n td,\n th {\n padding: 6px 12px;\n text-align: inherit;\n border: 1px solid var(--border-color);\n }\n }\n\n :where(dt):not(:where(.not-prose, .not-prose *)) {\n font-weight: 500;\n }\n\n :where(video, img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if list.length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if list.length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if list.nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --gutter-x: #{$gutter};\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * .5);\n margin-inline: auto;\n}\n\n@layer layout {\n @if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $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 \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n @if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n\n @include make-grid-columns();\n }\n\n @if $enable-cssgrid {\n .grid {\n --columns: #{$grid-columns};\n --rows: 1;\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n\n }\n\n @include make-cssgrid();\n }\n\n // mdo-do: add to utilities?\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n\n .grid-fill {\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n\n // .g-col-auto {\n // grid-column: auto;\n // }\n\n // mdo-do: add to utilities?\n // .grid-cols-3 {\n // --columns: 3;\n // }\n // .grid-cols-4 {\n // --columns: 4;\n // }\n // .grid-cols-6 {\n // --columns: 6;\n // }\n\n // .grid-full {\n // grid-column: 1 / -1;\n // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n --gutter-x: #{$gutter-x};\n --gutter-y: #{$gutter-y};\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-inline: calc(-.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n // stylelint-disable-next-line scss/at-function-named-arguments\n box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-inline: calc(var(--gutter-x) * .5);\n margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: math.percentage(math.div($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: math.div($size, $columns);\n // stylelint-disable-next-line scss/at-function-named-arguments\n margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0;\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $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 \"../functions\" as *;\n\n$form-label-tokens: () !default;\n\n// scss-docs-start form-label-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-label-tokens: defaults(\n (\n --label-margin-bottom: calc(var(--spacer) / 2),\n --label-font-size: null,\n --label-font-style: null,\n --label-font-weight: null,\n --label-color: null,\n ),\n $form-label-tokens\n);\n// scss-docs-end form-label-tokens\n\n@layer forms {\n .form-label,\n .col-form-label {\n font-size: var(--label-font-size, var(--font-size-sm));\n font-style: var(--label-font-style, inherit);\n font-weight: var(--label-font-weight, inherit);\n color: var(--label-color, var(--fg-body));\n }\n\n .form-label {\n margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\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 --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n padding-block: var(--label-padding-y);\n margin-bottom: 0; // Override the `<legend>` default\n }\n\n .col-form-label-lg {\n --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n font-size: var(--btn-input-lg-font-size);\n }\n\n .col-form-label-sm {\n --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n font-size: var(--btn-input-sm-font-size);\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-text-tokens: () !default;\n\n// scss-docs-start form-text-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-text-tokens: defaults(\n (\n --form-text-margin-top: .25rem,\n --form-text-font-size: var(--font-size-sm),\n --form-text-font-style: null,\n --form-text-font-weight: null,\n --form-text-color: var(--fg-3),\n ),\n $form-text-tokens\n);\n// scss-docs-end form-text-tokens\n\n@layer forms {\n .form-text {\n @include tokens($form-text-tokens);\n\n margin-top: var(--form-text-margin-top);\n font-size: var(--form-text-font-size);\n font-style: var(--form-text-font-style);\n font-weight: var(--form-text-font-weight);\n color: var(--form-text-color);\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-control-tokens: () !default;\n\n// scss-docs-start form-control-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-tokens: defaults(\n (\n --control-min-height: var(--btn-input-min-height),\n --control-padding-y: var(--btn-input-padding-y),\n --control-padding-x: var(--btn-input-padding-x),\n --control-font-size: var(--btn-input-font-size),\n --control-line-height: var(--btn-input-line-height),\n --control-fg: var(--btn-input-fg),\n --control-bg: var(--btn-input-bg),\n --control-border-width: var(--border-width),\n --control-border-color: var(--border-color),\n --control-border-radius: var(--border-radius),\n --control-box-shadow: var(--box-shadow-inset),\n --control-action-bg: var(--bg-1),\n --control-action-hover-bg: var(--bg-2),\n --control-transition-property: \"border-color, box-shadow\",\n --control-transition-timing: .15s ease-in-out,\n --control-transition: var(--control-transition-property) var(--control-transition-timing),\n --control-placeholder-color: var(--fg-3),\n --control-disabled-color: var(--control-fg),\n --control-disabled-bg: var(--bg-2),\n --control-disabled-border-color: var(--control-border-color),\n --control-select-bg: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#00000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n --control-select-bg-position: right .75rem center,\n --control-select-bg-size: 16px 12px,\n --control-select-bg-dark: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n ),\n $form-control-tokens\n);\n// scss-docs-end form-control-tokens\n\n// scss-docs-start form-control-sizes\n$form-control-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-sizes: defaults(\n (\"sm\", \"lg\"),\n $form-control-sizes\n);\n// scss-docs-end form-control-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .form-control {\n @include tokens($form-control-tokens);\n\n display: flex;\n width: 100%;\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n font-size: var(--control-font-size);\n line-height: var(--control-line-height);\n color: var(--control-fg);\n appearance: none;\n background-color: var(--control-bg);\n background-clip: padding-box;\n border: var(--control-border-width) solid var(--control-border-color);\n @include border-radius(var(--control-border-radius), 0);\n @include box-shadow(var(--control-box-shadow));\n @include transition(var(--control-transition));\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus-visible {\n --focus-ring-offset: -1px;\n @include focus-ring(true);\n }\n\n // Placeholder\n &::placeholder {\n color: var(--control-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: var(--control-disabled-color);\n background-color: var(--control-disabled-bg);\n border-color: var(--control-disabled-border-color);\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n\n // Date and time inputs\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: 1.5em;\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 // background-color: var(--red-500);\n // }\n\n // Prevent excessive date input height in Webkit\n // https://github.com/twbs/bootstrap/issues/34433\n\n // mdo-do: need to check this stuff out across browsers\n &::-webkit-datetime-edit {\n display: block;\n height: 1.5rem;\n padding: 0;\n margin-bottom: -.125rem;\n }\n &::-webkit-datetime-edit-fields-wrapper {\n height: 1.5rem;\n }\n\n // File inputs\n &[type=\"file\"] {\n overflow: hidden; // prevent pseudo element button overlap\n\n &:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n }\n &::file-selector-button {\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n margin-inline-end: var(--control-padding-x);\n color: var(--control-fg);\n @include gradient-bg(var(--control-action-bg));\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--control-border-width);\n border-radius: 0; // stylelint-disable-line property-disallowed-list\n @include transition(var(--control-transition));\n }\n\n &:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: var(--control-action-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: var(--control-padding-y) 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: var(--control-line-height);\n color: var(--control-fg);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--control-border-width) 0;\n\n &:focus {\n outline: 0;\n }\n\n &.form-control-sm,\n &.form-control-lg {\n padding-inline: 0;\n }\n }\n\n // stylelint-disable selector-no-qualifying-type\n select.form-control {\n padding-inline-end: calc(var(--control-padding-x) * 3);\n background-image: var(--control-select-bg);\n background-repeat: no-repeat;\n background-position: var(--control-select-bg-position);\n background-size: var(--control-select-bg-size);\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n padding-inline-end: var(--control-padding-x);\n background-image: none;\n }\n }\n\n @media (prefers-color-scheme: dark) {\n select.form-control {\n background-image: var(--control-select-bg-dark);\n }\n }\n // stylelint-enable selector-no-qualifying-type\n\n // Form control sizing\n //\n // Build on `.form-control` with modifier classes to decrease or increase the\n // height and font-size of form controls.\n //\n // Repeated in `_input_group.scss` to avoid Sass extend issues.\n @each $size, $_ in $form-control-sizes {\n .form-control-#{$size} {\n --control-min-height: var(--btn-input-#{$size}-min-height);\n --control-padding-y: var(--btn-input-#{$size}-padding-y);\n --control-padding-x: var(--btn-input-#{$size}-padding-x);\n --control-font-size: var(--btn-input-#{$size}-font-size);\n --control-line-height: var(--btn-input-#{$size}-line-height);\n --control-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n\n .form-control-color {\n width: var(--control-min-height);\n padding: var(--control-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(var(--border-radius-sm));\n }\n\n &::-webkit-color-swatch {\n border: 0 !important; // stylelint-disable-line declaration-no-important\n @include border-radius(var(--border-radius-sm));\n }\n }\n\n // Ghost input - removes all visual styling\n // Used inside custom wrappers that handle their own styling\n .form-ghost {\n display: block;\n width: 100%;\n padding: 0;\n font: inherit;\n color: inherit;\n appearance: none;\n background: transparent;\n border: 0;\n\n &:focus {\n outline: 0;\n }\n\n &::placeholder {\n color: var(--fg-3);\n opacity: 1;\n }\n\n &:disabled {\n color: var(--fg-4);\n cursor: not-allowed;\n }\n }\n}\n","@mixin focus-ring($offset: false, $color: null) {\n @if $color != null {\n outline: var(--focus-ring-width) solid #{$color};\n } @else {\n outline: var(--focus-ring);\n }\n @if $offset {\n outline-offset: var(--focus-ring-offset);\n }\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n\n// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n background-color: $color;\n\n @if $enable-gradients {\n background-image: var(--gradient);\n }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: var(--gray-700), $end-color: var(--gray-800), $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: var(--gray-700), $outer-color: var(--gray-800)) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$check-tokens: () !default;\n\n// scss-docs-start check-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$check-tokens: defaults(\n (\n --check-size: 1.25rem,\n --check-margin-block: .125rem,\n --check-bg: transparent,\n --check-border-color: var(--border-color),\n --check-border-radius: .375rem,\n --check-checked-bg: var(--control-checked-bg),\n --check-checked-border-color: var(--control-checked-border-color),\n --check-indeterminate-bg: var(--control-checked-bg),\n --check-indeterminate-border-color: var(--control-checked-border-color),\n --check-active-bg: var(--control-active-bg),\n --check-active-border-color: var(--control-active-border-color),\n --check-disabled-bg: var(--control-disabled-bg),\n --check-disabled-opacity: var(--control-disabled-opacity),\n ),\n $check-tokens\n);\n// scss-docs-end check-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .checkgroup {\n display: flex;\n gap: var(--gap, .5rem);\n align-items: var(--align-items, start);\n\n .description {\n color: var(--fg-3);\n }\n }\n\n .check {\n @include tokens($check-tokens);\n\n display: grid;\n grid-template-columns: repeat(1, minmax(0, 1fr));\n margin-block: var(--check-margin-block);\n\n :where(svg, input) {\n flex-shrink: 0;\n grid-row-start: 1;\n grid-column-start: 1;\n width: var(--check-size);\n height: var(--check-size);\n }\n\n :where(input) {\n appearance: none;\n // later: maybe set a tertiary bg color?\n background-color: var(--theme-bg, var(--check-bg));\n border: 1px solid var(--theme-bg, var(--check-border-color));\n // stylelint-disable-next-line property-disallowed-list\n border-radius: .3em;\n }\n\n :where(input:checked, input:indeterminate) {\n background-color: var(--theme-bg, var(--check-checked-bg));\n border-color: var(--theme-bg, var(--check-checked-border-color));\n }\n\n :where(input:focus-visible) {\n @include focus-ring(true);\n }\n\n &:has(input:checked) .checked,\n &:has(input:indeterminate) .indeterminate {\n display: block;\n color: var(--theme-contrast, var(--primary-contrast));\n stroke: currentcolor;\n }\n\n &:has(input:disabled) {\n --check-bg: var(--check-disabled-bg);\n\n ~ label {\n color: var(--fg-3);\n cursor: default;\n }\n }\n &:has(input:disabled:checked) {\n opacity: var(--check-disabled-opacity);\n }\n\n :where(svg) {\n pointer-events: none;\n }\n\n :where(svg path) {\n display: none;\n }\n }\n\n .check-sm {\n --check-size: 1rem;\n }\n .check-lg {\n --check-size: 1.5rem;\n --check-margin-block: 0;\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$radio-tokens: () !default;\n\n// scss-docs-start radio-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$radio-tokens: defaults(\n (\n --radio-size: 1.25rem,\n --radio-margin-block: .125rem,\n --radio-bg: transparent,\n --radio-border-color: var(--border-color),\n --radio-checked-bg: var(--control-checked-bg),\n --radio-checked-border-color: var(--control-checked-border-color),\n --radio-disabled-bg: var(--control-disabled-bg),\n --radio-disabled-opacity: var(--control-disabled-opacity),\n ),\n $radio-tokens\n);\n// scss-docs-end radio-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .radiogroup {\n display: flex;\n gap: var(--gap, .5rem);\n align-items: var(--align-items, start);\n\n .description {\n color: var(--fg-3);\n }\n }\n\n .radio {\n @include tokens($radio-tokens);\n\n position: relative;\n flex-shrink: 0;\n width: var(--radio-size);\n height: var(--radio-size);\n margin-block: var(--radio-margin-block);\n appearance: none;\n background-color: var(--theme-bg, var(--radio-bg));\n border: 1px solid var(--theme-bg, var(--radio-border-color));\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n\n &:checked {\n color: var(--theme-contrast, var(--primary-contrast));\n background-color: var(--theme-bg, var(--radio-checked-bg));\n border-color: var(--theme-bg, var(--radio-checked-border-color));\n\n &::before {\n position: absolute;\n inset: .25rem;\n content: \"\";\n background-color: currentcolor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n }\n }\n\n &:disabled {\n --radio-bg: var(--radio-disabled-bg);\n\n ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n }\n\n &:focus-visible {\n @include focus-ring(true);\n }\n }\n\n .radio-sm {\n --radio-size: 1rem;\n }\n .radio-lg {\n --radio-size: 1.5rem;\n --radio-margin-block: 0;\n }\n}\n","@use \"../colors\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$switch-tokens: () !default;\n\n// scss-docs-start switch-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$switch-tokens: defaults(\n (\n --switch-height: 1.25rem,\n --switch-width: calc(var(--switch-height) * 1.5),\n --switch-padding: .0625rem,\n --switch-margin-block: .125rem,\n --switch-bg: var(--bg-3),\n --switch-border-width: var(--border-width),\n --switch-border-color: var(--border-color),\n --switch-indicator-bg: var(--white),\n --switch-checked-bg: var(--control-checked-bg),\n --switch-checked-border-color: var(--switch-checked-bg),\n --switch-checked-indicator-bg: var(--white),\n --switch-disabled-bg: var(--control-disabled-bg),\n --switch-disabled-indicator-bg: var(--fg-3),\n ),\n $switch-tokens\n);\n// scss-docs-end switch-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .switch {\n @include tokens($switch-tokens);\n\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: stretch;\n justify-content: flex-start;\n width: var(--switch-width);\n height: var(--switch-height);\n padding: var(--switch-padding);\n margin-block: var(--switch-margin-block);\n background-color: var(--switch-bg);\n border: var(--switch-border-width) solid var(--switch-border-color);\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 10rem;\n box-shadow: inset 0 1px 2px rgba($black, .05);\n // stylelint-disable-next-line property-disallowed-list\n transition: .15s ease-in-out;\n transition-property: padding-inline-start, background-color;\n\n &::before {\n flex-shrink: 0;\n width: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n height: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n content: \"\";\n background-color: var(--theme-contrast, var(--switch-indicator-bg));\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n box-shadow: 0 1px 2px rgba($black, .1);\n }\n\n input {\n position: absolute;\n inset: 0;\n appearance: none;\n background-color: transparent;\n outline: 0;\n }\n\n &:focus-within {\n @include focus-ring(true);\n }\n\n &:has(input:checked) {\n padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n background-color: var(--theme-bg, var(--switch-checked-bg));\n border-color: var(--theme-bg, var(--switch-checked-border-color));\n }\n\n &:has(input:disabled) {\n --switch-bg: var(--switch-disabled-bg);\n --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n\n &::before { opacity: .4; }\n\n ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n }\n }\n .switch-sm {\n --switch-height: 1rem;\n }\n .switch-lg {\n --switch-height: 1.5rem;\n --switch-margin-block: 0;\n }\n}\n","@use \"../colors\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n\n$range-tokens: () !default;\n\n// scss-docs-start range-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$range-tokens: defaults(\n (\n --range-track-width: 100%,\n --range-track-height: .5rem,\n --range-track-cursor: pointer,\n --range-track-bg: var(--bg-3),\n --range-track-border-radius: 1rem,\n --range-track-box-shadow: var(--box-shadow-inset),\n --range-thumb-width: 1rem,\n --range-thumb-height: var(--range-thumb-width),\n --range-thumb-bg: var(--primary-base),\n --range-thumb-border: 0,\n --range-thumb-border-radius: 1rem,\n --range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1),\n --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body)),\n --range-thumb-disabled-bg: var(--fg-3),\n --range-thumb-transition-property: \"background-color, border-color, box-shadow\",\n --range-thumb-transition-timing: .15s ease-in-out,\n --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing),\n ),\n $range-tokens\n);\n// scss-docs-end range-tokens\n\n// scss-docs-start range-mixins\n@mixin range-thumb() {\n width: var(--range-thumb-width);\n height: var(--range-thumb-height);\n appearance: none;\n @include gradient-bg(var(--range-thumb-bg));\n border: var(--range-thumb-border);\n @include border-radius(var(--range-thumb-border-radius));\n @include box-shadow(var(--range-thumb-box-shadow));\n @include transition(var(--range-thumb-transition));\n\n &:active {\n @include gradient-bg(var(--range-thumb-active-bg));\n }\n}\n\n@mixin range-track() {\n width: var(--range-track-width);\n height: var(--range-track-height);\n color: transparent; // Why?\n cursor: var(--range-track-cursor);\n background-color: var(--range-track-bg);\n border-color: transparent; // Firefox specific?\n @include border-radius(var(--range-track-border-radius));\n @include box-shadow(var(--range-track-box-shadow));\n}\n// scss-docs-end range-mixins\n\n@layer forms {\n .form-range {\n @include tokens($range-tokens);\n\n width: 100%;\n height: calc(var(--range-thumb-height) + (var(--focus-ring-width) * 2));\n padding: 0; // Need to reset padding\n appearance: none;\n background-color: transparent;\n\n &:focus {\n outline: 0;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n &::-webkit-slider-thumb {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n &::-moz-range-thumb {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n @include range-thumb();\n margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * .5); // Webkit specific\n }\n\n &::-moz-range-thumb {\n @include range-thumb();\n }\n\n &::-webkit-slider-runnable-track {\n @include range-track();\n }\n\n &::-moz-range-track {\n @include range-track();\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n\n &::-moz-range-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-floating-tokens: () !default;\n\n// scss-docs-start form-floating-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-floating-tokens: defaults(\n (\n --form-floating-height: calc(3.5rem + (var(--border-width) * 2)),\n --form-floating-line-height: 1.25,\n --form-floating-padding-x: var(--btn-input-padding-x),\n --form-floating-padding-y: 1rem,\n --form-floating-input-padding-t: 1.625rem,\n --form-floating-input-padding-b: .625rem,\n --form-floating-label-height: 1.5em,\n --form-floating-label-opacity: .65,\n --form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem),\n --form-floating-label-disabled-color: var(--fg-3),\n --form-floating-transition-property: \"opacity, transform\",\n --form-floating-transition-timing: .1s ease-in-out,\n --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing),\n ),\n $form-floating-tokens\n);\n// scss-docs-end form-floating-tokens\n\n@layer forms {\n .form-floating {\n @include tokens($form-floating-tokens);\n\n position: relative;\n\n > label {\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n max-width: 100%;\n height: 100%; // allow textareas\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n overflow: hidden;\n color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--input-btn-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(var(--form-floating-transition));\n }\n\n > .form-control,\n > .form-control-plaintext {\n height: var(--form-floating-height);\n min-height: var(--form-floating-height);\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n line-height: var(--form-floating-line-height);\n\n &::placeholder {\n color: transparent;\n }\n\n &:focus,\n &:not(:placeholder-shown) {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n &:-webkit-autofill {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n }\n\n > .form-control:focus,\n > .form-control:not(:placeholder-shown),\n > .form-control-plaintext {\n ~ label {\n transform: var(--form-floating-label-transform);\n }\n }\n\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n > .form-control:-webkit-autofill {\n ~ label {\n transform: var(--form-floating-label-transform);\n }\n }\n > textarea:focus,\n > textarea:not(:placeholder-shown) {\n ~ label::after {\n position: absolute;\n inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * .5);\n z-index: -1;\n height: var(--form-floating-label-height);\n content: \"\";\n background-color: var(--control-bg);\n @include border-radius(var(--btn-input-border-radius));\n }\n }\n > textarea:disabled ~ label::after {\n background-color: var(--control-disabled-bg);\n }\n\n > .form-control-plaintext {\n ~ label {\n border-width: var(--control-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: var(--form-floating-label-disabled-color);\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"form-variables\" as *;\n\n$input-group-addon-tokens: () !default;\n\n// scss-docs-start input-group-addon-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-addon-tokens: defaults(\n (\n --input-group-addon-padding-y: var(--btn-input-padding-y),\n --input-group-addon-padding-x: var(--btn-input-padding-x),\n --input-group-addon-font-size: var(--btn-input-font-size),\n --input-group-addon-line-height: var(--btn-input-line-height),\n --input-group-addon-color: var(--fg-body),\n --input-group-addon-bg: var(--bg-2),\n --input-group-addon-border-color: var(--border-color),\n ),\n $input-group-addon-tokens\n);\n// scss-docs-end input-group-addon-tokens\n\n// scss-docs-start input-group-sizes\n$input-group-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-sizes: defaults(\n (\"sm\", \"lg\"),\n $input-group-sizes\n);\n// scss-docs-end input-group-sizes\n\n@layer components {\n .input-group {\n @include tokens($input-group-addon-tokens);\n\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-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-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 > .input-group-btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 5;\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: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n font-size: var(--input-group-addon-font-size); // Match inputs\n // font-weight: $input-group-addon-font-weight;\n line-height: var(--input-group-addon-line-height);\n color: var(--input-group-addon-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--input-group-addon-bg);\n border: var(--border-width) solid var(--input-group-addon-border-color);\n @include border-radius(var(--btn-input-border-radius));\n }\n\n // Sizing\n //\n // Remix the default form control sizing classes into new ones for easier\n // manipulation.\n\n @each $size, $_ in $input-group-sizes {\n .input-group-#{$size} {\n > .form-control,\n > .input-group-text,\n > .btn {\n min-height: var(--btn-input-#{$size}-min-height);\n padding: var(--btn-input-#{$size}-padding-y) var(--btn-input-#{$size}-padding-x);\n font-size: var(--btn-input-#{$size}-font-size);\n @include border-radius(var(--btn-input-#{$size}-border-radius));\n }\n }\n }\n\n // Rounded corners\n //\n // These rulesets must come after the sizing ones to properly override sm and lg\n // border-radius values when extending. They're more specific than we'd like\n // with the `.input-group >` part, but without it, we cannot override the sizing.\n\n // stylelint-disable-next-line no-duplicate-selectors\n .input-group {\n\n $validation-messages: \"\";\n &:not(.has-validation) {\n > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n > .menu-toggle-split: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(.menu-toggle-split):not(.menu):not(.form-floating),\n > .menu-toggle-split:nth-last-child(n + 4),\n > .form-floating:nth-last-child(n + 3) > .form-control,\n > .form-floating:nth-last-child(n + 3) > .form-select {\n @include border-end-radius(0);\n }\n }\n\n > :not(:first-child):not(.menu)#{$validation-messages} {\n margin-inline-start: calc(-1 * var(--border-width));\n @include border-start-radius(0);\n }\n\n > .form-floating:not(:first-child) > .form-control,\n > .form-floating:not(:first-child) > .form-select {\n @include border-start-radius(0);\n }\n @each $state in map.keys($form-validation-states) {\n $validation-messages: $validation-messages + \":not(.\" + string.unquote($state) + \"-tooltip)\" + \":not(.\" + string.unquote($state) + \"-feedback)\";\n }\n }\n}\n","@use \"sass:list\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$strength-tokens: () !default;\n\n// scss-docs-start strength-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$strength-tokens: defaults(\n (\n --strength-height: .375rem,\n --strength-gap: .25rem,\n --strength-margin-top: .25rem,\n --strength-border-radius: var(--border-radius-pill),\n --strength-bg: var(--bg-2),\n --strength-color: var(--bg-2),\n --strength-weak-color: var(--danger-bg),\n --strength-fair-color: var(--warning-bg),\n --strength-good-color: var(--info-bg),\n --strength-strong-color: var(--success-bg),\n ),\n $strength-tokens\n);\n// scss-docs-end strength-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start strength-levels\n$strength-levels: weak, fair, good, strong !default;\n// scss-docs-end strength-levels\n\n$strength-transition: background-color .2s ease-in-out, width .3s ease-in-out !default;\n\n@layer forms {\n // Strength meter container\n .strength {\n @include tokens($strength-tokens);\n\n display: flex;\n gap: var(--strength-gap);\n width: 100%;\n margin-top: var(--strength-margin-top);\n }\n\n // Individual strength segments\n .strength-segment {\n flex: 1;\n height: var(--strength-height);\n background-color: var(--strength-bg);\n @include border-radius(var(--strength-border-radius));\n @include transition($strength-transition);\n\n // Filled state\n &.active {\n background-color: var(--strength-color);\n }\n }\n\n @each $level in $strength-levels {\n .strength[data-bs-strength=\"#{$level}\"] {\n --strength-color: var(--strength-#{$level}-color);\n }\n }\n // Optional text feedback\n .strength-text {\n display: block;\n margin-top: var(--strength-margin-top);\n font-size: var(--font-size-xs);\n color: var(--strength-color, var(--fg-3));\n @include transition(color .2s ease-in-out);\n\n // Hide when empty\n &:empty {\n display: none;\n }\n }\n\n // Alternative: Single bar variant (like a progress bar)\n .strength-bar {\n @include tokens($strength-tokens);\n\n --strength-color: transparent;\n --strength-width: 0%;\n\n width: 100%;\n height: var(--strength-height);\n margin-top: var(--strength-margin-top);\n overflow: hidden;\n background-color: var(--strength-bg);\n @include border-radius(var(--strength-border-radius));\n\n &::after {\n display: block;\n width: var(--strength-width);\n height: 100%;\n content: \"\";\n background-color: var(--strength-color);\n @include border-radius(var(--strength-border-radius));\n @include transition($strength-transition);\n }\n\n @each $level in $strength-levels {\n &[data-bs-strength=\"#{$level}\"] {\n --strength-color: var(--strength-#{$level}-color);\n --strength-width: #{list.index($strength-levels, $level) * 25%};\n }\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$otp-tokens: () !default;\n\n// scss-docs-start otp-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-tokens: defaults(\n (\n --otp-size: var(--btn-input-lg-min-height),\n --otp-font-size: var(--btn-input-font-size),\n --otp-gap: .5rem,\n ),\n $otp-tokens\n);\n// scss-docs-end otp-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start otp-sizes\n$otp-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-sizes: defaults(\n (\"sm\", \"lg\"),\n $otp-sizes\n);\n// scss-docs-end otp-sizes\n\n@layer components {\n .otp {\n @include tokens($otp-tokens);\n\n display: inline-flex;\n gap: var(--otp-gap);\n\n .form-control {\n width: var(--otp-size);\n min-height: var(--otp-size);\n padding: 0;\n font-size: var(--otp-font-size);\n font-weight: 500;\n line-height: 1;\n text-align: center;\n @include border-radius(var(--otp-border-radius, var(--btn-input-border-radius)));\n\n // Remove default number spinners\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n margin: 0;\n appearance: none;\n }\n\n &[type=\"number\"] {\n appearance: textfield;\n }\n\n &:focus,\n &:focus-visible {\n z-index: 1;\n }\n }\n\n &.is-valid .form-control,\n .was-validated &:valid .form-control {\n border-color: var(--form-valid-border-color);\n\n &:focus {\n --focus-ring-color: rgba(var(--success-rgb), .25);\n border-color: var(--form-valid-border-color);\n }\n }\n\n &.is-invalid .form-control,\n .was-validated &:invalid .form-control {\n border-color: var(--form-invalid-border-color);\n\n &:focus {\n --focus-ring-color: rgba(var(--danger-rgb), .25);\n border-color: var(--form-invalid-border-color);\n }\n }\n }\n\n // When used with .input-group, disable the gap and prevent inputs from stretching\n .otp.input-group {\n gap: 0;\n width: auto; // Override input-group's width: 100%\n\n .form-control {\n flex: 0 0 auto; // Don't grow or shrink, use fixed width\n }\n }\n\n .otp-separator {\n display: flex;\n align-items: center;\n padding-inline: var(--otp-gap);\n font-size: var(--otp-font-size);\n color: var(--fg-4);\n user-select: none;\n }\n\n @each $size, $_ in $otp-sizes {\n .otp-#{$size} {\n --otp-size: var(--btn-input-#{$size}-min-height);\n --otp-font-size: var(--btn-input-#{$size}-font-size);\n --otp-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-adorn-tokens: () !default;\n\n// scss-docs-start form-adorn-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-adorn-tokens: defaults(\n (\n --form-adorn-gap: .375rem,\n --form-adorn-icon-size: 1rem,\n --form-adorn-icon-color: var(--fg-2),\n ),\n $form-adorn-tokens\n);\n// scss-docs-end form-adorn-tokens\n\n@layer forms {\n .form-adorn {\n @include tokens($form-adorn-tokens);\n\n gap: var(--form-adorn-gap);\n align-items: center;\n\n // Prevent default `.form-control` focus\n &:focus-visible {\n outline: 0;\n }\n\n &:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n @include focus-ring(true);\n }\n\n // Ghost input fills remaining space\n > .form-ghost {\n flex: 1;\n min-width: 0; // Prevent text overflow\n }\n\n &.form-adorn-end > .form-ghost {\n order: -1;\n }\n }\n\n .form-adorn-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n\n > svg {\n width: var(--form-adorn-icon-size);\n height: var(--form-adorn-icon-size);\n }\n }\n\n .form-adorn-text {\n flex-shrink: 0;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n user-select: none;\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$chip-input-tokens: () !default;\n\n// scss-docs-start chip-input-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-input-tokens: defaults(\n (\n --chip-input-padding-y: .75rem,\n --chip-input-padding-x: .75rem,\n --chip-input-gap: .375rem,\n --chip-input-ghost-min-width: 5rem,\n --control-fg: var(--btn-input-fg),\n --control-bg: var(--btn-input-bg),\n --control-border-width: var(--border-width),\n --control-border-color: var(--border-color),\n --control-border-radius: var(--border-radius),\n ),\n $chip-input-tokens\n);\n// scss-docs-end chip-input-tokens\n\n@layer forms {\n .chip-input {\n @include tokens($chip-input-tokens);\n\n // Flexbox wrapping layout\n display: flex;\n flex-wrap: wrap;\n gap: var(--chip-input-gap);\n align-items: center;\n padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n\n color: var(--control-fg);\n background-color: var(--control-bg);\n border: var(--control-border-width) solid var(--control-border-color);\n @include border-radius(var(--control-border-radius), 0);\n\n // Focus state when ghost input is focused\n &:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n @include focus-ring(true);\n }\n\n // Ghost input fills remaining space\n > .form-ghost {\n flex: 1 1 0;\n min-width: var(--chip-input-ghost-min-width);\n min-height: 1.75rem;\n }\n\n // Disabled state\n &.disabled,\n &:has(.form-ghost:disabled) {\n background-color: var(--bg-2);\n opacity: 1;\n\n > .chip {\n opacity: var(--control-disabled-opacity);\n\n .chip-dismiss {\n pointer-events: none;\n }\n }\n\n > .form-ghost {\n cursor: not-allowed;\n }\n }\n }\n\n // Theme cascade: .chip-input.theme-* passes theme to child chips\n // Chips inherit theme variables from parent\n // @each $color-name, $theme-props in $theme-map {\n // .chip-input.theme-#{$color-name} > .chip {\n // // Subtle default state\n // --chip-color: var(--theme-text);\n // --chip-bg: var(--theme-bg-subtle);\n\n // // Selected/active solid state\n // --chip-selected-color: var(--theme-contrast);\n // --chip-selected-bg: var(--theme-bg);\n // --chip-selected-border-color: var(--theme-bg);\n // }\n // }\n\n // // Sizing variants\n // .chip-input-sm {\n // --control-min-height: #{$control-min-height-sm};\n // --control-padding-y: #{$control-padding-y-sm};\n // --control-padding-x: #{$control-padding-x-sm};\n // --control-font-size: #{$control-font-size-sm};\n // --control-line-height: #{$control-line-height-sm};\n // --control-border-radius: #{$control-border-radius-sm};\n // --chip-input-gap: .25rem;\n // --chip-input-chip-font-size: .8125em;\n // }\n\n // .chip-input-lg {\n // --control-min-height: #{$control-min-height-lg};\n // --control-padding-y: #{$control-padding-y-lg};\n // --control-padding-x: #{$control-padding-x-lg};\n // --control-font-size: #{$control-font-size-lg};\n // --control-line-height: #{$control-line-height-lg};\n // --control-border-radius: #{$control-border-radius-lg};\n // --chip-input-gap: .5rem;\n // --chip-input-chip-font-size: .9375em;\n // }\n}\n","@use \"../mixins/transition\" as *;\n\n@layer components {\n .combobox-toggle {\n display: inline-flex;\n gap: .5rem;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding-inline-end: var(--control-padding-x);\n text-align: start;\n cursor: pointer;\n\n &.show {\n background-color: var(--bg-1);\n }\n\n &:disabled,\n &.disabled {\n cursor: not-allowed;\n opacity: .65;\n }\n }\n\n .combobox-value {\n display: flex;\n flex: 1;\n gap: .5rem;\n align-items: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .combobox-placeholder {\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n\n .combobox-caret {\n flex-shrink: 0;\n @include transition(transform .2s ease-in-out);\n\n .show > & {\n transform: rotate(180deg);\n }\n }\n\n .combobox-toggle + .menu {\n --menu-max-height: 300px;\n --menu-overflow-y: auto;\n }\n\n .combobox-search {\n position: sticky;\n top: 0;\n z-index: 1;\n padding: var(--menu-padding-x, .25rem);\n background-color: var(--menu-bg, var(--bg-body));\n }\n\n .combobox-search-input {\n width: 100%;\n }\n\n .combobox-no-results {\n padding: 1rem;\n font-size: var(--font-size-sm);\n color: var(--fg-3);\n text-align: center;\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$tooltip-tokens: () !default;\n\n// scss-docs-start tooltip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$tooltip-tokens: defaults(\n (\n --tooltip-zindex: #{$zindex-tooltip},\n --tooltip-max-width: 200px,\n --tooltip-padding-x: #{$spacer * .75},\n --tooltip-padding-y: #{$spacer * .375},\n --tooltip-font-size: var(--font-size-sm),\n --tooltip-color: var(--bg-body),\n --tooltip-bg: var(--fg-body),\n --tooltip-border-radius: var(--border-radius),\n --tooltip-opacity: .95,\n --tooltip-arrow-width: .8rem,\n --tooltip-arrow-height: .4rem,\n ),\n $tooltip-tokens\n);\n// scss-docs-end tooltip-tokens\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: var(--tooltip-padding-y) !default;\n$form-feedback-tooltip-padding-x: var(--tooltip-padding-x) !default;\n$form-feedback-tooltip-font-size: var(--tooltip-font-size) !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: var(--tooltip-opacity) !default;\n$form-feedback-tooltip-border-radius: var(--tooltip-border-radius) !default;\n// scss-docs-end tooltip-feedback-variables\n\n@layer components {\n .tooltip {\n @include tokens($tooltip-tokens);\n\n z-index: var(--tooltip-zindex);\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: var(--tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: var(--tooltip-opacity); }\n\n .tooltip-arrow {\n display: block;\n width: var(--tooltip-arrow-width);\n height: var(--tooltip-arrow-height);\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n }\n\n .bs-tooltip-top .tooltip-arrow {\n bottom: calc(-1 * var(--tooltip-arrow-height));\n\n &::before {\n top: -1px;\n border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n border-block-start-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-end .tooltip-arrow {\n left: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n\n &::before {\n right: -1px;\n border-width: calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n border-inline-end-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-bottom .tooltip-arrow {\n top: calc(-1 * var(--tooltip-arrow-height));\n\n &::before {\n bottom: -1px;\n border-width: 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n border-block-end-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-start .tooltip-arrow {\n right: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n\n &::before {\n left: -1px;\n border-width: calc(var(--tooltip-arrow-width) * .5) 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n border-inline-start-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-auto {\n &[data-bs-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[data-bs-placement^=\"right\"] {\n @extend .bs-tooltip-end;\n }\n &[data-bs-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[data-bs-placement^=\"left\"] {\n @extend .bs-tooltip-start;\n }\n }\n\n // Wrapper for the tooltip content\n .tooltip-inner {\n max-width: var(--tooltip-max-width);\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n color: var(--tooltip-color);\n text-align: center;\n background-color: var(--tooltip-bg);\n @include border-radius(var(--tooltip-border-radius));\n }\n}\n","@mixin reset-text {\n font-family: var(--body-font-family);\n // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n font-style: normal;\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\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 \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"form-variables\" as *;\n@use \"../tooltip\" as *; // bring in tooltip variables\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server-side validation.\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(sass(&): \"&\"; else: \"\")}:#{$state},\n #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state(\n $state,\n $color,\n $icon,\n $tooltip-color: color-contrast($color),\n $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n $focus-ring-color: null, // mdo-do: fix\n $border-color: $color\n) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n font-size: $form-feedback-font-size;\n font-style: $form-feedback-font-style;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n font-size: $form-feedback-tooltip-font-size;\n line-height: $form-feedback-tooltip-line-height;\n color: $tooltip-color;\n background-color: $tooltip-bg-color;\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $border-color;\n\n @if $enable-validation-icons {\n padding-inline-end: calc(var(--control-padding-x) * 3.5);\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right var(--control-padding-x) center;\n background-size: 1rem;\n }\n\n &:focus-visible {\n @include focus-ring(true, $color: $focus-ring-color);\n border-color: $border-color;\n }\n }\n\n &::-webkit-contacts-auto-fill-button {\n @if $enable-validation-icons {\n // margin-inline-end: calc(var(--control-padding-x) * 3);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n // padding-inline-end: $input-height-inner;\n background-position: right var(--control-padding-x) top var(--control-padding-x);\n // background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-control-color {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n // width: add($form-color-width, $input-height-inner);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $border-color;\n\n &:checked {\n background-color: $color;\n }\n\n &:focus {\n // box-shadow: $focus-box-shadow;\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-inline-start: .5em;\n }\n }\n\n .input-group {\n > .form-control:not(:focus),\n > .form-select:not(:focus),\n > .form-floating:not(:focus-within) {\n @include form-validation-state-selector($state) {\n @if $state == \"valid\" {\n z-index: 3;\n } @else if $state == \"invalid\" {\n z-index: 4;\n }\n }\n }\n }\n}\n// scss-docs-end form-validation-mixins\n\n@layer components {\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","// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: .5rem !default;\n$form-feedback-font-size: var(--font-size-xs) !default;\n$form-feedback-font-style: null !default;\n$form-feedback-valid-color: var(--success-text) !default;\n$form-feedback-invalid-color: var(--danger-text) !default;\n\n$form-feedback-icon-valid-color: #00a748 !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: #dd0d37 !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": var(--form-valid-color),\n \"icon\": $form-feedback-icon-valid,\n \"tooltip-color\": var(--success-contrast),\n \"tooltip-bg-color\": var(--success-bg),\n \"focus-ring-color\": var(--success-focus-ring),\n \"border-color\": var(--success-border),\n ),\n \"invalid\": (\n \"color\": var(--form-invalid-color),\n \"icon\": $form-feedback-icon-invalid,\n \"tooltip-color\": var(--danger-contrast),\n \"tooltip-bg-color\": var(--danger-bg),\n \"focus-ring-color\": var(--danger-focus-ring),\n \"border-color\": var(--danger-border),\n )\n) !default;\n// scss-docs-end form-validation-states\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n$button-tokens: () !default;\n\n// scss-docs-start btn-tokens\n$button-tokens: defaults(\n (\n --btn-min-height: var(--btn-input-min-height),\n --btn-padding-x: var(--btn-input-padding-x),\n --btn-padding-y: var(--btn-input-padding-y),\n --btn-font-size: var(--btn-input-font-size),\n --btn-font-weight: var(--btn-input-font-weight),\n --btn-line-height: var(--btn-input-line-height),\n --btn-color: var(--fg-body),\n --btn-white-space: nowrap,\n --btn-border-width: var(--border-width),\n --btn-border-color: transparent,\n --btn-border-radius: var(--border-radius),\n --btn-hover-border-color: transparent,\n --btn-disabled-opacity: .65,\n --btn-transition-timing: .15s ease-in-out,\n --btn-transition-property: \"color, background-color, border-color, box-shadow\",\n --btn-transition: var(--btn-transition-property) var(--btn-transition-timing),\n ),\n $button-tokens\n);\n// scss-docs-end btn-tokens\n\n$button-link-tokens: () !default;\n\n// scss-docs-start button-link-tokens\n$button-link-tokens: defaults(\n (\n --btn-font-weight: var(--font-weight-normal),\n --btn-color: var(--link-color),\n --btn-bg: transparent,\n --btn-border-color: transparent,\n --btn-hover-color: var(--link-hover-color),\n --btn-hover-bg: transparent,\n --btn-hover-border-color: transparent,\n --btn-active-color: var(--link-hover-color),\n --btn-active-bg: transparent,\n --btn-active-border-color: transparent,\n --btn-disabled-color: var(--fg-3),\n --btn-disabled-border-color: transparent,\n ),\n $button-link-tokens\n);\n// scss-docs-end button-link-tokens\n\n$button-styled-tokens: () !default;\n\n// scss-docs-start button-styled-tokens\n$button-styled-tokens: defaults(\n (\n --btn-gradient-start: rgb(255 255 255 / 12.5%),\n --btn-gradient-end: rgb(0 0 0 / 7.5%) ,\n --btn-border-mix-color: #000,\n --btn-border-mix-amount: 10%,\n --btn-border-hover-mix-amount: 12.5%,\n --btn-border-active-mix-amount: 20%,\n --btn-shadow: \"0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%)\",\n --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15) ,\n ),\n $button-styled-tokens\n);\n// scss-docs-end button-styled-tokens\n\n// scss-docs-start button-sizes\n$button-sizes: () !default;\n$button-sizes: defaults(\n (\"xs\", \"sm\", \"lg\"),\n $button-sizes\n);\n// scss-docs-end button-sizes\n\n$button-variants: () !default;\n\n// scss-docs-start btn-variants\n$button-variants: defaults(\n (\n \"solid\": (\n \"base\": (\n \"bg\": \"bg\",\n \"color\": \"contrast\",\n \"border-color\": \"bg\"\n ),\n \"hover\": (\n \"bg\": \"bg\",\n \"border-color\": \"bg\",\n \"color\": \"contrast\"\n ),\n \"active\": (\n \"bg\": \"bg\",\n \"border-color\": \"bg\",\n \"color\": \"contrast\"\n )\n ),\n \"outline\": (\n \"base\": (\n \"bg\": \"transparent\",\n \"color\": \"text\",\n \"border-color\": \"border\"\n ),\n \"hover\": (\n \"bg\": \"bg\",\n \"color\": \"contrast\",\n \"border-color\": \"bg\"\n ),\n \"active\": (\n \"bg\": \"bg\",\n \"color\": \"contrast\",\n \"border-color\": \"bg\"\n )\n ),\n \"subtle\": (\n \"base\": (\n \"bg\": \"bg-subtle\",\n \"color\": \"text\",\n \"border-color\": \"transparent\"\n ),\n \"hover\": (\n \"bg\": (\"bg-muted\", \"bg-subtle\"),\n \"color\": \"text-emphasis\"\n ),\n \"active\": (\n \"bg\": \"bg-subtle\",\n \"color\": \"text-emphasis\"\n )\n ),\n \"text\": (\n \"base\": (\n \"color\": \"text\",\n \"bg\": \"transparent\",\n \"border-color\": \"transparent\"\n ),\n \"hover\": (\n \"color\": \"text\",\n \"bg\": \"bg-subtle\"\n ),\n \"active\": (\n \"color\": \"text\",\n \"bg\": \"bg-subtle\"\n )\n )\n ),\n $button-variants\n);\n// scss-docs-end btn-variants\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n//\n// Base styles\n//\n\n// scss-docs-start btn-variant-selectors\n$btn-variant-selectors: (string.unquote(\".btn\"), string.unquote(\".btn-link\"), string.unquote(\".btn-icon\")) !default;\n@each $variant, $config in $button-variants {\n $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(\".btn-#{$variant}\"), comma);\n}\n// scss-docs-end btn-variant-selectors\n\n@layer components {\n #{$btn-variant-selectors} {\n @include tokens($button-tokens);\n\n display: inline-flex;\n gap: var(--btn-gap, .25rem);\n align-items: center;\n justify-content: center;\n min-height: var(--btn-min-height);\n padding: var(--btn-padding-y) var(--btn-padding-x);\n // font-family: var(--btn-font-family);\n font-size: var(--btn-font-size);\n font-weight: var(--btn-font-weight);\n line-height: var(--btn-line-height);\n color: var(--btn-color);\n text-decoration: none;\n white-space: var(--btn-white-space);\n vertical-align: middle;\n // stylelint-disable-next-line scss/at-function-named-arguments\n cursor: if(sass($enable-button-pointers): pointer; else: null);\n user-select: none;\n background-color: var(--btn-bg, var(--bg-2));\n border: var(--btn-border-width) solid var(--btn-border-color);\n @include border-radius(var(--btn-border-radius));\n @include transition(var(--btn-transition));\n\n &:hover {\n color: var(--btn-hover-color);\n background-color: var(--btn-hover-bg, var(--bg-3));\n border-color: var(--btn-hover-border-color);\n }\n\n &:focus-visible {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n\n &.active,\n &.show {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n border-color: var(--btn-active-border-color);\n\n &:focus-visible {\n @include focus-ring(true);\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n }\n }\n\n // Main button style generator mixin\n // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)\n // scss-docs-start btn-variant-mixin\n @each $variant, $config in $button-variants {\n .btn-#{$variant} {\n @each $property, $value in map.get($button-variants, $variant, \"base\") {\n @if $value == \"transparent\" {\n --btn-#{$property}: transparent;\n } @else {\n --btn-#{$property}: var(--theme-#{$value});\n }\n }\n\n @each $property, $value in map.get($button-variants, $variant, \"active\") {\n @if $value == \"transparent\" {\n --btn-active-#{$property}: transparent;\n } @else if $value == \"bg-subtle\" {\n --btn-active-#{$property}: var(--theme-#{$value});\n } @else {\n --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n }\n }\n @each $property, $value in map.get($button-variants, $variant, \"base\") {\n @if $value == \"transparent\" {\n --btn-disabled-#{$property}: transparent;\n } @else {\n --btn-disabled-#{$property}: var(--theme-#{$value});\n }\n }\n\n &:hover {\n @each $property, $value in map.get($button-variants, $variant, \"hover\") {\n @if $value == \"transparent\" {\n --btn-hover-#{$property}: transparent;\n } @else if meta.type-of($value) == \"list\" {\n $first-value: list.nth($value, 1);\n $second-value: list.nth($value, 2);\n --btn-hover-#{$property}: color-mix(in oklch, var(--theme-#{$first-value}) 50%, var(--theme-#{$second-value}));\n } @else if $value == \"bg-subtle\" {\n --btn-hover-#{$property}: var(--theme-#{$value});\n } @else {\n --btn-hover-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .95) calc(c * 1.1) h);\n }\n }\n }\n\n &:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n\n &:active,\n &.active,\n &.btn-check:has(input:checked) {\n @each $property, $value in map.get($button-variants, $variant, \"active\") {\n @if $value == \"transparent\" {\n --btn-active-#{$property}: transparent;\n } @else if $value == \"bg-subtle\" {\n --btn-active-#{$property}: var(--theme-#{$value});\n } @else {\n --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n }\n }\n }\n\n // Disabled state for toggle buttons\n &:disabled,\n &.disabled,\n &.btn-check:has(input:disabled) {\n @each $property, $value in map.get($button-variants, $variant, \"base\") {\n @if $value == \"transparent\" {\n --btn-disabled-#{$property}: transparent;\n } @else {\n --btn-disabled-#{$property}: var(--theme-#{$value});\n }\n }\n }\n }\n }\n // scss-docs-end btn-variant-mixin\n\n //\n // Link buttons\n //\n\n // Make a button look and behave like a link\n .btn-link {\n @include tokens($button-link-tokens);\n\n color: var(--theme-text, var(--btn-color));\n text-decoration: var(--link-decoration);\n\n @if $enable-gradients {\n background-image: none;\n }\n\n &:focus-visible {\n color: var(--theme-text, var(--btn-color));\n }\n\n &:hover {\n color: var(--theme-text-emphasis, var(--btn-hover-color));\n }\n\n // No need for an active state here\n }\n\n //\n // Button Sizes\n //\n\n // Generate button size classes from the $button-sizes map\n // Skip \"md\" as it's the default size for .btn\n\n // scss-docs-start btn-sizes-loop\n @each $size, $_ in $button-sizes {\n .btn-#{$size},\n .btn-group-#{$size} > [class*=\"btn-\"] {\n --btn-min-height: var(--btn-input-#{$size}-min-height);\n --btn-padding-y: var(--btn-input-#{$size}-padding-y);\n --btn-padding-x: var(--btn-input-#{$size}-padding-x);\n --btn-font-size: var(--btn-input-#{$size}-font-size);\n --btn-line-height: var(--btn-input-#{$size}-line-height);\n --btn-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n // scss-docs-end btn-sizes-loop\n\n .btn-icon {\n align-items: center;\n justify-content: center;\n aspect-ratio: 1;\n padding: 0;\n }\n\n //\n // Toggle buttons (.btn-check)\n //\n // Checkbox and radio inputs that look like buttons. Add .btn-check to a\n // label with button classes, with the input nested inside.\n //\n // Example: <label class=\"btn-check btn-solid theme-primary\"><input type=\"checkbox\">Toggle</label>\n\n .btn-check {\n > input {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n\n &:has(input:checked) {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n border-color: var(--btn-active-border-color);\n @include box-shadow(var(--btn-active-shadow));\n }\n\n &:has(input:focus-visible) {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n\n &:has(input:disabled) {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n @include box-shadow(none);\n }\n }\n\n //\n // Styled buttons\n //\n // Add visual depth with gradients and shadows. Customize via CSS variables.\n\n .btn-styled {\n @include tokens($button-styled-tokens);\n\n background-image:\n linear-gradient(\n to bottom,\n var(--btn-gradient-start),\n var(--btn-gradient-end)\n );\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n box-shadow: var(--btn-shadow);\n\n &:hover {\n background-image:\n linear-gradient(\n to bottom,\n var(--btn-gradient-start),\n var(--btn-gradient-end)\n );\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n }\n\n &:active,\n &.active {\n background-image: none;\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n box-shadow: var(--btn-active-shadow);\n }\n\n &:disabled,\n &.disabled {\n background-image: none;\n box-shadow: none;\n }\n }\n}\n","@use \"../mixins/border-radius\" as *;\n\n@layer components {\n // Make the div behave like a button\n .btn-group,\n .btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > [class*=\"btn-\"] {\n position: relative;\n flex: 1 1 auto;\n\n &:hover {\n z-index: 1;\n }\n }\n\n > .btn-check:has(input:checked),\n > [class*=\"btn-\"]:active,\n > [class*=\"btn-\"].active {\n z-index: 2;\n }\n\n > .btn-check:has(input:focus),\n > [class*=\"btn-\"]:focus {\n z-index: 3;\n }\n }\n\n // Optional: Group multiple button groups together for a toolbar\n .btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n gap: .5rem;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n }\n\n .btn-group {\n @include border-radius(var(--btn-border-radius));\n\n // Prevent double borders when buttons are next to each other\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-inline-start: calc(-1 * var(--btn-border-width));\n }\n\n // Reset rounded corners\n > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n @include border-end-radius(0);\n }\n\n // The left radius should be 0 if the button is not the first child\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n @include border-start-radius(0);\n }\n }\n\n //\n // Vertical button groups\n //\n\n .btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > [class*=\"btn-\"],\n > .btn-group {\n width: 100%;\n }\n\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: calc(-1 * var(--btn-border-width));\n }\n\n // Reset rounded corners\n > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n @include border-bottom-radius(0);\n }\n\n // The top radius should be 0 if the button is not the first child\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n @include border-top-radius(0);\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$btn-close-tokens: () !default;\n\n// scss-docs-start btn-close-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$btn-close-tokens: defaults(\n (\n --btn-close-size: 1.25rem,\n --btn-close-color: var(--fg-body),\n --btn-close-opacity: .5,\n --btn-close-hover-opacity: .75,\n --btn-close-focus-opacity: .85,\n --btn-close-disabled-opacity: .25,\n ),\n $btn-close-tokens\n);\n// scss-docs-end btn-close-tokens\n\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 @include tokens($btn-close-tokens);\n\n box-sizing: content-box;\n width: var(--btn-close-size);\n height: var(--btn-close-size);\n padding: 0;\n color: var(--btn-close-color);\n background: transparent; // for button elements\n border: 0; // for button elements\n @include border-radius(var(--border-radius-sm));\n opacity: var(--btn-close-opacity);\n\n > svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: currentcolor;\n }\n\n // Override <a>'s hover style\n &:hover {\n color: var(--btn-close-color);\n text-decoration: none;\n opacity: var(--btn-close-hover-opacity);\n }\n\n &:focus-visible {\n opacity: var(--btn-close-focus-opacity);\n @include focus-ring();\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--btn-close-disabled-opacity);\n }\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$accordion-tokens: () !default;\n\n// scss-docs-start accordion-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$accordion-tokens: defaults(\n (\n --accordion-padding-x: 1.25rem,\n --accordion-padding-y: 1rem,\n --accordion-color: var(--fg-body),\n --accordion-bg: var(--bg-body),\n --accordion-transition-property: \"color, background-color, border-radius\",\n --accordion-transition-timing: \".15s ease-in-out\",\n --accordion-transition: var(--accordion-transition-property) var(--accordion-timing),\n --accordion-border-color: var(--border-color),\n --accordion-border-width: var(--border-width),\n --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg)),\n --accordion-btn-color: var(--fg-2),\n --accordion-btn-bg: var(--bg-body),\n --accordion-btn-icon-width: 1rem,\n --accordion-btn-icon-transform: rotate(-180deg),\n --accordion-btn-icon-transition: transform .2s ease-in-out,\n --accordion-active-color: var(--fg),\n --accordion-active-bg: var(--bg-2),\n ),\n $accordion-tokens\n);\n// scss-docs-end accordion-tokens\n\n@layer components {\n .accordion {\n @include tokens($accordion-tokens);\n }\n\n .accordion-header {\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n font-size: var(--accordion-font-size, var(--font-size-base));\n color: var(--accordion-btn-color);\n text-align: start;\n list-style: none; // Remove default marker\n cursor: pointer;\n background-color: var(--accordion-btn-bg);\n @include transition(var(--accordion-transition));\n\n .accordion-icon {\n flex-shrink: 0;\n width: var(--accordion-btn-icon-width);\n height: var(--accordion-btn-icon-width);\n margin-inline-start: auto;\n color: currentcolor;\n @include transition(var(--accordion-btn-icon-transition));\n }\n\n &:hover {\n z-index: 2;\n }\n\n &:focus-visible {\n position: relative;\n z-index: 3;\n @include focus-ring(true);\n outline-offset: -1px;\n }\n }\n\n .accordion-item {\n color: var(--accordion-color);\n background-color: var(--accordion-bg);\n border: var(--accordion-border-width) solid var(--accordion-border-color);\n\n &:first-of-type {\n @include border-top-radius(var(--accordion-border-radius));\n\n > .accordion-header {\n @include border-top-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n }\n }\n\n &:not(:first-of-type) {\n border-block-start: 0;\n }\n\n // Only set a border-radius on the last item if the accordion is collapsed\n &:last-of-type {\n @include border-bottom-radius(var(--accordion-border-radius));\n\n > .accordion-header {\n @include border-bottom-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n }\n\n > .accordion-body {\n @include border-bottom-radius(var(--accordion-border-radius));\n }\n }\n\n // Open state - details[open] applies these styles\n &[open] {\n border-color: var(--theme-border, var(--accordion-border-color));\n\n > .accordion-header {\n color: var(--theme-text, var(--accordion-active-color));\n background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n\n .accordion-icon {\n transform: var(--accordion-btn-icon-transform);\n }\n }\n\n // Remove bottom radius from header when open (even on last item)\n &:last-of-type > .accordion-header {\n @include border-bottom-radius(0);\n }\n }\n }\n\n .accordion-body {\n padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n }\n\n\n // Flush accordion items\n //\n // Remove borders and border-radius to keep accordion items edge-to-edge.\n\n .accordion-flush {\n > .accordion-item {\n border-inline: 0;\n @include border-radius(0);\n\n &:first-child {\n border-block-start: 0;\n }\n\n &:last-child {\n border-block-end: 0;\n }\n\n > .accordion-header,\n > .accordion-body {\n @include border-radius(0);\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$alert-tokens: () !default;\n\n// scss-docs-start alert-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$alert-tokens: defaults(\n (\n --alert-gap: #{$spacer * .75},\n --alert-bg: var(--theme-bg-subtle, var(--bg-1)),\n --alert-padding-x: #{$spacer},\n --alert-padding-y: #{$spacer},\n --alert-color: var(--theme-text, inherit),\n --alert-border-color: var(--theme-border, var(--border-color)),\n --alert-border: var(--border-width) solid var(--alert-border-color),\n --alert-border-radius: var(--border-radius),\n --alert-link-color: inherit,\n --hr-border-color: var(--theme-border, var(--border-color)),\n ),\n $alert-tokens\n);\n// scss-docs-end alert-tokens\n\n@layer components {\n .alert {\n @include tokens($alert-tokens);\n\n display: flex;\n gap: var(--alert-gap);\n align-items: start;\n padding: var(--alert-padding-y) var(--alert-padding-x);\n color: var(--alert-color);\n background-color: var(--alert-bg);\n border: var(--alert-border);\n @include border-radius(var(--alert-border-radius));\n }\n\n .alert > p {\n margin-bottom: 0;\n }\n\n .alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: var(--font-weight-semibold);\n color: var(--alert-link-color);\n }\n}\n","@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$avatar-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start avatar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-tokens: defaults(\n (\n --avatar-size: 2.5rem,\n --avatar-border-radius: 50%,\n --avatar-border-width: 2px,\n --avatar-border-color: var(--bg-body),\n --avatar-bg: var(--bg-2),\n --avatar-color: var(--fg-body),\n // --avatar-font-weight: var(--font-weight-medium), // Defaults to fallback\n --avatar-status-size: .75rem,\n --avatar-status-border-width: 2px,\n --avatar-status-border-color: var(--bg-body),\n --avatar-stack-spacing: -.3,\n --avatar-stack-transition: \"transform .2s ease-in-out\",\n ),\n $avatar-tokens\n);\n// scss-docs-end avatar-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start avatar-sizes\n$avatar-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-sizes: defaults(\n (\n \"xs\": (\n size: 1.5rem,\n status-size: .625rem,\n ),\n \"sm\": (\n size: 2rem,\n ),\n \"lg\": (\n size: 3rem,\n status-size: 1rem,\n ),\n \"xl\": (\n size: 4rem,\n status-size: 1.25rem,\n ),\n ),\n $avatar-sizes\n);\n// scss-docs-end avatar-sizes\n\n@layer components {\n .avatar {\n @include tokens($avatar-tokens);\n\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--avatar-size);\n height: var(--avatar-size);\n font-size: calc(var(--avatar-size) * .4);\n font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n line-height: 1;\n color: var(--theme-contrast, var(--avatar-color));\n text-transform: uppercase;\n vertical-align: middle;\n background-color: var(--theme-bg, var(--avatar-bg));\n @include border-radius(var(--avatar-border-radius));\n }\n\n .avatar-subtle {\n color: var(--theme-text, var(--avatar-color));\n background-color: var(--theme-bg-subtle, var(--avatar-bg));\n }\n\n .avatar-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n @include border-radius(inherit);\n }\n\n .avatar-status {\n position: absolute;\n right: calc(var(--avatar-status-border-width) * -1);\n bottom: calc(var(--avatar-status-border-width) * -1);\n width: var(--avatar-status-size);\n height: var(--avatar-status-size);\n background-color: var(--gray-400);\n border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n @include border-radius(50%);\n\n &.status-online {\n background-color: var(--green-500);\n }\n\n &.status-offline {\n background-color: var(--gray-400);\n @include border-radius(20%);\n }\n\n &.status-busy {\n background-color: var(--red-500);\n @include border-radius(20%);\n }\n\n &.status-away {\n background-color: var(--yellow-500);\n }\n }\n\n .avatar-stack {\n display: inline-flex;\n flex-direction: row-reverse;\n\n .avatar {\n // Stack spacing is calculated as a percentage of avatar size\n margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n border: var(--avatar-border-width) solid var(--avatar-border-color);\n mask-image: none;\n @include transition(var(--avatar-stack-transition));\n\n &:last-child {\n margin-left: 0;\n }\n\n &:hover {\n z-index: 1;\n transform: translateY(-2px);\n }\n }\n }\n\n @each $size, $tokens in $avatar-sizes {\n .avatar-#{$size},\n .avatar-stack-#{$size} {\n --avatar-size: #{map.get($tokens, size)};\n\n @if map.has-key($tokens, status-size) {\n --avatar-status-size: #{map.get($tokens, status-size)};\n }\n }\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n\n$badge-tokens: () !default;\n\n// scss-docs-start badge-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$badge-tokens: defaults(\n (\n --badge-padding-x: .625em,\n --badge-padding-y: .25em,\n --badge-font-size: clamp(12px, .75em, .75em),\n --badge-font-weight: var(--font-weight-semibold),\n --badge-color: inherit,\n --badge-bg: var(--bg-2),\n --badge-border-width: var(--border-width),\n --badge-border-color: transparent,\n --badge-border-radius: var(--border-radius-lg),\n ),\n $badge-tokens\n);\n// scss-docs-end badge-tokens\n\n// scss-docs-start badge-variants\n$badge-variants: (\n \"subtle\": (\n \"color\": \"text\",\n \"bg\": \"bg-subtle\",\n \"border-color\": \"transparent\"\n ),\n \"outline\": (\n \"color\": \"text\",\n \"bg\": \"transparent\",\n \"border-color\": \"border\"\n )\n) !default;\n// scss-docs-end badge-variants\n\n@layer components {\n .badge {\n @include tokens($badge-tokens);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 1.375rem;\n padding: var(--badge-padding-y) var(--badge-padding-x);\n font-size: var(--badge-font-size);\n font-weight: var(--badge-font-weight);\n line-height: 1;\n color: var(--theme-contrast, var(--badge-color));\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n background-color: var(--theme-bg, var(--badge-bg));\n border: var(--badge-border-width) solid var(--badge-border-color);\n @include border-radius(var(--badge-border-radius));\n @include gradient-bg();\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n }\n\n // Quick fix for badges in buttons\n .btn .badge {\n position: relative;\n top: -1px;\n }\n\n // scss-docs-start badge-variant-loop\n @each $variant, $properties in $badge-variants {\n .badge-#{$variant} {\n @each $property, $value in $properties {\n @if $value == \"transparent\" {\n --badge-#{$property}: transparent;\n } @else {\n --badge-#{$property}: var(--theme-#{$value});\n }\n }\n\n color: var(--badge-color);\n background-color: var(--badge-bg);\n border-color: var(--badge-border-color);\n }\n }\n // scss-docs-end badge-variant-loop\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$breadcrumb-tokens: () !default;\n\n// scss-docs-start breadcrumb-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$breadcrumb-tokens: defaults(\n (\n --breadcrumb-margin-bottom: 1rem,\n --breadcrumb-font-size: inherit,\n --breadcrumb-bg: transparent,\n --breadcrumb-border-radius: var(--border-radius),\n --breadcrumb-divider-color: var(--fg-4),\n --breadcrumb-link-padding-x: .75rem,\n --breadcrumb-link-padding-y: .25rem,\n --breadcrumb-link-color: var(--fg-3),\n --breadcrumb-link-hover-color: var(--fg-2),\n --breadcrumb-link-hover-bg: var(--bg-1),\n --breadcrumb-link-active-color: var(--fg-1),\n --breadcrumb-link-border-radius: var(--border-radius-lg),\n ),\n $breadcrumb-tokens\n);\n// scss-docs-end breadcrumb-tokens\n\n@layer components {\n .breadcrumb {\n @include tokens($breadcrumb-tokens);\n\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n font-size: var(--breadcrumb-font-size);\n list-style: none;\n background-color: var(--breadcrumb-bg);\n @include border-radius(var(--breadcrumb-border-radius));\n }\n\n .breadcrumb-item {\n display: flex;\n }\n\n .breadcrumb-divider {\n margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n color: var(--breadcrumb-divider-color);\n }\n\n .breadcrumb-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 2.25rem;\n padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n color: var(--breadcrumb-link-color);\n text-decoration: none;\n @include border-radius(var(--breadcrumb-link-border-radius));\n @include transition(.1s text-decoration-color ease-in-out);\n\n &:hover {\n z-index: 2;\n color: var(--breadcrumb-link-hover-color);\n background-color: var(--breadcrumb-link-hover-bg);\n }\n\n &.active {\n color: var(--breadcrumb-link-active-color);\n }\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$chip-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start chip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-tokens: defaults(\n (\n --chip-height: 1.75rem,\n --chip-padding-x: .625rem,\n --chip-gap: .3125rem,\n --chip-border-radius: var(--border-radius-pill),\n --chip-img-size: 1.25rem,\n --chip-icon-size: 1rem,\n --chip-dismiss-size: 1rem,\n --chip-dismiss-opacity: .65,\n --chip-dismiss-hover-opacity: 1,\n --chip-color: var(--theme-text, var(--fg-body)),\n --chip-bg: var(--theme-bg-subtle, var(--bg-2)),\n --chip-border-color: transparent,\n --chip-selected-color: var(--theme-contrast, var(--primary-contrast)),\n --chip-selected-bg: var(--theme-bg, var(--primary-bg)),\n --chip-selected-border-color: var(--theme-bg, var(--primary-bg)),\n ),\n $chip-tokens\n);\n// scss-docs-end chip-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n .chip {\n @include tokens($chip-tokens);\n\n display: inline-flex;\n gap: var(--chip-gap);\n align-items: center;\n height: var(--chip-height);\n padding-inline: var(--chip-padding-x);\n font-size: var(--chip-font-size, var(--font-size-sm));\n font-weight: var(--chip-font-weight, var(--font-weight-base));\n line-height: var(--chip-line-height, 1.25rem);\n color: var(--chip-color);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n background-color: var(--chip-bg);\n border: var(--border-width) solid var(--chip-border-color);\n @include border-radius(var(--chip-border-radius));\n\n &:hover {\n --chip-bg: var(--theme-bg-muted, var(--bg-3));\n }\n\n &:focus-visible {\n outline: 0;\n // @include focus-ring();\n }\n\n &.active {\n --chip-color: var(--chip-selected-color);\n --chip-bg: var(--chip-selected-bg);\n --chip-border-color: var(--chip-selected-border-color);\n\n &:hover {\n --chip-bg: var(--chip-selected-bg);\n opacity: .9;\n }\n }\n\n &.disabled,\n &:disabled {\n pointer-events: none;\n opacity: .65;\n }\n }\n\n .chip-img {\n width: var(--chip-img-size);\n height: var(--chip-img-size);\n @include border-radius(50%);\n\n &:first-child {\n margin-inline-start: -.375rem;\n }\n }\n\n // Chip icon (left side)\n .chip-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n margin-inline-start: calc(var(--chip-gap) * -.25);\n\n > svg {\n display: block; // Prevents baseline alignment issues\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n }\n\n > img {\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n object-fit: cover;\n @include border-radius(50%);\n }\n }\n\n // Dismiss button (right side)\n .chip-dismiss {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--chip-min-height);\n height: var(--chip-min-height);\n padding: 0;\n // margin-inline-start: calc(var(--chip-padding-x) * -.5);\n margin-inline-end: calc(var(--chip-padding-x) * -.25);\n color: inherit;\n cursor: pointer;\n background: transparent;\n border: 0;\n opacity: var(--chip-dismiss-opacity);\n // @include transition(opacity .15s ease-in-out);\n\n &:hover {\n opacity: var(--chip-dismiss-hover-opacity);\n }\n\n &:focus-visible {\n outline: 0;\n opacity: 1;\n @include focus-ring();\n }\n\n > svg {\n display: block; // Prevents baseline alignment issues\n width: var(--chip-dismiss-size);\n height: var(--chip-dismiss-size);\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n@use \"layout/breakpoints\" as *;\n\n$card-tokens: () !default;\n\n// scss-docs-start card-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$card-tokens: defaults(\n (\n --card-spacer-y: #{$spacer},\n --card-spacer-x: #{$spacer},\n --card-subtitle-color: inherit,\n --card-border-width: var(--border-width),\n --card-border-color: var(--border-color-translucent),\n --card-border-radius: var(--border-radius-lg),\n --card-box-shadow: none,\n --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n --card-cap-padding-y: #{$spacer * .75},\n --card-cap-padding-x: #{$spacer},\n --card-cap-bg: var(--bg-1),\n --card-cap-color: inherit,\n --card-height: auto,\n --card-color: inherit,\n --card-bg: var(--bg-body),\n --card-img-overlay-padding: #{$spacer},\n --card-group-margin: #{$grid-gutter-x * .5},\n --card-body-gap: #{$spacer * .5},\n ),\n $card-tokens\n);\n// scss-docs-end card-tokens\n\n@layer components {\n .card {\n @include tokens($card-tokens);\n\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: var(--card-height);\n color: var(--fg-body);\n word-wrap: break-word;\n background-color: var(--card-bg);\n // border: var(--card-border-width) solid var(--card-border-color);\n // @include border-radius(var(--card-border-radius));\n @include box-shadow(var(--card-box-shadow));\n\n > hr {\n margin-inline: 0;\n }\n }\n\n .card-body {\n display: flex;\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--card-body-gap);\n align-items: flex-start;\n padding: var(--card-spacer-y) var(--card-spacer-x);\n color: var(--card-color);\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n\n > * {\n margin-block: 0;\n }\n }\n\n .card-body,\n .card-list {\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n\n &:first-child {\n @include border-top-radius(var(--card-border-radius));\n border-top-width: var(--card-border-width);\n }\n\n &:last-child {\n @include border-bottom-radius(var(--card-border-radius));\n border-bottom-width: var(--card-border-width);\n }\n\n &:not(:first-child):not(:last-child) {\n border-block-end-width: var(--card-border-width);\n }\n }\n\n .card-title,\n .card-subtitle,\n .card-text {\n align-self: stretch;\n }\n\n .card-subtitle {\n margin-top: calc(var(--card-body-gap) * -.5);\n }\n\n .card-header {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: var(--theme-contrast, var(--card-cap-color));\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n &:first-child {\n @include border-radius(var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0);\n }\n }\n\n .card-footer {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n color: var(--card-cap-color);\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n &:last-child {\n @include border-radius(0 0 var(--card-inner-border-radius) var(--card-inner-border-radius));\n }\n }\n\n .card-translucent {\n background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n\n .card-header,\n .card-footer {\n background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n }\n }\n\n .card-subtle {\n border-color: var(--theme-border, var(--card-border-color));\n\n .card-header {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n\n .card-footer {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n\n .card-body,\n .card-list {\n border-color: var(--theme-border, var(--card-border-color));\n }\n }\n\n //\n // Header navs\n //\n\n // Combined selector because of specificity match with `.nav` base class\n .nav.card-header-tabs {\n margin-inline: calc(-.5 * var(--card-cap-padding-x));\n margin-bottom: calc(-1 * var(--card-cap-padding-y));\n border-block-end: 0;\n\n .nav-link.active {\n background-color: var(--card-bg);\n border-block-end-color: var(--card-bg);\n }\n }\n\n // Card image\n .card-img-overlay {\n position: absolute;\n inset: 0;\n padding: var(--card-img-overlay-padding);\n @include border-radius(var(--card-inner-border-radius));\n }\n\n .card-img,\n .card-img-top,\n .card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n outline: var(--card-border-width) solid var(--card-border-color);\n outline-offset: calc(var(--card-border-width) * -1);\n }\n\n .card-img,\n .card-img-top {\n @include border-top-radius(var(--card-inner-border-radius));\n }\n\n .card-img,\n .card-img-bottom {\n @include border-bottom-radius(var(--card-inner-border-radius));\n }\n\n .card-row {\n flex-direction: row;\n\n .card-body,\n .card-list {\n border-width: var(--card-border-width) 0;\n @include border-radius(0);\n\n &:first-child {\n @include border-start-radius(var(--card-inner-border-radius));\n border-inline-start-width: var(--card-border-width);\n }\n\n &:last-child {\n @include border-end-radius(var(--card-inner-border-radius));\n border-inline-end-width: var(--card-border-width);\n }\n\n &:not(:first-child):not(:last-child) {\n border-inline-end-width: var(--card-border-width);\n }\n }\n }\n\n .card-img-start {\n @include border-start-radius(var(--card-inner-border-radius));\n }\n\n .card-img-end {\n @include border-end-radius(var(--card-inner-border-radius));\n }\n\n //\n // Card groups\n //\n\n .card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: var(--card-group-margin);\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n flex: 1 0 0;\n margin-bottom: 0;\n\n + .card {\n margin-inline-start: 0;\n border-inline-start: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-end-radius(0);\n\n > .card-img-top,\n > .card-header {\n border-start-end-radius: 0;\n }\n > .card-img-bottom,\n > .card-footer {\n border-end-end-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-start-radius(0);\n\n > .card-img-top,\n > .card-header {\n border-start-start-radius: 0;\n }\n > .card-img-bottom,\n > .card-footer {\n border-end-start-radius: 0;\n }\n }\n }\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"mixins/tokens\" as *;\n\n$carousel-tokens: () !default;\n\n// scss-docs-start carousel-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-tokens: defaults(\n (\n --carousel-control-color: #{$white},\n --carousel-control-width: 15%,\n --carousel-control-opacity: .5,\n --carousel-control-hover-opacity: .9,\n --carousel-control-transition: opacity .15s ease,\n --carousel-control-icon-filter: none,\n --carousel-indicator-width: 30px,\n --carousel-indicator-height: 3px,\n --carousel-indicator-hit-area-height: 10px,\n --carousel-indicator-spacer: 3px,\n --carousel-indicator-opacity: .5,\n --carousel-indicator-active-bg: var(--white),\n --carousel-indicator-active-opacity: 1,\n --carousel-indicator-transition: opacity .6s ease,\n --carousel-caption-width: 70%,\n --carousel-caption-color: var(--white),\n --carousel-caption-padding-y: 1.25rem,\n --carousel-caption-spacer: 1.25rem,\n --carousel-control-icon-width: 2rem,\n --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"),\n --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"),\n --carousel-transition-duration: .6s,\n --carousel-transition: transform .6s ease-in-out,\n ),\n $carousel-tokens\n);\n// scss-docs-end carousel-tokens\n\n$carousel-dark-tokens: () !default;\n\n// scss-docs-start carousel-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-dark-tokens: defaults(\n (\n --carousel-indicator-active-bg: #{$black},\n --carousel-caption-color: #{$black},\n --carousel-control-icon-filter: invert(1) grayscale(100),\n ),\n $carousel-dark-tokens\n);\n// scss-docs-end carousel-dark-tokens\n\n// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n// is the upcoming slide in transition.\n\n@layer components {\n .carousel {\n position: relative;\n @include tokens($carousel-tokens);\n }\n\n .carousel.pointer-event {\n touch-action: pan-y;\n }\n\n .carousel-inner {\n position: relative;\n display: flow-root;\n width: 100%;\n overflow: hidden;\n }\n\n .carousel-item {\n position: relative;\n display: none;\n float: inline-start;\n width: 100%;\n margin-inline-end: -100%;\n backface-visibility: hidden;\n @include transition(var(--carousel-transition));\n }\n\n .carousel-item.active,\n .carousel-item-next,\n .carousel-item-prev {\n display: block;\n }\n\n .carousel-item-next:not(.carousel-item-start),\n .active.carousel-item-end {\n transform: translateX(100%);\n }\n\n .carousel-item-prev:not(.carousel-item-end),\n .active.carousel-item-start {\n transform: translateX(-100%);\n }\n\n //\n // Alternate transitions\n //\n\n .carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-start,\n .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-start,\n .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s var(--carousel-transition-duration));\n }\n }\n\n //\n // Left/right controls for nav\n //\n\n .carousel-control-prev,\n .carousel-control-next {\n position: absolute;\n inset-block: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: var(--carousel-control-width);\n padding: 0;\n color: var(--carousel-control-color);\n text-align: center;\n background: none;\n filter: var(--carousel-control-icon-filter);\n border: 0;\n opacity: var(--carousel-control-opacity);\n @include transition(var(--carousel-control-transition));\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: var(--carousel-control-color);\n text-decoration: none;\n outline: 0;\n opacity: var(--carousel-control-hover-opacity);\n }\n }\n .carousel-control-prev {\n inset-inline-start: 0;\n // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n background-image: if(sass($enable-gradients): linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); else: null);\n }\n .carousel-control-next {\n inset-inline-end: 0;\n // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n background-image: if(sass($enable-gradients): linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); else: null);\n }\n\n // Icons for within\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n display: inline-block;\n width: var(--carousel-control-icon-width);\n height: var(--carousel-control-icon-width);\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n }\n\n .carousel-control-prev-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n\n [dir=\"rtl\"] .carousel-control-prev-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n\n .carousel-control-next-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n\n [dir=\"rtl\"] .carousel-control-next-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n\n // Optional indicator pips/controls\n //\n // Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n // like a button) with data-bs-target for each slide your carousel holds.\n\n .carousel-indicators {\n position: absolute;\n inset: auto 0 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-inline: var(--carousel-control-width);\n margin-bottom: 1rem;\n\n [data-bs-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: var(--carousel-indicator-width);\n height: var(--carousel-indicator-height);\n padding: 0;\n margin-inline: var(--carousel-indicator-spacer);\n text-indent: -999px;\n cursor: pointer;\n background-color: var(--carousel-indicator-active-bg);\n background-clip: padding-box;\n border: 0;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n opacity: var(--carousel-indicator-opacity);\n @include transition(var(--carousel-indicator-transition));\n }\n\n .active {\n opacity: var(--carousel-indicator-active-opacity);\n }\n }\n\n // Optional captions\n //\n //\n\n .carousel-caption {\n position: absolute;\n right: calc((100% - var(--carousel-caption-width)) * .5);\n bottom: var(--carousel-caption-spacer);\n left: calc((100% - var(--carousel-caption-width)) * .5);\n padding-top: var(--carousel-caption-padding-y);\n padding-bottom: var(--carousel-caption-padding-y);\n color: var(--carousel-caption-color);\n text-align: center;\n }\n\n // Dark mode carousel\n\n @mixin carousel-dark() {\n @include tokens($carousel-dark-tokens);\n }\n\n .carousel-dark {\n @include carousel-dark();\n }\n\n @if $enable-dark-mode {\n @include color-mode(dark, true) {\n @include carousel-dark();\n }\n }\n}\n","@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","// stylelint-disable selector-max-attribute, property-disallowed-list, selector-no-qualifying-type -- VCP uses extensive data attributes and requires direct border-radius properties for range selection\n\n@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$datepicker-tokens: () !default;\n\n// scss-docs-start datepicker-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$datepicker-tokens: defaults(\n (\n --datepicker-padding: 1rem,\n --datepicker-bg: var(--bg-body),\n --datepicker-color: var(--fg-body),\n --datepicker-border-color: var(--border-color-translucent),\n --datepicker-border-width: var(--border-width),\n --datepicker-border-radius: var(--border-radius-lg),\n --datepicker-box-shadow: var(--box-shadow),\n --datepicker-font-size: var(--font-size-sm),\n --datepicker-min-width: 280px,\n --datepicker-zindex: #{$zindex-menu},\n --datepicker-header-font-weight: 600,\n --datepicker-weekday-color: var(--fg-3),\n --datepicker-day-hover-bg: var(--bg-1),\n --datepicker-day-selected-bg: var(--primary-bg),\n --datepicker-day-selected-color: var(--primary-contrast),\n --datepicker-day-today-bg: var(--bg-2),\n --datepicker-day-today-color: var(--fg-1),\n --datepicker-day-disabled-color: var(--fg-4),\n ),\n $datepicker-tokens\n);\n// scss-docs-end datepicker-tokens\n\n@layer components {\n [data-vc=\"calendar\"] {\n @include tokens($datepicker-tokens);\n\n position: absolute;\n z-index: var(--datepicker-zindex);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n min-width: var(--datepicker-min-width);\n padding: var(--datepicker-padding);\n font-family: var(--font-sans-serif);\n font-size: var(--datepicker-font-size);\n color: var(--datepicker-color);\n color-scheme: light dark;\n background-color: var(--datepicker-bg);\n border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n @include border-radius(var(--datepicker-border-radius));\n box-shadow: var(--datepicker-box-shadow);\n opacity: 1;\n\n // Respond to Bootstrap's color mode system\n &[data-bs-theme=\"light\"] {\n color-scheme: light;\n }\n\n &[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n }\n\n // Catch-all for focus styles\n button:focus-visible {\n position: relative;\n z-index: 1;\n @include focus-ring();\n }\n }\n\n [data-vc-calendar-hidden] {\n pointer-events: none;\n opacity: 0;\n }\n\n // Inline calendars\n //\n // Remove popover styling for more neutral styling\n [data-vc=\"calendar\"]:not([data-vc-input]) {\n position: relative;\n width: fit-content;\n padding: 0;\n border: 0;\n box-shadow: none;\n }\n\n [data-vc-position=\"bottom\"] {\n margin-block-start: .25rem;\n }\n\n [data-vc-position=\"top\"] {\n margin-block-end: -.25rem;\n }\n\n [data-vc-arrow] {\n position: relative;\n display: block;\n width: 2rem;\n height: 2rem;\n color: var(--datepicker-color);\n pointer-events: auto;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n @include border-radius(var(--border-radius));\n\n &::before {\n position: absolute;\n inset: .25rem;\n content: \"\";\n background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n background-repeat: no-repeat;\n background-position: center;\n }\n\n &:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n }\n\n [data-vc-arrow=\"prev\"]::before {\n transform: rotate(90deg);\n }\n\n [data-vc-arrow=\"next\"]::before {\n transform: rotate(-90deg);\n }\n\n // Grid layout\n [data-vc=\"controls\"] {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 20;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 1rem;\n padding-right: 1rem;\n padding-left: 1rem;\n pointer-events: none;\n }\n\n [data-vc=\"grid\"] {\n display: flex;\n flex-grow: 1;\n flex-wrap: wrap;\n gap: 1.75rem;\n }\n\n [data-vc=\"column\"] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n min-width: 240px;\n }\n\n //\n // Header\n //\n\n [data-vc=\"header\"] {\n position: relative;\n display: flex;\n align-items: center;\n margin-bottom: .75rem;\n }\n\n // Month and year\n [data-vc-header=\"content\"] {\n display: inline-flex;\n flex-grow: 1;\n align-items: center;\n justify-content: center;\n white-space: pre-wrap;\n }\n\n [data-vc=\"month\"],\n [data-vc=\"year\"] {\n padding: .25rem .5rem;\n margin-inline: -.125rem;\n font-size: 1rem;\n font-weight: var(--datepicker-header-font-weight);\n color: var(--datepicker-color);\n // cursor: pointer;\n background-color: transparent;\n border: 0;\n @include border-radius(var(--border-radius));\n\n &:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n }\n\n [data-vc=\"content\"] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n }\n\n // Month/Year grids\n [data-vc=\"months\"],\n [data-vc=\"years\"] {\n display: grid;\n flex-grow: 1;\n grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n row-gap: 1rem;\n column-gap: .25rem;\n align-items: center;\n }\n\n [data-vc=\"years\"] {\n --vc-columns: 5;\n }\n\n [data-vc-months-month],\n [data-vc-years-year] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 2.5rem;\n padding: .25rem;\n font-size: .75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n text-align: center;\n word-break: break-all;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n @include border-radius(var(--border-radius));\n\n &:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n\n &[data-vc-months-month-selected],\n &[data-vc-years-year-selected] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n\n &:hover {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n }\n }\n\n // Week days header\n [data-vc=\"week\"] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n justify-items: center;\n margin-bottom: .5rem;\n }\n\n [data-vc-week-day] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n padding: 0;\n margin: 0;\n font-size: .75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n background-color: transparent;\n border: 0;\n }\n\n button[data-vc-week-day] {\n cursor: pointer;\n }\n\n // Dates grid\n [data-vc=\"dates\"] {\n pointer-events: none;\n }\n\n [data-vc-dates=\"row\"] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n align-items: center;\n justify-items: center;\n width: 100%;\n }\n\n [data-vc-date] {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding-top: .125rem;\n padding-bottom: .125rem;\n pointer-events: auto;\n\n &:not(:has([data-vc-date-btn])),\n &[data-vc-date-disabled],\n &[data-vc-date-disabled] [data-vc-date-btn] {\n pointer-events: none;\n }\n }\n\n // Date button\n [data-vc-date-btn] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n height: 100%;\n min-height: 1.875rem;\n padding: 0;\n font-size: .75rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--datepicker-color);\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n\n &:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n }\n\n // Today\n [data-vc-date-today] [data-vc-date-btn] {\n font-weight: 600;\n color: var(--datepicker-day-today-color);\n background-color: var(--datepicker-day-today-bg);\n }\n\n // Outside month\n [data-vc-date-month=\"next\"] [data-vc-date-btn],\n [data-vc-date-month=\"prev\"] [data-vc-date-btn] {\n opacity: .5;\n }\n\n // Disabled\n [data-vc-date-disabled] [data-vc-date-btn] {\n color: var(--datepicker-day-disabled-color);\n }\n\n // Range selection styles\n [data-vc-date-hover] [data-vc-date-btn] {\n background-color: var(--datepicker-day-hover-bg);\n border-radius: 0;\n }\n\n [data-vc-date-hover=\"first\"] [data-vc-date-btn] {\n border-start-start-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n\n [data-vc-date-hover=\"last\"] [data-vc-date-btn] {\n border-start-end-radius: var(--border-radius);\n border-end-end-radius: var(--border-radius);\n }\n\n [data-vc-date-hover=\"first-and-last\"] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n\n [data-vc-date-selected=\"middle\"] [data-vc-date-btn] {\n border-radius: 0;\n opacity: .8;\n }\n\n // Selected\n [data-vc-date-selected] [data-vc-date-btn] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n\n }\n\n [data-vc-date-selected=\"first\"] [data-vc-date-btn] {\n border-top-left-radius: var(--border-radius);\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: var(--border-radius);\n }\n\n [data-vc-date-selected=\"last\"] [data-vc-date-btn] {\n border-top-left-radius: 0;\n border-top-right-radius: var(--border-radius);\n border-bottom-right-radius: var(--border-radius);\n border-bottom-left-radius: 0;\n }\n\n [data-vc-date-selected=\"first-and-last\"] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// Native <dialog> component\n// Uses the browser's native dialog element with showModal()/show()/close() APIs\n// Leverages native [open] attribute and ::backdrop pseudo-element\n\n// stylelint-disable custom-property-no-missing-var-function\n$dialog-tokens: () !default;\n\n// scss-docs-start dialog-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-tokens: defaults(\n (\n --dialog-padding: 1rem,\n --dialog-width: 500px,\n --dialog-margin: 1.75rem,\n --dialog-color: var(--fg-body),\n --dialog-bg: var(--bg-body),\n --dialog-border-color: var(--border-color-translucent),\n --dialog-border-width: var(--border-width),\n --dialog-border-radius: var(--border-radius-lg),\n --dialog-box-shadow: var(--box-shadow-lg),\n --dialog-backdrop-bg: rgb(0 0 0 / 50%),\n --dialog-backdrop-blur: 8px,\n --dialog-header-padding: 1rem,\n --dialog-header-border-color: var(--border-color),\n --dialog-header-border-width: var(--border-width),\n --dialog-footer-padding: 1rem,\n --dialog-footer-border-color: var(--border-color),\n --dialog-footer-border-width: var(--border-width),\n --dialog-footer-gap: .5rem,\n ),\n $dialog-tokens\n);\n// scss-docs-end dialog-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start dialog-sizes\n$dialog-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-sizes: defaults(\n (\n sm: 280px,\n lg: 800px,\n xl: 1140px,\n ),\n $dialog-sizes\n);\n// scss-docs-end dialog-sizes\n\n@layer components {\n // Prevent body scroll when dialog is open\n .dialog-open {\n overflow: hidden;\n scrollbar-gutter: stable;\n }\n\n .dialog {\n @include tokens($dialog-tokens);\n\n // Reset native dialog styles\n max-width: var(--dialog-width);\n max-height: calc(100% - var(--dialog-margin) * 2);\n padding: 0;\n margin: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n @include border-radius(var(--dialog-border-radius));\n @include box-shadow(var(--dialog-box-shadow));\n\n // Native backdrop styling via ::backdrop pseudo-element\n &::backdrop {\n background-color: var(--dialog-backdrop-bg);\n backdrop-filter: blur(var(--dialog-backdrop-blur));\n }\n\n // Animation support using native [open] attribute\n &.fade {\n opacity: 0;\n @include transition(opacity .15s linear);\n\n &::backdrop {\n opacity: 0;\n @include transition(opacity .15s linear);\n }\n\n &[open] {\n opacity: 1;\n\n &::backdrop {\n opacity: 1;\n }\n }\n }\n\n // Static backdrop \"bounce\" animation (modal dialogs only)\n &.dialog-static {\n transform: scale(1.02);\n }\n\n // Non-modal dialog positioning\n // show() doesn't use the top layer, so we need explicit positioning and z-index\n &.dialog-nonmodal {\n position: fixed;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n z-index: $zindex-dialog;\n margin-inline: 0;\n transform: translate(-50%, -50%);\n }\n\n // Overflow dialog - scrollable viewport container with dialog box inside\n &.dialog-overflow {\n // Make dialog element the full-viewport scrollable container\n position: fixed;\n inset: 0;\n width: 100%;\n max-width: 100%;\n height: 100%;\n max-height: 100%;\n padding: var(--dialog-margin);\n margin: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n background: transparent;\n border: 0;\n box-shadow: none;\n\n // The visual dialog box is a child wrapper\n > .dialog-box {\n max-width: var(--dialog-width);\n margin-block-end: var(--dialog-margin);\n margin-inline: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n @include border-radius(var(--dialog-border-radius));\n @include box-shadow(var(--dialog-box-shadow));\n }\n }\n\n // Scrollable dialog body (header/footer stay fixed)\n &.dialog-scrollable[open] {\n display: flex;\n flex-direction: column;\n max-height: calc(100% - var(--dialog-margin) * 2);\n\n .dialog-body {\n overflow-y: auto;\n }\n }\n }\n\n // Dialog sizes\n @each $size, $value in $dialog-sizes {\n .dialog-#{$size} { --dialog-width: #{$value}; }\n }\n\n // Fullscreen dialog\n .dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n\n // Responsive fullscreen dialogs\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n // stylelint-disable-next-line scss/at-function-named-arguments\n $postfix: if(sass($infix != \"\"): #{$infix}-down; else: \"\");\n\n @if $postfix != \"\" {\n @include media-breakpoint-down($breakpoint) {\n .dialog-fullscreen#{$postfix} {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n }\n }\n\n // Dialog header\n .dialog-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding: var(--dialog-header-padding);\n border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n\n .btn-close {\n margin-inline-start: auto;\n }\n }\n\n // Dialog title\n .dialog-title {\n margin-bottom: 0;\n font-size: var(--font-size-md);\n line-height: 1.5;\n }\n\n // Dialog body\n .dialog-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--dialog-padding);\n overflow-y: auto;\n }\n\n // Dialog footer\n .dialog-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: var(--dialog-footer-gap);\n align-items: center;\n justify-content: flex-end;\n padding: var(--dialog-footer-padding);\n border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable scss/dollar-variable-default, custom-property-no-missing-var-function\n$menu-tokens: () !default;\n\n// scss-docs-start menu-tokens\n$menu-tokens: defaults(\n (\n --menu-zindex: #{$zindex-menu},\n --menu-gap: .125rem,\n --menu-min-width: 10rem,\n --menu-padding-x: .25rem,\n --menu-padding-y: .25rem,\n --menu-spacer: .125rem,\n --menu-font-size: var(--font-size-sm),\n --menu-color: var(--fg-body),\n --menu-bg: var(--bg-body),\n // --menu-border-color: var(--border-color-translucent),\n // --menu-border-radius: var(--border-radius-lg),\n // --menu-border-width: var(--border-width),\n --menu-box-shadow: var(--box-shadow),\n // --menu-max-height: none,\n --menu-divider-bg: var(--border-color-translucent),\n --menu-divider-margin-y: .125rem,\n --menu-divider-margin-x: .25rem,\n --menu-item-color: var(--menu-color, var(--fg-body)),\n --menu-item-hover-color: var(--menu-color, var(--fg-body)),\n --menu-item-hover-bg: var(--bg-1),\n --menu-item-active-color: var(--primary-contrast),\n --menu-item-active-bg: var(--primary-bg),\n --menu-item-disabled-color: var(--fg-3),\n --menu-item-gap: .5rem,\n --menu-item-padding-x: .75rem,\n --menu-item-padding-y: .25rem,\n --menu-item-border-radius: var(--border-radius),\n --menu-icon-size: 1rem,\n --menu-image-size: 1.5rem,\n --menu-description-font-size: var(--font-size-xs),\n --menu-check-color: currentcolor,\n --menu-header-color: var(--fg-3),\n --menu-header-padding-x: .75rem,\n --menu-header-padding-y: .25rem,\n ),\n $menu-tokens\n);\n// scss-docs-end menu-tokens\n\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n@layer components {\n .menu {\n @include tokens($menu-tokens);\n\n position: absolute;\n z-index: var(--menu-zindex);\n display: none;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: var(--menu-min-width);\n max-height: var(--menu-max-height, none);\n padding: var(--menu-padding-y) var(--menu-padding-x);\n margin: 0;\n overflow-y: var(--menu-overflow-y, initial);\n overscroll-behavior: contain;\n font-size: var(--menu-font-size);\n color: var(--menu-color);\n text-align: start;\n list-style: none;\n background-color: var(--menu-bg);\n background-clip: padding-box;\n border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n @include border-radius(var(--menu-border-radius, var(--border-radius-lg)));\n @include box-shadow(var(--menu-box-shadow));\n\n &.show {\n display: flex;\n }\n }\n\n .menu-scrollable {\n --menu-max-height: 80dvh;\n --menu-overflow-y: auto;\n }\n\n .menu-translucent {\n --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n\n --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n\n --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n\n background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n\n .menu-divider {\n height: 0;\n margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n overflow: hidden;\n border-block-start: 1px solid var(--menu-divider-bg);\n opacity: 1;\n }\n\n .menu-item {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n width: 100%;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n color: var(--theme-text, var(--menu-item-color));\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n outline: 0;\n @include border-radius(var(--menu-item-border-radius, 0));\n\n &:hover,\n &:focus {\n color: var(--theme-text, var(--menu-item-hover-color));\n @include gradient-bg(var(--theme-bg-subtle, var(--menu-item-hover-bg)));\n }\n\n &.active,\n &:active {\n color: var(--theme-contrast, var(--menu-item-active-color));\n @include gradient-bg(var(--theme-bg, var(--menu-item-active-bg)));\n\n .menu-item-icon {\n color: inherit !important; // stylelint-disable-line declaration-no-important\n }\n }\n\n &.selected {\n font-weight: $font-weight-semibold;\n }\n\n &.disabled,\n &:disabled {\n color: var(--menu-item-disabled-color);\n pointer-events: none;\n background-color: transparent;\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n }\n }\n\n .menu-item-icon {\n flex-shrink: 0;\n align-self: flex-start;\n width: var(--menu-icon-size);\n height: auto;\n margin-top: .125rem;\n }\n\n .menu-image {\n width: var(--menu-image-size);\n height: var(--menu-image-size);\n object-fit: cover;\n @include border-radius(var(--border-radius-sm));\n }\n\n .menu-item-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-width: fit-content;\n }\n\n .menu-item-description {\n font-size: var(--menu-description-font-size);\n font-weight: var(--font-weight-normal);\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n\n .menu-item-check {\n flex-shrink: 0;\n align-self: flex-start;\n margin-block-start: .125rem;\n margin-inline-start: auto;\n color: var(--menu-check-color);\n visibility: hidden;\n\n .selected > & {\n visibility: visible;\n }\n }\n\n .menu-header {\n display: block;\n padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n margin-bottom: 0;\n font-size: var(--font-size-sm);\n color: var(--menu-header-color);\n white-space: nowrap;\n }\n\n .menu-text {\n display: block;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n color: var(--fg-2);\n }\n\n // scss-docs-start submenu\n .submenu {\n position: relative;\n\n > .menu-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n > .menu-item::after {\n display: inline-block;\n flex-shrink: 0;\n width: .375em;\n height: .375em;\n margin-inline-start: auto;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: 0 .125em .125em 0;\n transform: rotate(-45deg);\n\n [dir=\"rtl\"] & {\n transform: rotate(135deg);\n }\n }\n\n > .menu {\n top: 0;\n margin-top: calc(-1 * var(--menu-padding-y));\n }\n\n &:hover > .menu-item,\n &:focus-within > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n\n &.show > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n }\n\n // Mobile stacking: submenu covers the parent menu in-place\n @media (max-width: 575.98px) {\n .submenu:has(.submenu-stacked) {\n position: static;\n }\n\n .submenu-stacked {\n position: absolute;\n inset: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: 0;\n padding: var(--menu-padding-y) var(--menu-padding-x);\n background-color: var(--menu-bg);\n border: 0;\n @include border-radius(0);\n box-shadow: none;\n }\n\n .submenu-back {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--font-weight-semibold, 600);\n color: var(--menu-item-color);\n\n &::before {\n display: inline-block;\n flex-shrink: 0;\n width: .375em;\n height: .375em;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: .125em 0 0 .125em;\n transform: rotate(-45deg);\n\n [dir=\"rtl\"] & {\n border-width: 0 .125em .125em 0;\n }\n }\n }\n\n .submenu-dimmed {\n pointer-events: none;\n filter: blur(2px);\n opacity: .3;\n }\n }\n // scss-docs-end submenu\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n$list-group-tokens: () !default;\n\n// scss-docs-start list-group-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$list-group-tokens: defaults(\n (\n --list-group-color: var(--fg-body),\n --list-group-bg: var(--bg-body),\n --list-group-border-color: var(--border-color),\n --list-group-border-width: var(--border-width),\n --list-group-border-radius: var(--border-radius),\n --list-group-item-padding-x: #{$spacer},\n --list-group-item-padding-y: #{$spacer * .5},\n --list-group-action-color: var(--fg-2),\n --list-group-action-hover-color: var(--fg-1),\n --list-group-action-hover-bg: var(--bg-1),\n --list-group-action-active-color: var(--fg-body),\n --list-group-action-active-bg: var(--bg-2),\n --list-group-disabled-color: var(--fg-3),\n --list-group-disabled-bg: var(--bg-body),\n --list-group-active-color: var(--primary-contrast),\n --list-group-active-bg: var(--primary-bg),\n --list-group-active-border-color: var(--primary-bg),\n ),\n $list-group-tokens\n);\n// scss-docs-end list-group-tokens\n\n@layer components {\n .list-group {\n @include tokens($list-group-tokens);\n\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-inline-start: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius(var(--list-group-border-radius));\n }\n\n .list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n\n > .list-group-item::before {\n // Increments only this instance of the section counter\n content: counters(section, \".\") \". \";\n counter-increment: section;\n }\n }\n\n // Individual list items\n //\n // Use on `li`s or `div`s within the `.list-group` parent.\n\n .list-group-item {\n position: relative;\n display: block;\n padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n color: var(--theme-text, var(--list-group-color));\n // stylelint-disable-next-line scss/at-function-named-arguments\n text-decoration: if(sass($link-decoration == none): null);\n background-color: var(--theme-bg-subtle, var(--list-group-bg));\n border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: var(--list-group-disabled-color);\n pointer-events: none;\n background-color: var(--list-group-disabled-bg);\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: var(--list-group-active-color);\n background-color: var(--list-group-active-bg);\n border-color: var(--list-group-active-border-color);\n }\n\n // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n & + .list-group-item {\n border-block-start-width: 0;\n\n &.active {\n margin-top: calc(-1 * var(--list-group-border-width));\n border-block-start-width: var(--list-group-border-width);\n }\n }\n }\n\n // Interactive list items\n //\n // Use anchor or button elements instead of `li`s or `div`s to create interactive\n // list items. Includes an extra `.active` modifier class for selected items.\n\n .list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: var(--theme-text, var(--list-group-action-color));\n text-align: inherit; // For `<button>`s (anchors inherit)\n text-decoration: none;\n\n &:not(.active) {\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n text-decoration: none;\n background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n }\n\n &:active {\n color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n }\n }\n }\n\n // Horizontal\n //\n // Change the layout of list group items from vertical (default) to horizontal.\n\n @each $breakpoint in map.keys($breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child:not(:last-child) {\n @include border-bottom-start-radius(var(--list-group-border-radius));\n @include border-top-end-radius(0);\n }\n\n &:last-child:not(:first-child) {\n @include border-top-end-radius(var(--list-group-border-radius));\n @include border-bottom-start-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n\n &.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n }\n }\n }\n }\n\n // Flush list items\n //\n // Remove borders and border-radius to keep list group items edge-to-edge. Most\n // useful within other components (e.g., cards).\n\n .list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 var(--list-group-border-width);\n\n &:last-child {\n border-block-end-width: 0;\n }\n }\n }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n$nav-tokens: () !default;\n\n// scss-docs-start nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tokens: defaults(\n (\n --nav-gap: .125rem,\n --nav-link-gap: .5rem,\n --nav-link-align: center,\n --nav-link-justify: center,\n --nav-link-padding-x: .75rem,\n --nav-link-padding-y: .375rem,\n --nav-link-color: var(--fg-2),\n --nav-link-hover-color: var(--fg-1),\n --nav-link-hover-bg: var(--bg-1),\n --nav-link-active-color: var(--fg-body),\n --nav-link-active-bg: var(--bg-2),\n --nav-link-disabled-color: var(--fg-4),\n --nav-link-border-width: var(--border-width),\n --nav-link-transition-property: \"color, background-color, border-color\",\n --nav-link-transition-timing: .15s ease-in-out,\n --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing),\n ),\n $nav-tokens\n);\n// scss-docs-end nav-tokens\n\n$nav-tabs-tokens: () !default;\n\n// scss-docs-start nav-tabs-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tabs-tokens: defaults(\n (\n --nav-tabs-border-width: var(--border-width),\n --nav-tabs-border-color: var(--border-color),\n --nav-tabs-border-radius: var(--border-radius),\n --nav-tabs-link-hover-border-color: var(--border-subtle),\n --nav-tabs-link-active-color: var(--fg-color),\n --nav-tabs-link-active-bg: var(--bg-body),\n --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body),\n ),\n $nav-tabs-tokens\n);\n// scss-docs-end nav-tabs-tokens\n\n$nav-pills-tokens: () !default;\n\n// scss-docs-start nav-pills-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-pills-tokens: defaults(\n (\n --nav-pills-link-active-color: var(--primary-contrast),\n --nav-pills-link-active-bg: var(--primary-bg),\n ),\n $nav-pills-tokens\n);\n// scss-docs-end nav-pills-tokens\n\n$nav-underline-tokens: () !default;\n\n// scss-docs-start nav-underline-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-underline-tokens: defaults(\n (\n --nav-gap: 1rem,\n --nav-link-active-bg: transparent,\n --nav-underline-border-width: .125rem,\n --nav-underline-link-active-color: var(--fg-color),\n ),\n $nav-underline-tokens\n);\n// scss-docs-end nav-underline-tokens\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 @include tokens($nav-tokens);\n\n display: flex;\n flex-wrap: wrap;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n }\n\n .nav-item {\n display: flex;\n }\n\n .nav-link {\n display: flex;\n gap: var(--nav-link-gap);\n align-items: var(--nav-link-align);\n justify-content: var(--nav-link-justify);\n padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n font-weight: var(--nav-link-font-weight);\n color: var(--nav-link-color);\n text-decoration: none;\n white-space: nowrap;\n background: none;\n border: var(--nav-link-border-width) solid transparent;\n @include border-radius(var(--border-radius));\n @include transition(var(--nav-link-transition));\n\n &:hover,\n &:focus {\n color: var(--nav-link-hover-color);\n background-color: var(--nav-link-hover-bg);\n }\n\n &:focus-visible {\n --focus-ring-offset: 1px;\n color: var(--nav-link-hover-color);\n @include focus-ring(true);\n }\n\n &.active,\n &:active {\n color: var(--nav-link-active-color);\n background-color: var(--nav-link-active-bg);\n }\n\n // Disabled state lightens text\n &.disabled,\n &:disabled {\n color: var(--nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n }\n }\n\n //\n // Tabs\n //\n\n .nav-tabs {\n // scss-docs-start nav-tabs-css-vars\n @include tokens($nav-tabs-tokens);\n // scss-docs-end nav-tabs-css-vars\n\n box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n\n .nav-link {\n border: var(--nav-tabs-border-width) solid transparent;\n border-bottom-color: var(--nav-tabs-border-color);\n @include border-bottom-radius(0);\n\n &:hover {\n // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n isolation: isolate;\n border-color: var(--nav-tabs-link-hover-border-color);\n border-bottom-color: var(--nav-tabs-border-color);\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: var(--nav-tabs-link-active-color);\n background-color: var(--nav-tabs-link-active-bg);\n border-color: var(--nav-tabs-link-active-border-color);\n border-bottom-color: var(--nav-tabs-link-active-bg);\n }\n\n .menu {\n margin-top: calc(-1 * var(--nav-tabs-border-width));\n @include border-top-radius(0);\n }\n }\n\n //\n // Pills\n //\n\n .nav-pills {\n // scss-docs-start nav-pills-css-vars\n @include tokens($nav-pills-tokens);\n // scss-docs-end nav-pills-css-vars\n\n .nav-link.active,\n .show > .nav-link {\n color: var(--nav-pills-link-active-color);\n @include gradient-bg(var(--nav-pills-link-active-bg));\n }\n }\n\n //\n // Underline\n //\n\n .nav-underline {\n // scss-docs-start nav-underline-css-vars\n @include tokens($nav-underline-tokens);\n // scss-docs-end nav-underline-css-vars\n\n .nav-link {\n padding-inline: 0;\n border: 0;\n border-block-end: var(--nav-underline-border-width) solid transparent;\n @include border-radius(0);\n\n &:hover,\n &:focus {\n border-block-end-color: currentcolor;\n }\n }\n\n .nav-link.active,\n .show > .nav-link {\n font-weight: $font-weight-bold;\n color: var(--nav-underline-link-active-color);\n border-block-end-color: currentcolor;\n }\n }\n\n //\n // 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 // 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","// Nav Overflow (Priority+ Pattern)\n//\n// A responsive navigation pattern that automatically moves items\n// to an overflow menu when space is limited.\n\n@layer components {\n .nav-overflow {\n flex-wrap: nowrap;\n min-width: 0; // Allow flex child to shrink below content width\n }\n\n // Container item for overflow\n .nav-overflow-item {\n flex-shrink: 0;\n margin-inline-start: auto;\n }\n\n // Hide items that have been moved to overflow\n .nav-overflow [data-bs-nav-overflow=\"true\"] {\n display: none;\n }\n\n // Preserve items that should never overflow\n .nav-overflow-keep {\n flex-shrink: 0;\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n// mdo-do: fix nav-link-height and navbar-brand-height, which we previously calculated with font-size, line-height, and block padding\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start navbar-breakpoints\n$navbar-breakpoints: $breakpoints !default;\n// scss-docs-end navbar-breakpoints\n\n$navbar-tokens: () !default;\n$navbar-dark-tokens: () !default;\n$navbar-nav-tokens: () !default;\n\n// scss-docs-start navbar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-tokens: defaults(\n (\n --navbar-padding-x: 0,\n --navbar-padding-y: .5rem,\n --navbar-color: var(--fg-2),\n --navbar-hover-color: var(--fg-1),\n --navbar-disabled-color: var(--fg-3),\n --navbar-active-color: var(--fg-body),\n --navbar-brand-padding-y: .75rem,\n --navbar-brand-margin-end: 1rem,\n --navbar-brand-font-size: var(--font-size-md),\n --navbar-brand-font-weight: var(--font-weight-medium),\n --navbar-brand-color: var(--fg-body),\n --navbar-brand-hover-color: var(--fg-body),\n --navbar-nav-link-padding-x: .75rem,\n --navbar-toggler-width: 2rem,\n --navbar-toggler-padding-y: .25rem,\n --navbar-toggler-padding-x: .75rem,\n --navbar-toggler-font-size: var(--font-size-lg),\n --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent),\n --navbar-toggler-border-radius: var(--border-radius),\n --navbar-toggler-transition: box-shadow .15s ease-in-out,\n ),\n $navbar-tokens\n);\n// scss-docs-end navbar-tokens\n\n// scss-docs-start navbar-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-dark-tokens: defaults(\n (\n --navbar-color: color-mix(in oklch, var(--white) .55, transparent),\n --navbar-hover-color: color-mix(in oklch, var(--white) .75, transparent),\n --navbar-disabled-color: color-mix(in oklch, var(--white) .25, transparent),\n --navbar-active-color: var(--white),\n --navbar-brand-color: var(--white),\n --navbar-brand-hover-color: var(--white),\n --navbar-toggler-border-color: color-mix(in oklch, var(--white) .1, transparent),\n ),\n $navbar-dark-tokens\n);\n// scss-docs-end navbar-dark-tokens\n\n// scss-docs-start navbar-nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-nav-tokens: defaults(\n (\n --nav-gap: .25rem,\n --nav-link-gap: .5rem,\n --nav-link-padding-x: .5rem,\n --nav-link-padding-y: .375rem,\n --nav-link-color: var(--navbar-color),\n --nav-link-border-width: var(--border-width),\n //--nav-link-border-color: var(--border-color),\n --nav-link-hover-color: var(--navbar-hover-color),\n --nav-link-hover-bg: transparent,\n --nav-link-active-color: var(--navbar-active-color),\n --nav-link-active-bg: transparent,\n --nav-link-disabled-color: var(--navbar-disabled-color),\n ),\n $navbar-nav-tokens\n);\n// scss-docs-end navbar-nav-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n // Base navbar\n .navbar {\n @include tokens($navbar-tokens);\n\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--navbar-padding-y) var(--navbar-padding-x);\n @include set-container();\n color: var(--navbar-color, var(--fg-body));\n @include gradient-bg(var(--navbar-bg, var(--bg-body)));\n\n // Container properties for nested containers\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 // Navbar brand\n //\n // Used for brand, project, or site names.\n .navbar-brand {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n margin-inline-end: var(--navbar-brand-margin-end);\n font-size: var(--navbar-brand-font-size);\n font-weight: var(--navbar-brand-font-weight);\n color: var(--navbar-brand-color);\n text-decoration: none;\n white-space: nowrap;\n\n &:hover,\n &:focus {\n color: var(--navbar-brand-hover-color);\n }\n }\n\n // Navigation within navbars. Sets all nav-link CSS variables needed for\n // proper styling.\n //\n // Relies on `.nav` base class.\n .navbar-nav {\n @include tokens($navbar-nav-tokens);\n\n display: flex;\n flex-direction: column;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n &.active,\n &.show {\n color: var(--navbar-active-color);\n border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n }\n }\n }\n\n // Navbar text\n //\n // For adding text or inline elements to the navbar\n .navbar-text {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n color: var(--navbar-color);\n\n a,\n a:hover,\n a:focus {\n color: var(--navbar-active-color);\n }\n }\n\n // Button for toggling the navbar when in its collapsed state\n .navbar-toggler {\n --btn-bg: transparent;\n --btn-hover-bg: var(--bg-2);\n }\n\n // scss-docs-start navbar-expand-loop\n // Generate series of `.navbar-expand-*` responsive classes for configuring\n // where your navbar collapses and expands. Uses container queries so the\n // navbar responds to its own width, not the viewport width.\n\n // Mixin for expanded state styles (applied to descendants)\n @mixin navbar-expanded {\n // Style the inner container since we can't style .navbar itself with container queries\n > .container,\n > .container-fluid,\n %navbar-expand-container {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n\n .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n\n .navbar-toggler {\n display: none !important; // stylelint-disable-line declaration-no-important\n }\n\n .offcanvas {\n // stylelint-disable declaration-no-important\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n @include box-shadow(none);\n @include transition(none);\n // stylelint-enable declaration-no-important\n\n .offcanvas-header {\n display: none;\n }\n\n .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n }\n\n // Always expanded (no responsive behavior)\n .navbar-expand {\n @include navbar-expanded();\n\n // Also set on navbar itself for non-responsive case\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n\n // Responsive navbar expand classes using container queries\n @include loop-breakpoints-down($navbar-breakpoints) using ($breakpoint, $next, $infix) {\n @if $next {\n .navbar-expand#{$infix} {\n @include container-breakpoint-up($next) {\n @include navbar-expanded();\n }\n }\n }\n }\n // scss-docs-end navbar-expand-loop\n\n .navbar-translucent {\n position: relative;\n background-color: transparent;\n\n &::before {\n position: absolute;\n inset: 0;\n z-index: -1;\n content: \"\";\n background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n background-image: none;\n backdrop-filter: blur(5px) saturate(180%);\n }\n }\n\n .navbar[data-bs-theme=\"dark\"] {\n @include tokens($navbar-dark-tokens);\n }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/backdrop\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$offcanvas-tokens: () !default;\n\n// scss-docs-start offcanvas-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$offcanvas-tokens: defaults(\n (\n --offcanvas-inset: var(--spacer),\n --offcanvas-zindex: #{$zindex-offcanvas},\n --offcanvas-width: 400px,\n --offcanvas-height: 30vh,\n --offcanvas-padding-x: var(--spacer),\n --offcanvas-padding-y: var(--spacer),\n --offcanvas-color: var(--fg-body),\n --offcanvas-bg: var(--bg-body),\n --offcanvas-border-width: var(--border-width),\n --offcanvas-border-color: var(--border-color-translucent),\n --offcanvas-border-radius: var(--border-radius-lg),\n --offcanvas-box-shadow: var(--box-shadow-lg),\n --offcanvas-transition: transform .3s ease-in-out,\n --offcanvas-title-line-height: 1.5,\n ),\n $offcanvas-tokens\n);\n// scss-docs-end offcanvas-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$offcanvas-backdrop-tokens: () !default;\n\n// scss-docs-start offcanvas-backdrop-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$offcanvas-backdrop-tokens: defaults(\n (\n --offcanvas-backdrop-bg: var(--bg-body),\n --offcanvas-backdrop-opacity: 25%,\n --offcanvas-backdrop-blur: 8px,\n ),\n $offcanvas-backdrop-tokens\n);\n// scss-docs-end offcanvas-backdrop-tokens\n\n%offcanvas-css-vars {\n @include tokens($offcanvas-tokens);\n}\n\n@layer components {\n // Apply CSS vars to all offcanvas responsive variants\n @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n .offcanvas#{$infix} {\n @extend %offcanvas-css-vars;\n }\n }\n\n // Responsive offcanvas styles\n @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n .offcanvas#{$infix} {\n @include media-breakpoint-down($next) {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n @include border-radius(var(--offcanvas-border-radius));\n outline: 0;\n @include box-shadow(var(--offcanvas-box-shadow));\n @include transition(var(--offcanvas-transition));\n\n // Placement: Start (left in LTR, right in RTL)\n &:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n\n :root:dir(rtl) & {\n transform: translateX(100%);\n }\n }\n\n // Placement: End (right in LTR, left in RTL)\n &:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n\n :root:dir(rtl) & {\n transform: translateX(-100%);\n }\n }\n\n // Placement: Top\n &:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n\n // Placement: Bottom\n &:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n\n // Fullscreen variant - covers entire viewport\n &:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n\n // Show/hide states\n &.showing,\n &.show:not(.hiding) {\n transform: none;\n }\n\n &.showing,\n &.hiding,\n &.show {\n visibility: visible;\n }\n }\n\n // Above breakpoint - show content inline (for responsive offcanvas)\n @if not ($infix == \"\") {\n @include media-breakpoint-up($next) {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important; // stylelint-disable-line declaration-no-important\n\n .offcanvas-header {\n display: none;\n }\n\n .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important; // stylelint-disable-line declaration-no-important\n }\n }\n }\n }\n }\n\n // Backdrop overlay\n .offcanvas-backdrop {\n @include tokens($offcanvas-backdrop-tokens);\n @include overlay-backdrop($zindex-offcanvas-backdrop, var(--offcanvas-backdrop-bg), var(--offcanvas-backdrop-opacity), var(--offcanvas-backdrop-blur));\n }\n\n .offcanvas-translucent {\n background-color: color-mix(in oklch, var(--offcanvas-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n\n // Header with close button\n .offcanvas-header {\n display: flex;\n align-items: center;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n\n .btn-close {\n padding: calc(var(--offcanvas-padding-y) * .5) calc(var(--offcanvas-padding-x) * .5);\n margin-inline-start: auto;\n margin-inline-end: calc(-.5 * var(--offcanvas-padding-x));\n margin-top: calc(-.5 * var(--offcanvas-padding-y));\n margin-bottom: calc(-.5 * var(--offcanvas-padding-y));\n }\n }\n\n // Title\n .offcanvas-title {\n margin-bottom: 0;\n line-height: var(--offcanvas-title-line-height);\n }\n\n // Scrollable body\n .offcanvas-body {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n gap: var(--offcanvas-padding-y);\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n overflow-y: auto;\n }\n\n // Optional footer\n .offcanvas-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: .5rem;\n align-items: center;\n justify-content: flex-end;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n }\n\n .offcanvas-fit-content {\n inset-block-end: auto;\n }\n}\n","// Shared between modals and offcanvases\n@mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity, $backdrop-blur) {\n position: fixed;\n inset: 0;\n z-index: $zindex;\n background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n @if $backdrop-blur {\n backdrop-filter: blur($backdrop-blur);\n }\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: 1; }\n}\n","@use \"functions\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// mdo-do: Update pagination to support variant themes\n\n// stylelint-disable custom-property-no-missing-var-function\n$pagination-tokens: () !default;\n\n// scss-docs-start pagination-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-tokens: defaults(\n (\n --pagination-min-height: var(--btn-input-min-height),\n --pagination-padding-x: var(--btn-input-padding-x),\n --pagination-padding-y: var(--btn-input-padding-y),\n --pagination-font-size: var(--btn-input-font-size),\n --pagination-color: var(--link-color),\n --pagination-bg: var(--bg-body),\n --pagination-border-width: var(--border-width),\n --pagination-border-color: var(--border-color),\n --pagination-border-radius: var(--btn-input-border-radius),\n --pagination-hover-color: var(--link-hover-color),\n --pagination-hover-bg: var(--bg-1),\n --pagination-hover-border-color: var(--border-color),\n --pagination-focus-color: var(--link-hover-color),\n --pagination-focus-bg: var(--bg-2),\n --pagination-active-color: var(--primary-contrast),\n --pagination-active-bg: var(--primary-bg),\n --pagination-active-border-color: var(--primary-bg),\n --pagination-disabled-color: var(--fg-3),\n --pagination-disabled-bg: var(--bg-2),\n --pagination-disabled-border-color: var(--border-color),\n ),\n $pagination-tokens\n);\n// scss-docs-end pagination-tokens\n\n// scss-docs-start pagination-sizes\n$pagination-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-sizes: defaults(\n (\"sm\", \"lg\"),\n $pagination-sizes\n);\n// scss-docs-end pagination-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n .pagination {\n @include tokens($pagination-tokens);\n\n display: flex;\n @include list-unstyled();\n }\n\n .page-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--pagination-min-height);\n padding: var(--pagination-padding-y) var(--pagination-padding-x);\n font-size: var(--pagination-font-size);\n color: var(--pagination-color);\n text-decoration: none;\n background-color: var(--pagination-bg);\n border: var(--pagination-border-width) solid var(--pagination-border-color);\n @include transition(color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out);\n\n &:hover {\n z-index: 2;\n color: var(--pagination-hover-color);\n background-color: var(--pagination-hover-bg);\n border-color: var(--pagination-hover-border-color);\n }\n\n &:focus-visible {\n z-index: 3;\n color: var(--pagination-focus-color);\n background-color: var(--pagination-focus-bg);\n @include focus-ring(true);\n }\n\n &.active,\n .active > & {\n z-index: 3;\n color: var(--pagination-active-color);\n @include gradient-bg(var(--pagination-active-bg));\n border-color: var(--pagination-active-border-color);\n }\n\n &.disabled,\n .disabled > & {\n color: var(--pagination-disabled-color);\n pointer-events: none;\n background-color: var(--pagination-disabled-bg);\n border-color: var(--pagination-disabled-border-color);\n }\n }\n\n .page-item {\n &:not(:first-child) .page-link {\n margin-inline-start: calc(-1 * var(--pagination-border-width));\n }\n\n &:first-child {\n .page-link {\n @include border-start-radius(var(--pagination-border-radius));\n }\n }\n\n &:last-child {\n .page-link {\n @include border-end-radius(var(--pagination-border-radius));\n }\n }\n }\n\n //\n // Sizing\n //\n\n // scss-docs-start pagination-sizes-loop\n @each $size, $_ in $pagination-sizes {\n .pagination-#{$size} {\n --pagination-min-height: var(--bs-btn-input-#{$size}-min-height);\n --pagination-padding-y: var(--btn-input-#{$size}-padding-y);\n --pagination-padding-x: var(--btn-input-#{$size}-padding-x);\n --pagination-font-size: var(--btn-input-#{$size}-font-size);\n --pagination-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n // scss-docs-end pagination-sizes-loop\n}\n","@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n$placeholder-tokens: () !default;\n\n// scss-docs-start placeholder-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$placeholder-tokens: defaults(\n (\n --placeholder-opacity-max: .5,\n --placeholder-opacity-min: .2,\n ),\n $placeholder-tokens\n);\n// scss-docs-end placeholder-tokens\n\n@layer components {\n .placeholder {\n @include tokens($placeholder-tokens);\n\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: var(--placeholder-opacity-max);\n\n &.btn::before {\n display: inline-block;\n content: \"\";\n }\n }\n\n // Sizing\n .placeholder-xs {\n min-height: .6em;\n }\n\n .placeholder-sm {\n min-height: .8em;\n }\n\n .placeholder-lg {\n min-height: 1.2em;\n }\n\n // Animation\n .placeholder-glow {\n .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n }\n }\n\n @keyframes placeholder-glow {\n 50% {\n opacity: var(--placeholder-opacity-min);\n }\n }\n\n .placeholder-wave {\n mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, $black 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n }\n\n @keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$popover-tokens: () !default;\n\n// scss-docs-start popover-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$popover-tokens: defaults(\n (\n --popover-zindex: #{$zindex-popover},\n --popover-max-width: 280px,\n --popover-font-size: var(--font-size-sm),\n --popover-bg: var(--bg-body),\n --popover-border-width: var(--border-width),\n --popover-border-color: var(--border-color-translucent),\n --popover-border-radius: var(--border-radius-lg),\n --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n --popover-box-shadow: var(--box-shadow),\n --popover-header-padding-x: #{$spacer},\n --popover-header-padding-y: #{$spacer * .75},\n --popover-header-font-size: var(--font-size-sm),\n --popover-header-color: #{$headings-color},\n --popover-header-bg: var(--bg-1),\n --popover-body-padding-x: #{$spacer},\n --popover-body-padding-y: #{$spacer * .75},\n --popover-body-color: var(--fg-body),\n --popover-arrow-width: 1rem,\n --popover-arrow-height: .5rem,\n --popover-arrow-border: var(--popover-border-color),\n ),\n $popover-tokens\n);\n// scss-docs-end popover-tokens\n\n@layer components {\n .popover {\n // scss-docs-start popover-css-vars\n @include tokens($popover-tokens);\n // scss-docs-end popover-css-vars\n\n z-index: var(--popover-zindex);\n display: block;\n max-width: var(--popover-max-width);\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: var(--popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: var(--popover-bg);\n background-clip: padding-box;\n border: var(--popover-border-width) solid var(--popover-border-color);\n @include border-radius(var(--popover-border-radius));\n @include box-shadow(var(--popover-box-shadow));\n\n .popover-arrow {\n display: block;\n width: var(--popover-arrow-width);\n height: var(--popover-arrow-height);\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n }\n }\n }\n\n .bs-popover-top {\n > .popover-arrow {\n bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n &::before,\n &::after {\n border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n }\n\n &::before {\n bottom: 0;\n border-block-start-color: var(--popover-arrow-border);\n }\n\n &::after {\n bottom: var(--popover-border-width);\n border-block-start-color: var(--popover-bg);\n }\n }\n }\n\n .bs-popover-end {\n > .popover-arrow {\n left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n\n &::before,\n &::after {\n border-width: calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n }\n\n &::before {\n left: 0;\n border-inline-end-color: var(--popover-arrow-border);\n }\n\n &::after {\n left: var(--popover-border-width);\n border-inline-end-color: var(--popover-bg);\n }\n }\n }\n\n .bs-popover-bottom {\n > .popover-arrow {\n top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n &::before,\n &::after {\n border-width: 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n }\n\n &::before {\n top: 0;\n border-block-end-color: var(--popover-arrow-border);\n }\n\n &::after {\n top: var(--popover-border-width);\n border-block-end-color: var(--popover-bg);\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--popover-arrow-width);\n margin-inline-start: calc(-.5 * var(--popover-arrow-width));\n content: \"\";\n border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n }\n }\n\n .bs-popover-start {\n > .popover-arrow {\n right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n\n &::before,\n &::after {\n border-width: calc(var(--popover-arrow-width) * .5) 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n }\n\n &::before {\n right: 0;\n border-inline-start-color: var(--popover-arrow-border);\n }\n\n &::after {\n right: var(--popover-border-width);\n border-inline-start-color: var(--popover-bg);\n }\n }\n }\n\n .bs-popover-auto {\n &[data-bs-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[data-bs-placement^=\"right\"] {\n @extend .bs-popover-end;\n }\n &[data-bs-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[data-bs-placement^=\"left\"] {\n @extend .bs-popover-start;\n }\n }\n\n // Offset the popover to account for the popover arrow\n .popover-header {\n padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n margin-bottom: 0; // Reset the default from Reboot\n font-size: var(--popover-header-font-size);\n color: var(--popover-header-color);\n background-color: var(--popover-header-bg);\n border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n @include border-top-radius(var(--popover-inner-border-radius));\n\n &:empty {\n display: none;\n }\n }\n\n .popover-body {\n padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n color: var(--popover-body-color);\n }\n}\n","@use \"config\" as *;\n@use \"functions\" 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 \"mixins/tokens\" as *;\n\n$progress-tokens: () !default;\n\n// scss-docs-start progress-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$progress-tokens: defaults(\n (\n --progress-height: 1rem,\n --progress-font-size: var(--font-size-sm),\n --progress-bg: var(--bg-2),\n --progress-border-radius: var(--border-radius),\n --progress-box-shadow: var(--box-shadow-inset),\n --progress-bar-color: var(--white),\n --progress-bar-bg: var(--primary-bg),\n --progress-bar-transition: width .6s ease,\n --progress-bar-animation: progress-bar-stripes 1s linear infinite,\n ),\n $progress-tokens\n);\n// scss-docs-end progress-tokens\n\n// Disable animation if transitions are disabled\n\n@layer components {\n // scss-docs-start progress-keyframes\n @if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: var(--progress-height); }\n }\n }\n // scss-docs-end progress-keyframes\n\n .progress,\n .progress-stacked {\n @include tokens($progress-tokens);\n\n display: flex;\n height: var(--progress-height);\n overflow: hidden;\n font-size: var(--progress-font-size);\n background-color: var(--progress-bg);\n @include border-radius(var(--progress-border-radius));\n @include box-shadow(var(--progress-box-shadow));\n }\n\n .progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--theme-contrast, var(--progress-bar-color));\n text-align: center;\n white-space: nowrap;\n background-color: var(--theme-bg, var(--progress-bar-bg));\n @include transition(var(--progress-bar-transition));\n }\n\n .progress-bar-striped {\n @include gradient-striped();\n background-size: var(--progress-height) var(--progress-height);\n }\n\n .progress-stacked > .progress {\n overflow: visible;\n }\n\n .progress-stacked > .progress > .progress-bar {\n width: 100%;\n }\n\n @if $enable-transitions {\n .progress-bar-animated {\n animation: var(--progress-bar-animation);\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$spinner-border-tokens: () !default;\n\n// scss-docs-start spinner-border-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-border-tokens: defaults(\n (\n --spinner-width: 2rem,\n --spinner-height: 2rem,\n --spinner-vertical-align: -.125em,\n --spinner-border-width: .25em,\n --spinner-animation-speed: .75s,\n --spinner-animation-name: spinner-border,\n ),\n $spinner-border-tokens\n);\n// scss-docs-end spinner-border-tokens\n\n$spinner-grow-tokens: () !default;\n\n// scss-docs-start spinner-grow-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-grow-tokens: defaults(\n (\n --spinner-width: 2rem,\n --spinner-height: 2rem,\n --spinner-vertical-align: -.125em,\n --spinner-animation-speed: .75s,\n --spinner-animation-name: spinner-grow,\n ),\n $spinner-grow-tokens\n);\n// scss-docs-end spinner-grow-tokens\n\n// stylelint-enable custom-property-no-missing-var-function\n\n//\n// Rotating border\n//\n\n@layer components {\n // mdo-do: Refactor this to assume flex parent and remove `vertical-align`\n .spinner-grow,\n .spinner-border {\n display: inline-block;\n flex-shrink: 0;\n width: var(--spinner-width);\n height: var(--spinner-height);\n vertical-align: var(--spinner-vertical-align);\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n }\n\n // scss-docs-start spinner-border-keyframes\n @keyframes spinner-border {\n to { transform: rotate(360deg); }\n }\n // scss-docs-end spinner-border-keyframes\n\n .spinner-border {\n @include tokens($spinner-border-tokens);\n\n border: var(--spinner-border-width) solid currentcolor;\n border-inline-end-color: transparent;\n }\n\n .spinner-border-sm {\n // scss-docs-start spinner-border-sm-css-vars\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n --spinner-border-width: .2em;\n // scss-docs-end spinner-border-sm-css-vars\n }\n\n //\n // Growing circle\n //\n\n // scss-docs-start spinner-grow-keyframes\n @keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n }\n // scss-docs-end spinner-grow-keyframes\n\n .spinner-grow {\n @include tokens($spinner-grow-tokens);\n\n background-color: currentcolor;\n opacity: 0;\n }\n\n .spinner-grow-sm {\n // scss-docs-start spinner-grow-sm-css-vars\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n // scss-docs-end spinner-grow-sm-css-vars\n }\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --spinner-animation-speed: 1.5s;\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$stepper-tokens: () !default;\n\n// scss-docs-start stepper-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$stepper-tokens: defaults(\n (\n --stepper-size: 2rem,\n --stepper-gap: 1rem,\n --stepper-font-size: var(--font-size-sm),\n --stepper-text-gap: .5rem,\n --stepper-track-size: .125rem,\n --stepper-bg: var(--bg-2),\n --stepper-active-color: var(--primary-contrast),\n --stepper-active-bg: var(--primary-bg),\n ),\n $stepper-tokens\n);\n// scss-docs-end stepper-tokens\n\n// scss-docs-start stepper-horizontal-mixin\n@mixin stepper-horizontal() {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n\n .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n\n &::after {\n inset-block-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n\n &:last-child::after {\n right: 100%;\n }\n }\n}\n// scss-docs-end stepper-horizontal-mixin\n\n@layer components {\n .stepper {\n @include tokens($stepper-tokens);\n\n display: grid;\n grid-auto-rows: 1fr;\n grid-auto-flow: row;\n gap: var(--stepper-gap);\n padding-inline-start: 0;\n list-style: none;\n counter-reset: stepper;\n }\n\n .stepper-item {\n position: relative;\n display: grid;\n grid-template-rows: auto;\n grid-template-columns: var(--stepper-size) auto;\n gap: var(--stepper-text-gap);\n align-items: var(--stepper-align-items, center);\n text-decoration: none;\n\n // The counter\n &::before {\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--stepper-size);\n height: var(--stepper-size);\n padding: .5rem;\n font-size: var(--stepper-font-size);\n font-weight: 600;\n line-height: 1;\n text-align: center;\n content: counter(stepper);\n counter-increment: stepper;\n background-color: var(--stepper-bg);\n @include border-radius(50%);\n }\n\n // Connecting lines\n &::after {\n position: absolute;\n inset-block-start: 50%;\n inset-block-end: 100%;\n inset-inline-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n width: var(--stepper-track-size);\n height: calc(100% + var(--stepper-gap));\n content: \"\";\n background-color: var(--stepper-bg);\n }\n\n // Avoid sibling selector for easier CSS overrides\n &:last-child::after {\n display: none;\n }\n\n &.active {\n &::before,\n &::after {\n color: var(--theme-contrast, var(--stepper-active-color));\n background-color: var(--theme-bg, var(--stepper-active-bg));\n }\n }\n }\n\n // Targets the last .active element from a sequence of active elements\n .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n background-color: var(--stepper-bg);\n }\n\n .stepper-horizontal {\n @include stepper-horizontal();\n }\n\n @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n @if $next {\n .stepper-horizontal#{$infix} {\n @include container-breakpoint-up($next) {\n @include stepper-horizontal();\n }\n }\n }\n }\n\n // scss-docs-start stepper-overflow\n .stepper-overflow {\n container-type: inline-size;\n overflow-x: auto;\n overscroll-behavior-x: contain;\n -webkit-overflow-scrolling: touch;\n\n > .stepper {\n width: max-content;\n min-width: 100%;\n }\n }\n // scss-docs-end stepper-overflow\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$toast-tokens: () !default;\n\n// scss-docs-start toast-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$toast-tokens: defaults(\n (\n --toast-zindex: #{$zindex-toast},\n --toast-padding-x: .75rem,\n --toast-padding-y: .5rem,\n --toast-spacing: #{$container-padding-x},\n --toast-max-width: 350px,\n --toast-font-size: .875rem,\n --toast-color: null,\n --toast-bg: rgba(var(--body-bg-rgb), .85),\n --toast-border-width: var(--border-width),\n --toast-border-color: var(--border-color-translucent),\n --toast-border-radius: var(--border-radius),\n --toast-box-shadow: var(--box-shadow),\n --toast-header-color: var(--fg-3),\n --toast-header-bg: rgba(var(--body-bg-rgb), .85),\n --toast-header-border-color: var(--border-color-translucent),\n ),\n $toast-tokens\n);\n// stylelint-enable custom-property-no-missing-var-function\n// scss-docs-end toast-tokens\n\n@layer components {\n .toast {\n @include tokens($toast-tokens);\n\n width: var(--toast-max-width);\n max-width: 100%;\n font-size: var(--toast-font-size);\n color: var(--toast-color);\n pointer-events: auto;\n background-color: var(--toast-bg);\n background-clip: padding-box;\n border: var(--toast-border-width) solid var(--toast-border-color);\n box-shadow: var(--toast-box-shadow);\n @include border-radius(var(--toast-border-radius));\n\n &.showing {\n opacity: 0;\n }\n\n &:not(.show) {\n display: none;\n }\n }\n\n .toast-container {\n --toast-zindex: #{$zindex-toast};\n\n position: absolute;\n z-index: var(--toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n\n > :not(:last-child) {\n margin-bottom: var(--toast-spacing);\n }\n }\n\n .toast-header {\n display: flex;\n align-items: center;\n padding: var(--toast-padding-y) var(--toast-padding-x);\n color: var(--toast-header-color);\n background-color: var(--toast-header-bg);\n background-clip: padding-box;\n border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n @include border-top-radius(calc(var(--toast-border-radius) - var(--toast-border-width)));\n\n .btn-close {\n margin-inline-start: var(--toast-padding-x);\n margin-inline-end: calc(-.5 * var(--toast-padding-x));\n }\n }\n\n .toast-translucent {\n backdrop-filter: blur(5px) saturate(180%);\n }\n\n .toast-body {\n padding: var(--toast-padding-x);\n word-wrap: break-word;\n }\n}\n","@use \"config\" 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","@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: $icon-link-gap;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n text-underline-offset: $icon-link-underline-offset;\n backface-visibility: hidden;\n\n > .bi {\n flex-shrink: 0;\n width: $icon-link-icon-size;\n height: $icon-link-icon-size;\n fill: currentcolor;\n @include transition($icon-link-icon-transition);\n }\n }\n\n .icon-link-hover {\n &:hover,\n &:focus-visible {\n > .bi {\n transform: var(--icon-link-transform, $icon-link-icon-transform);\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: $zindex-fixed;\n }\n\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: $zindex-fixed;\n }\n\n // Responsive sticky top and bottom\n @each $breakpoint in map.keys($breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $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 \"../layout/breakpoints\" as *;\n\n@layer helpers {\n // scss-docs-start stacks\n .stack-container {\n @include set-container();\n }\n\n [class*=\"hstack\"],\n [class*=\"vstack\"] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n\n @include loop-breakpoints-up() using ($breakpoint, $infix) {\n .vstack#{$infix} {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n .hstack#{$infix} {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n }\n // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n @include generate-theme-classes();\n}\n","@use \"sass:meta\";\n@use \"sass:map\";\n\n@function theme-color-values($key) {\n $result: ();\n\n @each $color-name, $color-map in $theme-colors {\n @if map.has-key($color-map, $key) {\n $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n }\n }\n\n @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n $result: ();\n\n @each $key, $value in $opacities {\n @if $key == 100 {\n // For 100%, use direct variable reference (more efficient)\n $result: map.merge($result, ($key: var($color-var)));\n } @else {\n // For other values, use color-mix()\n $percentage: $key * 1%;\n $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n }\n }\n\n @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n @each $color-name, $color-map in $theme-colors {\n .theme-#{$color-name} {\n @each $key, $value in $color-map {\n --theme-#{$key}: var(--#{$color-name}-#{$key});\n }\n }\n }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n @each $key, $value in $map {\n // stylelint-disable-next-line scss/at-function-named-arguments\n $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n @if meta.type-of($value) == \"map\" {\n @include create-css-vars($value, $current-key);\n } @else {\n --#{$current-key}: #{$value};\n }\n }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n \"primary\": (\n \"base\": var(--blue-500),\n \"text\": light-dark(var(--blue-600), var(--blue-400)),\n \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n \"bg\": var(--blue-500),\n \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n \"border\": light-dark(var(--blue-300), var(--blue-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"accent\": (\n \"base\": var(--indigo-500),\n \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n \"bg\": var(--indigo-500),\n \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"success\": (\n \"base\": var(--green-500),\n \"text\": light-dark(var(--green-600), var(--green-400)),\n \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n \"bg\": var(--green-500),\n \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n \"border\": light-dark(var(--green-300), var(--green-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"danger\": (\n \"base\": var(--red-500),\n \"text\": light-dark(var(--red-600), var(--red-400)),\n \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n \"bg\": var(--red-500),\n \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n \"border\": light-dark(var(--red-300), var(--red-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"warning\": (\n \"base\": var(--yellow-500),\n \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n \"bg\": var(--yellow-500),\n \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"info\": (\n \"base\": var(--cyan-500),\n \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n \"bg\": var(--cyan-500),\n \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"inverse\": (\n \"base\": var(--gray-900),\n \"text\": light-dark(var(--gray-900), var(--gray-200)),\n \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n \"border\": light-dark(var(--gray-400), var(--gray-100)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--white), var(--gray-900))\n ),\n \"secondary\": (\n \"base\": var(--gray-200),\n \"text\": light-dark(var(--gray-600), var(--gray-400)),\n \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n \"border\": light-dark(var(--gray-300), var(--gray-600)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--gray-900), var(--white))\n )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n \"body\": light-dark(var(--white), var(--gray-975)),\n \"1\": light-dark(var(--gray-025), var(--gray-950)),\n \"2\": light-dark(var(--gray-050), var(--gray-900)),\n \"3\": light-dark(var(--gray-100), var(--gray-800)),\n \"4\": light-dark(var(--gray-200), var(--gray-700)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"transparent\": transparent,\n \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n \"body\": light-dark(var(--gray-900), var(--gray-050)),\n \"1\": light-dark(var(--gray-800), var(--gray-200)),\n \"2\": light-dark(var(--gray-700), var(--gray-300)),\n \"3\": light-dark(var(--gray-600), var(--gray-500)),\n \"4\": light-dark(var(--gray-500), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n \"bg\": var(--bg-body),\n \"body\": light-dark(var(--gray-300), var(--gray-800)),\n \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n 10: .1,\n 20: .2,\n 30: .3,\n 40: .4,\n 50: .5,\n 60: .6,\n 70: .7,\n 80: .8,\n 90: .9,\n 100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n\n // Fix for positioned table caption that could become anonymous cells\n &:not(caption) {\n position: absolute !important;\n }\n\n // Fix to prevent overflowing children to become focusable\n * {\n overflow: hidden !important;\n }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n &:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n .stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n inset: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n .text-truncate {\n @include text-truncate();\n }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../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($breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $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 // 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\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n // Validate required keys\n @if not map.has-key($utility, property) {\n @error \"Utility is missing required `property` key: #{$utility}\";\n }\n @if not map.has-key($utility, values) {\n @error \"Utility is missing required `values` key: #{$utility}\";\n }\n\n // Warn on unknown keys (likely typos)\n $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n @each $key in map.keys($utility) {\n @if not list.index($valid-keys, $key) {\n @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n }\n }\n\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selectorType) {\n @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selectorType != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n }\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n // Calculate infix once, before the loop\n // Note: $infix already includes the leading dash from breakpoint-infix()\n // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n // @debug \"Properties type: #{meta.type-of($properties)}\";\n // @debug \"Properties: #{$properties}\";\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n // For property maps, we need to determine the class from the utility definition\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // Use custom CSS variable name if present, otherwise default to `class`\n // mdo-do: restore?\n // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $infix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n // Use the fallback of the first property if no `class` key is used\n @if $customClass != \"\" {\n $selector: \".#{$customClass + $infix + $customClassModifier}\";\n } @else {\n $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["bootstrap.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_config.scss","../../scss/mixins/_border-radius.scss","../../scss/content/_type.scss","../../scss/mixins/_lists.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/content/_prose.scss","../../scss/mixins/_transition.scss","../../scss/layout/_containers.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_focus-ring.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_check.scss","../../scss/forms/_radio.scss","../../scss/forms/_switch.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/forms/_strength.scss","../../scss/forms/_otp-input.scss","../../scss/forms/_form-adorn.scss","../../scss/forms/_chip-input.scss","../../scss/forms/_combobox.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/forms/_validation.scss","../../scss/forms/_form-variables.scss","../../scss/buttons/_button.scss","../../scss/buttons/_button-group.scss","../../scss/buttons/_close.scss","../../scss/_accordion.scss","../../scss/_alert.scss","../../scss/_avatar.scss","../../scss/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_chip.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/mixins/_color-mode.scss","../../scss/_datepicker.scss","../../scss/_dialog.scss","../../scss/_menu.scss","../../scss/_list-group.scss","../../scss/_nav.scss","../../scss/_nav-overflow.scss","../../scss/_navbar.scss","../../scss/_offcanvas.scss","../../scss/mixins/_backdrop.scss","../../scss/_pagination.scss","../../scss/_placeholder.scss","../../scss/_popover.scss","../../scss/_progress.scss","../../scss/_spinner.scss","../../scss/_stepper.scss","../../scss/_toasts.scss","../../scss/_transitions.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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MACE,oBAFS;InBwmEjB;ImBvmEM;MACE,oBAFS;InB2mEjB;ImB1mEM;MACE,qBAFS;InB8mEjB;ImB7mEM;MACE,qBAFS;InBinEjB;EACF;EWtoEE;IQaM;MACE,wBAAA;InB4nER;ImB7nEM;MACE,wBAAA;InB+nER;ImBhoEM;MACE,wBAAA;InBkoER;ImBnoEM;MACE,wBAAA;InBqoER;ImBtoEM;MACE,wBAAA;InBwoER;ImBzoEM;MACE,wBAAA;InB2oER;ImB5oEM;MACE,wBAAA;InB8oER;ImB/oEM;MACE,wBAAA;InBipER;ImBlpEM;MACE,wBAAA;InBopER;ImBrpEM;MACE,yBAAA;InBupER;ImBxpEM;MACE,yBAAA;InB0pER;ImB3pEM;MACE,yBAAA;InB6pER;ImBtpEM;MACE,oBAFS;InB0pEjB;ImBzpEM;MACE,oBAFS;InB6pEjB;ImB5pEM;MACE,oBAFS;InBgqEjB;ImB/pEM;MACE,oBAFS;InBmqEjB;ImBlqEM;MACE,oBAFS;InBsqEjB;ImBrqEM;MACE,oBAFS;InByqEjB;ImBxqEM;MACE,oBAFS;InB4qEjB;ImB3qEM;MACE,oBAFS;InB+qEjB;ImB9qEM;MACE,oBAFS;InBkrEjB;ImBjrEM;MACE,qBAFS;InBqrEjB;ImBprEM;MACE,qBAFS;InBwrEjB;EACF;EW7sEE;IQaM;MACE,wBAAA;InBmsER;ImBpsEM;MACE,wBAAA;InBssER;ImBvsEM;MACE,wBAAA;InBysER;ImB1sEM;MACE,wBAAA;InB4sER;ImB7sEM;MACE,wBAAA;InB+sER;ImBhtEM;MACE,wBAAA;InBktER;ImBntEM;MACE,wBAAA;InBqtER;ImBttEM;MACE,wBAAA;InBwtER;ImBztEM;MACE,wBAAA;InB2tER;ImB5tEM;MACE,yBAAA;InB8tER;ImB/tEM;MACE,yBAAA;InBiuER;ImBluEM;MACE,yBAAA;InBouER;ImB7tEM;MACE,oBAFS;InBiuEjB;ImBhuEM;MACE,oBAFS;InBouEjB;ImBnuEM;MACE,oBAFS;InBuuEjB;ImBtuEM;MACE,oBAFS;InB0uEjB;ImBzuEM;MACE,oBAFS;InB6uEjB;ImB5uEM;MACE,oBAFS;InBgvEjB;ImB/uEM;MACE,oBAFS;InBmvEjB;ImBlvEM;MACE,oBAFS;InBsvEjB;ImBrvEM;MACE,oBAFS;InByvEjB;ImBxvEM;MACE,qBAFS;InB4vEjB;ImB3vEM;MACE,qBAFS;InB+vEjB;EACF;EWpxEE;IQaM;MACE,wBAAA;InB0wER;ImB3wEM;MACE,wBAAA;InB6wER;ImB9wEM;MACE,wBAAA;InBgxER;ImBjxEM;MACE,wBAAA;InBmxER;ImBpxEM;MACE,wBAAA;InBsxER;ImBvxEM;MACE,wBAAA;InByxER;ImB1xEM;MACE,wBAAA;InB4xER;ImB7xEM;MACE,wBAAA;InB+xER;ImBhyEM;MACE,wBAAA;InBkyER;ImBnyEM;MACE,yBAAA;InBqyER;ImBtyEM;MACE,yBAAA;InBwyER;ImBzyEM;MACE,yBAAA;InB2yER;ImBpyEM;MACE,oBAFS;InBwyEjB;ImBvyEM;MACE,oBAFS;InB2yEjB;ImB1yEM;MACE,oBAFS;InB8yEjB;ImB7yEM;MACE,oBAFS;InBizEjB;ImBhzEM;MACE,oBAFS;InBozEjB;ImBnzEM;MACE,oBAFS;InBuzEjB;ImBtzEM;MACE,oBAFS;InB0zEjB;ImBzzEM;MACE,oBAFS;InB6zEjB;ImB5zEM;MACE,oBAFS;InBg0EjB;ImB/zEM;MACE,qBAFS;InBm0EjB;ImBl0EM;MACE,qBAFS;InBs0EjB;EACF;EW31EE;IQaM;MACE,wBAAA;InBi1ER;ImBl1EM;MACE,wBAAA;InBo1ER;ImBr1EM;MACE,wBAAA;InBu1ER;ImBx1EM;MACE,wBAAA;InB01ER;ImB31EM;MACE,wBAAA;InB61ER;ImB91EM;MACE,wBAAA;InBg2ER;ImBj2EM;MACE,wBAAA;InBm2ER;ImBp2EM;MACE,wBAAA;InBs2ER;ImBv2EM;MACE,wBAAA;InBy2ER;ImB12EM;MACE,yBAAA;InB42ER;ImB72EM;MACE,yBAAA;InB+2ER;ImBh3EM;MACE,yBAAA;InBk3ER;ImB32EM;MACE,oBAFS;InB+2EjB;ImB92EM;MACE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E;IAxHI,UA0CG;ElFimQT;EkFnhQE;IAxHI,cA+CO;ElF+lQb;EkFthQE;IAxHI,gBA+CO;ElFkmQb;EkFzhQE;IAxHI,iBA+CO;ElFqmQb;EkF5hQE;IAxHI,gBA+CO;ElFwmQb;EkF/hQE;IAxHI,gBA+CO;ElF2mQb;EkFliQE;IAxHI,kBA+CO;ElF8mQb;EkFriQE;IAxHI,mBA+CO;ElFinQb;EkFxiQE;IAxHI,kBA+CO;ElFonQb;EkF3iQE;IAxHI,gBA+CO;ElFunQb;EkF9iQE;IAxHI,kBA+CO;ElF0nQb;EkFjjQE;IAxHI,mBA+CO;ElF6nQb;EkFpjQE;IAxHI,kBA+CO;ElFgoQb;EkFvjQE;IAxHI,2BA0CG;ElFwoQT;EkF1jQE;IAxHI,oBA0CG;ElF2oQT;EkF7jQE;IAxHI,eA+CO;ElFyoQb;EkFhkQE;IAxHI,qBA+CO;ElF4oQb;EkFnkQE;IAxHI,cA+CO;ElF+oQb;EkFtkQE;IAxHI,aA+CO;ElFkpQb;EkFzkQE;IAxHI,oBA+CO;ElFqpQb;EkF5kQE;IAxHI,cA+CO;ElFwpQb;EkF/kQE;IAxHI,kBA+CO;ElF2pQb;EkFllQE;IAxHI,mBA+CO;ElF8pQb;EkFrlQE;IAxHI,aA+CO;ElFiqQb;EkFxlQE;IAxHI,oBA+CO;ElFoqQb;EkF3lQE;IAxHI,iBA+CO;ElFuqQb;EkF9lQE;IAxHI,kBA+CO;ElF0qQb;EkFjmQE;IAxHI,aA+CO;ElF6qQb;EkFpmQE;IAxHI,gCA0CG;ElFqrQT;EkFvmQE;IAxHI,mCA0CG;ElFwrQT;EkF1mQE;IAxHI,mCA0CG;ElF2rQT;EkF7mQE;IAxHI,gBA0CG;ElF8rQT;EkFhnQE;IAxHI,iKA0CG;ElFisQT;EkFnnQE;IAxHI,qKA0CG;ElFosQT;EkFtnQE;IAxHI,mKA0CG;ElFusQT;EkFznQE;IAxHI,+JA0CG;ElF0sQT;EkF5nQE;IAxHI,qKA0CG;ElF6sQT;EkF/nQE;IAxHI,iKA0CG;ElFgtQT;EkFloQE;IAxHI,qHA0CG;ElFmtQT;EkFroQE;IAxHI,qHA0CG;ElFstQT;EkFxoQE;IAxHI,gBA+CO;ElFotQb;EkF3oQE;IAxHI,kBA+CO;ElFu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xHI,YA0CG;ElF4kRT;EkF9/QE;IAxHI,cA0CG;ElF+kRT;EkFjgRE;IAxHI,cA0CG;ElFklRT;EkFpgRE;IAxHI,eA+CO;ElFglRb;EkFvgRE;IAxHI,iBA+CO;ElFmlRb;EkF1gRE;IAxHI,uBA+CO;ElFslRb;EkF7gRE;IAxHI,2BA0CG;ElF8lRT;EkFhhRE;IAxHI,yBA0CG;ElFimRT;EkFnhRE;IAxHI,uBA0CG;ElFomRT;EkFthRE;IAxHI,8BA0CG;ElFumRT;EkFzhRE;IAxHI,6BA0CG;ElF0mRT;EkF5hRE;IAxHI,6BA0CG;ElF6mRT;EkF/hRE;IAxHI,oBA0CG;ElFgnRT;EkFliRE;IAxHI,kBA0CG;ElFmnRT;EkFriRE;IAxHI,qBA0CG;ElFsnRT;EkFxiRE;IAxHI,sBA0CG;ElFynRT;EkF3iRE;IAxHI,wBA0CG;ElF4nRT;EkF9iRE;IAxHI,sBA0CG;ElF+nRT;EkFjjRE;IAxHI,oBA0CG;ElFkoRT;EkFpjRE;IAxHI,uBA0CG;ElFqoRT;EkFvjRE;IAxHI,qBA0CG;ElFwoRT;EkF1jRE;IAxHI,mBA0CG;ElF2oRT;EkF7jRE;IAxHI,qBA0CG;ElF8oRT;EkFhkRE;IAxHI,oBA0CG;ElFipRT;EkFnkRE;IAxHI,yBA0CG;ElFopRT;EkFtkRE;IAxHI,uBA0CG;ElFupRT;EkFzkRE;IAxHI,qBA0CG;ElF0pRT;EkF5kRE;IAxHI,4BA0CG;ElF6pRT;EkF/kRE;IAxHI,2BA0CG;ElFgqRT;EkFllRE;IAxHI,sBA0CG;ElFmqRT;EkFrlRE;IAxHI,gBA0CG;ElFsqRT;EkFxlRE;IAxHI,sBA0CG;ElFyqRT;EkF3lRE;IAxHI,oBA0CG;ElF4qRT;EkF9lRE;IAxHI,kBA0CG;ElF+qRT;EkFjmRE;IAxHI,oBA0CG;ElFkrRT;EkFpmRE;IAxHI,mBA0CG;ElFqrRT;EkFvmRE;IAxHI,kBA0CG;ElFwrRT;EkF1mRE;IAxHI,gBA0CG;ElF2rRT;EkF7mRE;IAxHI,mBA0CG;ElF8rRT;EkFhnRE;IAxHI,oBA0CG;ElFisRT;EkFnnRE;IAxHI,qCA0CG;ElFosRT;EkFtnRE;IAxHI,qCA0CG;ElFusRT;EkFznRE;IAxHI,qCA0CG;ElF0sRT;EkF5nRE;IAxHI,qCA0CG;ElF6sRT;EkF/nRE;IAxHI,mBA0CG;ElFgtRT;EkFloRE;IAxHI,mBA+CO;ElF8sRb;EkFroRE;IAxHI,sBA+CO;ElFitRb;EkFxoRE;IAxHI,qBA+CO;ElFotRb;EkF3oRE;IAxHI,SA0CG;ElF4tRT;EkF9oRE;IAxHI,QA0CG;ElF+tRT;EkFjpRE;IAxHI,QA0CG;ElFkuRT;EkFppRE;IAxHI,QA0CG;ElFquRT;EkFvpRE;IAxHI,QA0CG;ElFwuRT;EkF1pRE;IAxHI,QA0CG;ElF2uRT;EkF7pRE;IAxHI,QA0CG;ElF8uRT;EkFhqRE;IAxHI,QA0CG;ElFivRT;EkFnqRE;IAxHI,SA0CG;ElFovRT;EkFtqRE;IAxHI,eA0CG;ElFuvRT;EkFzqRE;IAxHI,cA0CG;ElF0vRT;EkF5qRE;IAxHI,YA0CG;ElF6vRT;EkF/qRE;IAxHI,cA0CG;ElFgwRT;EkFlrRE;IAxHI,YA0CG;ElFmwRT;EkFrrRE;IAxHI,YA0CG;ElFswRT;EkFxrRE;IAxHI,gBA0CG;ElFywRT;EkF3rRE;IAxHI,sBA0CG;ElF4wRT;EkF9rRE;IAxHI,qBA0CG;ElF+wRT;EkFjsRE;IAxHI,mBA0CG;ElFkxRT;EkFpsRE;IAxHI,qBA0CG;ElFqxRT;EkFvsRE;IAxHI,mBA0CG;ElFwxRT;EkF1sRE;IAxHI,mBA0CG;ElF2xRT;EkF7sRE;IAxHI,eA0CG;ElF8xRT;EkFhtRE;IAxHI,qBA0CG;ElFiyRT;EkFntRE;IAxHI,oBA0CG;ElFoyRT;EkFttRE;IAxHI,kBA0CG;ElFuyRT;EkFztRE;IAxHI,oBA0CG;ElF0yRT;EkF5tRE;IAxHI,kBA0CG;ElF6yRT;EkF/tRE;IAxHI,kBA0CG;ElFgzRT;EkFluRE;IAxHI,qBA0CG;ElFmzRT;EkFruRE;IAxHI,2BA0CG;ElFszRT;EkFxuRE;IAxHI,0BA0CG;ElFyzRT;EkF3uRE;IAxHI,wBA0CG;ElF4zRT;EkF9uRE;IAxHI,0BA0CG;ElF+zRT;EkFjvRE;IAxHI,wBA0CG;ElFk0RT;EkFpvRE;IAxHI,wBA0CG;ElFq0RT;EkFvvRE;IAxHI,oBA0CG;ElFw0RT;EkF1vRE;IAxHI,0BA0CG;ElF20RT;EkF7vRE;IAxHI,yBA0CG;ElF80RT;EkFhwRE;IAxHI,uBA0CG;ElFi1RT;EkFnwRE;IAxHI,yBA0CG;ElFo1RT;EkFtwRE;IAxHI,uBA0CG;ElFu1RT;EkFzwRE;IAxHI,uBA0CG;ElF01RT;EkF5wRE;IAxHI,mBA0CG;ElF61RT;EkF/wRE;IAxHI,yBA0CG;ElFg2RT;EkFlxRE;IAxHI,wBA0CG;ElFm2RT;EkFrxRE;IAxHI,sBA0CG;ElFs2RT;EkFxxRE;IAxHI,wBA0CG;ElFy2RT;EkF3xRE;IAxHI,sBA0CG;ElF42RT;EkF9xRE;IAxHI,sBA0CG;ElF+2RT;EkFjyRE;IAxHI,sBA0CG;ElFk3RT;EkFpyRE;IAxHI,4BA0CG;ElFq3RT;EkFvyRE;IAxHI,2BA0CG;ElFw3RT;EkF1yRE;IAxHI,yBA0CG;ElF23RT;EkF7yRE;IAxHI,2BA0CG;ElF83RT;EkFhzRE;IAxHI,yBA0CG;ElFi4RT;EkFnzRE;IAxHI,6BA0CG;ElFo4RT;EkFtzRE;IAxHI,4BA0CG;ElFu4RT;EkFzzRE;IAxHI,yBA0CG;ElF04RT;EkF5zRE;IAxHI,UA0CG;ElF64RT;EkF/zRE;IAxHI,gBA0CG;ElFg5RT;EkFl0RE;IAxHI,eA0CG;ElFm5RT;EkFr0RE;IAxHI,aA0CG;ElFs5RT;EkFx0RE;IAxHI,eA0CG;ElFy5RT;EkF30RE;IAxHI,aA0CG;ElF45RT;EkF90RE;IAxHI,iBA0CG;ElF+5RT;EkFj1RE;IAxHI,uBA0CG;ElFk6RT;EkFp1RE;IAxHI,sBA0CG;ElFq6RT;EkFv1RE;IAxHI,oBA0CG;ElFw6RT;EkF11RE;IAxHI,sBA0CG;ElF26RT;EkF71RE;IAxHI,oBA0CG;ElF86RT;EkFh2RE;IAxHI,gBA0CG;ElFi7RT;EkFn2RE;IAxHI,sBA0CG;ElFo7RT;EkFt2RE;IAxHI,qBA0CG;ElFu7RT;EkFz2RE;IAxHI,mBA0CG;ElF07RT;EkF52RE;IAxHI,qBA0CG;ElF67RT;EkF/2RE;IAxHI,mBA0CG;ElFg8RT;EkFl3RE;IA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E;IAxHI,iEA0CG;ElFi6ST;EkF5zSM;IA/IA,iEA0CG;ElFo6ST;EkFt1SE;IAxHI,iEA0CG;ElFu6ST;EkFl0SM;IA/IA,iEA0CG;ElF06ST;EkF51SE;IAxHI,iEA0CG;ElF66ST;EkFx0SM;IA/IA,iEA0CG;ElFg7ST;EkFl2SE;IAxHI,2BA0CG;ElFm7ST;EkF90SM;IA/IA,2BA0CG;ElFs7ST;EkFx2SE;IAxHI,8BA0CG;ElFy7ST;EkFp1SM;IA/IA,8BA0CG;ElF47ST;EkF92SE;IAxHI,6BA0CG;ElF+7ST;EkF11SM;IA/IA,6BA0CG;ElFk8ST;EkFp3SE;IAxHI,8BA0CG;ElFq8ST;EkFh2SM;IA/IA,8BA0CG;ElFw8ST;EkF13SE;IAxHI,yEA0CG;ElF28ST;EkF73SE;IAxHI,wHA0CG;ElF88ST;EkFh4SE;IAxHI,2EA0CG;ElFi9ST;EkFn4SE;IAxHI,uEA0CG;ElFo9ST;EkFt4SE;IAxHI,6EA0CG;ElFu9ST;EkFz4SE;IAxHI,yEA0CG;ElF09ST;EkF54SE;IAxHI,yEA0CG;ElF69ST;EkF/4SE;IAxHI,yEA0CG;ElFg+ST;EkFl5SE;IAxHI,iFA0CG;ElFm+ST;EkF93SM;IA/IA,iFA0CG;ElFs+ST;EkFx5SE;IAxHI,iFA0CG;ElFy+ST;EkFp4SM;IA/IA,iFA0CG;ElF4+ST;EkF95SE;IAxHI,iFA0CG;ElF++ST;EkF14SM;IA/IA,iFA0CG;ElFk/ST;EkFp6SE;IAxHI,iFA0CG;ElFq/ST;EkFh5SM;IA/IA,iFA0CG;ElFw/ST;EkF16SE;IAxHI,iFA0CG;ElF2/ST;EkFt5SM;IA/IA,iFA0CG;ElF8/ST;EkFh7SE;IAxHI,iFA0CG;ElFigTT;EkF55SM;IA/IA,iFA0CG;ElFogTT;EkFt7SE;IAxHI,iFA0CG;ElFugTT;EkFl6SM;IA/IA,iFA0CG;ElF0gTT;EkF57SE;IAxHI,iFA0CG;ElF6gTT;EkFx6SM;IA/IA,iFA0CG;ElFghTT;EkFl8SE;IAxHI,iFA0CG;ElFmhTT;EkF96SM;IA/IA,iFA0CG;ElFshTT;EkFx8SE;IAxHI,2CA0CG;ElFyhTT;EkFp7SM;IA/IA,2CA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TX;IkF15TA;MAxHI,cA+CO;IlFs+TX;IkF75TA;MAxHI,kBA+CO;IlFy+TX;IkFh6TA;MAxHI,mBA+CO;IlF4+TX;IkFn6TA;MAxHI,aA+CO;IlF++TX;IkFt6TA;MAxHI,oBA+CO;IlFk/TX;IkFz6TA;MAxHI,iBA+CO;IlFq/TX;IkF56TA;MAxHI,kBA+CO;IlFw/TX;IkF/6TA;MAxHI,aA+CO;IlF2/TX;IkFl7TA;MAxHI,cA0CG;IlFmgUP;IkFr7TA;MAxHI,mBA+CO;IlFigUX;IkFx7TA;MAxHI,sBA+CO;IlFogUX;IkF37TA;MAxHI,2BA+CO;IlFugUX;IkF97TA;MAxHI,8BA+CO;IlF0gUX;IkFj8TA;MAxHI,YA0CG;IlFkhUP;IkFp8TA;MAxHI,YA0CG;IlFqhUP;IkFv8TA;MAxHI,cA0CG;IlFwhUP;IkF18TA;MAxHI,cA0CG;IlF2hUP;IkF78TA;MAxHI,eA+CO;IlFyhUX;IkFh9TA;MAxHI,iBA+CO;IlF4hUX;IkFn9TA;MAxHI,uBA+CO;IlF+hUX;IkFt9TA;MAxHI,2BA0CG;IlFuiUP;IkFz9TA;MAxHI,yBA0CG;IlF0iUP;IkF59TA;MAxHI,uBA0CG;IlF6iUP;IkF/9TA;MAxHI,8BA0CG;IlFgjUP;IkFl+TA;MAxHI,6BA0CG;IlFmjUP;IkFr+TA;MAxHI,6BA0CG;IlFsjUP;IkFx+TA;MAxHI,oBA0CG;IlFyjUP;IkF3+TA;MAxHI,kBA0CG;IlF4jUP;IkF9+TA;MAxHI,qBA0CG;IlF+jUP;IkFj/TA;MAxHI,sBA0CG;IlFkkUP;IkFp/TA;MAxHI,wBA0CG;IlFqkUP;IkFv/TA;MAxHI,sBA0CG;IlFwkUP;IkF1/TA;MAxHI,oBA0CG;IlF2kUP;IkF7/TA;MAxHI,uBA0CG;IlF8kUP;IkFhgUA;MAxHI,qBA0CG;IlFilUP;IkFngUA;MAxHI,mBA0CG;IlFolUP;IkFtgUA;MAxHI,qBA0CG;IlFulUP;IkFzgUA;MAxHI,oBA0CG;IlF0lUP;IkF5gUA;MAxHI,yBA0CG;IlF6lUP;IkF/gUA;MAxHI,uBA0CG;IlFgmUP;IkFlhUA;MAxHI,qBA0CG;IlFmmUP;IkFrhUA;MAxHI,4BA0CG;IlFsmUP;IkFxhUA;MAxHI,2BA0CG;IlFymUP;IkF3hUA;MAxHI,sBA0CG;IlF4mUP;IkF9hUA;MAxHI,gBA0CG;IlF+mUP;IkFjiUA;MAxHI,sBA0CG;IlFknUP;IkFpiUA;MAxHI,oBA0CG;IlFqnUP;IkFviUA;MAxHI,kBA0CG;IlFwnUP;IkF1iUA;MAxHI,oBA0CG;IlF2nUP;IkF7iUA;MAxHI,mBA0CG;IlF8nUP;IkFhjUA;MAxHI,kBA0CG;IlFioUP;IkFnjUA;MAxHI,gBA0CG;IlFooUP;IkFtjUA;MAxHI,mBA0CG;IlFuoUP;IkFzjUA;MAxHI,oBA0CG;IlF0oUP;IkF5jUA;MAxHI,qCA0CG;IlF6oUP;IkF/jUA;MAxHI,qCA0CG;IlFgpUP;IkFlkUA;MAxHI,qCA0CG;IlFmpUP;IkFrkUA;MAxHI,qCA0CG;IlFspUP;IkFxkUA;MAxHI,mBA0CG;IlFypUP;IkF3kUA;MAxHI,mBA+CO;IlFupUX;IkF9kUA;MAxHI,sBA+CO;IlF0pUX;IkFjlUA;MAxHI,qBA+CO;IlF6pUX;IkFplUA;MAxHI,SA0CG;IlFqqUP;IkFvlUA;MAxHI,QA0CG;IlFwqUP;IkF1lUA;MAxHI,QA0CG;IlF2qUP;IkF7lUA;MAxHI,QA0CG;IlF8qUP;IkFhmUA;MAxHI,QA0CG;IlFirUP;IkFnmUA;MAxHI,QA0CG;IlForUP;IkFtmUA;MAxHI,QA0CG;IlFurUP;IkFzmUA;MAxHI,QA0CG;IlF0rUP;IkF5mUA;MAxHI,SA0CG;IlF6rUP;IkF/mUA;MAxHI,eA0CG;IlFgsUP;IkFlnUA;MAxHI,cA0CG;IlFmsUP;IkFrnUA;MAxHI,YA0CG;IlFssUP;IkFxnUA;MAxHI,cA0CG;IlFysUP;IkF3nUA;MAxHI,YA0CG;IlF4sUP;IkF9nUA;MAxHI,YA0CG;IlF+sUP;IkFjoUA;MAxHI,gBA0CG;IlFktUP;IkFpoUA;MAxHI,sBA0CG;IlFqtUP;IkFvoUA;MAxHI,qBA0CG;IlFwtUP;IkF1oUA;MAxHI,mBA0CG;IlF2tUP;IkF7oUA;MAxHI,qBA0CG;IlF8tUP;IkFhpUA;MAxHI,mBA0CG;IlFiuUP;IkFnpUA;MAxHI,mBA0CG;IlFouUP;IkFtpUA;MAxHI,eA0CG;IlFuuUP;IkFzpUA;MAxHI,qBA0CG;IlF0uUP;IkF5pUA;MAxHI,oBA0CG;IlF6uUP;IkF/pUA;MAxHI,kBA0CG;IlFgvUP;IkFlqUA;MAxHI,oBA0CG;IlFmvUP;IkFrqUA;MAxHI,kBA0CG;IlFsvUP;IkFxqUA;MAxHI,kBA0CG;IlFyvUP;IkF3qUA;MAxHI,qBA0CG;IlF4vUP;IkF9qUA;MAxHI,2BA0CG;IlF+vUP;IkFjrUA;MAxHI,0BA0CG;IlFkwUP;IkFprUA;MAxHI,wBA0CG;IlFqwUP;IkFvrUA;MAxHI,0BA0CG;IlFwwUP;IkF1rUA;MAxHI,wBA0CG;IlF2wUP;IkF7rUA;MAxHI,wBA0CG;IlF8wUP;IkFhsUA;MAxHI,oBA0CG;IlFixUP;IkFnsUA;MAxHI,0BA0CG;IlFoxUP;IkFtsUA;MAxHI,yBA0CG;IlFuxUP;IkFzsUA;MAxHI,uBA0CG;IlF0xUP;IkF5sUA;MAxHI,yBA0CG;IlF6xUP;IkF/sUA;MAxHI,uBA0CG;IlFgyUP;IkFltUA;MAxHI,uBA0CG;IlFmyUP;IkFrtUA;MAxHI,mBA0CG;IlFsyUP;IkFxtUA;MAxHI,yBA0CG;IlFyyUP;IkF3tUA;MAxHI,wBA0CG;IlF4yUP;IkF9tUA;MAxHI,sBA0CG;IlF+yUP;IkFjuUA;MAxHI,wBA0CG;IlFkzUP;IkFpuUA;MAxHI,sBA0CG;IlFqzUP;IkFvuUA;MAxHI,sBA0CG;IlFwzUP;IkF1uUA;MAxHI,sBA0CG;IlF2zUP;IkF7uUA;MAxHI,4BA0CG;IlF8zUP;IkFhvUA;MAxHI,2BA0CG;IlFi0UP;IkFnvUA;MAxHI,yBA0CG;IlFo0UP;IkFtvUA;MAxHI,2BA0CG;IlFu0UP;IkFzvUA;MAxHI,yBA0CG;IlF00UP;IkF5vUA;MAxHI,6BA0CG;IlF60UP;IkF/vUA;MAxHI,4BA0CG;IlFg1UP;IkFlwUA;MAxHI,yBA0CG;IlFm1UP;IkFrwUA;MAxHI,UA0CG;IlFs1UP;IkFxwUA;MAxHI,gBA0CG;IlFy1UP;IkF3wUA;MAxHI,eA0CG;IlF41UP;IkF9wUA;MAxHI,aA0CG;IlF+1UP;IkFjxUA;MAxHI,eA0CG;IlFk2UP;IkFpxUA;MAxHI,aA0CG;IlFq2UP;IkFvxUA;MAxHI,iBA0CG;IlFw2UP;IkF1xUA;MAxHI,uBA0CG;IlF22UP;IkF7xUA;MAxHI,sBA0CG;IlF82UP;IkFhyUA;MAxHI,oBA0CG;IlFi3UP;IkFnyUA;MAxHI,sBA0CG;IlFo3UP;IkFtyUA;MAxHI,oBA0CG;IlFu3UP;IkFzyUA;MAxHI,gBA0CG;IlF03UP;IkF5yUA;MAxHI,sBA0CG;IlF63UP;IkF/yUA;MAxHI,qBA0CG;IlFg4UP;IkFlzUA;MAxHI,mBA0CG;IlFm4UP;IkFrzUA;MAxHI,qBA0CG;IlFs4UP;IkFxzUA;MAxHI,mBA0CG;IlFy4UP;IkF3zUA;MAxHI,sBA0CG;IlF44UP;IkF9zUA;MAxHI,4BA0CG;IlF+4UP;IkFj0UA;MAxHI,2BA0CG;IlFk5UP;IkFp0UA;MAxHI,yBA0CG;IlFq5UP;IkFv0UA;MAxHI,2BA0CG;IlFw5UP;IkF10UA;MAxHI,yBA0CG;IlF25UP;IkF70UA;MAxHI,qBA0CG;IlF85UP;IkFh1UA;MAxHI,2BA0CG;IlFi6UP;IkFn1UA;MAxHI,0BA0CG;IlFo6UP;IkFt1UA;MAxHI,wBA0CG;IlFu6UP;IkFz1UA;MAxHI,0BA0CG;IlF06UP;IkF51UA;MAxHI,wBA0CG;IlF66UP;IkF/1UA;MAxHI,oBA0CG;IlFg7UP;IkFl2UA;MAxHI,0BA0CG;IlFm7UP;IkFr2UA;MAxHI,yBA0CG;IlFs7UP;IkFx2UA;MAxHI,uBA0CG;IlFy7UP;IkF32UA;MAxHI,yBA0CG;IlF47UP;IkF92UA;MAxHI,uBA0CG;IlF+7UP;IkFj3UA;MAxHI,uBA0CG;IlFk8UP;IkFp3UA;MAxHI,6BA0CG;IlFq8UP;IkFv3UA;MAxHI,4BA0CG;IlFw8UP;IkF13UA;MAxHI,0BA0CG;IlF28UP;IkF73UA;MAxHI,4BA0CG;IlF88UP;IkFh4UA;MAxHI,0BA0CG;IlFi9UP;IkFn4UA;MAxHI,MA0CG;IlFo9UP;IkFt4UA;MAxHI,YA0CG;IlFu9UP;IkFz4UA;MAxHI,WA0CG;IlF09UP;IkF54UA;MAxHI,SA0CG;IlF69UP;IkF/4UA;MAxHI,WA0CG;IlFg+UP;IkFl5UA;MAxHI,SA0CG;IlFm+UP;IkFr5UA;MAxHI,UA0CG;IlFs+UP;IkFx5UA;MAxHI,gBA0CG;IlFy+UP;IkF35UA;MAxHI,eA0CG;IlF4+UP;IkF95UA;MAxHI,aA0CG;IlF++UP;IkFj6UA;MAxHI,eA0CG;IlFk/UP;IkFp6UA;MAxHI,aA0CG;IlFq/UP;IkFv6UA;MAxHI,kBA0CG;MA1CH,aA0CG;IlFw/UP;IkF16UA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlF2/UP;IkF76UA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlF8/UP;IkFh7UA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlFigVP;IkFn7UA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlFogVP;IkFt7UA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlFugVP;IkFz7UA;MAxHI,iBA0CG;IlF0gVP;IkF57UA;MAxHI,eA0CG;IlF6gVP;IkF/7UA;MAxHI,kBA0CG;IlFghVP;EACF;EWxgVE;IuEqEA;MAxHI,mBA0CG;IlFqhVP;IkFv8UA;MAxHI,iBA0CG;IlFwhVP;IkF18UA;MAxHI,WA0CG;IlF2hVP;IkF78UA;MAxHI,sBA0CG;MA1CH,mBA0CG;IlF8hVP;IkFh9UA;MAxHI,oBA0CG;MA1CH,iBA0CG;IlFiiVP;IkFn9UA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlFoiVP;IkFt9UA;MAxHI,yBA0CG;MA1CH,sBA0CG;IlFuiVP;IkFz9UA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlF0iVP;IkF59UA;MAxHI,eA+CO;IlFwiVX;IkF/9UA;MAxHI,qBA+CO;IlF2iVX;IkFl+UA;MAxHI,cA+CO;IlF8iVX;IkFr+UA;MAxHI,aA+CO;IlFijVX;IkFx+UA;MAxHI,oBA+CO;IlFojVX;IkF3+UA;MAxHI,cA+CO;IlFujVX;IkF9+UA;MAxHI,kBA+CO;IlF0jVX;IkFj/UA;MAxHI,mBA+CO;IlF6jVX;IkFp/UA;MAxHI,aA+CO;IlFgkVX;IkFv/UA;MAxHI,oBA+CO;IlFmkVX;IkF1/UA;MAxHI,iBA+CO;IlFskVX;IkF7/UA;MAxHI,kBA+CO;IlFykVX;IkFhgVA;MAxHI,aA+CO;IlF4kVX;IkFngVA;MAxHI,cA0CG;IlFolVP;IkFtgVA;MAxHI,mBA+CO;IlFklVX;IkFzgVA;MAxHI,sBA+CO;IlFqlVX;IkF5gVA;MAxHI,2BA+CO;IlFwlVX;IkF/gVA;MAxHI,8BA+CO;IlF2lVX;IkFlhVA;MAxHI,YA0CG;IlFmmVP;IkFrhVA;MAxHI,YA0CG;IlFsmVP;IkFxhVA;MAxHI,cA0CG;IlFymVP;IkF3hVA;MAxHI,cA0CG;IlF4mVP;IkF9hVA;MAxHI,eA+CO;IlF0mVX;IkFjiVA;MAxHI,iBA+CO;IlF6mVX;IkFpiVA;MAxHI,uBA+CO;IlFgnVX;IkFviVA;MAxHI,2BA0CG;IlFwnVP;IkF1iVA;MAxHI,yBA0CG;IlF2nVP;IkF7iVA;MAxHI,uBA0CG;IlF8nVP;IkFhjVA;MAxHI,8BA0CG;IlFioVP;IkFnjVA;MAxHI,6BA0CG;IlFooVP;IkFtjVA;MAxHI,6BA0CG;IlFuoVP;IkFzjVA;MAxHI,oBA0CG;IlF0oVP;IkF5jVA;MAxHI,kBA0CG;IlF6oVP;IkF/jVA;MAxHI,qBA0CG;IlFgpVP;IkFlkVA;MAxHI,sBA0CG;IlFmpVP;IkFrkVA;MAxHI,wBA0CG;IlFspVP;IkFxkVA;MAxHI,sBA0CG;IlFypVP;IkF3kVA;MAxHI,oBA0CG;IlF4pVP;IkF9kVA;MAxHI,uBA0CG;IlF+pVP;IkFjlVA;MAxHI,qBA0CG;IlFkqVP;IkFplVA;MAxHI,mBA0CG;IlFqqVP;IkFvlVA;MAxHI,qBA0CG;IlFwqVP;IkF1lVA;MAxHI,oBA0CG;IlF2qVP;IkF7lVA;MAxHI,yBA0CG;IlF8qVP;IkFhmVA;MAxHI,uBA0CG;IlFirVP;IkFnmVA;MAxHI,qBA0CG;IlForVP;IkFtmVA;MAxHI,4BA0CG;IlFurVP;IkFzmVA;MAxHI,2BA0CG;IlF0rVP;IkF5mVA;MAxHI,sBA0CG;IlF6rVP;IkF/mVA;MAxHI,gBA0CG;IlFgsVP;IkFlnVA;MAxHI,sBA0CG;IlFmsVP;IkFrnVA;MAxHI,oBA0CG;IlFssVP;IkFxnVA;MAxHI,kBA0CG;IlFysVP;IkF3nVA;MAxHI,oBA0CG;IlF4sVP;IkF9nVA;MAxHI,mBA0CG;IlF+sVP;IkFjoVA;MAxHI,kBA0CG;IlFktVP;IkFpoVA;MAxHI,gBA0CG;IlFqtVP;IkFvoVA;MAxHI,mBA0CG;IlFwtVP;IkF1oVA;MAxHI,oBA0CG;IlF2tVP;IkF7oVA;MAxHI,qCA0CG;IlF8tVP;IkFhpVA;MAxHI,qCA0CG;IlFiuVP;IkFnpVA;MAxHI,qCA0CG;IlFouVP;IkFtpVA;MAxHI,qCA0CG;IlFuuVP;IkFzpVA;MAxHI,mBA0CG;IlF0uVP;IkF5pVA;MAxHI,mBA+CO;IlFwuVX;IkF/pVA;MAxHI,sBA+CO;IlF2uVX;IkFlqVA;MAxHI,qBA+CO;IlF8uVX;IkFrqVA;MAxHI,SA0CG;IlFsvVP;IkFxqVA;MAxHI,QA0CG;IlFyvVP;IkF3qVA;MAxHI,QA0CG;IlF4vVP;IkF9qVA;MAxHI,QA0CG;IlF+vVP;IkFjrVA;MAxHI,QA0CG;IlFkwVP;IkFprVA;MAxHI,QA0CG;IlFqwVP;IkFvrVA;MAxHI,QA0CG;IlFwwVP;IkF1rVA;MAxHI,QA0CG;IlF2wVP;IkF7rVA;MAxHI,SA0CG;IlF8wVP;IkFhsVA;MAxHI,eA0CG;IlFixVP;IkFnsVA;MAxHI,cA0CG;IlFoxVP;IkFtsVA;MAxHI,YA0CG;IlFuxVP;IkFzsVA;MAxHI,cA0CG;IlF0xVP;IkF5sVA;MAxHI,YA0CG;IlF6xVP;IkF/sVA;MAxHI,YA0CG;IlFgyVP;IkFltVA;MAxHI,gBA0CG;IlFmyVP;IkFrtVA;MAxHI,sBA0CG;IlFsyVP;IkFxtVA;MAxHI,qBA0CG;IlFyyVP;IkF3tVA;MAxHI,mBA0CG;IlF4yVP;IkF9tVA;MAxHI,qBA0CG;IlF+yVP;IkFjuVA;MAxHI,mBA0CG;IlFkzVP;IkFpuVA;MAxHI,mBA0CG;IlFqzVP;IkFvuVA;MAxHI,eA0CG;IlFwzVP;IkF1uVA;MAxHI,qBA0CG;IlF2zVP;IkF7uVA;MAxHI,oBA0CG;IlF8zVP;IkFhvVA;MAxHI,kBA0CG;IlFi0VP;IkFnvVA;MAxHI,oBA0CG;IlFo0VP;IkFtvVA;MAxHI,kBA0CG;IlFu0VP;IkFzvVA;MAxHI,kBA0CG;IlF00VP;IkF5vVA;MAxHI,qBA0CG;IlF60VP;IkF/vVA;MAxHI,2BA0CG;IlFg1VP;IkFlwVA;MAxHI,0BA0CG;IlFm1VP;IkFrwVA;MAxHI,wBA0CG;IlFs1VP;IkFxwVA;MAxHI,0BA0CG;IlFy1VP;IkF3wVA;MAxHI,wBA0CG;IlF41VP;IkF9wVA;MAxHI,wBA0CG;IlF+1VP;IkFjxVA;MAxHI,oBA0CG;IlFk2VP;IkFpxVA;MAxHI,0BA0CG;IlFq2VP;IkFvxVA;MAxHI,yBA0CG;IlFw2VP;IkF1xVA;MAxHI,uBA0CG;IlF22VP;IkF7xVA;MAxHI,yBA0CG;IlF82VP;IkFhyVA;MAxHI,uBA0CG;IlFi3VP;IkFnyVA;MAxHI,uBA0CG;IlFo3VP;IkFtyVA;MAxHI,mBA0CG;IlFu3VP;IkFzyVA;MAxHI,yBA0CG;IlF03VP;IkF5yVA;MAxHI,wBA0CG;IlF63VP;IkF/yVA;MAxHI,sBA0CG;IlFg4VP;IkFlzVA;MAxHI,wBA0CG;IlFm4VP;IkFrzVA;MAxHI,sBA0CG;IlFs4VP;IkFxzVA;MAxHI,sBA0CG;IlFy4VP;IkF3zVA;MAxHI,sBA0CG;IlF44VP;IkF9zVA;MAxHI,4BA0CG;IlF+4VP;IkFj0VA;MAxHI,2BA0CG;IlFk5VP;IkFp0VA;MAxHI,yBA0CG;IlFq5VP;IkFv0VA;MAxHI,2BA0CG;IlFw5VP;IkF10VA;MAxHI,yBA0CG;IlF25VP;IkF70VA;MAxHI,6BA0CG;IlF85VP;IkFh1VA;MAxHI,4BA0CG;IlFi6VP;IkFn1VA;MAxHI,yBA0CG;IlFo6VP;IkFt1VA;MAxHI,UA0CG;IlFu6VP;IkFz1VA;MAxHI,gBA0CG;IlF06VP;IkF51VA;MAxHI,eA0CG;IlF66VP;IkF/1VA;MAxHI,aA0CG;IlFg7VP;IkFl2VA;MAxHI,eA0CG;IlFm7VP;IkFr2VA;MAxHI,aA0CG;IlFs7VP;IkFx2VA;MAxHI,iBA0CG;IlFy7VP;IkF32VA;MAxHI,uBA0CG;IlF47VP;IkF92VA;MAxHI,sBA0CG;IlF+7VP;IkFj3VA;MAxHI,oBA0CG;IlFk8VP;IkFp3VA;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,8BA+CO;IlF4qWX;IkFnmWA;MAxHI,YA0CG;IlForWP;IkFtmWA;MAxHI,YA0CG;IlFurWP;IkFzmWA;MAxHI,cA0CG;IlF0rWP;IkF5mWA;MAxHI,cA0CG;IlF6rWP;IkF/mWA;MAxHI,eA+CO;IlF2rWX;IkFlnWA;MAxHI,iBA+CO;IlF8rWX;IkFrnWA;MAxHI,uBA+CO;IlFisWX;IkFxnWA;MAxHI,2BA0CG;IlFysWP;IkF3nWA;MAxHI,yBA0CG;IlF4sWP;IkF9nWA;MAxHI,uBA0CG;IlF+sWP;IkFjoWA;MAxHI,8BA0CG;IlFktWP;IkFpoWA;MAxHI,6BA0CG;IlFqtWP;IkFvoWA;MAxHI,6BA0CG;IlFwtWP;IkF1oWA;MAxHI,oBA0CG;IlF2tWP;IkF7oWA;MAxHI,kBA0CG;IlF8tWP;IkFhpWA;MAxHI,qBA0CG;IlFiuWP;IkFnpWA;MAxHI,sBA0CG;IlFouWP;IkFtpWA;MAxHI,wBA0CG;IlFuuWP;IkFzpWA;MAxHI,sBA0CG;IlF0uWP;IkF5pWA;MAxHI,oBA0CG;IlF6uWP;IkF/pWA;MAxHI,uBA0CG;IlFgvWP;IkFlqWA;MAxHI,qBA0CG;IlFmvWP;IkFrqWA;MAxHI,mBA0CG;IlFsvWP;IkFxqWA;MAxHI,qBA0CG;IlFyvWP;IkF3qWA;MAxHI,oBA0CG;IlF4vWP;IkF9qWA;MAxHI,yBA0CG;IlF+vWP;IkFjrWA;MAxHI,uBA0CG;IlFkwWP;IkFprWA;MAxHI,qBA0CG;IlFqwWP;IkFvrWA;MAxHI,4BA0CG;IlFwwWP;IkF1rWA;MAxHI,2BA0CG;IlF2wWP;IkF7rWA;MAxHI,sBA0CG;IlF8wWP;IkFhsWA;MAxHI,gBA0CG;IlFixWP;IkFnsWA;MAxHI,sBA0CG;IlFoxWP;IkFtsWA;MAxHI,oBA0CG;IlFuxWP;IkFzsWA;MAxHI,kBA0CG;IlF0xWP;IkF5sWA;MAxHI,oBA0CG;IlF6xWP;IkF/sWA;MAxHI,mBA0CG;IlFgyWP;IkFltWA;MAxHI,kBA0CG;IlFmyWP;IkFrtWA;MAxHI,gBA0CG;IlFsyWP;IkFxtWA;MAxHI,mBA0CG;IlFyyWP;IkF3tWA;MAxHI,oBA0CG;IlF4yWP;IkF9tWA;MAxHI,qCA0CG;IlF+yWP;IkFjuWA;MAxHI,qCA0CG;IlFkzWP;IkFpuWA;MAxHI,qCA0CG;IlFqzWP;IkFvuWA;MAxHI,qCA0CG;IlFwzWP;IkF1uWA;MAxHI,mBA0CG;IlF2zWP;IkF7uWA;MAxHI,mBA+CO;IlFyzWX;IkFhvWA;MAxHI,sBA+CO;IlF4zWX;IkFnvWA;MAxHI,qBA+CO;IlF+zWX;IkFtvWA;MAxHI,SA0CG;IlFu0WP;IkFzvWA;MAxHI,QA0CG;IlF00WP;IkF5vWA;MAxHI,QA0CG;IlF60WP;IkF/vWA;MAxHI,QA0CG;IlFg1WP;IkFlwWA;MAxHI,QA0CG;IlFm1WP;IkFrwWA;MAxHI,QA0CG;IlFs1WP;IkFxwWA;MAxHI,QA0CG;IlFy1WP;IkF3wWA;MAxHI,QA0CG;IlF41WP;IkF9wWA;MAxHI,SA0CG;IlF+1WP;IkFjxWA;MAxHI,eA0CG;IlFk2WP;IkFpxWA;MAxHI,cA0CG;IlFq2WP;IkFvxWA;MAxHI,YA0CG;IlFw2WP;IkF1xWA;MAxHI,cA0CG;IlF22WP;IkF7xWA;MAxHI,YA0CG;IlF82WP;IkFhyWA;MAxHI,YA0CG;IlFi3WP;IkFnyWA;MAxHI,gBA0CG;IlFo3WP;IkFtyWA;MAxHI,sBA0CG;IlFu3WP;IkFzyWA;MAxHI,qBA0CG;IlF03WP;IkF5yWA;MAxHI,mBA0CG;IlF63WP;IkF/yWA;MAxHI,qBA0CG;IlFg4WP;IkFlzWA;MAxHI,mBA0CG;IlFm4WP;IkFrzWA;MAxHI,mBA0CG;IlFs4WP;IkFxzWA;MAxHI,eA0CG;IlFy4WP;IkF3zWA;MAxHI,qBA0CG;IlF44WP;IkF9zWA;MAxHI,oBA0CG;IlF+4WP;IkFj0WA;MAxHI,kBA0CG;IlFk5WP;IkFp0WA;MAxHI,oBA0CG;IlFq5WP;IkFv0WA;MAxHI,kBA0CG;IlFw5WP;IkF10WA;MAxHI,kBA0CG;IlF25WP;IkF70WA;MAxHI,qBA0CG;IlF85WP;IkFh1WA;MAxHI,2BA0CG;IlFi6WP;IkFn1WA;MAxHI,0BA0CG;IlFo6WP;IkFt1WA;MAxHI,wBA0CG;IlFu6WP;IkFz1WA;MAxHI,0BA0CG;IlF06WP;IkF51WA;MAxHI,wBA0CG;IlF66WP;IkF/1WA;MAxHI,wBA0CG;IlFg7WP;IkFl2WA;MAxHI,oBA0CG;IlFm7WP;IkFr2WA;MAxHI,0BA0CG;IlFs7WP;IkFx2WA;MAxHI,yBA0CG;IlFy7WP;IkF32WA;MAxHI,uBA0CG;IlF47WP;IkF92WA;MAxHI,yBA0CG;IlF+7WP;IkFj3WA;MAxHI,uBA0CG;IlFk8WP;IkFp3WA;MAxHI,uBA0CG;IlFq8WP;IkFv3WA;MAxHI,mBA0CG;IlFw8WP;IkF13WA;MAxHI,yBA0CG;IlF28WP;IkF73WA;MAxHI,wBA0CG;IlF88WP;IkFh4WA;MAxHI,sBA0CG;IlFi9WP;IkFn4WA;MAxHI,wBA0CG;IlFo9WP;IkFt4WA;MAxHI,sBA0CG;IlFu9WP;IkFz4WA;MAxHI,sBA0CG;IlF09WP;IkF54WA;MAxHI,sBA0CG;IlF69WP;IkF/4WA;MAxHI,4BA0CG;IlFg+WP;IkFl5WA;MAxHI,2BA0CG;IlFm+WP;IkFr5WA;MAxHI,yBA0CG;IlFs+WP;IkFx5WA;MAxHI,2BA0CG;IlFy+WP;IkF35WA;MAxHI,yBA0CG;IlF4+WP;IkF95WA;MAxHI,6BA0CG;IlF++WP;IkFj6WA;MAxHI,4BA0CG;IlFk/WP;IkFp6WA;MAxHI,yBA0CG;IlFq/WP;IkFv6WA;MAxHI,UA0CG;IlFw/WP;IkF16WA;MAxHI,gBA0CG;IlF2/WP;IkF76WA;MAxHI,eA0CG;IlF8/WP;IkFh7WA;MAxHI,aA0CG;IlFigXP;IkFn7WA;MAxHI,eA0CG;IlFogXP;IkFt7WA;MAxHI,aA0CG;IlFugXP;IkFz7WA;MAxHI,iBA0CG;IlF0gXP;IkF57WA;MAxHI,uBA0CG;IlF6gXP;IkF/7WA;MAxHI,sBA0CG;IlFghXP;IkFl8WA;MAxHI,oBA0CG;IlFmhXP;IkFr8WA;MAxHI,sBA0CG;IlFshXP;IkFx8WA;MAxHI,oBA0CG;IlFyhXP;IkF38WA;MAxHI,gBA0CG;IlF4hXP;IkF98WA;MAxHI,sBA0CG;IlF+hXP;IkFj9WA;MAxHI,qBA0CG;IlFkiXP;IkFp9WA;MAxHI,mBA0CG;IlFqiXP;IkFv9WA;MAxHI,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+wXX;IkFtsXA;MAxHI,uBA+CO;IlFkxXX;IkFzsXA;MAxHI,2BA0CG;IlF0xXP;IkF5sXA;MAxHI,yBA0CG;IlF6xXP;IkF/sXA;MAxHI,uBA0CG;IlFgyXP;IkFltXA;MAxHI,8BA0CG;IlFmyXP;IkFrtXA;MAxHI,6BA0CG;IlFsyXP;IkFxtXA;MAxHI,6BA0CG;IlFyyXP;IkF3tXA;MAxHI,oBA0CG;IlF4yXP;IkF9tXA;MAxHI,kBA0CG;IlF+yXP;IkFjuXA;MAxHI,qBA0CG;IlFkzXP;IkFpuXA;MAxHI,sBA0CG;IlFqzXP;IkFvuXA;MAxHI,wBA0CG;IlFwzXP;IkF1uXA;MAxHI,sBA0CG;IlF2zXP;IkF7uXA;MAxHI,oBA0CG;IlF8zXP;IkFhvXA;MAxHI,uBA0CG;IlFi0XP;IkFnvXA;MAxHI,qBA0CG;IlFo0XP;IkFtvXA;MAxHI,mBA0CG;IlFu0XP;IkFzvXA;MAxHI,qBA0CG;IlF00XP;IkF5vXA;MAxHI,oBA0CG;IlF60XP;IkF/vXA;MAxHI,yBA0CG;IlFg1XP;IkFlwXA;MAxHI,uBA0CG;IlFm1XP;IkFrwXA;MAxHI,qBA0CG;IlFs1XP;IkFxwXA;MAxHI,4BA0CG;IlFy1XP;IkF3wXA;MAxHI,2BA0CG;IlF41XP;IkF9wXA;MAxHI,sBA0CG;IlF+1XP;IkFjxXA;MAxHI,gBA0CG;IlFk2XP;IkFpxXA;MAxHI,sBA0CG;IlFq2XP;IkFvxXA;MAxHI,oBA0CG;IlFw2XP;IkF1xXA;MAxHI,kBA0CG;IlF22XP;IkF7xXA;MAxHI,oBA0CG;IlF82XP;IkFhyXA;MAxHI,mBA0CG;IlFi3XP;IkFnyXA;MAxHI,kBA0CG;IlFo3XP;IkFtyXA;MAxHI,gBA0CG;IlFu3XP;IkFzyXA;MAxHI,mBA0CG;IlF03XP;IkF5yXA;MAxHI,oBA0CG;IlF63XP;IkF/yXA;MAxHI,qCA0CG;IlFg4XP;IkFlzXA;MAxHI,qCA0CG;IlFm4XP;IkFrzXA;MAxHI,qCA0CG;IlFs4XP;IkFxzXA;MAxHI,qCA0CG;IlFy4XP;IkF3zXA;MAxHI,mBA0CG;IlF44XP;IkF9zXA;MAxHI,mBA+CO;IlF04XX;IkFj0XA;MAxHI,sBA+CO;IlF64XX;IkFp0XA;MAxHI,qBA+CO;IlFg5XX;IkFv0XA;MAxHI,SA0CG;IlFw5XP;IkF10XA;MAxHI,QA0CG;IlF25XP;IkF70XA;MAxHI,QA0CG;IlF85XP;IkFh1XA;MAxHI,QA0CG;IlFi6XP;IkFn1XA;MAxHI,QA0CG;IlFo6XP;IkFt1XA;MAxHI,QA0CG;IlFu6XP;IkFz1XA;MAxHI,QA0CG;IlF06XP;IkF51XA;MAxHI,QA0CG;IlF66XP;IkF/1XA;MAxHI,SA0CG;IlFg7XP;IkFl2XA;MAxHI,eA0CG;IlFm7XP;IkFr2XA;MAxHI,cA0CG;IlFs7XP;IkFx2XA;MAxHI,YA0CG;IlFy7XP;IkF32XA;MAxHI,cA0CG;IlF47XP;IkF92XA;MAxHI,YA0CG;IlF+7XP;IkFj3XA;MAxHI,YA0CG;IlFk8XP;IkFp3XA;MAxHI,gBA0CG;IlFq8XP;IkFv3XA;MAxHI,sBA0CG;IlFw8XP;IkF13XA;MAxHI,qBA0CG;IlF28XP;IkF73XA;MAxHI,mBA0CG;IlF88XP;IkFh4XA;MAxHI,qBA0CG;IlFi9XP;IkFn4XA;MAxHI,mBA0CG;IlFo9XP;IkFt4XA;MAxHI,mBA0CG;IlFu9XP;IkFz4XA;MAxHI,eA0CG;IlF09XP;IkF54XA;MAxHI,qBA0CG;IlF69XP;IkF/4XA;MAxHI,oBA0CG;IlFg+XP;IkFl5XA;MAxHI,kBA0CG;IlFm+XP;IkFr5XA;MAxHI,oBA0CG;IlFs+XP;IkFx5XA;MAxHI,kBA0CG;IlFy+XP;IkF35XA;MAxHI,kBA0CG;IlF4+XP;IkF95XA;MAxHI,qBA0CG;IlF++XP;IkFj6XA;MAxHI,2BA0CG;IlFk/XP;IkFp6XA;MAxHI,0BA0CG;IlFq/XP;IkFv6XA;MAxHI,wBA0CG;IlFw/XP;IkF16XA;MAxHI,0BA0CG;IlF2/XP;IkF76XA;MAxHI,wBA0CG;IlF8/XP;IkFh7XA;MAxHI,wBA0CG;IlFigYP;IkFn7XA;MAxHI,oBA0CG;IlFogYP;IkFt7XA;MAxHI,0BA0CG;IlFugYP;IkFz7XA;MAxHI,yBA0CG;IlF0gYP;IkF57XA;MAxHI,uBA0CG;IlF6gYP;IkF/7XA;MAxHI,yBA0CG;IlFghYP;IkFl8XA;MAxHI,uBA0CG;IlFmhYP;IkFr8XA;MAxHI,uBA0CG;IlFshYP;IkFx8XA;MAxHI,mBA0CG;IlFyhYP;IkF38XA;MAxHI,yBA0CG;IlF4hYP;IkF98XA;MAxHI,wBA0CG;IlF+hYP;IkFj9XA;MAxHI,sBA0CG;IlFkiYP;IkFp9XA;MAxHI,wBA0CG;IlFqiYP;IkFv9XA;MAxHI,sBA0CG;IlFwiYP;IkF19XA;MAxHI,sBA0CG;IlF2iYP;IkF79XA;MAxHI,sBA0CG;IlF8iYP;IkFh+XA;MAxHI,4BA0CG;IlFijYP;IkFn+XA;MAxHI,2BA0CG;IlFojYP;IkFt+XA;MAxHI,yBA0CG;IlFujYP;IkFz+XA;MAxHI,2BA0CG;IlF0jYP;IkF5+XA;MAxHI,yBA0CG;IlF6jYP;IkF/+XA;MAxHI,6BA0CG;IlFgkYP;IkFl/XA;MAxHI,4BA0CG;IlFmkYP;IkFr/XA;MAxHI,yBA0CG;IlFskYP;IkFx/XA;MAxHI,UA0CG;IlFykYP;IkF3/XA;MAxHI,gBA0CG;IlF4kYP;IkF9/XA;MAxHI,eA0CG;IlF+kYP;IkFjgYA;MAxHI,aA0CG;IlFklYP;IkFpgYA;MAxHI,eA0CG;IlFqlYP;IkFvgYA;MAxHI,aA0CG;IlFwlYP;IkF1gYA;MAxHI,iBA0CG;IlF2lYP;IkF7gYA;MAxHI,uBA0CG;IlF8lYP;IkFhhYA;MAxHI,sBA0CG;IlFimYP;IkFnhYA;MAxHI,oBA0CG;IlFomYP;IkFthYA;MAxHI,sBA0CG;IlFumYP;IkFzhYA;MAxHI,oBA0CG;IlF0mYP;IkF5hYA;MAxHI,gBA0CG;IlF6mYP;IkF/hYA;MAxHI,sBA0CG;IlFgnYP;IkFliYA;MAxHI,qBA0CG;IlFmnYP;IkFriYA;MAxHI,mBA0CG;IlFsnYP;IkFxiYA;MAxHI,qBA0CG;IlFynYP;IkF3iYA;MAxHI,mBA0CG;IlF4nYP;IkF9iYA;MAxHI,sBA0CG;IlF+nYP;IkFjjYA;MAxHI,4BA0CG;IlFkoYP;IkFpjYA;MAxHI,2BA0CG;IlFqoYP;IkFvjYA;MAxHI,yBA0CG;IlFwoYP;IkF1jYA;MAxHI,2BA0CG;IlF2oYP;IkF7jYA;MAxHI,yBA0CG;IlF8oYP;IkFhkYA;MAxHI,qBA0CG;IlFipYP;IkFnkYA;MAxHI,2BA0CG;IlFopYP;IkFtkYA;MAxHI,0BA0CG;IlFupYP;IkFzkYA;MAxHI,wBA0CG;IlF0pYP;IkF5kYA;MAxHI,0BA0CG;IlF6pYP;IkF/kYA;MAxHI,wBA0CG;IlFgqYP;IkFllYA;MAxHI,oBA0CG;IlFmqYP;IkFrlYA;MAxHI,0BA0CG;IlFsqYP;IkFxlYA;MAxHI,yBA0CG;IlFyqYP;IkF3lYA;MAxHI,uBA0CG;IlF4qYP;IkF9lYA;MAxHI,yBA0CG;IlF+qYP;IkFjmYA;MAxHI,uBA0CG;IlFkrYP;IkFpmYA;MAxHI,uBA0CG;IlFqrYP;IkFvmYA;MAxHI,6BA0CG;IlFwrYP;IkF1mYA;MAxHI,4BA0CG;IlF2rYP;IkF7mYA;MAxHI,0BA0CG;IlF8rYP;IkFhnYA;MAxHI,4BA0CG;IlFisYP;IkFnnYA;MAxHI,0BA0CG;IlFosYP;IkFtnYA;MAxHI,MA0CG;IlFusYP;IkFznYA;MAxHI,YA0CG;IlF0sYP;IkF5nYA;MAxHI,WA0CG;IlF6sYP;IkF/nYA;MAxHI,SA0CG;IlFgtYP;IkFloYA;MAxHI,WA0CG;IlFmtYP;IkFroYA;MAxHI,SA0CG;IlFstYP;IkFxoYA;MAxHI,UA0CG;IlFytYP;IkF3oYA;MAxHI,gBA0CG;IlF4tYP;IkF9oYA;MAxHI,eA0CG;IlF+tYP;IkFjpYA;MAxHI,aA0CG;IlFkuYP;IkFppYA;MAxHI,eA0CG;IlFquYP;IkFvpYA;MAxHI,aA0CG;IlFwuYP;IkF1pYA;MAxHI,kBA0CG;MA1CH,aA0CG;IlF2uYP;IkF7pYA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlF8uYP;IkFhqYA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlFivYP;IkFnqYA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlFovYP;IkFtqYA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlFuvYP;IkFzqYA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlF0vYP;IkF5qYA;MAxHI,iBA0CG;IlF6vYP;IkF/qYA;MAxHI,eA0CG;IlFgwYP;IkFlrYA;MAxHI,kBA0CG;IlFmwYP;EACF;EW3vYE;IuEqEA;MAxHI,mBA0CG;IlFwwYP;IkF1rYA;MAxHI,iBA0CG;IlF2wYP;IkF7rYA;MAxHI,WA0CG;IlF8wYP;IkFhsYA;MAxHI,sBA0CG;MA1CH,mBA0CG;IlFixYP;IkFnsYA;MAxHI,oBA0CG;MA1CH,iBA0CG;IlFoxYP;IkFtsYA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlFuxYP;IkFzsYA;MAxHI,yBA0CG;MA1CH,sBA0CG;IlF0xYP;IkF5sYA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlF6xYP;IkF/sYA;MAxHI,eA+CO;IlF2xYX;IkFltYA;MAxHI,qBA+CO;IlF8xYX;IkFrtYA;MAxHI,cA+CO;IlFiyYX;IkFxtYA;MAxHI,aA+CO;IlFoyYX;IkF3tYA;MAxHI,oBA+CO;IlFuyYX;IkF9tYA;MAxHI,cA+CO;IlF0yYX;IkFjuYA;MAxHI,kBA+CO;IlF6yYX;IkFpuYA;MAxHI,mBA+CO;IlFgzYX;IkFvuYA;MAxHI,aA+CO;IlFmzYX;IkF1uYA;MAxHI,oBA+CO;IlFszYX;IkF7uYA;MAxHI,iBA+CO;IlFyzYX;IkFhvYA;MAxHI,kBA+CO;IlF4zYX;IkFnvYA;MAxHI,aA+CO;IlF+zYX;IkFtvYA;MAxHI,cA0CG;IlFu0YP;IkFzvYA;MAxHI,mBA+CO;IlFq0YX;IkF5vYA;MAxHI,sBA+CO;IlFw0YX;IkF/vYA;MAxHI,2BA+CO;IlF20YX;IkFlwYA;MAxHI,8BA+CO;IlF80YX;IkFrwYA;MAxHI,YA0CG;IlFs1YP;IkFxwYA;MAxHI,YA0CG;IlFy1YP;IkF3wYA;MAxHI,cA0CG;IlF41YP;IkF9wYA;MAxHI,cA0CG;IlF+1YP;IkFjxYA;MAxHI,eA+CO;IlF61YX;IkFpxYA;MAxHI,iBA+CO;IlFg2YX;IkFvxYA;MAxHI,uBA+CO;IlFm2YX;IkF1xYA;MAxHI,2BA0CG;IlF22YP;IkF7xYA;MAxHI,yBA0CG;IlF82YP;IkFhyYA;MAxHI,uBA0CG;IlFi3YP;IkFnyYA;MAxHI,8BA0CG;IlFo3YP;IkFtyYA;MAxHI,6BA0CG;IlFu3YP;IkFzyYA;MAxHI,6BA0CG;IlF03YP;IkF5yYA;MAxHI,oBA0CG;IlF63YP;IkF/yYA;MAxHI,kBA0CG;IlFg4YP;IkFlzYA;MAxHI,qBA0CG;IlFm4YP;IkFrzYA;MAxHI,sBA0CG;IlFs4YP;IkFxzYA;MAxHI,wBA0CG;IlFy4YP;IkF3zYA;MAxHI,sBA0CG;IlF44YP;IkF9zYA;MAxHI,oBA0CG;IlF+4YP;IkFj0YA;MAxHI,uBA0CG;IlFk5YP;IkFp0YA;MAxHI,qBA0CG;IlFq5YP;IkFv0YA;MAxHI,mBA0CG;IlFw5YP;IkF10YA;MAxHI,qBA0CG;IlF25YP;IkF70YA;MAxHI,oBA0CG;IlF85YP;IkFh1YA;MAxHI,yBA0CG;IlFi6YP;IkFn1YA;MAxHI,uBA0CG;IlFo6YP;IkFt1YA;MAxHI,qBA0CG;IlFu6YP;IkFz1YA;MAxHI,4BA0CG;IlF06YP;IkF51YA;MAxHI,2BA0CG;IlF66YP;IkF/1YA;MAxHI,sBA0CG;IlFg7YP;IkFl2YA;MAxHI,gBA0CG;IlFm7YP;IkFr2YA;MAxHI,sBA0CG;IlFs7YP;IkFx2YA;MAxHI,oBA0CG;IlFy7YP;IkF32YA;MAxHI,kBA0CG;IlF47YP;IkF92YA;MAxHI,oBA0CG;IlF+7YP;IkFj3YA;MAxHI,mBA0CG;IlFk8YP;IkFp3YA;MAxHI,kBA0CG;IlFq8YP;IkFv3YA;MAxHI,gBA0CG;IlFw8YP;IkF13YA;MAxHI,mBA0CG;IlF28YP;IkF73YA;MAxHI,oBA0CG;IlF88YP;IkFh4YA;MAxHI,qCA0CG;IlFi9YP;IkFn4YA;MAxHI,qCA0CG;IlFo9YP;IkFt4YA;MAxHI,qCA0CG;IlFu9YP;IkFz4YA;MAxHI,qCA0CG;IlF09YP;IkF54YA;MAxHI,mBA0CG;IlF69YP;IkF/4YA;MAxHI,mBA+CO;IlF29YX;IkFl5YA;MAxHI,sBA+CO;IlF89YX;IkFr5YA;MAxHI,qBA+CO;IlFi+YX;IkFx5YA;MAxHI,SA0CG;IlFy+YP;IkF35YA;MAxHI,QA0CG;IlF4+YP;IkF95YA;MAxHI,QA0CG;IlF++YP;IkFj6YA;MAxHI,QA0CG;IlFk/YP;IkFp6YA;MAxHI,QA0CG;IlFq/YP;IkFv6YA;MAxHI,QA0CG;IlFw/YP;IkF16YA;MAxHI,QA0CG;IlF2/YP;IkF76YA;MAxHI,QA0CG;IlF8/YP;IkFh7YA;MAxHI,SA0CG;IlFigZP;IkFn7YA;MAxHI,eA0CG;IlFogZP;IkFt7YA;MAxHI,cA0CG;IlFugZP;IkFz7YA;MAxHI,YA0CG;IlF0gZP;IkF57YA;MAxHI,cA0CG;IlF6gZP;IkF/7YA;MAxHI,YA0CG;IlFghZP;IkFl8YA;MAxHI,YA0CG;IlFmhZP;IkFr8YA;MAxHI,gBA0CG;IlFshZP;IkFx8YA;MAxHI,sBA0CG;IlFyhZP;IkF38YA;MAxHI,qBA0CG;IlF4hZP;IkF98YA;MAxHI,mBA0CG;IlF+hZP;IkFj9YA;MAxHI,qBA0CG;IlFkiZP;IkFp9YA;MAxHI,mBA0CG;IlFqiZP;IkFv9YA;MAxHI,mBA0CG;IlFwiZP;IkF19YA;MAxHI,eA0CG;IlF2iZP;IkF79YA;MAxHI,qBA0CG;IlF8iZP;IkFh+YA;MAxHI,oBA0CG;IlFijZP;IkFn+YA;MAxHI,kBA0CG;IlFojZP;IkFt+YA;MAxHI,oBA0CG;IlFujZP;IkFz+YA;MAxHI,kBA0CG;IlF0jZP;IkF5+YA;MAxHI,kBA0CG;IlF6jZP;IkF/+YA;MAxHI,qBA0CG;IlFgkZP;IkFl/YA;MAxHI,2BA0CG;IlFmkZP;IkFr/YA;MAxHI,0BA0CG;IlFskZP;IkFx/YA;MAxHI,wBA0CG;IlFykZP;IkF3/YA;MAxHI,0BA0CG;IlF4kZP;IkF9/YA;MAxHI,wBA0CG;IlF+kZP;IkFjgZA;MAxHI,wBA0CG;IlFklZP;IkFpgZA;MAxHI,oBA0CG;IlFqlZP;IkFvgZA;MAxHI,0BA0CG;IlFwlZP;IkF1gZA;MAxHI,yBA0CG;IlF2lZP;IkF7gZA;MAxHI,uBA0CG;IlF8lZP;IkFhhZA;MAxHI,yBA0CG;IlFimZP;IkFnhZA;MAxHI,uBA0CG;IlFomZP;IkFthZA;MAxHI,uBA0CG;IlFumZP;IkFzhZA;MAxHI,mBA0CG;IlF0mZP;IkF5hZA;MAxHI,yBA0CG;IlF6mZP;IkF/hZA;MAxHI,wBA0CG;IlFgnZP;IkFliZA;MAxHI,sBA0CG;IlFmnZP;IkFriZA;MAxHI,wBA0CG;IlFsnZP;IkFxiZA;MAxHI,sBA0CG;IlFynZP;IkF3iZA;MAxHI,sBA0CG;IlF4nZP;IkF9iZA;MAxHI,sBA0CG;IlF+nZP;IkFjjZA;MAxHI,4BA0CG;IlFkoZP;IkFpjZA;MAxHI,2BA0CG;IlFqoZP;IkFvjZA;MAxHI,yBA0CG;IlFwoZP;IkF1jZA;MAxHI,2BA0CG;IlF2oZP;IkF7jZA;MAxHI,yBA0CG;IlF8oZP;IkFhkZA;MAxHI,6BA0CG;IlFipZP;IkFnkZA;MAxHI,4BA0CG;IlFopZP;IkFtkZA;MAxHI,yBA0CG;IlFupZP;IkFzkZA;MAxHI,UA0CG;IlF0pZP;IkF5kZA;MAxHI,gBA0CG;IlF6pZP;IkF/kZA;MAxHI,eA0CG;IlFgqZP;IkFllZA;MAxHI,aA0CG;IlFmqZP;IkFrlZA;MAxHI,eA0CG;IlFsqZP;IkFxlZA;MAxHI,aA0CG;IlFyqZP;IkF3lZA;MAxHI,iBA0CG;IlF4qZP;IkF9lZA;MAxHI,uBA0CG;IlF+qZP;IkFjmZA;MAxHI,sBA0CG;IlFkrZP;IkFpmZA;MAxHI,oBA0CG;IlFqrZP;IkFvmZA;MAxHI,sBA0CG;IlFwrZP;IkF1mZA;MAxHI,oBA0CG;IlF2rZP;IkF7mZA;MAxHI,gBA0CG;IlF8rZP;IkFhnZA;MAxHI,sBA0CG;IlFisZP;IkFnnZA;MAxHI,qBA0CG;IlFosZP;IkFtnZA;MAxHI,mBA0CG;IlFusZP;IkFznZA;MAxHI,qBA0CG;IlF0sZP;IkF5nZA;MAxHI,mBA0CG;IlF6sZP;IkF/nZA;MAxHI,sBA0CG;IlFgtZP;IkFloZA;MAxHI,4BA0CG;IlFmtZP;IkFroZA;MAxHI,2BA0CG;IlFstZP;IkFxoZA;MAxHI,yBA0CG;IlFytZP;IkF3oZA;MAxHI,2BA0CG;IlF4tZP;IkF9oZA;MAxHI,yBA0CG;IlF+tZP;IkFjpZA;MAxHI,qBA0CG;IlFkuZP;IkFppZA;MAxHI,2BA0CG;IlFquZP;IkFvpZA;MAxHI,0BA0CG;IlFwuZP;IkF1pZA;MAxHI,wBA0CG;IlF2uZP;IkF7pZA;MAxHI,0BA0CG;IlF8uZP;IkFhqZA;MAxHI,wBA0CG;IlFivZP;IkFnqZA;MAxHI,oBA0CG;IlFovZP;IkFtqZA;MAxHI,0BA0CG;IlFuvZP;IkFzqZA;MAxHI,yBA0CG;IlF0vZP;IkF5qZA;MAxHI,uBA0CG;IlF6vZP;IkF/qZA;MAxHI,yBA0CG;IlFgwZP;IkFlrZA;MAxHI,uBA0CG;IlFmwZP;IkFrrZA;MAxHI,uBA0CG;IlFswZP;IkFxrZA;MAxHI,6BA0CG;IlFywZP;IkF3rZA;MAxHI,4BA0CG;IlF4wZP;IkF9rZA;MAxHI,0BA0CG;IlF+wZP;IkFjsZA;MAxHI,4BA0CG;IlFkxZP;IkFpsZA;MAxHI,0BA0CG;IlFqxZP;IkFvsZA;MAxHI,MA0CG;IlFwxZP;IkF1sZA;MAxHI,YA0CG;IlF2xZP;IkF7sZA;MAxHI,WA0CG;IlF8xZP;IkFhtZA;MAxHI,SA0CG;IlFiyZP;IkFntZA;MAxHI,WA0CG;IlFoyZP;IkFttZA;MAxHI,SA0CG;IlFuyZP;IkFztZA;MAxHI,UA0CG;IlF0yZP;IkF5tZA;MAxHI,gBA0CG;IlF6yZP;IkF/tZA;MAxHI,eA0CG;IlFgzZP;IkFluZA;MAxHI,aA0CG;IlFmzZP;IkFruZA;MAxHI,eA0CG;IlFszZP;IkFxuZA;MAxHI,aA0CG;IlFyzZP;IkF3uZA;MAxHI,kBA0CG;MA1CH,aA0CG;IlF4zZP;IkF9uZA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlF+zZP;IkFjvZA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlFk0ZP;IkFpvZA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlFq0ZP;IkFvvZA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlFw0ZP;IkF1vZA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlF20ZP;IkF7vZA;MAxHI,iBA0CG;IlF80ZP;IkFhwZA;MAxHI,eA0CG;IlFi1ZP;IkFnwZA;MAxHI,kBA0CG;IlFo1ZP;EACF;AACF","file":"bootstrap.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n * Bootstrap v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n --blue-500: oklch(60% 0.24 240deg);\n --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n --indigo-500: oklch(56% 0.26 288deg);\n --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n --violet-500: oklch(56% 0.24 300deg);\n --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n --purple-500: oklch(56% 0.24 320deg);\n --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n --pink-500: oklch(60% 0.22 4deg);\n --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n --red-500: oklch(60% 0.22 20deg);\n --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n --orange-500: oklch(70% 0.22 52deg);\n --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n --amber-500: oklch(79% 0.2 78deg);\n --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n --yellow-500: oklch(88% 0.24 88deg);\n --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n --lime-500: oklch(65% 0.24 135deg);\n --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n --green-500: oklch(64% 0.22 160deg);\n --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n --teal-500: oklch(68% 0.22 190deg);\n --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n --cyan-500: oklch(69% 0.22 220deg);\n --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n --brown-500: oklch(60% 0.12 54deg);\n --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n --gray-500: oklch(60% 0.02 245deg);\n --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n --pewter-500: oklch(65% 0.01 290deg);\n --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n --black: #000;\n --white: #fff;\n --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n --font-weight-lighter: lighter;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-bolder: bolder;\n --body-font-family: system-ui;\n --body-font-size: var(--font-size-base);\n --body-font-weight: 400;\n --body-line-height: 1.5;\n --heading-color: inherit;\n --hr-border-color: var(--border-color);\n --link-color: light-dark(var(--primary-base), var(--primary-text));\n --link-decoration: underline;\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --code-font-size: 95%;\n --code-color: var(--fg-2);\n --border-width: 1px;\n --border-style: solid;\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --border-radius: 0.5rem;\n --border-radius-xs: 0.375rem;\n --border-radius-sm: 0.5rem;\n --border-radius-lg: 0.75rem;\n --border-radius-xl: 1rem;\n --border-radius-2xl: 2rem;\n --border-radius-pill: 50rem;\n --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --spacer: 1rem;\n --focus-ring-width: 3px;\n --focus-ring-offset: 1px;\n --focus-ring-color: var(--primary-focus-ring);\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n --control-checked-bg: var(--primary-base);\n --control-checked-border-color: var(--control-checked-bg);\n --control-active-bg: var(--primary-base);\n --control-active-border-color: var(--control-active-bg);\n --control-disabled-bg: var(--bg-3);\n --control-disabled-opacity: 0.65;\n --btn-input-fg: var(--fg-body);\n --btn-input-bg: var(--bg-body);\n --btn-input-min-height: 2.375rem;\n --btn-input-padding-y: 0.375rem;\n --btn-input-padding-x: 0.75rem;\n --btn-input-font-size: var(--font-size-base);\n --btn-input-line-height: var(--line-height-base);\n --btn-input-border-radius: var(--border-radius);\n --btn-input-xs-min-height: 1.5rem;\n --btn-input-xs-padding-y: 0.125rem;\n --btn-input-xs-padding-x: 0.5rem;\n --btn-input-xs-font-size: var(--font-size-xs);\n --btn-input-xs-line-height: 1.125;\n --btn-input-xs-border-radius: var(--border-radius-xs);\n --btn-input-sm-min-height: 2rem;\n --btn-input-sm-padding-y: 0.25rem;\n --btn-input-sm-padding-x: 0.625rem;\n --btn-input-sm-font-size: var(--font-size-sm);\n --btn-input-sm-line-height: var(--line-height-sm);\n --btn-input-sm-border-radius: var(--border-radius-sm);\n --btn-input-lg-min-height: 2.75rem;\n --btn-input-lg-padding-y: 0.5rem;\n --btn-input-lg-padding-x: 1rem;\n --btn-input-lg-font-size: var(--font-size-md);\n --btn-input-lg-line-height: var(--line-height-md);\n --btn-input-lg-border-radius: var(--border-radius-lg);\n --form-valid-color: var(--success-text);\n --form-valid-border-color: var(--success-text);\n --form-invalid-color: var(--danger-text);\n --form-invalid-border-color: var(--danger-text);\n --font-size-xs: 0.75rem;\n --line-height-xs: 1.25;\n --font-size-sm: 0.875rem;\n --line-height-sm: 1.5;\n --font-size-md: 1rem;\n --line-height-md: 1.5;\n --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n --line-height-lg: 1.5;\n --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n --line-height-xl: 1.4285714286;\n --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n --line-height-2xl: 1.3333333333;\n --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n --line-height-3xl: 1.2;\n --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n --line-height-4xl: 1.1;\n --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n --line-height-5xl: 1.1;\n --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n --line-height-6xl: 1;\n --primary-base: var(--blue-500);\n --primary-text: light-dark(var(--blue-600), var(--blue-400));\n --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n --primary-bg: var(--blue-500);\n --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n --primary-border: light-dark(var(--blue-300), var(--blue-600));\n --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n --primary-contrast: var(--white);\n --accent-base: var(--indigo-500);\n --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n --accent-bg: var(--indigo-500);\n --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n --accent-contrast: var(--white);\n --success-base: var(--green-500);\n --success-text: light-dark(var(--green-600), var(--green-400));\n --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n --success-bg: var(--green-500);\n --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n --success-border: light-dark(var(--green-300), var(--green-600));\n --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n --success-contrast: var(--white);\n --danger-base: var(--red-500);\n --danger-text: light-dark(var(--red-600), var(--red-400));\n --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n --danger-bg: var(--red-500);\n --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n --danger-border: light-dark(var(--red-300), var(--red-600));\n --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n --danger-contrast: var(--white);\n --warning-base: var(--yellow-500);\n --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n --warning-bg: var(--yellow-500);\n --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n --warning-contrast: var(--gray-900);\n --info-base: var(--cyan-500);\n --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n --info-bg: var(--cyan-500);\n --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n --info-contrast: var(--gray-900);\n --inverse-base: var(--gray-900);\n --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n --inverse-contrast: light-dark(var(--white), var(--gray-900));\n --secondary-base: var(--gray-200);\n --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n --secondary-contrast: light-dark(var(--gray-900), var(--white));\n --bg-body: light-dark(var(--white), var(--gray-975));\n --bg-1: light-dark(var(--gray-025), var(--gray-950));\n --bg-2: light-dark(var(--gray-050), var(--gray-900));\n --bg-3: light-dark(var(--gray-100), var(--gray-800));\n --bg-4: light-dark(var(--gray-200), var(--gray-700));\n --bg-white: var(--white);\n --bg-black: var(--black);\n --bg-transparent: transparent;\n --bg-inherit: inherit;\n --fg-body: light-dark(var(--gray-900), var(--gray-050));\n --fg-1: light-dark(var(--gray-800), var(--gray-200));\n --fg-2: light-dark(var(--gray-700), var(--gray-300));\n --fg-3: light-dark(var(--gray-600), var(--gray-500));\n --fg-4: light-dark(var(--gray-500), var(--gray-600));\n --fg-white: var(--white);\n --fg-black: var(--black);\n --fg-inherit: inherit;\n --border-bg: var(--bg-body);\n --border-body: light-dark(var(--gray-300), var(--gray-800));\n --border-muted: light-dark(var(--gray-200), var(--gray-800));\n --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n --border-white: var(--white);\n --border-black: var(--black);\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n color-scheme: light;\n}\n\n@layer reboot {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n :root {\n accent-color: var(--primary-base);\n }\n @media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n }\n body {\n margin: 0;\n font-family: var(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n h6,\n .h6, h5,\n .h5, h4,\n .h4, h3,\n .h3, h2,\n .h2, h1,\n .h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n color: var(--heading-color);\n }\n h1,\n .h1 {\n font-size: var(--font-size-3xl);\n }\n h2,\n .h2 {\n font-size: var(--font-size-2xl);\n }\n h3,\n .h3 {\n font-size: var(--font-size-xl);\n }\n h4,\n .h4 {\n font-size: var(--font-size-lg);\n }\n h5,\n .h5 {\n font-size: var(--font-size-md);\n }\n h6,\n .h6 {\n font-size: var(--font-size-sm);\n }\n p {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n abbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n }\n address {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n }\n ol,\n ul {\n padding-inline-start: 2rem;\n }\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n dt {\n font-weight: 700;\n }\n dd {\n margin-inline-start: 0;\n margin-bottom: 0.5rem;\n }\n blockquote {\n margin: 0 0 1rem;\n }\n blockquote > * {\n margin-block: 0;\n }\n b,\n strong {\n font-weight: bolder;\n }\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n mark,\n .mark {\n --mark-padding: 0.1875em;\n --mark-color: var(--fg-body);\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, 0.75em);\n line-height: 0;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n a {\n color: var(--theme-text, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: 0.2em;\n }\n a:hover {\n color: var(--theme-text-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-decoration));\n }\n a:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n }\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em;\n }\n pre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n }\n pre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n code {\n font-size: var(--code-font-size);\n color: var(--code-color);\n word-wrap: break-word;\n }\n a > code {\n color: inherit;\n }\n kbd {\n --kbd-padding-y: 0.125rem;\n --kbd-padding-x: 0.25rem;\n --kbd-font-size: var(--font-size-xs);\n --kbd-color: var(--bg-body);\n --kbd-bg: var(--fg-2);\n --kbd-border-radius: var(--border-radius-sm);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n border-radius: var(--kbd-border-radius);\n }\n kbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: inherit;\n }\n figure {\n margin: 0 0 1rem;\n }\n img,\n svg {\n vertical-align: middle;\n }\n table {\n caption-side: bottom;\n border-collapse: collapse;\n }\n caption {\n padding-block: 0.5rem;\n color: var(--fg-3);\n text-align: start;\n }\n th {\n text-align: inherit;\n text-align: -webkit-match-parent;\n }\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n label {\n display: inline-block;\n }\n button {\n border-radius: 0;\n }\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n button,\n select {\n text-transform: none;\n }\n [role=button] {\n cursor: pointer;\n }\n select {\n word-wrap: normal;\n }\n select:disabled {\n opacity: 1;\n }\n [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n }\n button,\n [type=button],\n [type=reset],\n [type=submit] {\n -webkit-appearance: button;\n }\n button:not(:disabled),\n [type=button]:not(:disabled),\n [type=reset]:not(:disabled),\n [type=submit]:not(:disabled) {\n cursor: pointer;\n }\n ::-moz-focus-inner {\n padding: 0;\n border-style: none;\n }\n textarea {\n resize: vertical;\n }\n fieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n }\n legend {\n float: inline-start;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n }\n legend + * {\n clear: inline-start;\n }\n ::-webkit-datetime-edit-fields-wrapper,\n ::-webkit-datetime-edit-text,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-ampm-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-week-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-year-field {\n padding: 0;\n }\n ::-webkit-inner-spin-button {\n height: auto;\n }\n [type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n [type=search]::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n }\n [type=tel],\n [type=url],\n [type=email],\n [type=number] {\n direction: ltr;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n ::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n }\n output {\n display: inline-block;\n }\n iframe {\n border: 0;\n }\n summary {\n display: list-item;\n cursor: pointer;\n }\n progress {\n vertical-align: baseline;\n }\n [hidden] {\n display: none !important;\n }\n}\n@layer content {\n .list-unstyled {\n padding-inline-start: 0;\n list-style: none;\n }\n .list-inline {\n padding-inline-start: 0;\n list-style: none;\n }\n .list-inline-item {\n display: inline-block;\n }\n .list-inline-item:not(:last-child) {\n margin-inline-end: var(--list-inline-padding, var(--spacer)/2);\n }\n .initialism {\n font-size: var(--initialism-font-size, var(--font-size-xs));\n text-transform: uppercase;\n }\n .blockquote {\n --blockquote-gap: calc(var(--spacer) / 2);\n --blockquote-padding-x: var(--spacer);\n --blockquote-margin-y: 1rem;\n --blockquote-font-size: var(--font-size-md);\n --blockquote-border-width: 0.25rem;\n --blockquote-border-color: var(--border-color);\n --blockquote-footer-font-size: var(--font-size-sm);\n --blockquote-footer-color: var(--fg-3);\n display: flex;\n flex-direction: column;\n gap: var(--blockquote-gap);\n padding-inline-start: var(--blockquote-padding-x);\n margin-bottom: var(--blockquote-margin-y);\n font-size: var(--blockquote-font-size);\n border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n }\n .blockquote > * {\n margin-bottom: 0;\n }\n figure.blockquote blockquote {\n margin-bottom: 0;\n }\n .blockquote-footer {\n font-size: var(--blockquote-footer-font-size);\n color: var(--blockquote-footer-color);\n }\n .blockquote-footer::before {\n content: \"— \";\n }\n}\n@layer content {\n .table {\n --table-cell-padding-y: 0.5rem;\n --table-cell-padding-x: 0.5rem;\n --table-cell-vertical-align: top;\n --table-color: var(--fg-body);\n --table-bg: var(--bg-body);\n --table-accent-bg: transparent;\n --table-border-width: var(--border-width);\n --table-border-color: var(--border-color);\n --table-group-separator-color: currentcolor;\n --table-striped-color: var(--table-color);\n --table-striped-bg-factor: 0.05;\n --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent);\n --table-active-color: var(--table-color);\n --table-active-bg-factor: 0.1;\n --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent);\n --table-hover-color: var(--table-color);\n --table-hover-bg-factor: 0.075;\n --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent);\n --table-color-type: initial;\n --table-bg-type: initial;\n --table-color-state: initial;\n --table-bg-state: initial;\n width: 100%;\n margin-bottom: 1rem;\n vertical-align: var(--table-cell-vertical-align);\n border-color: var(--theme-border, var(--table-border-color));\n }\n .table > :not(caption) > * > * {\n padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n background-color: var(--theme-bg-subtle, var(--table-bg));\n border-block-end-width: var(--table-border-width);\n box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n }\n .table > tbody {\n vertical-align: inherit;\n }\n .table > thead {\n vertical-align: bottom;\n }\n .table-group-divider {\n border-block-start: calc(var(--table-border-width) * 2) solid var(--table-group-separator-color);\n }\n .caption-top {\n caption-side: top;\n }\n .table-sm > :not(caption) > * > * {\n --table-cell-padding-y: .25rem;\n --table-cell-padding-x: .25rem;\n }\n .table-bordered > :not(caption) > * {\n border-width: var(--table-border-width) 0;\n }\n .table-bordered > :not(caption) > * > * {\n border-width: 0 var(--table-border-width);\n }\n .table-borderless > :not(caption) > * > * {\n border-block-end-width: 0;\n }\n .table-borderless > :not(:first-child) {\n border-block-start-width: 0;\n }\n .table-striped > tbody > tr:nth-of-type(odd) > * {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n .table-striped-columns > :not(caption) > tr > :nth-child(even) {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n .table-active {\n --table-color-state: var(--theme-text, var(--table-active-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n }\n .table-hover > tbody > tr:hover > * {\n --table-color-state: var(--theme-text, var(--table-hover-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n }\n .table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n @media (width < 576px) {\n .sm\\:table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 768px) {\n .md\\:table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 1024px) {\n .lg\\:table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 1280px) {\n .xl\\:table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 1536px) {\n .\\32 xl\\:table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n@layer content {\n .img-fluid {\n max-width: 100%;\n height: auto;\n }\n .img-thumbnail {\n --thumbnail-padding: 0.25rem;\n --thumbnail-bg: var(--bg-body);\n --thumbnail-border-width: var(--border-width);\n --thumbnail-border-color: var(--border-color);\n --thumbnail-border-radius: var(--border-radius);\n --thumbnail-box-shadow: var(--box-shadow-sm);\n padding: var(--thumbnail-padding);\n background-color: var(--thumbnail-bg);\n border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n border-radius: var(--thumbnail-border-radius);\n box-shadow: var(--thumbnail-box-shadow);\n max-width: 100%;\n height: auto;\n }\n .figure {\n --figure-gap: calc(var(--spacer) * 0.5);\n --figure-caption-font-size: var(--font-size-sm);\n --figure-caption-color: var(--fg-3);\n display: flex;\n flex-direction: column;\n gap: var(--figure-gap);\n }\n .figure-caption {\n font-size: var(--figure-caption-font-size);\n color: var(--figure-caption-color);\n }\n}\n@layer content {\n .prose {\n --content-font-size: 1rem;\n --content-gap: 20px;\n --heading-color: light-dark(var(--gray-900), var(--white));\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--content-gap);\n max-width: 1000px;\n margin-inline: auto;\n font-size: var(--content-font-size);\n line-height: 1.5;\n }\n @media (width >= 1024px) {\n .prose {\n --content-font-size: var(--font-size-md);\n --content-gap: 24px;\n }\n }\n .prose :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n margin-block: 0;\n }\n .prose :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n margin-bottom: calc(var(--content-gap) / 4);\n }\n .prose :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) / 4);\n }\n .prose :where(hr):not(:where(.not-prose, .not-prose *)) {\n margin: calc(var(--content-gap) * 1.5) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n margin-top: 0;\n margin-bottom: calc(var(--content-gap) / -2);\n font-weight: 500;\n line-height: 1.25;\n }\n .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) code {\n font-weight: 600;\n color: inherit;\n }\n .prose :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * 0.75);\n }\n .prose :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * 0.5);\n }\n .prose :where(h1):not(:where(.not-prose, .not-prose *)) {\n font-size: 2.25em;\n line-height: 1.1;\n }\n .prose :where(h2):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.75em;\n }\n .prose :where(h3):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.5em;\n }\n .prose :where(h4):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.25em;\n }\n .prose :where(h5):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.125em;\n }\n .prose :where(h6):not(:where(.not-prose, .not-prose *)) {\n font-size: 1em;\n }\n .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n color: var(--link-color);\n text-decoration: underline;\n text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n text-underline-offset: 4px;\n transition: 0.1s text-decoration-color ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n transition: none;\n }\n }\n .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)):hover {\n text-decoration-color: var(--link-hover-color);\n }\n .prose :where(img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n .prose :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n padding-inline-start: calc(var(--content-gap) / 2);\n margin: 0;\n border-inline-start: 4px solid var(--border-color);\n }\n .prose :where(table):not(:where(.not-prose, .not-prose *)) {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n }\n .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) td,\n .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) th {\n padding: 6px 12px;\n text-align: inherit;\n border: 1px solid var(--border-color);\n }\n .prose :where(dt):not(:where(.not-prose, .not-prose *)) {\n font-weight: 500;\n }\n .prose :where(video, img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n}\n@layer layout {\n .container,\n .container-fluid,\n .\\32 xl\\:container,\n .xl\\:container,\n .lg\\:container,\n .md\\:container,\n .sm\\:container {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-inline: auto;\n }\n @media (width >= 576px) {\n .sm\\:container, .container {\n max-width: 540px;\n }\n }\n @media (width >= 768px) {\n .md\\:container, .sm\\:container, .container {\n max-width: 720px;\n }\n }\n @media (width >= 1024px) {\n .lg\\:container, .md\\:container, .sm\\:container, .container {\n max-width: 960px;\n }\n }\n @media (width >= 1280px) {\n .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n max-width: 1200px;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:container, .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n max-width: 1440px;\n }\n }\n}\n@layer layout {\n .row {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-inline: calc(-0.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n }\n .row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-top: var(--gutter-y);\n }\n .col {\n flex: 1 0 0;\n }\n .row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-3 {\n margin-inline-start: 25%;\n }\n .offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-6 {\n margin-inline-start: 50%;\n }\n .offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-9 {\n margin-inline-start: 75%;\n }\n .offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-0,\n .gx-0 {\n --gutter-x: 0;\n }\n .g-0,\n .gy-0 {\n --gutter-y: 0;\n }\n .g-1,\n .gx-1 {\n --gutter-x: 0.25rem;\n }\n .g-1,\n .gy-1 {\n --gutter-y: 0.25rem;\n }\n .g-2,\n .gx-2 {\n --gutter-x: 0.5rem;\n }\n .g-2,\n .gy-2 {\n --gutter-y: 0.5rem;\n }\n .g-3,\n .gx-3 {\n --gutter-x: 1rem;\n }\n .g-3,\n .gy-3 {\n --gutter-y: 1rem;\n }\n .g-4,\n .gx-4 {\n --gutter-x: 1.5rem;\n }\n .g-4,\n .gy-4 {\n --gutter-y: 1.5rem;\n }\n .g-5,\n .gx-5 {\n --gutter-x: 3rem;\n }\n .g-5,\n .gy-5 {\n --gutter-y: 3rem;\n }\n @media (width >= 576px) {\n .sm\\:col {\n flex: 1 0 0;\n }\n .sm\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .sm\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .sm\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .sm\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .sm\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .sm\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .sm\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .sm\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .sm\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .sm\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .sm\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .sm\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .sm\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .sm\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .sm\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .sm\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .sm\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .sm\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .sm\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .sm\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .sm\\:offset-0 {\n margin-inline-start: 0;\n }\n .sm\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .sm\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .sm\\:offset-3 {\n margin-inline-start: 25%;\n }\n .sm\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .sm\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .sm\\:offset-6 {\n margin-inline-start: 50%;\n }\n .sm\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .sm\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .sm\\:offset-9 {\n margin-inline-start: 75%;\n }\n .sm\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .sm\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .sm\\:g-0,\n .sm\\:gx-0 {\n --gutter-x: 0;\n }\n .sm\\:g-0,\n .sm\\:gy-0 {\n --gutter-y: 0;\n }\n .sm\\:g-1,\n .sm\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .sm\\:g-1,\n .sm\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .sm\\:g-2,\n .sm\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .sm\\:g-2,\n .sm\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .sm\\:g-3,\n .sm\\:gx-3 {\n --gutter-x: 1rem;\n }\n .sm\\:g-3,\n .sm\\:gy-3 {\n --gutter-y: 1rem;\n }\n .sm\\:g-4,\n .sm\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .sm\\:g-4,\n .sm\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .sm\\:g-5,\n .sm\\:gx-5 {\n --gutter-x: 3rem;\n }\n .sm\\:g-5,\n .sm\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 768px) {\n .md\\:col {\n flex: 1 0 0;\n }\n .md\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .md\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .md\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .md\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .md\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .md\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .md\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .md\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .md\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .md\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .md\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .md\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .md\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .md\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .md\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .md\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .md\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .md\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .md\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .md\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .md\\:offset-0 {\n margin-inline-start: 0;\n }\n .md\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .md\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .md\\:offset-3 {\n margin-inline-start: 25%;\n }\n .md\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .md\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .md\\:offset-6 {\n margin-inline-start: 50%;\n }\n .md\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .md\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .md\\:offset-9 {\n margin-inline-start: 75%;\n }\n .md\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .md\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .md\\:g-0,\n .md\\:gx-0 {\n --gutter-x: 0;\n }\n .md\\:g-0,\n .md\\:gy-0 {\n --gutter-y: 0;\n }\n .md\\:g-1,\n .md\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .md\\:g-1,\n .md\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .md\\:g-2,\n .md\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .md\\:g-2,\n .md\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .md\\:g-3,\n .md\\:gx-3 {\n --gutter-x: 1rem;\n }\n .md\\:g-3,\n .md\\:gy-3 {\n --gutter-y: 1rem;\n }\n .md\\:g-4,\n .md\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .md\\:g-4,\n .md\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .md\\:g-5,\n .md\\:gx-5 {\n --gutter-x: 3rem;\n }\n .md\\:g-5,\n .md\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1024px) {\n .lg\\:col {\n flex: 1 0 0;\n }\n .lg\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .lg\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .lg\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .lg\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .lg\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .lg\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .lg\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .lg\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .lg\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .lg\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .lg\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .lg\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .lg\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .lg\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .lg\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .lg\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .lg\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .lg\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .lg\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .lg\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .lg\\:offset-0 {\n margin-inline-start: 0;\n }\n .lg\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .lg\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .lg\\:offset-3 {\n margin-inline-start: 25%;\n }\n .lg\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .lg\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .lg\\:offset-6 {\n margin-inline-start: 50%;\n }\n .lg\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .lg\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .lg\\:offset-9 {\n margin-inline-start: 75%;\n }\n .lg\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .lg\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .lg\\:g-0,\n .lg\\:gx-0 {\n --gutter-x: 0;\n }\n .lg\\:g-0,\n .lg\\:gy-0 {\n --gutter-y: 0;\n }\n .lg\\:g-1,\n .lg\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .lg\\:g-1,\n .lg\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .lg\\:g-2,\n .lg\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .lg\\:g-2,\n .lg\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .lg\\:g-3,\n .lg\\:gx-3 {\n --gutter-x: 1rem;\n }\n .lg\\:g-3,\n .lg\\:gy-3 {\n --gutter-y: 1rem;\n }\n .lg\\:g-4,\n .lg\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .lg\\:g-4,\n .lg\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .lg\\:g-5,\n .lg\\:gx-5 {\n --gutter-x: 3rem;\n }\n .lg\\:g-5,\n .lg\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1280px) {\n .xl\\:col {\n flex: 1 0 0;\n }\n .xl\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .xl\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .xl\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .xl\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .xl\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .xl\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .xl\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .xl\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .xl\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .xl\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .xl\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .xl\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .xl\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .xl\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .xl\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .xl\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .xl\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .xl\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .xl\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .xl\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .xl\\:offset-0 {\n margin-inline-start: 0;\n }\n .xl\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .xl\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .xl\\:offset-3 {\n margin-inline-start: 25%;\n }\n .xl\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .xl\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .xl\\:offset-6 {\n margin-inline-start: 50%;\n }\n .xl\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .xl\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .xl\\:offset-9 {\n margin-inline-start: 75%;\n }\n .xl\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .xl\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .xl\\:g-0,\n .xl\\:gx-0 {\n --gutter-x: 0;\n }\n .xl\\:g-0,\n .xl\\:gy-0 {\n --gutter-y: 0;\n }\n .xl\\:g-1,\n .xl\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .xl\\:g-1,\n .xl\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .xl\\:g-2,\n .xl\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .xl\\:g-2,\n .xl\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .xl\\:g-3,\n .xl\\:gx-3 {\n --gutter-x: 1rem;\n }\n .xl\\:g-3,\n .xl\\:gy-3 {\n --gutter-y: 1rem;\n }\n .xl\\:g-4,\n .xl\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .xl\\:g-4,\n .xl\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .xl\\:g-5,\n .xl\\:gx-5 {\n --gutter-x: 3rem;\n }\n .xl\\:g-5,\n .xl\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:col {\n flex: 1 0 0;\n }\n .\\32 xl\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .\\32 xl\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .\\32 xl\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .\\32 xl\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .\\32 xl\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .\\32 xl\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .\\32 xl\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .\\32 xl\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .\\32 xl\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .\\32 xl\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .\\32 xl\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .\\32 xl\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .\\32 xl\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .\\32 xl\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .\\32 xl\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .\\32 xl\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .\\32 xl\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .\\32 xl\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .\\32 xl\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .\\32 xl\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .\\32 xl\\:offset-0 {\n margin-inline-start: 0;\n }\n .\\32 xl\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .\\32 xl\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .\\32 xl\\:offset-3 {\n margin-inline-start: 25%;\n }\n .\\32 xl\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .\\32 xl\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .\\32 xl\\:offset-6 {\n margin-inline-start: 50%;\n }\n .\\32 xl\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .\\32 xl\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .\\32 xl\\:offset-9 {\n margin-inline-start: 75%;\n }\n .\\32 xl\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .\\32 xl\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .\\32 xl\\:g-0,\n .\\32 xl\\:gx-0 {\n --gutter-x: 0;\n }\n .\\32 xl\\:g-0,\n .\\32 xl\\:gy-0 {\n --gutter-y: 0;\n }\n .\\32 xl\\:g-1,\n .\\32 xl\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .\\32 xl\\:g-1,\n .\\32 xl\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .\\32 xl\\:g-2,\n .\\32 xl\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .\\32 xl\\:g-2,\n .\\32 xl\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .\\32 xl\\:g-3,\n .\\32 xl\\:gx-3 {\n --gutter-x: 1rem;\n }\n .\\32 xl\\:g-3,\n .\\32 xl\\:gy-3 {\n --gutter-y: 1rem;\n }\n .\\32 xl\\:g-4,\n .\\32 xl\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .\\32 xl\\:g-4,\n .\\32 xl\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .\\32 xl\\:g-5,\n .\\32 xl\\:gx-5 {\n --gutter-x: 3rem;\n }\n .\\32 xl\\:g-5,\n .\\32 xl\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n .grid {\n --columns: 12;\n --rows: 1;\n --gap: 1.5rem;\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n }\n .g-col-1 {\n grid-column: auto/span 1;\n }\n .g-col-2 {\n grid-column: auto/span 2;\n }\n .g-col-3 {\n grid-column: auto/span 3;\n }\n .g-col-4 {\n grid-column: auto/span 4;\n }\n .g-col-5 {\n grid-column: auto/span 5;\n }\n .g-col-6 {\n grid-column: auto/span 6;\n }\n .g-col-7 {\n grid-column: auto/span 7;\n }\n .g-col-8 {\n grid-column: auto/span 8;\n }\n .g-col-9 {\n grid-column: auto/span 9;\n }\n .g-col-10 {\n grid-column: auto/span 10;\n }\n .g-col-11 {\n grid-column: auto/span 11;\n }\n .g-col-12 {\n grid-column: auto/span 12;\n }\n .g-start-1 {\n grid-column-start: 1;\n }\n .g-start-2 {\n grid-column-start: 2;\n }\n .g-start-3 {\n grid-column-start: 3;\n }\n .g-start-4 {\n grid-column-start: 4;\n }\n .g-start-5 {\n grid-column-start: 5;\n }\n .g-start-6 {\n grid-column-start: 6;\n }\n .g-start-7 {\n grid-column-start: 7;\n }\n .g-start-8 {\n grid-column-start: 8;\n }\n .g-start-9 {\n grid-column-start: 9;\n }\n .g-start-10 {\n grid-column-start: 10;\n }\n .g-start-11 {\n grid-column-start: 11;\n }\n @media (width >= 576px) {\n .sm\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .sm\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .sm\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .sm\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .sm\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .sm\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .sm\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .sm\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .sm\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .sm\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .sm\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .sm\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .sm\\:g-start-1 {\n grid-column-start: 1;\n }\n .sm\\:g-start-2 {\n grid-column-start: 2;\n }\n .sm\\:g-start-3 {\n grid-column-start: 3;\n }\n .sm\\:g-start-4 {\n grid-column-start: 4;\n }\n .sm\\:g-start-5 {\n grid-column-start: 5;\n }\n .sm\\:g-start-6 {\n grid-column-start: 6;\n }\n .sm\\:g-start-7 {\n grid-column-start: 7;\n }\n .sm\\:g-start-8 {\n grid-column-start: 8;\n }\n .sm\\:g-start-9 {\n grid-column-start: 9;\n }\n .sm\\:g-start-10 {\n grid-column-start: 10;\n }\n .sm\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 768px) {\n .md\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .md\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .md\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .md\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .md\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .md\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .md\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .md\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .md\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .md\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .md\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .md\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .md\\:g-start-1 {\n grid-column-start: 1;\n }\n .md\\:g-start-2 {\n grid-column-start: 2;\n }\n .md\\:g-start-3 {\n grid-column-start: 3;\n }\n .md\\:g-start-4 {\n grid-column-start: 4;\n }\n .md\\:g-start-5 {\n grid-column-start: 5;\n }\n .md\\:g-start-6 {\n grid-column-start: 6;\n }\n .md\\:g-start-7 {\n grid-column-start: 7;\n }\n .md\\:g-start-8 {\n grid-column-start: 8;\n }\n .md\\:g-start-9 {\n grid-column-start: 9;\n }\n .md\\:g-start-10 {\n grid-column-start: 10;\n }\n .md\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1024px) {\n .lg\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .lg\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .lg\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .lg\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .lg\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .lg\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .lg\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .lg\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .lg\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .lg\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .lg\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .lg\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .lg\\:g-start-1 {\n grid-column-start: 1;\n }\n .lg\\:g-start-2 {\n grid-column-start: 2;\n }\n .lg\\:g-start-3 {\n grid-column-start: 3;\n }\n .lg\\:g-start-4 {\n grid-column-start: 4;\n }\n .lg\\:g-start-5 {\n grid-column-start: 5;\n }\n .lg\\:g-start-6 {\n grid-column-start: 6;\n }\n .lg\\:g-start-7 {\n grid-column-start: 7;\n }\n .lg\\:g-start-8 {\n grid-column-start: 8;\n }\n .lg\\:g-start-9 {\n grid-column-start: 9;\n }\n .lg\\:g-start-10 {\n grid-column-start: 10;\n }\n .lg\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1280px) {\n .xl\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .xl\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .xl\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .xl\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .xl\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .xl\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .xl\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .xl\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .xl\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .xl\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .xl\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .xl\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .xl\\:g-start-1 {\n grid-column-start: 1;\n }\n .xl\\:g-start-2 {\n grid-column-start: 2;\n }\n .xl\\:g-start-3 {\n grid-column-start: 3;\n }\n .xl\\:g-start-4 {\n grid-column-start: 4;\n }\n .xl\\:g-start-5 {\n grid-column-start: 5;\n }\n .xl\\:g-start-6 {\n grid-column-start: 6;\n }\n .xl\\:g-start-7 {\n grid-column-start: 7;\n }\n .xl\\:g-start-8 {\n grid-column-start: 8;\n }\n .xl\\:g-start-9 {\n grid-column-start: 9;\n }\n .xl\\:g-start-10 {\n grid-column-start: 10;\n }\n .xl\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .\\32 xl\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .\\32 xl\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .\\32 xl\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .\\32 xl\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .\\32 xl\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .\\32 xl\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .\\32 xl\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .\\32 xl\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .\\32 xl\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .\\32 xl\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .\\32 xl\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .\\32 xl\\:g-start-1 {\n grid-column-start: 1;\n }\n .\\32 xl\\:g-start-2 {\n grid-column-start: 2;\n }\n .\\32 xl\\:g-start-3 {\n grid-column-start: 3;\n }\n .\\32 xl\\:g-start-4 {\n grid-column-start: 4;\n }\n .\\32 xl\\:g-start-5 {\n grid-column-start: 5;\n }\n .\\32 xl\\:g-start-6 {\n grid-column-start: 6;\n }\n .\\32 xl\\:g-start-7 {\n grid-column-start: 7;\n }\n .\\32 xl\\:g-start-8 {\n grid-column-start: 8;\n }\n .\\32 xl\\:g-start-9 {\n grid-column-start: 9;\n }\n .\\32 xl\\:g-start-10 {\n grid-column-start: 10;\n }\n .\\32 xl\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-fill {\n --gap: 1.5rem;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n}\n@layer forms {\n .form-label,\n .col-form-label {\n font-size: var(--label-font-size, var(--font-size-sm));\n font-style: var(--label-font-style, inherit);\n font-weight: var(--label-font-weight, inherit);\n color: var(--label-color, var(--fg-body));\n }\n .form-label {\n margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\n }\n .col-form-label {\n --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n padding-block: var(--label-padding-y);\n margin-bottom: 0;\n }\n .col-form-label-lg {\n --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n font-size: var(--btn-input-lg-font-size);\n }\n .col-form-label-sm {\n --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n font-size: var(--btn-input-sm-font-size);\n }\n}\n@layer forms {\n .form-text {\n --form-text-margin-top: 0.25rem;\n --form-text-font-size: var(--font-size-sm);\n --form-text-color: var(--fg-3);\n margin-top: var(--form-text-margin-top);\n font-size: var(--form-text-font-size);\n font-style: var(--form-text-font-style);\n font-weight: var(--form-text-font-weight);\n color: var(--form-text-color);\n }\n}\n@layer forms {\n .form-control {\n --control-min-height: var(--btn-input-min-height);\n --control-padding-y: var(--btn-input-padding-y);\n --control-padding-x: var(--btn-input-padding-x);\n --control-font-size: var(--btn-input-font-size);\n --control-line-height: var(--btn-input-line-height);\n --control-fg: var(--btn-input-fg);\n --control-bg: var(--btn-input-bg);\n --control-border-width: var(--border-width);\n --control-border-color: var(--border-color);\n --control-border-radius: var(--border-radius);\n --control-box-shadow: var(--box-shadow-inset);\n --control-action-bg: var(--bg-1);\n --control-action-hover-bg: var(--bg-2);\n --control-transition-property: border-color, box-shadow;\n --control-transition-timing: 0.15s ease-in-out;\n --control-transition: var(--control-transition-property) var(--control-transition-timing);\n --control-placeholder-color: var(--fg-3);\n --control-disabled-color: var(--control-fg);\n --control-disabled-bg: var(--bg-2);\n --control-disabled-border-color: var(--control-border-color);\n --control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n --control-select-bg-position: right 0.75rem center;\n --control-select-bg-size: 16px 12px;\n --control-select-bg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n display: flex;\n width: 100%;\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n font-size: var(--control-font-size);\n line-height: var(--control-line-height);\n color: var(--control-fg);\n appearance: none;\n background-color: var(--control-bg);\n background-clip: padding-box;\n border: var(--control-border-width) solid var(--control-border-color);\n border-radius: var(--control-border-radius);\n box-shadow: var(--control-box-shadow);\n transition: var(--control-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n }\n .form-control:focus-visible {\n --focus-ring-offset: -1px;\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-control::placeholder {\n color: var(--control-placeholder-color);\n opacity: 1;\n }\n .form-control:disabled {\n color: var(--control-disabled-color);\n background-color: var(--control-disabled-bg);\n border-color: var(--control-disabled-border-color);\n opacity: 1;\n }\n .form-control::-webkit-datetime-edit {\n display: block;\n height: 1.5rem;\n padding: 0;\n margin-bottom: -0.125rem;\n }\n .form-control::-webkit-datetime-edit-fields-wrapper {\n height: 1.5rem;\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::file-selector-button {\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n margin-inline-end: var(--control-padding-x);\n color: var(--control-fg);\n background-color: var(--control-action-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--control-border-width);\n border-radius: 0;\n transition: var(--control-transition);\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(--control-action-hover-bg);\n }\n .form-control-plaintext {\n display: block;\n width: 100%;\n padding: var(--control-padding-y) 0;\n margin-bottom: 0;\n line-height: var(--control-line-height);\n color: var(--control-fg);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--control-border-width) 0;\n }\n .form-control-plaintext:focus {\n outline: 0;\n }\n .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-inline: 0;\n }\n select.form-control {\n padding-inline-end: calc(var(--control-padding-x) * 3);\n background-image: var(--control-select-bg);\n background-repeat: no-repeat;\n background-position: var(--control-select-bg-position);\n background-size: var(--control-select-bg-size);\n }\n select.form-control[multiple], select.form-control[size]:not([size=\"1\"]) {\n padding-inline-end: var(--control-padding-x);\n background-image: none;\n }\n @media (prefers-color-scheme: dark) {\n select.form-control {\n background-image: var(--control-select-bg-dark);\n }\n }\n .form-control-sm {\n --control-min-height: var(--btn-input-sm-min-height);\n --control-padding-y: var(--btn-input-sm-padding-y);\n --control-padding-x: var(--btn-input-sm-padding-x);\n --control-font-size: var(--btn-input-sm-font-size);\n --control-line-height: var(--btn-input-sm-line-height);\n --control-border-radius: var(--btn-input-sm-border-radius);\n }\n .form-control-lg {\n --control-min-height: var(--btn-input-lg-min-height);\n --control-padding-y: var(--btn-input-lg-padding-y);\n --control-padding-x: var(--btn-input-lg-padding-x);\n --control-font-size: var(--btn-input-lg-font-size);\n --control-line-height: var(--btn-input-lg-line-height);\n --control-border-radius: var(--btn-input-lg-border-radius);\n }\n .form-control-color {\n width: var(--control-min-height);\n padding: var(--control-padding-y);\n }\n .form-control-color:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n .form-control-color::-moz-color-swatch {\n border: 0 !important;\n border-radius: var(--border-radius-sm);\n }\n .form-control-color::-webkit-color-swatch {\n border: 0 !important;\n border-radius: var(--border-radius-sm);\n }\n .form-ghost {\n display: block;\n width: 100%;\n padding: 0;\n font: inherit;\n color: inherit;\n appearance: none;\n background: transparent;\n border: 0;\n }\n .form-ghost:focus {\n outline: 0;\n }\n .form-ghost::placeholder {\n color: var(--fg-3);\n opacity: 1;\n }\n .form-ghost:disabled {\n color: var(--fg-4);\n cursor: not-allowed;\n }\n}\n@layer forms {\n .checkgroup {\n display: flex;\n gap: var(--gap, 0.5rem);\n align-items: var(--align-items, start);\n }\n .checkgroup .description {\n color: var(--fg-3);\n }\n .check {\n --check-size: 1.25rem;\n --check-margin-block: 0.125rem;\n --check-bg: transparent;\n --check-border-color: var(--border-color);\n --check-border-radius: 0.375rem;\n --check-checked-bg: var(--control-checked-bg);\n --check-checked-border-color: var(--control-checked-border-color);\n --check-indeterminate-bg: var(--control-checked-bg);\n --check-indeterminate-border-color: var(--control-checked-border-color);\n --check-active-bg: var(--control-active-bg);\n --check-active-border-color: var(--control-active-border-color);\n --check-disabled-bg: var(--control-disabled-bg);\n --check-disabled-opacity: var(--control-disabled-opacity);\n display: grid;\n grid-template-columns: repeat(1, minmax(0, 1fr));\n margin-block: var(--check-margin-block);\n }\n .check :where(svg, input) {\n flex-shrink: 0;\n grid-row-start: 1;\n grid-column-start: 1;\n width: var(--check-size);\n height: var(--check-size);\n }\n .check :where(input) {\n appearance: none;\n background-color: var(--theme-bg, var(--check-bg));\n border: 1px solid var(--theme-bg, var(--check-border-color));\n border-radius: 0.3em;\n }\n .check :where(input:checked, input:indeterminate) {\n background-color: var(--theme-bg, var(--check-checked-bg));\n border-color: var(--theme-bg, var(--check-checked-border-color));\n }\n .check :where(input:focus-visible) {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .check:has(input:checked) .checked, .check:has(input:indeterminate) .indeterminate {\n display: block;\n color: var(--theme-contrast, var(--primary-contrast));\n stroke: currentcolor;\n }\n .check:has(input:disabled) {\n --check-bg: var(--check-disabled-bg);\n }\n .check:has(input:disabled) ~ label {\n color: var(--fg-3);\n cursor: default;\n }\n .check:has(input:disabled:checked) {\n opacity: var(--check-disabled-opacity);\n }\n .check :where(svg) {\n pointer-events: none;\n }\n .check :where(svg path) {\n display: none;\n }\n .check-sm {\n --check-size: 1rem;\n }\n .check-lg {\n --check-size: 1.5rem;\n --check-margin-block: 0;\n }\n}\n@layer forms {\n .radiogroup {\n display: flex;\n gap: var(--gap, 0.5rem);\n align-items: var(--align-items, start);\n }\n .radiogroup .description {\n color: var(--fg-3);\n }\n .radio {\n --radio-size: 1.25rem;\n --radio-margin-block: 0.125rem;\n --radio-bg: transparent;\n --radio-border-color: var(--border-color);\n --radio-checked-bg: var(--control-checked-bg);\n --radio-checked-border-color: var(--control-checked-border-color);\n --radio-disabled-bg: var(--control-disabled-bg);\n --radio-disabled-opacity: var(--control-disabled-opacity);\n position: relative;\n flex-shrink: 0;\n width: var(--radio-size);\n height: var(--radio-size);\n margin-block: var(--radio-margin-block);\n appearance: none;\n background-color: var(--theme-bg, var(--radio-bg));\n border: 1px solid var(--theme-bg, var(--radio-border-color));\n border-radius: 50%;\n }\n .radio:checked {\n color: var(--theme-contrast, var(--primary-contrast));\n background-color: var(--theme-bg, var(--radio-checked-bg));\n border-color: var(--theme-bg, var(--radio-checked-border-color));\n }\n .radio:checked::before {\n position: absolute;\n inset: 0.25rem;\n content: \"\";\n background-color: currentcolor;\n border-radius: 50%;\n }\n .radio:disabled {\n --radio-bg: var(--radio-disabled-bg);\n }\n .radio:disabled ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n .radio:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .radio-sm {\n --radio-size: 1rem;\n }\n .radio-lg {\n --radio-size: 1.5rem;\n --radio-margin-block: 0;\n }\n}\n@layer forms {\n .switch {\n --switch-height: 1.25rem;\n --switch-width: calc(var(--switch-height) * 1.5);\n --switch-padding: 0.0625rem;\n --switch-margin-block: 0.125rem;\n --switch-bg: var(--bg-3);\n --switch-border-width: var(--border-width);\n --switch-border-color: var(--border-color);\n --switch-indicator-bg: var(--white);\n --switch-checked-bg: var(--control-checked-bg);\n --switch-checked-border-color: var(--switch-checked-bg);\n --switch-checked-indicator-bg: var(--white);\n --switch-disabled-bg: var(--control-disabled-bg);\n --switch-disabled-indicator-bg: var(--fg-3);\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: stretch;\n justify-content: flex-start;\n width: var(--switch-width);\n height: var(--switch-height);\n padding: var(--switch-padding);\n margin-block: var(--switch-margin-block);\n background-color: var(--switch-bg);\n border: var(--switch-border-width) solid var(--switch-border-color);\n border-radius: 10rem;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);\n transition: 0.15s ease-in-out;\n transition-property: padding-inline-start, background-color;\n }\n .switch::before {\n flex-shrink: 0;\n width: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n height: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n content: \"\";\n background-color: var(--theme-contrast, var(--switch-indicator-bg));\n border-radius: 50%;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n }\n .switch input {\n position: absolute;\n inset: 0;\n appearance: none;\n background-color: transparent;\n outline: 0;\n }\n .switch:focus-within {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .switch:has(input:checked) {\n padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n background-color: var(--theme-bg, var(--switch-checked-bg));\n border-color: var(--theme-bg, var(--switch-checked-border-color));\n }\n .switch:has(input:disabled) {\n --switch-bg: var(--switch-disabled-bg);\n --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n }\n .switch:has(input:disabled)::before {\n opacity: 0.4;\n }\n .switch:has(input:disabled) ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n .switch-sm {\n --switch-height: 1rem;\n }\n .switch-lg {\n --switch-height: 1.5rem;\n --switch-margin-block: 0;\n }\n}\n@layer forms {\n .form-range {\n --range-track-width: 100%;\n --range-track-height: 0.5rem;\n --range-track-cursor: pointer;\n --range-track-bg: var(--bg-3);\n --range-track-border-radius: 1rem;\n --range-track-box-shadow: var(--box-shadow-inset);\n --range-thumb-width: 1rem;\n --range-thumb-height: var(--range-thumb-width);\n --range-thumb-bg: var(--primary-base);\n --range-thumb-border: 0;\n --range-thumb-border-radius: 1rem;\n --range-thumb-box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body));\n --range-thumb-disabled-bg: var(--fg-3);\n --range-thumb-transition-property: background-color, border-color, box-shadow;\n --range-thumb-transition-timing: 0.15s ease-in-out;\n --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing);\n width: 100%;\n height: calc(var(--range-thumb-height) + var(--focus-ring-width) * 2);\n padding: 0;\n appearance: none;\n background-color: transparent;\n }\n .form-range:focus {\n outline: 0;\n }\n .form-range:focus::-webkit-slider-thumb {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .form-range:focus::-moz-range-thumb {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .form-range::-moz-focus-outer {\n border: 0;\n }\n .form-range::-webkit-slider-thumb {\n width: var(--range-thumb-width);\n height: var(--range-thumb-height);\n appearance: none;\n background-color: var(--range-thumb-bg);\n border: var(--range-thumb-border);\n border-radius: var(--range-thumb-border-radius);\n box-shadow: var(--range-thumb-box-shadow);\n transition: var(--range-thumb-transition);\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: var(--range-thumb-active-bg);\n }\n .form-range::-webkit-slider-thumb {\n margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * 0.5);\n }\n .form-range::-moz-range-thumb {\n width: var(--range-thumb-width);\n height: var(--range-thumb-height);\n appearance: none;\n background-color: var(--range-thumb-bg);\n border: var(--range-thumb-border);\n border-radius: var(--range-thumb-border-radius);\n box-shadow: var(--range-thumb-box-shadow);\n transition: var(--range-thumb-transition);\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: var(--range-thumb-active-bg);\n }\n .form-range::-webkit-slider-runnable-track {\n width: var(--range-track-width);\n height: var(--range-track-height);\n color: transparent;\n cursor: var(--range-track-cursor);\n background-color: var(--range-track-bg);\n border-color: transparent;\n border-radius: var(--range-track-border-radius);\n box-shadow: var(--range-track-box-shadow);\n }\n .form-range::-moz-range-track {\n width: var(--range-track-width);\n height: var(--range-track-height);\n color: transparent;\n cursor: var(--range-track-cursor);\n background-color: var(--range-track-bg);\n border-color: transparent;\n border-radius: var(--range-track-border-radius);\n box-shadow: var(--range-track-box-shadow);\n }\n .form-range:disabled {\n pointer-events: none;\n }\n .form-range:disabled::-webkit-slider-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n .form-range:disabled::-moz-range-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n}\n@layer forms {\n .form-floating {\n --form-floating-height: calc(3.5rem + var(--border-width) * 2);\n --form-floating-line-height: 1.25;\n --form-floating-padding-x: var(--btn-input-padding-x);\n --form-floating-padding-y: 1rem;\n --form-floating-input-padding-t: 1.625rem;\n --form-floating-input-padding-b: 0.625rem;\n --form-floating-label-height: 1.5em;\n --form-floating-label-opacity: 0.65;\n --form-floating-label-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n --form-floating-label-disabled-color: var(--fg-3);\n --form-floating-transition-property: opacity, transform;\n --form-floating-transition-timing: 0.1s ease-in-out;\n --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing);\n position: relative;\n }\n .form-floating > label {\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n max-width: 100%;\n height: 100%;\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n overflow: hidden;\n color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--input-btn-border-width) solid transparent;\n transform-origin: 0 0;\n transition: var(--form-floating-transition);\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 height: var(--form-floating-height);\n min-height: var(--form-floating-height);\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n line-height: var(--form-floating-line-height);\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: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n .form-floating > .form-control:-webkit-autofill,\n .form-floating > .form-control-plaintext:-webkit-autofill {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\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 transform: var(--form-floating-label-transform);\n }\n .form-floating > .form-control:-webkit-autofill ~ label {\n transform: var(--form-floating-label-transform);\n }\n .form-floating > textarea:focus ~ label::after,\n .form-floating > textarea:not(:placeholder-shown) ~ label::after {\n position: absolute;\n inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * 0.5);\n z-index: -1;\n height: var(--form-floating-label-height);\n content: \"\";\n background-color: var(--control-bg);\n border-radius: var(--btn-input-border-radius);\n }\n .form-floating > textarea:disabled ~ label::after {\n background-color: var(--control-disabled-bg);\n }\n .form-floating > .form-control-plaintext ~ label {\n border-width: var(--control-border-width) 0;\n }\n .form-floating > :disabled ~ label,\n .form-floating > .form-control:disabled ~ label {\n color: var(--form-floating-label-disabled-color);\n }\n}\n@layer components {\n .input-group {\n --input-group-addon-padding-y: var(--btn-input-padding-y);\n --input-group-addon-padding-x: var(--btn-input-padding-x);\n --input-group-addon-font-size: var(--btn-input-font-size);\n --input-group-addon-line-height: var(--btn-input-line-height);\n --input-group-addon-color: var(--fg-body);\n --input-group-addon-bg: var(--bg-2);\n --input-group-addon-border-color: var(--border-color);\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-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-floating:focus-within {\n z-index: 5;\n }\n .input-group > .input-group-btn {\n position: relative;\n z-index: 2;\n }\n .input-group > .input-group-btn:focus {\n z-index: 5;\n }\n .input-group-text {\n display: flex;\n align-items: center;\n padding: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n font-size: var(--input-group-addon-font-size);\n line-height: var(--input-group-addon-line-height);\n color: var(--input-group-addon-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--input-group-addon-bg);\n border: var(--border-width) solid var(--input-group-addon-border-color);\n border-radius: var(--btn-input-border-radius);\n }\n .input-group-sm > .form-control,\n .input-group-sm > .input-group-text,\n .input-group-sm > .btn {\n min-height: var(--btn-input-sm-min-height);\n padding: var(--btn-input-sm-padding-y) var(--btn-input-sm-padding-x);\n font-size: var(--btn-input-sm-font-size);\n border-radius: var(--btn-input-sm-border-radius);\n }\n .input-group-lg > .form-control,\n .input-group-lg > .input-group-text,\n .input-group-lg > .btn {\n min-height: var(--btn-input-lg-min-height);\n padding: var(--btn-input-lg-padding-y) var(--btn-input-lg-padding-x);\n font-size: var(--btn-input-lg-font-size);\n border-radius: var(--btn-input-lg-border-radius);\n }\n .input-group:not(.has-validation) > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n .input-group:not(.has-validation) > .menu-toggle-split:nth-last-child(n+3),\n .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .input-group.has-validation > :nth-last-child(n+3):not(.menu-toggle-split):not(.menu):not(.form-floating),\n .input-group.has-validation > .menu-toggle-split:nth-last-child(n+4),\n .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .input-group > :not(:first-child):not(.menu) {\n margin-inline-start: calc(-1 * var(--border-width));\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .input-group > .form-floating:not(:first-child) > .form-control,\n .input-group > .form-floating:not(:first-child) > .form-select {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n}\n@layer forms {\n .strength {\n --strength-height: 0.375rem;\n --strength-gap: 0.25rem;\n --strength-margin-top: 0.25rem;\n --strength-border-radius: var(--border-radius-pill);\n --strength-bg: var(--bg-2);\n --strength-color: var(--bg-2);\n --strength-weak-color: var(--danger-bg);\n --strength-fair-color: var(--warning-bg);\n --strength-good-color: var(--info-bg);\n --strength-strong-color: var(--success-bg);\n display: flex;\n gap: var(--strength-gap);\n width: 100%;\n margin-top: var(--strength-margin-top);\n }\n .strength-segment {\n flex: 1;\n height: var(--strength-height);\n background-color: var(--strength-bg);\n border-radius: var(--strength-border-radius);\n transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .strength-segment {\n transition: none;\n }\n }\n .strength-segment.active {\n background-color: var(--strength-color);\n }\n .strength[data-bs-strength=weak] {\n --strength-color: var(--strength-weak-color);\n }\n .strength[data-bs-strength=fair] {\n --strength-color: var(--strength-fair-color);\n }\n .strength[data-bs-strength=good] {\n --strength-color: var(--strength-good-color);\n }\n .strength[data-bs-strength=strong] {\n --strength-color: var(--strength-strong-color);\n }\n .strength-text {\n display: block;\n margin-top: var(--strength-margin-top);\n font-size: var(--font-size-xs);\n color: var(--strength-color, var(--fg-3));\n transition: color 0.2s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .strength-text {\n transition: none;\n }\n }\n .strength-text:empty {\n display: none;\n }\n .strength-bar {\n --strength-height: 0.375rem;\n --strength-gap: 0.25rem;\n --strength-margin-top: 0.25rem;\n --strength-border-radius: var(--border-radius-pill);\n --strength-bg: var(--bg-2);\n --strength-color: var(--bg-2);\n --strength-weak-color: var(--danger-bg);\n --strength-fair-color: var(--warning-bg);\n --strength-good-color: var(--info-bg);\n --strength-strong-color: var(--success-bg);\n --strength-color: transparent;\n --strength-width: 0%;\n width: 100%;\n height: var(--strength-height);\n margin-top: var(--strength-margin-top);\n overflow: hidden;\n background-color: var(--strength-bg);\n border-radius: var(--strength-border-radius);\n }\n .strength-bar::after {\n display: block;\n width: var(--strength-width);\n height: 100%;\n content: \"\";\n background-color: var(--strength-color);\n border-radius: var(--strength-border-radius);\n transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .strength-bar::after {\n transition: none;\n }\n }\n .strength-bar[data-bs-strength=weak] {\n --strength-color: var(--strength-weak-color);\n --strength-width: 25%;\n }\n .strength-bar[data-bs-strength=fair] {\n --strength-color: var(--strength-fair-color);\n --strength-width: 50%;\n }\n .strength-bar[data-bs-strength=good] {\n --strength-color: var(--strength-good-color);\n --strength-width: 75%;\n }\n .strength-bar[data-bs-strength=strong] {\n --strength-color: var(--strength-strong-color);\n --strength-width: 100%;\n }\n}\n@layer components {\n .otp {\n --otp-size: var(--btn-input-lg-min-height);\n --otp-font-size: var(--btn-input-font-size);\n --otp-gap: 0.5rem;\n display: inline-flex;\n gap: var(--otp-gap);\n }\n .otp .form-control {\n width: var(--otp-size);\n min-height: var(--otp-size);\n padding: 0;\n font-size: var(--otp-font-size);\n font-weight: 500;\n line-height: 1;\n text-align: center;\n border-radius: var(--otp-border-radius, var(--btn-input-border-radius));\n }\n .otp .form-control::-webkit-outer-spin-button, .otp .form-control::-webkit-inner-spin-button {\n margin: 0;\n appearance: none;\n }\n .otp .form-control[type=number] {\n appearance: textfield;\n }\n .otp .form-control:focus, .otp .form-control:focus-visible {\n z-index: 1;\n }\n .otp.is-valid .form-control, .was-validated .otp:valid .form-control {\n border-color: var(--form-valid-border-color);\n }\n .otp.is-valid .form-control:focus, .was-validated .otp:valid .form-control:focus {\n --focus-ring-color: rgba(var(--success-rgb), .25);\n border-color: var(--form-valid-border-color);\n }\n .otp.is-invalid .form-control, .was-validated .otp:invalid .form-control {\n border-color: var(--form-invalid-border-color);\n }\n .otp.is-invalid .form-control:focus, .was-validated .otp:invalid .form-control:focus {\n --focus-ring-color: rgba(var(--danger-rgb), .25);\n border-color: var(--form-invalid-border-color);\n }\n .otp.input-group {\n gap: 0;\n width: auto;\n }\n .otp.input-group .form-control {\n flex: 0 0 auto;\n }\n .otp-separator {\n display: flex;\n align-items: center;\n padding-inline: var(--otp-gap);\n font-size: var(--otp-font-size);\n color: var(--fg-4);\n user-select: none;\n }\n .otp-sm {\n --otp-size: var(--btn-input-sm-min-height);\n --otp-font-size: var(--btn-input-sm-font-size);\n --otp-border-radius: var(--btn-input-sm-border-radius);\n }\n .otp-lg {\n --otp-size: var(--btn-input-lg-min-height);\n --otp-font-size: var(--btn-input-lg-font-size);\n --otp-border-radius: var(--btn-input-lg-border-radius);\n }\n}\n@layer forms {\n .form-adorn {\n --form-adorn-gap: 0.375rem;\n --form-adorn-icon-size: 1rem;\n --form-adorn-icon-color: var(--fg-2);\n gap: var(--form-adorn-gap);\n align-items: center;\n }\n .form-adorn:focus-visible {\n outline: 0;\n }\n .form-adorn:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-adorn > .form-ghost {\n flex: 1;\n min-width: 0;\n }\n .form-adorn.form-adorn-end > .form-ghost {\n order: -1;\n }\n .form-adorn-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n }\n .form-adorn-icon > svg {\n width: var(--form-adorn-icon-size);\n height: var(--form-adorn-icon-size);\n }\n .form-adorn-text {\n flex-shrink: 0;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n user-select: none;\n }\n}\n@layer forms {\n .chip-input {\n --chip-input-padding-y: 0.75rem;\n --chip-input-padding-x: 0.75rem;\n --chip-input-gap: 0.375rem;\n --chip-input-ghost-min-width: 5rem;\n --control-fg: var(--btn-input-fg);\n --control-bg: var(--btn-input-bg);\n --control-border-width: var(--border-width);\n --control-border-color: var(--border-color);\n --control-border-radius: var(--border-radius);\n display: flex;\n flex-wrap: wrap;\n gap: var(--chip-input-gap);\n align-items: center;\n padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n color: var(--control-fg);\n background-color: var(--control-bg);\n border: var(--control-border-width) solid var(--control-border-color);\n border-radius: var(--control-border-radius);\n }\n .chip-input:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .chip-input > .form-ghost {\n flex: 1 1 0;\n min-width: var(--chip-input-ghost-min-width);\n min-height: 1.75rem;\n }\n .chip-input.disabled, .chip-input:has(.form-ghost:disabled) {\n background-color: var(--bg-2);\n opacity: 1;\n }\n .chip-input.disabled > .chip, .chip-input:has(.form-ghost:disabled) > .chip {\n opacity: var(--control-disabled-opacity);\n }\n .chip-input.disabled > .chip .chip-dismiss, .chip-input:has(.form-ghost:disabled) > .chip .chip-dismiss {\n pointer-events: none;\n }\n .chip-input.disabled > .form-ghost, .chip-input:has(.form-ghost:disabled) > .form-ghost {\n cursor: not-allowed;\n }\n}\n@layer components {\n .combobox-toggle {\n display: inline-flex;\n gap: 0.5rem;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding-inline-end: var(--control-padding-x);\n text-align: start;\n cursor: pointer;\n }\n .combobox-toggle.show {\n background-color: var(--bg-1);\n }\n .combobox-toggle:disabled, .combobox-toggle.disabled {\n cursor: not-allowed;\n opacity: 0.65;\n }\n .combobox-value {\n display: flex;\n flex: 1;\n gap: 0.5rem;\n align-items: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .combobox-placeholder {\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n .combobox-caret {\n flex-shrink: 0;\n transition: transform 0.2s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .combobox-caret {\n transition: none;\n }\n }\n .show > .combobox-caret {\n transform: rotate(180deg);\n }\n .combobox-toggle + .menu {\n --menu-max-height: 300px;\n --menu-overflow-y: auto;\n }\n .combobox-search {\n position: sticky;\n top: 0;\n z-index: 1;\n padding: var(--menu-padding-x, 0.25rem);\n background-color: var(--menu-bg, var(--bg-body));\n }\n .combobox-search-input {\n width: 100%;\n }\n .combobox-no-results {\n padding: 1rem;\n font-size: var(--font-size-sm);\n color: var(--fg-3);\n text-align: center;\n }\n}\n@layer components {\n .tooltip {\n --tooltip-zindex: 1080;\n --tooltip-max-width: 200px;\n --tooltip-padding-x: 0.75rem;\n --tooltip-padding-y: 0.375rem;\n --tooltip-font-size: var(--font-size-sm);\n --tooltip-color: var(--bg-body);\n --tooltip-bg: var(--fg-body);\n --tooltip-border-radius: var(--border-radius);\n --tooltip-opacity: 0.95;\n --tooltip-arrow-width: 0.8rem;\n --tooltip-arrow-height: 0.4rem;\n z-index: var(--tooltip-zindex);\n display: block;\n font-family: var(--body-font-family);\n font-style: normal;\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--tooltip-font-size);\n word-wrap: break-word;\n opacity: 0;\n }\n .tooltip.show {\n opacity: var(--tooltip-opacity);\n }\n .tooltip .tooltip-arrow {\n display: block;\n width: var(--tooltip-arrow-width);\n height: var(--tooltip-arrow-height);\n }\n .tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow {\n bottom: calc(-1 * var(--tooltip-arrow-height));\n }\n .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before {\n top: -1px;\n border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n border-block-start-color: var(--tooltip-bg);\n }\n .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow {\n left: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n }\n .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before {\n right: -1px;\n border-width: calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n border-inline-end-color: var(--tooltip-bg);\n }\n .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow {\n top: calc(-1 * var(--tooltip-arrow-height));\n }\n .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before {\n bottom: -1px;\n border-width: 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n border-block-end-color: var(--tooltip-bg);\n }\n .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow {\n right: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n }\n .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before {\n left: -1px;\n border-width: calc(var(--tooltip-arrow-width) * 0.5) 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n border-inline-start-color: var(--tooltip-bg);\n }\n .tooltip-inner {\n max-width: var(--tooltip-max-width);\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n color: var(--tooltip-color);\n text-align: center;\n background-color: var(--tooltip-bg);\n border-radius: var(--tooltip-border-radius);\n }\n}\n@layer components {\n .valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.5rem;\n font-size: var(--font-size-xs);\n color: var(--form-valid-color);\n }\n .valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n margin-top: 0.1rem;\n font-size: var(--tooltip-font-size);\n color: var(--success-contrast);\n background-color: var(--success-bg);\n border-radius: var(--tooltip-border-radius);\n }\n .was-validated :valid ~ .valid-feedback,\n .was-validated :valid ~ .valid-tooltip,\n .is-valid ~ .valid-feedback,\n .is-valid ~ .valid-tooltip {\n display: block;\n }\n .was-validated .form-control:valid, .form-control.is-valid {\n border-color: var(--success-border);\n padding-inline-end: calc(var(--control-padding-x) * 3.5);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a748' 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 var(--control-padding-x) center;\n background-size: 1rem;\n }\n .was-validated .form-control:valid:focus-visible, .form-control.is-valid:focus-visible {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--success-border);\n }\n .was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n background-position: right var(--control-padding-x) top var(--control-padding-x);\n }\n .was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: var(--success-border);\n }\n .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: var(--form-valid-color);\n }\n .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: var(--form-valid-color);\n }\n .form-check-inline .form-check-input ~ .valid-feedback {\n margin-inline-start: 0.5em;\n }\n .was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n .was-validated .input-group > .form-select:not(:focus):valid,\n .input-group > .form-select:not(:focus).is-valid,\n .was-validated .input-group > .form-floating:not(:focus-within):valid,\n .input-group > .form-floating:not(:focus-within).is-valid {\n z-index: 3;\n }\n .invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.5rem;\n font-size: var(--font-size-xs);\n color: var(--form-invalid-color);\n }\n .invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n margin-top: 0.1rem;\n font-size: var(--tooltip-font-size);\n color: var(--danger-contrast);\n background-color: var(--danger-bg);\n border-radius: var(--tooltip-border-radius);\n }\n .was-validated :invalid ~ .invalid-feedback,\n .was-validated :invalid ~ .invalid-tooltip,\n .is-invalid ~ .invalid-feedback,\n .is-invalid ~ .invalid-tooltip {\n display: block;\n }\n .was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: var(--danger-border);\n padding-inline-end: calc(var(--control-padding-x) * 3.5);\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='%23dd0d37'%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='%23dd0d37' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right var(--control-padding-x) center;\n background-size: 1rem;\n }\n .was-validated .form-control:invalid:focus-visible, .form-control.is-invalid:focus-visible {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--danger-border);\n }\n .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n background-position: right var(--control-padding-x) top var(--control-padding-x);\n }\n .was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: var(--danger-border);\n }\n .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: var(--form-invalid-color);\n }\n .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: var(--form-invalid-color);\n }\n .form-check-inline .form-check-input ~ .invalid-feedback {\n margin-inline-start: 0.5em;\n }\n .was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n .was-validated .input-group > .form-select:not(:focus):invalid,\n .input-group > .form-select:not(:focus).is-invalid,\n .was-validated .input-group > .form-floating:not(:focus-within):invalid,\n .input-group > .form-floating:not(:focus-within).is-invalid {\n z-index: 4;\n }\n}\n@layer components {\n .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n --btn-min-height: var(--btn-input-min-height);\n --btn-padding-x: var(--btn-input-padding-x);\n --btn-padding-y: var(--btn-input-padding-y);\n --btn-font-size: var(--btn-input-font-size);\n --btn-font-weight: var(--btn-input-font-weight);\n --btn-line-height: var(--btn-input-line-height);\n --btn-color: var(--fg-body);\n --btn-white-space: nowrap;\n --btn-border-width: var(--border-width);\n --btn-border-color: transparent;\n --btn-border-radius: var(--border-radius);\n --btn-hover-border-color: transparent;\n --btn-disabled-opacity: 0.65;\n --btn-transition-timing: 0.15s ease-in-out;\n --btn-transition-property: color, background-color, border-color, box-shadow;\n --btn-transition: var(--btn-transition-property) var(--btn-transition-timing);\n display: inline-flex;\n gap: var(--btn-gap, 0.25rem);\n align-items: center;\n justify-content: center;\n min-height: var(--btn-min-height);\n padding: var(--btn-padding-y) var(--btn-padding-x);\n font-size: var(--btn-font-size);\n font-weight: var(--btn-font-weight);\n line-height: var(--btn-line-height);\n color: var(--btn-color);\n text-decoration: none;\n white-space: var(--btn-white-space);\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: var(--btn-bg, var(--bg-2));\n border: var(--btn-border-width) solid var(--btn-border-color);\n border-radius: var(--btn-border-radius);\n transition: var(--btn-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n transition: none;\n }\n }\n .btn:hover, .btn-link:hover, .btn-icon:hover, .btn-solid:hover, .btn-outline:hover, .btn-subtle:hover, .btn-text:hover {\n color: var(--btn-hover-color);\n background-color: var(--btn-hover-bg, var(--bg-3));\n border-color: var(--btn-hover-border-color);\n }\n .btn:focus-visible, .btn-link:focus-visible, .btn-icon:focus-visible, .btn-solid:focus-visible, .btn-outline:focus-visible, .btn-subtle:focus-visible, .btn-text:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .btn.active, .btn.show, .btn-link.active, .btn-link.show, .btn-icon.active, .btn-icon.show, .btn-solid.active, .btn-solid.show, .btn-outline.active, .btn-outline.show, .btn-subtle.active, .btn-subtle.show, .btn-text.active, .btn-text.show {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n border-color: var(--btn-active-border-color);\n }\n .btn.active:focus-visible, .btn.show:focus-visible, .btn-link.active:focus-visible, .btn-link.show:focus-visible, .btn-icon.active:focus-visible, .btn-icon.show:focus-visible, .btn-solid.active:focus-visible, .btn-solid.show:focus-visible, .btn-outline.active:focus-visible, .btn-outline.show:focus-visible, .btn-subtle.active:focus-visible, .btn-subtle.show:focus-visible, .btn-text.active:focus-visible, .btn-text.show:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .btn:disabled, .btn.disabled, fieldset:disabled .btn, .btn-link:disabled, .btn-link.disabled, fieldset:disabled .btn-link, .btn-icon:disabled, .btn-icon.disabled, fieldset:disabled .btn-icon, .btn-solid:disabled, .btn-solid.disabled, fieldset:disabled .btn-solid, .btn-outline:disabled, .btn-outline.disabled, fieldset:disabled .btn-outline, .btn-subtle:disabled, .btn-subtle.disabled, fieldset:disabled .btn-subtle, .btn-text:disabled, .btn-text.disabled, fieldset:disabled .btn-text {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n }\n .btn-solid {\n --btn-bg: var(--theme-bg);\n --btn-color: var(--theme-contrast);\n --btn-border-color: var(--theme-bg);\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n --btn-disabled-bg: var(--theme-bg);\n --btn-disabled-color: var(--theme-contrast);\n --btn-disabled-border-color: var(--theme-bg);\n }\n .btn-solid:hover {\n --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n }\n .btn-solid:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-solid:active, .btn-solid.active, .btn-solid.btn-check:has(input:checked) {\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n }\n .btn-solid:disabled, .btn-solid.disabled, .btn-solid.btn-check:has(input:disabled) {\n --btn-disabled-bg: var(--theme-bg);\n --btn-disabled-color: var(--theme-contrast);\n --btn-disabled-border-color: var(--theme-bg);\n }\n .btn-outline {\n --btn-bg: transparent;\n --btn-color: var(--theme-text);\n --btn-border-color: var(--theme-border);\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-disabled-bg: transparent;\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: var(--theme-border);\n }\n .btn-outline:hover {\n --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n }\n .btn-outline:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-outline:active, .btn-outline.active, .btn-outline.btn-check:has(input:checked) {\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n }\n .btn-outline:disabled, .btn-outline.disabled, .btn-outline.btn-check:has(input:disabled) {\n --btn-disabled-bg: transparent;\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: var(--theme-border);\n }\n .btn-subtle {\n --btn-bg: var(--theme-bg-subtle);\n --btn-color: var(--theme-text);\n --btn-border-color: transparent;\n --btn-active-bg: var(--theme-bg-subtle);\n --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n --btn-disabled-bg: var(--theme-bg-subtle);\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: transparent;\n }\n .btn-subtle:hover {\n --btn-hover-bg: color-mix(in oklch, var(--theme-bg-muted) 50%, var(--theme-bg-subtle));\n --btn-hover-color: oklch(from var(--theme-text-emphasis) calc(l * .95) calc(c * 1.1) h);\n }\n .btn-subtle:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-subtle:active, .btn-subtle.active, .btn-subtle.btn-check:has(input:checked) {\n --btn-active-bg: var(--theme-bg-subtle);\n --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n }\n .btn-subtle:disabled, .btn-subtle.disabled, .btn-subtle.btn-check:has(input:disabled) {\n --btn-disabled-bg: var(--theme-bg-subtle);\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: transparent;\n }\n .btn-text {\n --btn-color: var(--theme-text);\n --btn-bg: transparent;\n --btn-border-color: transparent;\n --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n --btn-active-bg: var(--theme-bg-subtle);\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-bg: transparent;\n --btn-disabled-border-color: transparent;\n }\n .btn-text:hover {\n --btn-hover-color: oklch(from var(--theme-text) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-bg: var(--theme-bg-subtle);\n }\n .btn-text:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-text:active, .btn-text.active, .btn-text.btn-check:has(input:checked) {\n --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n --btn-active-bg: var(--theme-bg-subtle);\n }\n .btn-text:disabled, .btn-text.disabled, .btn-text.btn-check:has(input:disabled) {\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-bg: transparent;\n --btn-disabled-border-color: transparent;\n }\n .btn-link {\n --btn-font-weight: var(--font-weight-normal);\n --btn-color: var(--link-color);\n --btn-bg: transparent;\n --btn-border-color: transparent;\n --btn-hover-color: var(--link-hover-color);\n --btn-hover-bg: transparent;\n --btn-hover-border-color: transparent;\n --btn-active-color: var(--link-hover-color);\n --btn-active-bg: transparent;\n --btn-active-border-color: transparent;\n --btn-disabled-color: var(--fg-3);\n --btn-disabled-border-color: transparent;\n color: var(--theme-text, var(--btn-color));\n text-decoration: var(--link-decoration);\n }\n .btn-link:focus-visible {\n color: var(--theme-text, var(--btn-color));\n }\n .btn-link:hover {\n color: var(--theme-text-emphasis, var(--btn-hover-color));\n }\n .btn-xs,\n .btn-group-xs > [class*=btn-] {\n --btn-min-height: var(--btn-input-xs-min-height);\n --btn-padding-y: var(--btn-input-xs-padding-y);\n --btn-padding-x: var(--btn-input-xs-padding-x);\n --btn-font-size: var(--btn-input-xs-font-size);\n --btn-line-height: var(--btn-input-xs-line-height);\n --btn-border-radius: var(--btn-input-xs-border-radius);\n }\n .btn-sm,\n .btn-group-sm > [class*=btn-] {\n --btn-min-height: var(--btn-input-sm-min-height);\n --btn-padding-y: var(--btn-input-sm-padding-y);\n --btn-padding-x: var(--btn-input-sm-padding-x);\n --btn-font-size: var(--btn-input-sm-font-size);\n --btn-line-height: var(--btn-input-sm-line-height);\n --btn-border-radius: var(--btn-input-sm-border-radius);\n }\n .btn-lg,\n .btn-group-lg > [class*=btn-] {\n --btn-min-height: var(--btn-input-lg-min-height);\n --btn-padding-y: var(--btn-input-lg-padding-y);\n --btn-padding-x: var(--btn-input-lg-padding-x);\n --btn-font-size: var(--btn-input-lg-font-size);\n --btn-line-height: var(--btn-input-lg-line-height);\n --btn-border-radius: var(--btn-input-lg-border-radius);\n }\n .btn-icon {\n align-items: center;\n justify-content: center;\n aspect-ratio: 1;\n padding: 0;\n }\n .btn-check > input {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n .btn-check:has(input:checked) {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n border-color: var(--btn-active-border-color);\n box-shadow: var(--btn-active-shadow);\n }\n .btn-check:has(input:focus-visible) {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .btn-check:has(input:disabled) {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n box-shadow: none;\n }\n .btn-styled {\n --btn-gradient-start: rgba(255, 255, 255, 0.125);\n --btn-gradient-end: rgba(0, 0, 0, 0.075);\n --btn-border-mix-color: #000;\n --btn-border-mix-amount: 10%;\n --btn-border-hover-mix-amount: 12.5%;\n --btn-border-active-mix-amount: 20%;\n --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n box-shadow: var(--btn-shadow);\n }\n .btn-styled:hover {\n background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n }\n .btn-styled:active, .btn-styled.active {\n background-image: none;\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n box-shadow: var(--btn-active-shadow);\n }\n .btn-styled:disabled, .btn-styled.disabled {\n background-image: none;\n box-shadow: none;\n }\n}\n@layer components {\n .btn-group,\n .btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n }\n .btn-group > [class*=btn-],\n .btn-group-vertical > [class*=btn-] {\n position: relative;\n flex: 1 1 auto;\n }\n .btn-group > [class*=btn-]:hover,\n .btn-group-vertical > [class*=btn-]:hover {\n z-index: 1;\n }\n .btn-group > .btn-check:has(input:checked),\n .btn-group > [class*=btn-]:active,\n .btn-group > [class*=btn-].active,\n .btn-group-vertical > .btn-check:has(input:checked),\n .btn-group-vertical > [class*=btn-]:active,\n .btn-group-vertical > [class*=btn-].active {\n z-index: 2;\n }\n .btn-group > .btn-check:has(input:focus),\n .btn-group > [class*=btn-]:focus,\n .btn-group-vertical > .btn-check:has(input:focus),\n .btn-group-vertical > [class*=btn-]:focus {\n z-index: 3;\n }\n .btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n justify-content: flex-start;\n }\n .btn-toolbar .input-group {\n width: auto;\n }\n .btn-group {\n border-radius: var(--btn-border-radius);\n }\n .btn-group > [class*=btn-]:not(:first-child),\n .btn-group > .btn-group:not(:first-child) {\n margin-inline-start: calc(-1 * var(--btn-border-width));\n }\n .btn-group > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n .btn-group > .btn-group:not(:last-child) > [class*=btn-] {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .btn-group > [class*=btn-]:not(:first-child),\n .btn-group > .btn-group:not(:first-child) > [class*=btn-] {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n }\n .btn-group-vertical > [class*=btn-],\n .btn-group-vertical > .btn-group {\n width: 100%;\n }\n .btn-group-vertical > [class*=btn-]:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: calc(-1 * var(--btn-border-width));\n }\n .btn-group-vertical > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n .btn-group-vertical > .btn-group:not(:last-child) > [class*=btn-] {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .btn-group-vertical > [class*=btn-]:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) > [class*=btn-] {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n}\n@layer components {\n .btn-close {\n --btn-close-size: 1.25rem;\n --btn-close-color: var(--fg-body);\n --btn-close-opacity: 0.5;\n --btn-close-hover-opacity: 0.75;\n --btn-close-focus-opacity: 0.85;\n --btn-close-disabled-opacity: 0.25;\n box-sizing: content-box;\n width: var(--btn-close-size);\n height: var(--btn-close-size);\n padding: 0;\n color: var(--btn-close-color);\n background: transparent;\n border: 0;\n border-radius: var(--border-radius-sm);\n opacity: var(--btn-close-opacity);\n }\n .btn-close > svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: currentcolor;\n }\n .btn-close:hover {\n color: var(--btn-close-color);\n text-decoration: none;\n opacity: var(--btn-close-hover-opacity);\n }\n .btn-close:focus-visible {\n opacity: var(--btn-close-focus-opacity);\n outline: var(--focus-ring);\n }\n .btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--btn-close-disabled-opacity);\n }\n}\n@layer components {\n .accordion {\n --accordion-padding-x: 1.25rem;\n --accordion-padding-y: 1rem;\n --accordion-color: var(--fg-body);\n --accordion-bg: var(--bg-body);\n --accordion-transition-property: color, background-color, border-radius;\n --accordion-transition-timing: .15s ease-in-out;\n --accordion-transition: var(--accordion-transition-property) var(--accordion-timing);\n --accordion-border-color: var(--border-color);\n --accordion-border-width: var(--border-width);\n --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg));\n --accordion-btn-color: var(--fg-2);\n --accordion-btn-bg: var(--bg-body);\n --accordion-btn-icon-width: 1rem;\n --accordion-btn-icon-transform: rotate(-180deg);\n --accordion-btn-icon-transition: transform 0.2s ease-in-out;\n --accordion-active-color: var(--fg);\n --accordion-active-bg: var(--bg-2);\n }\n .accordion-header {\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n font-size: var(--accordion-font-size, var(--font-size-base));\n color: var(--accordion-btn-color);\n text-align: start;\n list-style: none;\n cursor: pointer;\n background-color: var(--accordion-btn-bg);\n transition: var(--accordion-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .accordion-header {\n transition: none;\n }\n }\n .accordion-header .accordion-icon {\n flex-shrink: 0;\n width: var(--accordion-btn-icon-width);\n height: var(--accordion-btn-icon-width);\n margin-inline-start: auto;\n color: currentcolor;\n transition: var(--accordion-btn-icon-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .accordion-header .accordion-icon {\n transition: none;\n }\n }\n .accordion-header:hover {\n z-index: 2;\n }\n .accordion-header:focus-visible {\n position: relative;\n z-index: 3;\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n outline-offset: -1px;\n }\n .accordion-item {\n color: var(--accordion-color);\n background-color: var(--accordion-bg);\n border: var(--accordion-border-width) solid var(--accordion-border-color);\n }\n .accordion-item:first-of-type {\n border-start-start-radius: var(--accordion-border-radius);\n border-start-end-radius: var(--accordion-border-radius);\n }\n .accordion-item:first-of-type > .accordion-header {\n border-start-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n border-start-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n }\n .accordion-item:not(:first-of-type) {\n border-block-start: 0;\n }\n .accordion-item:last-of-type {\n border-end-start-radius: var(--accordion-border-radius);\n border-end-end-radius: var(--accordion-border-radius);\n }\n .accordion-item:last-of-type > .accordion-header {\n border-end-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n border-end-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n }\n .accordion-item:last-of-type > .accordion-body {\n border-end-start-radius: var(--accordion-border-radius);\n border-end-end-radius: var(--accordion-border-radius);\n }\n .accordion-item[open] {\n border-color: var(--theme-border, var(--accordion-border-color));\n }\n .accordion-item[open] > .accordion-header {\n color: var(--theme-text, var(--accordion-active-color));\n background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n }\n .accordion-item[open] > .accordion-header .accordion-icon {\n transform: var(--accordion-btn-icon-transform);\n }\n .accordion-item[open]:last-of-type > .accordion-header {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .accordion-body {\n padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n }\n .accordion-flush > .accordion-item {\n border-inline: 0;\n border-radius: 0;\n }\n .accordion-flush > .accordion-item:first-child {\n border-block-start: 0;\n }\n .accordion-flush > .accordion-item:last-child {\n border-block-end: 0;\n }\n .accordion-flush > .accordion-item > .accordion-header,\n .accordion-flush > .accordion-item > .accordion-body {\n border-radius: 0;\n }\n}\n@layer components {\n .alert {\n --alert-gap: 0.75rem;\n --alert-bg: var(--theme-bg-subtle, var(--bg-1));\n --alert-padding-x: 1rem;\n --alert-padding-y: 1rem;\n --alert-color: var(--theme-text, inherit);\n --alert-border-color: var(--theme-border, var(--border-color));\n --alert-border: var(--border-width) solid var(--alert-border-color);\n --alert-border-radius: var(--border-radius);\n --alert-link-color: inherit;\n --hr-border-color: var(--theme-border, var(--border-color));\n display: flex;\n gap: var(--alert-gap);\n align-items: start;\n padding: var(--alert-padding-y) var(--alert-padding-x);\n color: var(--alert-color);\n background-color: var(--alert-bg);\n border: var(--alert-border);\n border-radius: var(--alert-border-radius);\n }\n .alert-heading {\n color: inherit;\n }\n .alert-link {\n font-weight: var(--font-weight-semibold);\n color: var(--alert-link-color);\n }\n}\n@layer components {\n .avatar {\n --avatar-size: 2.5rem;\n --avatar-border-radius: 50%;\n --avatar-border-width: 2px;\n --avatar-border-color: var(--bg-body);\n --avatar-bg: var(--bg-2);\n --avatar-color: var(--fg-body);\n --avatar-status-size: 0.75rem;\n --avatar-status-border-width: 2px;\n --avatar-status-border-color: var(--bg-body);\n --avatar-stack-spacing: -0.3;\n --avatar-stack-transition: transform .2s ease-in-out;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--avatar-size);\n height: var(--avatar-size);\n font-size: calc(var(--avatar-size) * 0.4);\n font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n line-height: 1;\n color: var(--theme-contrast, var(--avatar-color));\n text-transform: uppercase;\n vertical-align: middle;\n background-color: var(--theme-bg, var(--avatar-bg));\n border-radius: var(--avatar-border-radius);\n }\n .avatar-subtle {\n color: var(--theme-text, var(--avatar-color));\n background-color: var(--theme-bg-subtle, var(--avatar-bg));\n }\n .avatar-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: inherit;\n }\n .avatar-status {\n position: absolute;\n right: calc(var(--avatar-status-border-width) * -1);\n bottom: calc(var(--avatar-status-border-width) * -1);\n width: var(--avatar-status-size);\n height: var(--avatar-status-size);\n background-color: var(--gray-400);\n border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n border-radius: 50%;\n }\n .avatar-status.status-online {\n background-color: var(--green-500);\n }\n .avatar-status.status-offline {\n background-color: var(--gray-400);\n border-radius: 20%;\n }\n .avatar-status.status-busy {\n background-color: var(--red-500);\n border-radius: 20%;\n }\n .avatar-status.status-away {\n background-color: var(--yellow-500);\n }\n .avatar-stack {\n display: inline-flex;\n flex-direction: row-reverse;\n }\n .avatar-stack .avatar {\n margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n border: var(--avatar-border-width) solid var(--avatar-border-color);\n mask-image: none;\n transition: var(--avatar-stack-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .avatar-stack .avatar {\n transition: none;\n }\n }\n .avatar-stack .avatar:last-child {\n margin-left: 0;\n }\n .avatar-stack .avatar:hover {\n z-index: 1;\n transform: translateY(-2px);\n }\n .avatar-xs,\n .avatar-stack-xs {\n --avatar-size: 1.5rem;\n --avatar-status-size: 0.625rem;\n }\n .avatar-sm,\n .avatar-stack-sm {\n --avatar-size: 2rem;\n }\n .avatar-lg,\n .avatar-stack-lg {\n --avatar-size: 3rem;\n --avatar-status-size: 1rem;\n }\n .avatar-xl,\n .avatar-stack-xl {\n --avatar-size: 4rem;\n --avatar-status-size: 1.25rem;\n }\n}\n@layer components {\n .badge {\n --badge-padding-x: 0.625em;\n --badge-padding-y: 0.25em;\n --badge-font-size: clamp(12px, 0.75em, 0.75em);\n --badge-font-weight: var(--font-weight-semibold);\n --badge-color: inherit;\n --badge-bg: var(--bg-2);\n --badge-border-width: var(--border-width);\n --badge-border-color: transparent;\n --badge-border-radius: var(--border-radius-lg);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 1.375rem;\n padding: var(--badge-padding-y) var(--badge-padding-x);\n font-size: var(--badge-font-size);\n font-weight: var(--badge-font-weight);\n line-height: 1;\n color: var(--theme-contrast, var(--badge-color));\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n background-color: var(--theme-bg, var(--badge-bg));\n border: var(--badge-border-width) solid var(--badge-border-color);\n border-radius: var(--badge-border-radius);\n }\n .badge:empty {\n display: none;\n }\n .btn .badge {\n position: relative;\n top: -1px;\n }\n .badge-subtle {\n --badge-color: var(--theme-text);\n --badge-bg: var(--theme-bg-subtle);\n --badge-border-color: transparent;\n color: var(--badge-color);\n background-color: var(--badge-bg);\n border-color: var(--badge-border-color);\n }\n .badge-outline {\n --badge-color: var(--theme-text);\n --badge-bg: transparent;\n --badge-border-color: var(--theme-border);\n color: var(--badge-color);\n background-color: var(--badge-bg);\n border-color: var(--badge-border-color);\n }\n}\n@layer components {\n .breadcrumb {\n --breadcrumb-margin-bottom: 1rem;\n --breadcrumb-font-size: inherit;\n --breadcrumb-bg: transparent;\n --breadcrumb-border-radius: var(--border-radius);\n --breadcrumb-divider-color: var(--fg-4);\n --breadcrumb-link-padding-x: 0.75rem;\n --breadcrumb-link-padding-y: 0.25rem;\n --breadcrumb-link-color: var(--fg-3);\n --breadcrumb-link-hover-color: var(--fg-2);\n --breadcrumb-link-hover-bg: var(--bg-1);\n --breadcrumb-link-active-color: var(--fg-1);\n --breadcrumb-link-border-radius: var(--border-radius-lg);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n font-size: var(--breadcrumb-font-size);\n list-style: none;\n background-color: var(--breadcrumb-bg);\n border-radius: var(--breadcrumb-border-radius);\n }\n .breadcrumb-item {\n display: flex;\n }\n .breadcrumb-divider {\n margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n color: var(--breadcrumb-divider-color);\n }\n .breadcrumb-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 2.25rem;\n padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n color: var(--breadcrumb-link-color);\n text-decoration: none;\n border-radius: var(--breadcrumb-link-border-radius);\n transition: 0.1s text-decoration-color ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .breadcrumb-link {\n transition: none;\n }\n }\n .breadcrumb-link:hover {\n z-index: 2;\n color: var(--breadcrumb-link-hover-color);\n background-color: var(--breadcrumb-link-hover-bg);\n }\n .breadcrumb-link.active {\n color: var(--breadcrumb-link-active-color);\n }\n}\n@layer components {\n .chip {\n --chip-height: 1.75rem;\n --chip-padding-x: 0.625rem;\n --chip-gap: 0.3125rem;\n --chip-border-radius: var(--border-radius-pill);\n --chip-img-size: 1.25rem;\n --chip-icon-size: 1rem;\n --chip-dismiss-size: 1rem;\n --chip-dismiss-opacity: 0.65;\n --chip-dismiss-hover-opacity: 1;\n --chip-color: var(--theme-text, var(--fg-body));\n --chip-bg: var(--theme-bg-subtle, var(--bg-2));\n --chip-border-color: transparent;\n --chip-selected-color: var(--theme-contrast, var(--primary-contrast));\n --chip-selected-bg: var(--theme-bg, var(--primary-bg));\n --chip-selected-border-color: var(--theme-bg, var(--primary-bg));\n display: inline-flex;\n gap: var(--chip-gap);\n align-items: center;\n height: var(--chip-height);\n padding-inline: var(--chip-padding-x);\n font-size: var(--chip-font-size, var(--font-size-sm));\n font-weight: var(--chip-font-weight, var(--font-weight-base));\n line-height: var(--chip-line-height, 1.25rem);\n color: var(--chip-color);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n background-color: var(--chip-bg);\n border: var(--border-width) solid var(--chip-border-color);\n border-radius: var(--chip-border-radius);\n }\n .chip:hover {\n --chip-bg: var(--theme-bg-muted, var(--bg-3));\n }\n .chip:focus-visible {\n outline: 0;\n }\n .chip.active {\n --chip-color: var(--chip-selected-color);\n --chip-bg: var(--chip-selected-bg);\n --chip-border-color: var(--chip-selected-border-color);\n }\n .chip.active:hover {\n --chip-bg: var(--chip-selected-bg);\n opacity: 0.9;\n }\n .chip.disabled, .chip:disabled {\n pointer-events: none;\n opacity: 0.65;\n }\n .chip-img {\n width: var(--chip-img-size);\n height: var(--chip-img-size);\n border-radius: 50%;\n }\n .chip-img:first-child {\n margin-inline-start: -0.375rem;\n }\n .chip-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n margin-inline-start: calc(var(--chip-gap) * -0.25);\n }\n .chip-icon > svg {\n display: block;\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n }\n .chip-icon > img {\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n object-fit: cover;\n border-radius: 50%;\n }\n .chip-dismiss {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--chip-min-height);\n height: var(--chip-min-height);\n padding: 0;\n margin-inline-end: calc(var(--chip-padding-x) * -0.25);\n color: inherit;\n cursor: pointer;\n background: transparent;\n border: 0;\n opacity: var(--chip-dismiss-opacity);\n }\n .chip-dismiss:hover {\n opacity: var(--chip-dismiss-hover-opacity);\n }\n .chip-dismiss:focus-visible {\n outline: 0;\n opacity: 1;\n outline: var(--focus-ring);\n }\n .chip-dismiss > svg {\n display: block;\n width: var(--chip-dismiss-size);\n height: var(--chip-dismiss-size);\n }\n}\n@layer components {\n .card {\n --card-spacer-y: 1rem;\n --card-spacer-x: 1rem;\n --card-subtitle-color: inherit;\n --card-border-width: var(--border-width);\n --card-border-color: var(--border-color-translucent);\n --card-border-radius: var(--border-radius-lg);\n --card-box-shadow: none;\n --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n --card-cap-padding-y: 0.75rem;\n --card-cap-padding-x: 1rem;\n --card-cap-bg: var(--bg-1);\n --card-cap-color: inherit;\n --card-height: auto;\n --card-color: inherit;\n --card-bg: var(--bg-body);\n --card-img-overlay-padding: 1rem;\n --card-group-margin: 0.75rem;\n --card-body-gap: 0.5rem;\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n height: var(--card-height);\n color: var(--fg-body);\n word-wrap: break-word;\n background-color: var(--card-bg);\n box-shadow: var(--card-box-shadow);\n }\n .card > hr {\n margin-inline: 0;\n }\n .card-body {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--card-body-gap);\n align-items: flex-start;\n padding: var(--card-spacer-y) var(--card-spacer-x);\n color: var(--card-color);\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n }\n .card-body > * {\n margin-block: 0;\n }\n .card-body,\n .card-list {\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n }\n .card-body:first-child,\n .card-list:first-child {\n border-start-start-radius: var(--card-border-radius);\n border-start-end-radius: var(--card-border-radius);\n border-top-width: var(--card-border-width);\n }\n .card-body:last-child,\n .card-list:last-child {\n border-end-start-radius: var(--card-border-radius);\n border-end-end-radius: var(--card-border-radius);\n border-bottom-width: var(--card-border-width);\n }\n .card-body:not(:first-child):not(:last-child),\n .card-list:not(:first-child):not(:last-child) {\n border-block-end-width: var(--card-border-width);\n }\n .card-title,\n .card-subtitle,\n .card-text {\n align-self: stretch;\n }\n .card-subtitle {\n margin-top: calc(var(--card-body-gap) * -0.5);\n }\n .card-header {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n margin-bottom: 0;\n color: var(--theme-contrast, var(--card-cap-color));\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n }\n .card-header:first-child {\n border-radius: var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0;\n }\n .card-footer {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n color: var(--card-cap-color);\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n }\n .card-footer:last-child {\n border-radius: 0 0 var(--card-inner-border-radius) var(--card-inner-border-radius);\n }\n .card-translucent {\n background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n .card-translucent .card-header,\n .card-translucent .card-footer {\n background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n }\n .card-subtle {\n border-color: var(--theme-border, var(--card-border-color));\n }\n .card-subtle .card-header {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n .card-subtle .card-footer {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n .card-subtle .card-body,\n .card-subtle .card-list {\n border-color: var(--theme-border, var(--card-border-color));\n }\n .nav.card-header-tabs {\n margin-inline: calc(-0.5 * var(--card-cap-padding-x));\n margin-bottom: calc(-1 * var(--card-cap-padding-y));\n border-block-end: 0;\n }\n .nav.card-header-tabs .nav-link.active {\n background-color: var(--card-bg);\n border-block-end-color: var(--card-bg);\n }\n .card-img-overlay {\n position: absolute;\n inset: 0;\n padding: var(--card-img-overlay-padding);\n border-radius: var(--card-inner-border-radius);\n }\n .card-img,\n .card-img-top,\n .card-img-bottom {\n width: 100%;\n outline: var(--card-border-width) solid var(--card-border-color);\n outline-offset: calc(var(--card-border-width) * -1);\n }\n .card-img,\n .card-img-top {\n border-start-start-radius: var(--card-inner-border-radius);\n border-start-end-radius: var(--card-inner-border-radius);\n }\n .card-img,\n .card-img-bottom {\n border-end-start-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n }\n .card-row {\n flex-direction: row;\n }\n .card-row .card-body,\n .card-row .card-list {\n border-width: var(--card-border-width) 0;\n border-radius: 0;\n }\n .card-row .card-body:first-child,\n .card-row .card-list:first-child {\n border-start-start-radius: var(--card-inner-border-radius);\n border-end-start-radius: var(--card-inner-border-radius);\n border-inline-start-width: var(--card-border-width);\n }\n .card-row .card-body:last-child,\n .card-row .card-list:last-child {\n border-start-end-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n border-inline-end-width: var(--card-border-width);\n }\n .card-row .card-body:not(:first-child):not(:last-child),\n .card-row .card-list:not(:first-child):not(:last-child) {\n border-inline-end-width: var(--card-border-width);\n }\n .card-img-start {\n border-start-start-radius: var(--card-inner-border-radius);\n border-end-start-radius: var(--card-inner-border-radius);\n }\n .card-img-end {\n border-start-end-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n }\n .card-group > .card {\n margin-bottom: var(--card-group-margin);\n }\n @media (width >= 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-inline-start: 0;\n border-inline-start: 0;\n }\n .card-group > .card:not(:last-child) {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .card-group > .card:not(:last-child) > .card-img-top,\n .card-group > .card:not(:last-child) > .card-header {\n border-start-end-radius: 0;\n }\n .card-group > .card:not(:last-child) > .card-img-bottom,\n .card-group > .card:not(:last-child) > .card-footer {\n border-end-end-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .card-group > .card:not(:first-child) > .card-img-top,\n .card-group > .card:not(:first-child) > .card-header {\n border-start-start-radius: 0;\n }\n .card-group > .card:not(:first-child) > .card-img-bottom,\n .card-group > .card:not(:first-child) > .card-footer {\n border-end-start-radius: 0;\n }\n }\n}\n@layer components {\n .carousel {\n position: relative;\n --carousel-control-color: #fff;\n --carousel-control-width: 15%;\n --carousel-control-opacity: 0.5;\n --carousel-control-hover-opacity: 0.9;\n --carousel-control-transition: opacity 0.15s ease;\n --carousel-control-icon-filter: none;\n --carousel-indicator-width: 30px;\n --carousel-indicator-height: 3px;\n --carousel-indicator-hit-area-height: 10px;\n --carousel-indicator-spacer: 3px;\n --carousel-indicator-opacity: 0.5;\n --carousel-indicator-active-bg: var(--white);\n --carousel-indicator-active-opacity: 1;\n --carousel-indicator-transition: opacity 0.6s ease;\n --carousel-caption-width: 70%;\n --carousel-caption-color: var(--white);\n --carousel-caption-padding-y: 1.25rem;\n --carousel-caption-spacer: 1.25rem;\n --carousel-control-icon-width: 2rem;\n --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\");\n --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\");\n --carousel-transition-duration: 0.6s;\n --carousel-transition: transform 0.6s ease-in-out;\n }\n .carousel.pointer-event {\n touch-action: pan-y;\n }\n .carousel-inner {\n position: relative;\n display: flow-root;\n width: 100%;\n overflow: hidden;\n }\n .carousel-item {\n position: relative;\n display: none;\n float: inline-start;\n width: 100%;\n margin-inline-end: -100%;\n backface-visibility: hidden;\n transition: var(--carousel-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n }\n .carousel-item.active,\n .carousel-item-next,\n .carousel-item-prev {\n display: block;\n }\n .carousel-item-next:not(.carousel-item-start),\n .active.carousel-item-end {\n transform: translateX(100%);\n }\n .carousel-item-prev:not(.carousel-item-end),\n .active.carousel-item-start {\n transform: translateX(-100%);\n }\n .carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n .carousel-fade .carousel-item.active,\n .carousel-fade .carousel-item-next.carousel-item-start,\n .carousel-fade .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n }\n .carousel-fade .active.carousel-item-start,\n .carousel-fade .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s var(--carousel-transition-duration);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-start,\n .carousel-fade .active.carousel-item-end {\n transition: none;\n }\n }\n .carousel-control-prev,\n .carousel-control-next {\n position: absolute;\n inset-block: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--carousel-control-width);\n padding: 0;\n color: var(--carousel-control-color);\n text-align: center;\n background: none;\n filter: var(--carousel-control-icon-filter);\n border: 0;\n opacity: var(--carousel-control-opacity);\n transition: var(--carousel-control-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n }\n .carousel-control-prev:hover, .carousel-control-prev:focus,\n .carousel-control-next:hover,\n .carousel-control-next:focus {\n color: var(--carousel-control-color);\n text-decoration: none;\n outline: 0;\n opacity: var(--carousel-control-hover-opacity);\n }\n .carousel-control-prev {\n inset-inline-start: 0;\n }\n .carousel-control-next {\n inset-inline-end: 0;\n }\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n display: inline-block;\n width: var(--carousel-control-icon-width);\n height: var(--carousel-control-icon-width);\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n }\n .carousel-control-prev-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n [dir=rtl] .carousel-control-prev-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n .carousel-control-next-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n [dir=rtl] .carousel-control-next-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n .carousel-indicators {\n position: absolute;\n inset: auto 0 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n margin-inline: var(--carousel-control-width);\n margin-bottom: 1rem;\n }\n .carousel-indicators [data-bs-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: var(--carousel-indicator-width);\n height: var(--carousel-indicator-height);\n padding: 0;\n margin-inline: var(--carousel-indicator-spacer);\n text-indent: -999px;\n cursor: pointer;\n background-color: var(--carousel-indicator-active-bg);\n background-clip: padding-box;\n border: 0;\n border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n opacity: var(--carousel-indicator-opacity);\n transition: var(--carousel-indicator-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-indicators [data-bs-target] {\n transition: none;\n }\n }\n .carousel-indicators .active {\n opacity: var(--carousel-indicator-active-opacity);\n }\n .carousel-caption {\n position: absolute;\n right: calc((100% - var(--carousel-caption-width)) * 0.5);\n bottom: var(--carousel-caption-spacer);\n left: calc((100% - var(--carousel-caption-width)) * 0.5);\n padding-top: var(--carousel-caption-padding-y);\n padding-bottom: var(--carousel-caption-padding-y);\n color: var(--carousel-caption-color);\n text-align: center;\n }\n .carousel-dark {\n --carousel-indicator-active-bg: #000;\n --carousel-caption-color: #000;\n --carousel-control-icon-filter: invert(1) grayscale(100);\n }\n @media (prefers-color-scheme: dark) {\n :root {\n --carousel-indicator-active-bg: #000;\n --carousel-caption-color: #000;\n --carousel-control-icon-filter: invert(1) grayscale(100);\n }\n }\n}\n@layer components {\n [data-vc=calendar] {\n --datepicker-padding: 1rem;\n --datepicker-bg: var(--bg-body);\n --datepicker-color: var(--fg-body);\n --datepicker-border-color: var(--border-color-translucent);\n --datepicker-border-width: var(--border-width);\n --datepicker-border-radius: var(--border-radius-lg);\n --datepicker-box-shadow: var(--box-shadow);\n --datepicker-font-size: var(--font-size-sm);\n --datepicker-min-width: 280px;\n --datepicker-zindex: 1000;\n --datepicker-header-font-weight: 600;\n --datepicker-weekday-color: var(--fg-3);\n --datepicker-day-hover-bg: var(--bg-1);\n --datepicker-day-selected-bg: var(--primary-bg);\n --datepicker-day-selected-color: var(--primary-contrast);\n --datepicker-day-today-bg: var(--bg-2);\n --datepicker-day-today-color: var(--fg-1);\n --datepicker-day-disabled-color: var(--fg-4);\n position: absolute;\n z-index: var(--datepicker-zindex);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n min-width: var(--datepicker-min-width);\n padding: var(--datepicker-padding);\n font-family: var(--font-sans-serif);\n font-size: var(--datepicker-font-size);\n color: var(--datepicker-color);\n color-scheme: light dark;\n background-color: var(--datepicker-bg);\n border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n border-radius: var(--datepicker-border-radius);\n box-shadow: var(--datepicker-box-shadow);\n opacity: 1;\n }\n [data-vc=calendar][data-bs-theme=light] {\n color-scheme: light;\n }\n [data-vc=calendar][data-bs-theme=dark] {\n color-scheme: dark;\n }\n [data-vc=calendar] button:focus-visible {\n position: relative;\n z-index: 1;\n outline: var(--focus-ring);\n }\n [data-vc-calendar-hidden] {\n pointer-events: none;\n opacity: 0;\n }\n [data-vc=calendar]:not([data-vc-input]) {\n position: relative;\n width: fit-content;\n padding: 0;\n border: 0;\n box-shadow: none;\n }\n [data-vc-position=bottom] {\n margin-block-start: 0.25rem;\n }\n [data-vc-position=top] {\n margin-block-end: -0.25rem;\n }\n [data-vc-arrow] {\n position: relative;\n display: block;\n width: 2rem;\n height: 2rem;\n color: var(--datepicker-color);\n pointer-events: auto;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc-arrow]::before {\n position: absolute;\n inset: 0.25rem;\n content: \"\";\n background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n background-repeat: no-repeat;\n background-position: center;\n }\n [data-vc-arrow]:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc-arrow=prev]::before {\n transform: rotate(90deg);\n }\n [data-vc-arrow=next]::before {\n transform: rotate(-90deg);\n }\n [data-vc=controls] {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 20;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 1rem;\n padding-right: 1rem;\n padding-left: 1rem;\n pointer-events: none;\n }\n [data-vc=grid] {\n display: flex;\n flex-grow: 1;\n flex-wrap: wrap;\n gap: 1.75rem;\n }\n [data-vc=column] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n min-width: 240px;\n }\n [data-vc=header] {\n position: relative;\n display: flex;\n align-items: center;\n margin-bottom: 0.75rem;\n }\n [data-vc-header=content] {\n display: inline-flex;\n flex-grow: 1;\n align-items: center;\n justify-content: center;\n white-space: pre-wrap;\n }\n [data-vc=month],\n [data-vc=year] {\n padding: 0.25rem 0.5rem;\n margin-inline: -0.125rem;\n font-size: 1rem;\n font-weight: var(--datepicker-header-font-weight);\n color: var(--datepicker-color);\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc=month]:disabled,\n [data-vc=year]:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n [data-vc=month]:hover:not(:disabled),\n [data-vc=year]:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc=content] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n }\n [data-vc=months],\n [data-vc=years] {\n display: grid;\n flex-grow: 1;\n grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n row-gap: 1rem;\n column-gap: 0.25rem;\n align-items: center;\n }\n [data-vc=years] {\n --vc-columns: 5;\n }\n [data-vc-months-month],\n [data-vc-years-year] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 2.5rem;\n padding: 0.25rem;\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n text-align: center;\n word-break: break-all;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc-months-month]:disabled,\n [data-vc-years-year]:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n [data-vc-months-month]:hover:not(:disabled),\n [data-vc-years-year]:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc-months-month][data-vc-months-month-selected], [data-vc-months-month][data-vc-years-year-selected],\n [data-vc-years-year][data-vc-months-month-selected],\n [data-vc-years-year][data-vc-years-year-selected] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n [data-vc-months-month][data-vc-months-month-selected]:hover, [data-vc-months-month][data-vc-years-year-selected]:hover,\n [data-vc-years-year][data-vc-months-month-selected]:hover,\n [data-vc-years-year][data-vc-years-year-selected]:hover {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n [data-vc=week] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n justify-items: center;\n margin-bottom: 0.5rem;\n }\n [data-vc-week-day] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n padding: 0;\n margin: 0;\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n background-color: transparent;\n border: 0;\n }\n button[data-vc-week-day] {\n cursor: pointer;\n }\n [data-vc=dates] {\n pointer-events: none;\n }\n [data-vc-dates=row] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n align-items: center;\n justify-items: center;\n width: 100%;\n }\n [data-vc-date] {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n pointer-events: auto;\n }\n [data-vc-date]:not(:has([data-vc-date-btn])), [data-vc-date][data-vc-date-disabled], [data-vc-date][data-vc-date-disabled] [data-vc-date-btn] {\n pointer-events: none;\n }\n [data-vc-date-btn] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n height: 100%;\n min-height: 1.875rem;\n padding: 0;\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--datepicker-color);\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc-date-btn]:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc-date-today] [data-vc-date-btn] {\n font-weight: 600;\n color: var(--datepicker-day-today-color);\n background-color: var(--datepicker-day-today-bg);\n }\n [data-vc-date-month=next] [data-vc-date-btn],\n [data-vc-date-month=prev] [data-vc-date-btn] {\n opacity: 0.5;\n }\n [data-vc-date-disabled] [data-vc-date-btn] {\n color: var(--datepicker-day-disabled-color);\n }\n [data-vc-date-hover] [data-vc-date-btn] {\n background-color: var(--datepicker-day-hover-bg);\n border-radius: 0;\n }\n [data-vc-date-hover=first] [data-vc-date-btn] {\n border-start-start-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n [data-vc-date-hover=last] [data-vc-date-btn] {\n border-start-end-radius: var(--border-radius);\n border-end-end-radius: var(--border-radius);\n }\n [data-vc-date-hover=first-and-last] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n [data-vc-date-selected=middle] [data-vc-date-btn] {\n border-radius: 0;\n opacity: 0.8;\n }\n [data-vc-date-selected] [data-vc-date-btn] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n [data-vc-date-selected=first] [data-vc-date-btn] {\n border-top-left-radius: var(--border-radius);\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: var(--border-radius);\n }\n [data-vc-date-selected=last] [data-vc-date-btn] {\n border-top-left-radius: 0;\n border-top-right-radius: var(--border-radius);\n border-bottom-right-radius: var(--border-radius);\n border-bottom-left-radius: 0;\n }\n [data-vc-date-selected=first-and-last] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n}\n@layer components {\n .dialog-open {\n overflow: hidden;\n scrollbar-gutter: stable;\n }\n .dialog {\n --dialog-padding: 1rem;\n --dialog-width: 500px;\n --dialog-margin: 1.75rem;\n --dialog-color: var(--fg-body);\n --dialog-bg: var(--bg-body);\n --dialog-border-color: var(--border-color-translucent);\n --dialog-border-width: var(--border-width);\n --dialog-border-radius: var(--border-radius-lg);\n --dialog-box-shadow: var(--box-shadow-lg);\n --dialog-backdrop-bg: rgba(0, 0, 0, 0.5);\n --dialog-backdrop-blur: 8px;\n --dialog-header-padding: 1rem;\n --dialog-header-border-color: var(--border-color);\n --dialog-header-border-width: var(--border-width);\n --dialog-footer-padding: 1rem;\n --dialog-footer-border-color: var(--border-color);\n --dialog-footer-border-width: var(--border-width);\n --dialog-footer-gap: 0.5rem;\n max-width: var(--dialog-width);\n max-height: calc(100% - var(--dialog-margin) * 2);\n padding: 0;\n margin: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n border-radius: var(--dialog-border-radius);\n box-shadow: var(--dialog-box-shadow);\n }\n .dialog::backdrop {\n background-color: var(--dialog-backdrop-bg);\n backdrop-filter: blur(var(--dialog-backdrop-blur));\n }\n .dialog.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n }\n @media (prefers-reduced-motion: reduce) {\n .dialog.fade {\n transition: none;\n }\n }\n .dialog.fade::backdrop {\n opacity: 0;\n transition: opacity 0.15s linear;\n }\n @media (prefers-reduced-motion: reduce) {\n .dialog.fade::backdrop {\n transition: none;\n }\n }\n .dialog.fade[open] {\n opacity: 1;\n }\n .dialog.fade[open]::backdrop {\n opacity: 1;\n }\n .dialog.dialog-static {\n transform: scale(1.02);\n }\n .dialog.dialog-nonmodal {\n position: fixed;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n z-index: 1055;\n margin-inline: 0;\n transform: translate(-50%, -50%);\n }\n .dialog.dialog-overflow {\n position: fixed;\n inset: 0;\n width: 100%;\n max-width: 100%;\n height: 100%;\n max-height: 100%;\n padding: var(--dialog-margin);\n margin: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n background: transparent;\n border: 0;\n box-shadow: none;\n }\n .dialog.dialog-overflow > .dialog-box {\n max-width: var(--dialog-width);\n margin-block-end: var(--dialog-margin);\n margin-inline: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n border-radius: var(--dialog-border-radius);\n box-shadow: var(--dialog-box-shadow);\n }\n .dialog.dialog-scrollable[open] {\n display: flex;\n flex-direction: column;\n max-height: calc(100% - var(--dialog-margin) * 2);\n }\n .dialog.dialog-scrollable[open] .dialog-body {\n overflow-y: auto;\n }\n .dialog-sm {\n --dialog-width: 280px;\n }\n .dialog-lg {\n --dialog-width: 800px;\n }\n .dialog-xl {\n --dialog-width: 1140px;\n }\n .dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n @media (width < 576px) {\n .sm-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 768px) {\n .md-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 1024px) {\n .lg-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 1280px) {\n .xl-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 1536px) {\n .\\32 xl-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n .dialog-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding: var(--dialog-header-padding);\n border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n }\n .dialog-header .btn-close {\n margin-inline-start: auto;\n }\n .dialog-title {\n margin-bottom: 0;\n font-size: var(--font-size-md);\n line-height: 1.5;\n }\n .dialog-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--dialog-padding);\n overflow-y: auto;\n }\n .dialog-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: var(--dialog-footer-gap);\n align-items: center;\n justify-content: flex-end;\n padding: var(--dialog-footer-padding);\n border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n }\n}\n@layer components {\n .menu {\n --menu-zindex: 1000;\n --menu-gap: 0.125rem;\n --menu-min-width: 10rem;\n --menu-padding-x: 0.25rem;\n --menu-padding-y: 0.25rem;\n --menu-spacer: 0.125rem;\n --menu-font-size: var(--font-size-sm);\n --menu-color: var(--fg-body);\n --menu-bg: var(--bg-body);\n --menu-box-shadow: var(--box-shadow);\n --menu-divider-bg: var(--border-color-translucent);\n --menu-divider-margin-y: 0.125rem;\n --menu-divider-margin-x: 0.25rem;\n --menu-item-color: var(--menu-color, var(--fg-body));\n --menu-item-hover-color: var(--menu-color, var(--fg-body));\n --menu-item-hover-bg: var(--bg-1);\n --menu-item-active-color: var(--primary-contrast);\n --menu-item-active-bg: var(--primary-bg);\n --menu-item-disabled-color: var(--fg-3);\n --menu-item-gap: 0.5rem;\n --menu-item-padding-x: 0.75rem;\n --menu-item-padding-y: 0.25rem;\n --menu-item-border-radius: var(--border-radius);\n --menu-icon-size: 1rem;\n --menu-image-size: 1.5rem;\n --menu-description-font-size: var(--font-size-xs);\n --menu-check-color: currentcolor;\n --menu-header-color: var(--fg-3);\n --menu-header-padding-x: 0.75rem;\n --menu-header-padding-y: 0.25rem;\n position: absolute;\n z-index: var(--menu-zindex);\n display: none;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: var(--menu-min-width);\n max-height: var(--menu-max-height, none);\n padding: var(--menu-padding-y) var(--menu-padding-x);\n margin: 0;\n overflow-y: var(--menu-overflow-y, initial);\n overscroll-behavior: contain;\n font-size: var(--menu-font-size);\n color: var(--menu-color);\n text-align: start;\n list-style: none;\n background-color: var(--menu-bg);\n background-clip: padding-box;\n border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n border-radius: var(--menu-border-radius, var(--border-radius-lg));\n box-shadow: var(--menu-box-shadow);\n }\n .menu.show {\n display: flex;\n }\n .menu-scrollable {\n --menu-max-height: 80dvh;\n --menu-overflow-y: auto;\n }\n .menu-translucent {\n --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n .menu-divider {\n height: 0;\n margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n overflow: hidden;\n border-block-start: 1px solid var(--menu-divider-bg);\n opacity: 1;\n }\n .menu-item {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n width: 100%;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n color: var(--theme-text, var(--menu-item-color));\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n outline: 0;\n border-radius: var(--menu-item-border-radius, 0);\n }\n .menu-item:hover, .menu-item:focus {\n color: var(--theme-text, var(--menu-item-hover-color));\n background-color: var(--theme-bg-subtle, var(--menu-item-hover-bg));\n }\n .menu-item.active, .menu-item:active {\n color: var(--theme-contrast, var(--menu-item-active-color));\n background-color: var(--theme-bg, var(--menu-item-active-bg));\n }\n .menu-item.active .menu-item-icon, .menu-item:active .menu-item-icon {\n color: inherit !important;\n }\n .menu-item.selected {\n font-weight: 600;\n }\n .menu-item.disabled, .menu-item:disabled {\n color: var(--menu-item-disabled-color);\n pointer-events: none;\n background-color: transparent;\n }\n .menu-item-icon {\n flex-shrink: 0;\n align-self: flex-start;\n width: var(--menu-icon-size);\n height: auto;\n margin-top: 0.125rem;\n }\n .menu-image {\n width: var(--menu-image-size);\n height: var(--menu-image-size);\n object-fit: cover;\n border-radius: var(--border-radius-sm);\n }\n .menu-item-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-width: fit-content;\n }\n .menu-item-description {\n font-size: var(--menu-description-font-size);\n font-weight: var(--font-weight-normal);\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n .menu-item-check {\n flex-shrink: 0;\n align-self: flex-start;\n margin-block-start: 0.125rem;\n margin-inline-start: auto;\n color: var(--menu-check-color);\n visibility: hidden;\n }\n .selected > .menu-item-check {\n visibility: visible;\n }\n .menu-header {\n display: block;\n padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n margin-bottom: 0;\n font-size: var(--font-size-sm);\n color: var(--menu-header-color);\n white-space: nowrap;\n }\n .menu-text {\n display: block;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n color: var(--fg-2);\n }\n .submenu {\n position: relative;\n }\n .submenu > .menu-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n .submenu > .menu-item::after {\n display: inline-block;\n flex-shrink: 0;\n width: 0.375em;\n height: 0.375em;\n margin-inline-start: auto;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: 0 0.125em 0.125em 0;\n transform: rotate(-45deg);\n }\n [dir=rtl] .submenu > .menu-item::after {\n transform: rotate(135deg);\n }\n .submenu > .menu {\n top: 0;\n margin-top: calc(-1 * var(--menu-padding-y));\n }\n .submenu:hover > .menu-item, .submenu:focus-within > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n .submenu.show > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n @media (max-width: 575.98px) {\n .submenu:has(.submenu-stacked) {\n position: static;\n }\n .submenu-stacked {\n position: absolute;\n inset: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: 0;\n padding: var(--menu-padding-y) var(--menu-padding-x);\n background-color: var(--menu-bg);\n border: 0;\n border-radius: 0;\n box-shadow: none;\n }\n .submenu-back {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--font-weight-semibold, 600);\n color: var(--menu-item-color);\n }\n .submenu-back::before {\n display: inline-block;\n flex-shrink: 0;\n width: 0.375em;\n height: 0.375em;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: 0.125em 0 0 0.125em;\n transform: rotate(-45deg);\n }\n [dir=rtl] .submenu-back::before {\n border-width: 0 0.125em 0.125em 0;\n }\n .submenu-dimmed {\n pointer-events: none;\n filter: blur(2px);\n opacity: 0.3;\n }\n }\n}\n@layer components {\n .list-group {\n --list-group-color: var(--fg-body);\n --list-group-bg: var(--bg-body);\n --list-group-border-color: var(--border-color);\n --list-group-border-width: var(--border-width);\n --list-group-border-radius: var(--border-radius);\n --list-group-item-padding-x: 1rem;\n --list-group-item-padding-y: 0.5rem;\n --list-group-action-color: var(--fg-2);\n --list-group-action-hover-color: var(--fg-1);\n --list-group-action-hover-bg: var(--bg-1);\n --list-group-action-active-color: var(--fg-body);\n --list-group-action-active-bg: var(--bg-2);\n --list-group-disabled-color: var(--fg-3);\n --list-group-disabled-bg: var(--bg-body);\n --list-group-active-color: var(--primary-contrast);\n --list-group-active-bg: var(--primary-bg);\n --list-group-active-border-color: var(--primary-bg);\n display: flex;\n flex-direction: column;\n padding-inline-start: 0;\n margin-bottom: 0;\n border-radius: var(--list-group-border-radius);\n }\n .list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n }\n .list-group-numbered > .list-group-item::before {\n content: counters(section, \".\") \". \";\n counter-increment: section;\n }\n .list-group-item {\n position: relative;\n display: block;\n padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n color: var(--theme-text, var(--list-group-color));\n background-color: var(--theme-bg-subtle, var(--list-group-bg));\n border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n }\n .list-group-item:first-child {\n border-start-start-radius: inherit;\n border-start-end-radius: inherit;\n }\n .list-group-item:last-child {\n border-end-start-radius: inherit;\n border-end-end-radius: inherit;\n }\n .list-group-item.disabled, .list-group-item:disabled {\n color: var(--list-group-disabled-color);\n pointer-events: none;\n background-color: var(--list-group-disabled-bg);\n }\n .list-group-item.active {\n z-index: 2;\n color: var(--list-group-active-color);\n background-color: var(--list-group-active-bg);\n border-color: var(--list-group-active-border-color);\n }\n .list-group-item + .list-group-item {\n border-block-start-width: 0;\n }\n .list-group-item + .list-group-item.active {\n margin-top: calc(-1 * var(--list-group-border-width));\n border-block-start-width: var(--list-group-border-width);\n }\n .list-group-item-action {\n width: 100%;\n color: var(--theme-text, var(--list-group-action-color));\n text-align: inherit;\n text-decoration: none;\n }\n .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n z-index: 1;\n color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n text-decoration: none;\n background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n }\n .list-group-item-action:not(.active):active {\n color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n }\n .list-group-horizontal {\n flex-direction: row;\n }\n .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n @media (width >= 576px) {\n .sm\\:list-group-horizontal {\n flex-direction: row;\n }\n .sm\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .sm\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .sm\\:list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .sm\\:list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .sm\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 768px) {\n .md\\:list-group-horizontal {\n flex-direction: row;\n }\n .md\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .md\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .md\\:list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .md\\:list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .md\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 1024px) {\n .lg\\:list-group-horizontal {\n flex-direction: row;\n }\n .lg\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .lg\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .lg\\:list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .lg\\:list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .lg\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 1280px) {\n .xl\\:list-group-horizontal {\n flex-direction: row;\n }\n .xl\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .xl\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .xl\\:list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .xl\\:list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .xl\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:list-group-horizontal {\n flex-direction: row;\n }\n .\\32 xl\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .\\32 xl\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .\\32 xl\\:list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .\\32 xl\\:list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .\\32 xl\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n .list-group-flush {\n border-radius: 0;\n }\n .list-group-flush > .list-group-item {\n border-width: 0 0 var(--list-group-border-width);\n }\n .list-group-flush > .list-group-item:last-child {\n border-block-end-width: 0;\n }\n}\n@layer components {\n .nav {\n --nav-gap: 0.125rem;\n --nav-link-gap: 0.5rem;\n --nav-link-align: center;\n --nav-link-justify: center;\n --nav-link-padding-x: 0.75rem;\n --nav-link-padding-y: 0.375rem;\n --nav-link-color: var(--fg-2);\n --nav-link-hover-color: var(--fg-1);\n --nav-link-hover-bg: var(--bg-1);\n --nav-link-active-color: var(--fg-body);\n --nav-link-active-bg: var(--bg-2);\n --nav-link-disabled-color: var(--fg-4);\n --nav-link-border-width: var(--border-width);\n --nav-link-transition-property: color, background-color, border-color;\n --nav-link-transition-timing: 0.15s ease-in-out;\n --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing);\n display: flex;\n flex-wrap: wrap;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n }\n .nav-item {\n display: flex;\n }\n .nav-link {\n display: flex;\n gap: var(--nav-link-gap);\n align-items: var(--nav-link-align);\n justify-content: var(--nav-link-justify);\n padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n font-weight: var(--nav-link-font-weight);\n color: var(--nav-link-color);\n text-decoration: none;\n white-space: nowrap;\n background: none;\n border: var(--nav-link-border-width) solid transparent;\n border-radius: var(--border-radius);\n transition: var(--nav-link-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n }\n .nav-link:hover, .nav-link:focus {\n color: var(--nav-link-hover-color);\n background-color: var(--nav-link-hover-bg);\n }\n .nav-link:focus-visible {\n --focus-ring-offset: 1px;\n color: var(--nav-link-hover-color);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .nav-link.active, .nav-link:active {\n color: var(--nav-link-active-color);\n background-color: var(--nav-link-active-bg);\n }\n .nav-link.disabled, .nav-link:disabled {\n color: var(--nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n }\n .nav-tabs {\n --nav-tabs-border-width: var(--border-width);\n --nav-tabs-border-color: var(--border-color);\n --nav-tabs-border-radius: var(--border-radius);\n --nav-tabs-link-hover-border-color: var(--border-subtle);\n --nav-tabs-link-active-color: var(--fg-color);\n --nav-tabs-link-active-bg: var(--bg-body);\n --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body);\n box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n }\n .nav-tabs .nav-link {\n border: var(--nav-tabs-border-width) solid transparent;\n border-bottom-color: var(--nav-tabs-border-color);\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .nav-tabs .nav-link:hover {\n isolation: isolate;\n border-color: var(--nav-tabs-link-hover-border-color);\n border-bottom-color: var(--nav-tabs-border-color);\n }\n .nav-tabs .nav-link.active,\n .nav-tabs .nav-item.show .nav-link {\n color: var(--nav-tabs-link-active-color);\n background-color: var(--nav-tabs-link-active-bg);\n border-color: var(--nav-tabs-link-active-border-color);\n border-bottom-color: var(--nav-tabs-link-active-bg);\n }\n .nav-tabs .menu {\n margin-top: calc(-1 * var(--nav-tabs-border-width));\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .nav-pills {\n --nav-pills-link-active-color: var(--primary-contrast);\n --nav-pills-link-active-bg: var(--primary-bg);\n }\n .nav-pills .nav-link.active,\n .nav-pills .show > .nav-link {\n color: var(--nav-pills-link-active-color);\n background-color: var(--nav-pills-link-active-bg);\n }\n .nav-underline {\n --nav-gap: 1rem;\n --nav-link-active-bg: transparent;\n --nav-underline-border-width: 0.125rem;\n --nav-underline-link-active-color: var(--fg-color);\n }\n .nav-underline .nav-link {\n padding-inline: 0;\n border: 0;\n border-block-end: var(--nav-underline-border-width) solid transparent;\n border-radius: 0;\n }\n .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n border-block-end-color: currentcolor;\n }\n .nav-underline .nav-link.active,\n .nav-underline .show > .nav-link {\n font-weight: 700;\n color: var(--nav-underline-link-active-color);\n border-block-end-color: currentcolor;\n }\n .nav-fill > .nav-link,\n .nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n .nav-justified > .nav-link,\n .nav-justified .nav-item {\n flex-grow: 1;\n flex-basis: 0;\n text-align: center;\n }\n .nav-fill .nav-item .nav-link,\n .nav-justified .nav-item .nav-link {\n width: 100%;\n }\n .tab-content > .tab-pane {\n display: none;\n }\n .tab-content > .active {\n display: block;\n }\n}\n@layer components {\n .nav-overflow {\n flex-wrap: nowrap;\n min-width: 0;\n }\n .nav-overflow-item {\n flex-shrink: 0;\n margin-inline-start: auto;\n }\n .nav-overflow [data-bs-nav-overflow=true] {\n display: none;\n }\n .nav-overflow-keep {\n flex-shrink: 0;\n }\n}\n@layer components {\n .navbar {\n --navbar-padding-x: 0;\n --navbar-padding-y: 0.5rem;\n --navbar-color: var(--fg-2);\n --navbar-hover-color: var(--fg-1);\n --navbar-disabled-color: var(--fg-3);\n --navbar-active-color: var(--fg-body);\n --navbar-brand-padding-y: 0.75rem;\n --navbar-brand-margin-end: 1rem;\n --navbar-brand-font-size: var(--font-size-md);\n --navbar-brand-font-weight: var(--font-weight-medium);\n --navbar-brand-color: var(--fg-body);\n --navbar-brand-hover-color: var(--fg-body);\n --navbar-nav-link-padding-x: 0.75rem;\n --navbar-toggler-width: 2rem;\n --navbar-toggler-padding-y: 0.25rem;\n --navbar-toggler-padding-x: 0.75rem;\n --navbar-toggler-font-size: var(--font-size-lg);\n --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --navbar-toggler-border-radius: var(--border-radius);\n --navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--navbar-padding-y) var(--navbar-padding-x);\n container-type: inline-size;\n color: var(--navbar-color, var(--fg-body));\n background-color: var(--navbar-bg, var(--bg-body));\n }\n .navbar > .\\32 xl\\:container, .navbar > .xl\\:container, .navbar > .lg\\:container, .navbar > .md\\:container, .navbar > .sm\\:container, .navbar > .container,\n .navbar > .container-fluid {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n .navbar-brand {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n margin-inline-end: var(--navbar-brand-margin-end);\n font-size: var(--navbar-brand-font-size);\n font-weight: var(--navbar-brand-font-weight);\n color: var(--navbar-brand-color);\n text-decoration: none;\n white-space: nowrap;\n }\n .navbar-brand:hover, .navbar-brand:focus {\n color: var(--navbar-brand-hover-color);\n }\n .navbar-nav {\n --nav-gap: 0.25rem;\n --nav-link-gap: 0.5rem;\n --nav-link-padding-x: 0.5rem;\n --nav-link-padding-y: 0.375rem;\n --nav-link-color: var(--navbar-color);\n --nav-link-border-width: var(--border-width);\n --nav-link-hover-color: var(--navbar-hover-color);\n --nav-link-hover-bg: transparent;\n --nav-link-active-color: var(--navbar-active-color);\n --nav-link-active-bg: transparent;\n --nav-link-disabled-color: var(--navbar-disabled-color);\n display: flex;\n flex-direction: column;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n }\n .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n color: var(--navbar-active-color);\n border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n }\n .navbar-text {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n color: var(--navbar-color);\n }\n .navbar-text a,\n .navbar-text a:hover,\n .navbar-text a:focus {\n color: var(--navbar-active-color);\n }\n .navbar-toggler {\n --btn-bg: transparent;\n --btn-hover-bg: var(--bg-2);\n }\n .navbar-expand > .container,\n .navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .navbar-expand .navbar-toggler {\n display: none !important;\n }\n .navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n .navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n @container (width >= 576px) {\n .sm\\:navbar-expand > .container,\n .sm\\:navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .sm\\:navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .sm\\:navbar-expand .navbar-toggler {\n display: none !important;\n }\n .sm\\:navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .sm\\:navbar-expand .offcanvas .offcanvas-header {\n display: none;\n }\n .sm\\:navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 768px) {\n .md\\:navbar-expand > .container,\n .md\\:navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .md\\:navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .md\\:navbar-expand .navbar-toggler {\n display: none !important;\n }\n .md\\:navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .md\\:navbar-expand .offcanvas .offcanvas-header {\n display: none;\n }\n .md\\:navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 1024px) {\n .lg\\:navbar-expand > .container,\n .lg\\:navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .lg\\:navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .lg\\:navbar-expand .navbar-toggler {\n display: none !important;\n }\n .lg\\:navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .lg\\:navbar-expand .offcanvas .offcanvas-header {\n display: none;\n }\n .lg\\:navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 1280px) {\n .xl\\:navbar-expand > .container,\n .xl\\:navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .xl\\:navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .xl\\:navbar-expand .navbar-toggler {\n display: none !important;\n }\n .xl\\:navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .xl\\:navbar-expand .offcanvas .offcanvas-header {\n display: none;\n }\n .xl\\:navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:navbar-expand > .container,\n .\\32 xl\\:navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .\\32 xl\\:navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .\\32 xl\\:navbar-expand .navbar-toggler {\n display: none !important;\n }\n .\\32 xl\\:navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .\\32 xl\\:navbar-expand .offcanvas .offcanvas-header {\n display: none;\n }\n .\\32 xl\\:navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n .navbar-translucent {\n position: relative;\n background-color: transparent;\n }\n .navbar-translucent::before {\n position: absolute;\n inset: 0;\n z-index: -1;\n content: \"\";\n background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n background-image: none;\n backdrop-filter: blur(5px) saturate(180%);\n }\n .navbar[data-bs-theme=dark] {\n --navbar-color: color-mix(in oklch, var(--white) 0.55, transparent);\n --navbar-hover-color: color-mix(in oklch, var(--white) 0.75, transparent);\n --navbar-disabled-color: color-mix(in oklch, var(--white) 0.25, transparent);\n --navbar-active-color: var(--white);\n --navbar-brand-color: var(--white);\n --navbar-brand-hover-color: var(--white);\n --navbar-toggler-border-color: color-mix(in oklch, var(--white) 0.1, transparent);\n }\n}\n.offcanvas, .\\32 xl\\:offcanvas, .xl\\:offcanvas, .lg\\:offcanvas, .md\\:offcanvas, .sm\\:offcanvas {\n --offcanvas-inset: var(--spacer);\n --offcanvas-zindex: 1045;\n --offcanvas-width: 400px;\n --offcanvas-height: 30vh;\n --offcanvas-padding-x: var(--spacer);\n --offcanvas-padding-y: var(--spacer);\n --offcanvas-color: var(--fg-body);\n --offcanvas-bg: var(--bg-body);\n --offcanvas-border-width: var(--border-width);\n --offcanvas-border-color: var(--border-color-translucent);\n --offcanvas-border-radius: var(--border-radius-lg);\n --offcanvas-box-shadow: var(--box-shadow-lg);\n --offcanvas-transition: transform 0.3s ease-in-out;\n --offcanvas-title-line-height: 1.5;\n}\n\n@layer components {\n @media (width < 576px) {\n .sm\\:offcanvas {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 576px) and (prefers-reduced-motion: reduce) {\n .sm\\:offcanvas {\n transition: none;\n }\n }\n @media (width < 576px) {\n .sm\\:offcanvas:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .sm\\:offcanvas:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .sm\\:offcanvas:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .sm\\:offcanvas:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .sm\\:offcanvas:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .sm\\:offcanvas:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .sm\\:offcanvas:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .sm\\:offcanvas.showing, .sm\\:offcanvas.show:not(.hiding) {\n transform: none;\n }\n .sm\\:offcanvas.showing, .sm\\:offcanvas.hiding, .sm\\:offcanvas.show {\n visibility: visible;\n }\n }\n @media (width >= 576px) {\n .sm\\:offcanvas {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .sm\\:offcanvas .offcanvas-header {\n display: none;\n }\n .sm\\:offcanvas .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 768px) {\n .md\\:offcanvas {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 768px) and (prefers-reduced-motion: reduce) {\n .md\\:offcanvas {\n transition: none;\n }\n }\n @media (width < 768px) {\n .md\\:offcanvas:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .md\\:offcanvas:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .md\\:offcanvas:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .md\\:offcanvas:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .md\\:offcanvas:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .md\\:offcanvas:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .md\\:offcanvas:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .md\\:offcanvas.showing, .md\\:offcanvas.show:not(.hiding) {\n transform: none;\n }\n .md\\:offcanvas.showing, .md\\:offcanvas.hiding, .md\\:offcanvas.show {\n visibility: visible;\n }\n }\n @media (width >= 768px) {\n .md\\:offcanvas {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .md\\:offcanvas .offcanvas-header {\n display: none;\n }\n .md\\:offcanvas .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 1024px) {\n .lg\\:offcanvas {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n .lg\\:offcanvas {\n transition: none;\n }\n }\n @media (width < 1024px) {\n .lg\\:offcanvas:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .lg\\:offcanvas:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .lg\\:offcanvas:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .lg\\:offcanvas:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .lg\\:offcanvas:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .lg\\:offcanvas:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .lg\\:offcanvas:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .lg\\:offcanvas.showing, .lg\\:offcanvas.show:not(.hiding) {\n transform: none;\n }\n .lg\\:offcanvas.showing, .lg\\:offcanvas.hiding, .lg\\:offcanvas.show {\n visibility: visible;\n }\n }\n @media (width >= 1024px) {\n .lg\\:offcanvas {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .lg\\:offcanvas .offcanvas-header {\n display: none;\n }\n .lg\\:offcanvas .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 1280px) {\n .xl\\:offcanvas {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n .xl\\:offcanvas {\n transition: none;\n }\n }\n @media (width < 1280px) {\n .xl\\:offcanvas:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .xl\\:offcanvas:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .xl\\:offcanvas:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .xl\\:offcanvas:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .xl\\:offcanvas:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .xl\\:offcanvas:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .xl\\:offcanvas:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .xl\\:offcanvas.showing, .xl\\:offcanvas.show:not(.hiding) {\n transform: none;\n }\n .xl\\:offcanvas.showing, .xl\\:offcanvas.hiding, .xl\\:offcanvas.show {\n visibility: visible;\n }\n }\n @media (width >= 1280px) {\n .xl\\:offcanvas {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .xl\\:offcanvas .offcanvas-header {\n display: none;\n }\n .xl\\:offcanvas .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 1536px) {\n .\\32 xl\\:offcanvas {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n .\\32 xl\\:offcanvas {\n transition: none;\n }\n }\n @media (width < 1536px) {\n .\\32 xl\\:offcanvas:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .\\32 xl\\:offcanvas:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .\\32 xl\\:offcanvas:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .\\32 xl\\:offcanvas:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .\\32 xl\\:offcanvas:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .\\32 xl\\:offcanvas:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .\\32 xl\\:offcanvas:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .\\32 xl\\:offcanvas.showing, .\\32 xl\\:offcanvas.show:not(.hiding) {\n transform: none;\n }\n .\\32 xl\\:offcanvas.showing, .\\32 xl\\:offcanvas.hiding, .\\32 xl\\:offcanvas.show {\n visibility: visible;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:offcanvas {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .\\32 xl\\:offcanvas .offcanvas-header {\n display: none;\n }\n .\\32 xl\\:offcanvas .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n .offcanvas {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .offcanvas {\n transition: none;\n }\n }\n .offcanvas:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .offcanvas:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .offcanvas:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .offcanvas:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .offcanvas:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .offcanvas:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .offcanvas:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .offcanvas.showing, .offcanvas.show:not(.hiding) {\n transform: none;\n }\n .offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\n visibility: visible;\n }\n .offcanvas-backdrop {\n --offcanvas-backdrop-bg: var(--bg-body);\n --offcanvas-backdrop-opacity: 25%;\n --offcanvas-backdrop-blur: 8px;\n position: fixed;\n inset: 0;\n z-index: 1040;\n background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n }\n .offcanvas-backdrop.fade {\n opacity: 0;\n }\n .offcanvas-backdrop.show {\n opacity: 1;\n }\n .offcanvas-translucent {\n background-color: color-mix(in oklch, var(--offcanvas-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n .offcanvas-header {\n display: flex;\n align-items: center;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n }\n .offcanvas-header .btn-close {\n padding: calc(var(--offcanvas-padding-y) * 0.5) calc(var(--offcanvas-padding-x) * 0.5);\n margin-inline-start: auto;\n margin-inline-end: calc(-0.5 * var(--offcanvas-padding-x));\n margin-top: calc(-0.5 * var(--offcanvas-padding-y));\n margin-bottom: calc(-0.5 * var(--offcanvas-padding-y));\n }\n .offcanvas-title {\n margin-bottom: 0;\n line-height: var(--offcanvas-title-line-height);\n }\n .offcanvas-body {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n gap: var(--offcanvas-padding-y);\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n overflow-y: auto;\n }\n .offcanvas-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: 0.5rem;\n align-items: center;\n justify-content: flex-end;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n }\n .offcanvas-fit-content {\n inset-block-end: auto;\n }\n}\n@layer components {\n .pagination {\n --pagination-min-height: var(--btn-input-min-height);\n --pagination-padding-x: var(--btn-input-padding-x);\n --pagination-padding-y: var(--btn-input-padding-y);\n --pagination-font-size: var(--btn-input-font-size);\n --pagination-color: var(--link-color);\n --pagination-bg: var(--bg-body);\n --pagination-border-width: var(--border-width);\n --pagination-border-color: var(--border-color);\n --pagination-border-radius: var(--btn-input-border-radius);\n --pagination-hover-color: var(--link-hover-color);\n --pagination-hover-bg: var(--bg-1);\n --pagination-hover-border-color: var(--border-color);\n --pagination-focus-color: var(--link-hover-color);\n --pagination-focus-bg: var(--bg-2);\n --pagination-active-color: var(--primary-contrast);\n --pagination-active-bg: var(--primary-bg);\n --pagination-active-border-color: var(--primary-bg);\n --pagination-disabled-color: var(--fg-3);\n --pagination-disabled-bg: var(--bg-2);\n --pagination-disabled-border-color: var(--border-color);\n display: flex;\n padding-inline-start: 0;\n list-style: none;\n }\n .page-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--pagination-min-height);\n padding: var(--pagination-padding-y) var(--pagination-padding-x);\n font-size: var(--pagination-font-size);\n color: var(--pagination-color);\n text-decoration: none;\n background-color: var(--pagination-bg);\n border: var(--pagination-border-width) solid var(--pagination-border-color);\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n }\n .page-link:hover {\n z-index: 2;\n color: var(--pagination-hover-color);\n background-color: var(--pagination-hover-bg);\n border-color: var(--pagination-hover-border-color);\n }\n .page-link:focus-visible {\n z-index: 3;\n color: var(--pagination-focus-color);\n background-color: var(--pagination-focus-bg);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .page-link.active, .active > .page-link {\n z-index: 3;\n color: var(--pagination-active-color);\n background-color: var(--pagination-active-bg);\n border-color: var(--pagination-active-border-color);\n }\n .page-link.disabled, .disabled > .page-link {\n color: var(--pagination-disabled-color);\n pointer-events: none;\n background-color: var(--pagination-disabled-bg);\n border-color: var(--pagination-disabled-border-color);\n }\n .page-item:not(:first-child) .page-link {\n margin-inline-start: calc(-1 * var(--pagination-border-width));\n }\n .page-item:first-child .page-link {\n border-start-start-radius: var(--pagination-border-radius);\n border-end-start-radius: var(--pagination-border-radius);\n }\n .page-item:last-child .page-link {\n border-start-end-radius: var(--pagination-border-radius);\n border-end-end-radius: var(--pagination-border-radius);\n }\n .pagination-sm {\n --pagination-min-height: var(--bs-btn-input-sm-min-height);\n --pagination-padding-y: var(--btn-input-sm-padding-y);\n --pagination-padding-x: var(--btn-input-sm-padding-x);\n --pagination-font-size: var(--btn-input-sm-font-size);\n --pagination-border-radius: var(--btn-input-sm-border-radius);\n }\n .pagination-lg {\n --pagination-min-height: var(--bs-btn-input-lg-min-height);\n --pagination-padding-y: var(--btn-input-lg-padding-y);\n --pagination-padding-x: var(--btn-input-lg-padding-x);\n --pagination-font-size: var(--btn-input-lg-font-size);\n --pagination-border-radius: var(--btn-input-lg-border-radius);\n }\n}\n@layer components {\n .placeholder {\n --placeholder-opacity-max: 0.5;\n --placeholder-opacity-min: 0.2;\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: var(--placeholder-opacity-max);\n }\n .placeholder.btn::before {\n display: inline-block;\n content: \"\";\n }\n .placeholder-xs {\n min-height: 0.6em;\n }\n .placeholder-sm {\n min-height: 0.8em;\n }\n .placeholder-lg {\n min-height: 1.2em;\n }\n .placeholder-glow .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n }\n @keyframes placeholder-glow {\n 50% {\n opacity: var(--placeholder-opacity-min);\n }\n }\n .placeholder-wave {\n mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, #000 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n }\n @keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n }\n}\n@layer components {\n .popover {\n --popover-zindex: 1070;\n --popover-max-width: 280px;\n --popover-font-size: var(--font-size-sm);\n --popover-bg: var(--bg-body);\n --popover-border-width: var(--border-width);\n --popover-border-color: var(--border-color-translucent);\n --popover-border-radius: var(--border-radius-lg);\n --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n --popover-box-shadow: var(--box-shadow);\n --popover-header-padding-x: 1rem;\n --popover-header-padding-y: 0.75rem;\n --popover-header-font-size: var(--font-size-sm);\n --popover-header-color: inherit;\n --popover-header-bg: var(--bg-1);\n --popover-body-padding-x: 1rem;\n --popover-body-padding-y: 0.75rem;\n --popover-body-color: var(--fg-body);\n --popover-arrow-width: 1rem;\n --popover-arrow-height: 0.5rem;\n --popover-arrow-border: var(--popover-border-color);\n z-index: var(--popover-zindex);\n display: block;\n max-width: var(--popover-max-width);\n font-family: var(--body-font-family);\n font-style: normal;\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--popover-font-size);\n word-wrap: break-word;\n background-color: var(--popover-bg);\n background-clip: padding-box;\n border: var(--popover-border-width) solid var(--popover-border-color);\n border-radius: var(--popover-border-radius);\n box-shadow: var(--popover-box-shadow);\n }\n .popover .popover-arrow {\n display: block;\n width: var(--popover-arrow-width);\n height: var(--popover-arrow-height);\n }\n .popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n }\n .bs-popover-top > .popover-arrow, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow {\n bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n }\n .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n }\n .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before {\n bottom: 0;\n border-block-start-color: var(--popover-arrow-border);\n }\n .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n bottom: var(--popover-border-width);\n border-block-start-color: var(--popover-bg);\n }\n .bs-popover-end > .popover-arrow, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow {\n left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n }\n .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n border-width: calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n }\n .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before {\n left: 0;\n border-inline-end-color: var(--popover-arrow-border);\n }\n .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n left: var(--popover-border-width);\n border-inline-end-color: var(--popover-bg);\n }\n .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow {\n top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n }\n .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n border-width: 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n }\n .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before {\n top: 0;\n border-block-end-color: var(--popover-arrow-border);\n }\n .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n top: var(--popover-border-width);\n border-block-end-color: var(--popover-bg);\n }\n .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-bs-placement^=bottom] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--popover-arrow-width);\n margin-inline-start: calc(-0.5 * var(--popover-arrow-width));\n content: \"\";\n border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n }\n .bs-popover-start > .popover-arrow, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow {\n right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n }\n .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n border-width: calc(var(--popover-arrow-width) * 0.5) 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n }\n .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before {\n right: 0;\n border-inline-start-color: var(--popover-arrow-border);\n }\n .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n right: var(--popover-border-width);\n border-inline-start-color: var(--popover-bg);\n }\n .popover-header {\n padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n margin-bottom: 0;\n font-size: var(--popover-header-font-size);\n color: var(--popover-header-color);\n background-color: var(--popover-header-bg);\n border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n border-start-start-radius: var(--popover-inner-border-radius);\n border-start-end-radius: var(--popover-inner-border-radius);\n }\n .popover-header:empty {\n display: none;\n }\n .popover-body {\n padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n color: var(--popover-body-color);\n }\n}\n@layer components {\n @keyframes progress-bar-stripes {\n 0% {\n background-position-x: var(--progress-height);\n }\n }\n .progress,\n .progress-stacked {\n --progress-height: 1rem;\n --progress-font-size: var(--font-size-sm);\n --progress-bg: var(--bg-2);\n --progress-border-radius: var(--border-radius);\n --progress-box-shadow: var(--box-shadow-inset);\n --progress-bar-color: var(--white);\n --progress-bar-bg: var(--primary-bg);\n --progress-bar-transition: width 0.6s ease;\n --progress-bar-animation: progress-bar-stripes 1s linear infinite;\n display: flex;\n height: var(--progress-height);\n overflow: hidden;\n font-size: var(--progress-font-size);\n background-color: var(--progress-bg);\n border-radius: var(--progress-border-radius);\n box-shadow: var(--progress-box-shadow);\n }\n .progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--theme-contrast, var(--progress-bar-color));\n text-align: center;\n white-space: nowrap;\n background-color: var(--theme-bg, var(--progress-bar-bg));\n transition: var(--progress-bar-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n }\n .progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: var(--progress-height) var(--progress-height);\n }\n .progress-stacked > .progress {\n overflow: visible;\n }\n .progress-stacked > .progress > .progress-bar {\n width: 100%;\n }\n .progress-bar-animated {\n animation: var(--progress-bar-animation);\n }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n }\n}\n@layer components {\n .spinner-grow,\n .spinner-border {\n display: inline-block;\n flex-shrink: 0;\n width: var(--spinner-width);\n height: var(--spinner-height);\n vertical-align: var(--spinner-vertical-align);\n border-radius: 50%;\n animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n }\n @keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n }\n .spinner-border {\n --spinner-width: 2rem;\n --spinner-height: 2rem;\n --spinner-vertical-align: -0.125em;\n --spinner-border-width: 0.25em;\n --spinner-animation-speed: 0.75s;\n --spinner-animation-name: spinner-border;\n border: var(--spinner-border-width) solid currentcolor;\n border-inline-end-color: transparent;\n }\n .spinner-border-sm {\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n --spinner-border-width: .2em;\n }\n @keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n }\n .spinner-grow {\n --spinner-width: 2rem;\n --spinner-height: 2rem;\n --spinner-vertical-align: -0.125em;\n --spinner-animation-speed: 0.75s;\n --spinner-animation-name: spinner-grow;\n background-color: currentcolor;\n opacity: 0;\n }\n .spinner-grow-sm {\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n }\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --spinner-animation-speed: 1.5s;\n }\n }\n}\n@layer components {\n .stepper {\n --stepper-size: 2rem;\n --stepper-gap: 1rem;\n --stepper-font-size: var(--font-size-sm);\n --stepper-text-gap: 0.5rem;\n --stepper-track-size: 0.125rem;\n --stepper-bg: var(--bg-2);\n --stepper-active-color: var(--primary-contrast);\n --stepper-active-bg: var(--primary-bg);\n display: grid;\n grid-auto-rows: 1fr;\n grid-auto-flow: row;\n gap: var(--stepper-gap);\n padding-inline-start: 0;\n list-style: none;\n counter-reset: stepper;\n }\n .stepper-item {\n position: relative;\n display: grid;\n grid-template-rows: auto;\n grid-template-columns: var(--stepper-size) auto;\n gap: var(--stepper-text-gap);\n align-items: var(--stepper-align-items, center);\n text-decoration: none;\n }\n .stepper-item::before {\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--stepper-size);\n height: var(--stepper-size);\n padding: 0.5rem;\n font-size: var(--stepper-font-size);\n font-weight: 600;\n line-height: 1;\n text-align: center;\n content: counter(stepper);\n counter-increment: stepper;\n background-color: var(--stepper-bg);\n border-radius: 50%;\n }\n .stepper-item::after {\n position: absolute;\n inset-block-start: 50%;\n inset-block-end: 100%;\n inset-inline-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n width: var(--stepper-track-size);\n height: calc(100% + var(--stepper-gap));\n content: \"\";\n background-color: var(--stepper-bg);\n }\n .stepper-item:last-child::after {\n display: none;\n }\n .stepper-item.active::before, .stepper-item.active::after {\n color: var(--theme-contrast, var(--stepper-active-color));\n background-color: var(--theme-bg, var(--stepper-active-bg));\n }\n .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n background-color: var(--stepper-bg);\n }\n .stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n @container (width >= 576px) {\n .sm\\:stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .sm\\:stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .sm\\:stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .sm\\:stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 768px) {\n .md\\:stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .md\\:stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .md\\:stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .md\\:stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 1024px) {\n .lg\\:stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .lg\\:stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .lg\\:stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .lg\\:stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 1280px) {\n .xl\\:stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .xl\\:stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .xl\\:stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .xl\\:stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .\\32 xl\\:stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .\\32 xl\\:stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .\\32 xl\\:stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n }\n .stepper-overflow {\n container-type: inline-size;\n overflow-x: auto;\n overscroll-behavior-x: contain;\n -webkit-overflow-scrolling: touch;\n }\n .stepper-overflow > .stepper {\n width: max-content;\n min-width: 100%;\n }\n}\n@layer components {\n .toast {\n --toast-zindex: 1090;\n --toast-padding-x: 0.75rem;\n --toast-padding-y: 0.5rem;\n --toast-spacing: 1.5rem;\n --toast-max-width: 350px;\n --toast-font-size: 0.875rem;\n --toast-bg: rgba(var(--body-bg-rgb), 0.85);\n --toast-border-width: var(--border-width);\n --toast-border-color: var(--border-color-translucent);\n --toast-border-radius: var(--border-radius);\n --toast-box-shadow: var(--box-shadow);\n --toast-header-color: var(--fg-3);\n --toast-header-bg: rgba(var(--body-bg-rgb), 0.85);\n --toast-header-border-color: var(--border-color-translucent);\n width: var(--toast-max-width);\n max-width: 100%;\n font-size: var(--toast-font-size);\n color: var(--toast-color);\n pointer-events: auto;\n background-color: var(--toast-bg);\n background-clip: padding-box;\n border: var(--toast-border-width) solid var(--toast-border-color);\n box-shadow: var(--toast-box-shadow);\n border-radius: var(--toast-border-radius);\n }\n .toast.showing {\n opacity: 0;\n }\n .toast:not(.show) {\n display: none;\n }\n .toast-container {\n --toast-zindex: 1090;\n position: absolute;\n z-index: var(--toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n }\n .toast-container > :not(:last-child) {\n margin-bottom: var(--toast-spacing);\n }\n .toast-header {\n display: flex;\n align-items: center;\n padding: var(--toast-padding-y) var(--toast-padding-x);\n color: var(--toast-header-color);\n background-color: var(--toast-header-bg);\n background-clip: padding-box;\n border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n border-start-start-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n border-start-end-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n }\n .toast-header .btn-close {\n margin-inline-start: var(--toast-padding-x);\n margin-inline-end: calc(-0.5 * var(--toast-padding-x));\n }\n .toast-translucent {\n backdrop-filter: blur(5px) saturate(180%);\n }\n .toast-body {\n padding: var(--toast-padding-x);\n word-wrap: break-word;\n }\n}\n.fade {\n transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n.collapsing.collapse-horizontal {\n width: 0;\n height: auto;\n transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing.collapse-horizontal {\n transition: none;\n }\n}\n\n@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: 0.375rem;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n text-underline-offset: 0.25em;\n backface-visibility: hidden;\n }\n .icon-link > .bi {\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n fill: currentcolor;\n transition: 0.2s ease-in-out transform;\n }\n @media (prefers-reduced-motion: reduce) {\n .icon-link > .bi {\n transition: none;\n }\n }\n .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n }\n}\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: 1030;\n }\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: 1030;\n }\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n @media (width >= 576px) {\n .sm\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sm\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 768px) {\n .md\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .md\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1024px) {\n .lg\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .lg\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1280px) {\n .xl\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .xl\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .\\32 xl\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n}\n@layer helpers {\n .stack-container {\n container-type: inline-size;\n }\n [class*=hstack],\n [class*=vstack] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n .vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n .hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n @container (width >= 576px) {\n .sm\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 576px) {\n .sm\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 768px) {\n .md\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 768px) {\n .md\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1024px) {\n .lg\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1024px) {\n .lg\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1280px) {\n .xl\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1280px) {\n .xl\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n}\n@layer helpers {\n .theme-primary {\n --theme-base: var(--primary-base);\n --theme-text: var(--primary-text);\n --theme-text-emphasis: var(--primary-text-emphasis);\n --theme-bg: var(--primary-bg);\n --theme-bg-subtle: var(--primary-bg-subtle);\n --theme-bg-muted: var(--primary-bg-muted);\n --theme-border: var(--primary-border);\n --theme-focus-ring: var(--primary-focus-ring);\n --theme-contrast: var(--primary-contrast);\n }\n .theme-accent {\n --theme-base: var(--accent-base);\n --theme-text: var(--accent-text);\n --theme-text-emphasis: var(--accent-text-emphasis);\n --theme-bg: var(--accent-bg);\n --theme-bg-subtle: var(--accent-bg-subtle);\n --theme-bg-muted: var(--accent-bg-muted);\n --theme-border: var(--accent-border);\n --theme-focus-ring: var(--accent-focus-ring);\n --theme-contrast: var(--accent-contrast);\n }\n .theme-success {\n --theme-base: var(--success-base);\n --theme-text: var(--success-text);\n --theme-text-emphasis: var(--success-text-emphasis);\n --theme-bg: var(--success-bg);\n --theme-bg-subtle: var(--success-bg-subtle);\n --theme-bg-muted: var(--success-bg-muted);\n --theme-border: var(--success-border);\n --theme-focus-ring: var(--success-focus-ring);\n --theme-contrast: var(--success-contrast);\n }\n .theme-danger {\n --theme-base: var(--danger-base);\n --theme-text: var(--danger-text);\n --theme-text-emphasis: var(--danger-text-emphasis);\n --theme-bg: var(--danger-bg);\n --theme-bg-subtle: var(--danger-bg-subtle);\n --theme-bg-muted: var(--danger-bg-muted);\n --theme-border: var(--danger-border);\n --theme-focus-ring: var(--danger-focus-ring);\n --theme-contrast: var(--danger-contrast);\n }\n .theme-warning {\n --theme-base: var(--warning-base);\n --theme-text: var(--warning-text);\n --theme-text-emphasis: var(--warning-text-emphasis);\n --theme-bg: var(--warning-bg);\n --theme-bg-subtle: var(--warning-bg-subtle);\n --theme-bg-muted: var(--warning-bg-muted);\n --theme-border: var(--warning-border);\n --theme-focus-ring: var(--warning-focus-ring);\n --theme-contrast: var(--warning-contrast);\n }\n .theme-info {\n --theme-base: var(--info-base);\n --theme-text: var(--info-text);\n --theme-text-emphasis: var(--info-text-emphasis);\n --theme-bg: var(--info-bg);\n --theme-bg-subtle: var(--info-bg-subtle);\n --theme-bg-muted: var(--info-bg-muted);\n --theme-border: var(--info-border);\n --theme-focus-ring: var(--info-focus-ring);\n --theme-contrast: var(--info-contrast);\n }\n .theme-inverse {\n --theme-base: var(--inverse-base);\n --theme-text: var(--inverse-text);\n --theme-text-emphasis: var(--inverse-text-emphasis);\n --theme-bg: var(--inverse-bg);\n --theme-bg-subtle: var(--inverse-bg-subtle);\n --theme-bg-muted: var(--inverse-bg-muted);\n --theme-border: var(--inverse-border);\n --theme-focus-ring: var(--inverse-focus-ring);\n --theme-contrast: var(--inverse-contrast);\n }\n .theme-secondary {\n --theme-base: var(--secondary-base);\n --theme-text: var(--secondary-text);\n --theme-text-emphasis: var(--secondary-text-emphasis);\n --theme-bg: var(--secondary-bg);\n --theme-bg-subtle: var(--secondary-bg-subtle);\n --theme-bg-muted: var(--secondary-bg-muted);\n --theme-border: var(--secondary-border);\n --theme-focus-ring: var(--secondary-focus-ring);\n --theme-contrast: var(--secondary-contrast);\n }\n}\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n .visually-hidden:not(caption),\n .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n position: absolute !important;\n }\n .visually-hidden *,\n .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n overflow: hidden !important;\n }\n}\n@layer helpers {\n .stretched-link::after {\n position: absolute;\n inset: 0;\n z-index: 1;\n content: \"\";\n }\n}\n@layer helpers {\n .text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n@layer utilities {\n .align-baseline {\n vertical-align: baseline;\n }\n .align-top {\n vertical-align: top;\n }\n .align-middle {\n vertical-align: middle;\n }\n .align-bottom {\n vertical-align: bottom;\n }\n .align-text-bottom {\n vertical-align: text-bottom;\n }\n .align-text-top {\n vertical-align: text-top;\n }\n [class*=ratio-] {\n aspect-ratio: var(--ratio);\n }\n .ratio-auto {\n --ratio: auto;\n }\n .ratio-1x1 {\n --ratio: 1 / 1;\n }\n .ratio-4x3 {\n --ratio: 4 / 3;\n }\n .ratio-16x9 {\n --ratio: 16 / 9;\n }\n .ratio-21x9 {\n --ratio: 21 / 9;\n }\n .float-start {\n float: inline-start;\n }\n .float-end {\n float: inline-end;\n }\n .float-none {\n float: none;\n }\n .object-fit-contain {\n object-fit: contain;\n }\n .object-fit-cover {\n object-fit: cover;\n }\n .object-fit-fill {\n object-fit: fill;\n }\n .object-fit-scale {\n object-fit: scale-down;\n }\n .object-fit-none {\n object-fit: none;\n }\n .opacity-0 {\n opacity: 0;\n }\n .opacity-25 {\n opacity: 0.25;\n }\n .opacity-50 {\n opacity: 0.5;\n }\n .opacity-75 {\n opacity: 0.75;\n }\n .opacity-100 {\n opacity: 1;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-visible {\n overflow: visible;\n }\n .overflow-scroll {\n overflow: scroll;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n .overflow-x-visible {\n overflow-x: visible;\n }\n .overflow-x-scroll {\n overflow-x: scroll;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .overflow-y-hidden {\n overflow-y: hidden;\n }\n .overflow-y-visible {\n overflow-y: visible;\n }\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n .contains-inline {\n container-type: inline-size;\n }\n .contains-size {\n container-type: size;\n }\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .shadow {\n box-shadow: var(--box-shadow);\n }\n .shadow-sm {\n box-shadow: var(--box-shadow-sm);\n }\n .shadow-lg {\n box-shadow: var(--box-shadow-lg);\n }\n .shadow-none {\n box-shadow: none;\n }\n .focus-ring-primary {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n }\n .focus-ring-accent {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n }\n .focus-ring-success {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n }\n .focus-ring-danger {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n }\n .focus-ring-warning {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n }\n .focus-ring-info {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n }\n .focus-ring-inverse {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n }\n .focus-ring-secondary {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n }\n .position-static {\n position: static;\n }\n .position-relative {\n position: relative;\n }\n .position-absolute {\n position: absolute;\n }\n .position-fixed {\n position: fixed;\n }\n .position-sticky {\n position: sticky;\n }\n .top-0 {\n top: 0;\n }\n .top-50 {\n top: 50%;\n }\n .top-100 {\n top: 100%;\n }\n .bottom-0 {\n bottom: 0;\n }\n .bottom-50 {\n bottom: 50%;\n }\n .bottom-100 {\n bottom: 100%;\n }\n .start-0 {\n left: 0;\n }\n .start-50 {\n left: 50%;\n }\n .start-100 {\n left: 100%;\n }\n .end-0 {\n right: 0;\n }\n .end-50 {\n right: 50%;\n }\n .end-100 {\n right: 100%;\n }\n .translate-middle {\n transform: translate(-50%, -50%);\n }\n .translate-middle-x {\n transform: translateX(-50%);\n }\n .translate-middle-y {\n transform: translateY(-50%);\n }\n .border {\n border: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-0 {\n border: 0;\n }\n .border-top {\n border-block-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-top-0 {\n border-block-start: 0;\n }\n .border-end {\n border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-end-0 {\n border-inline-end: 0;\n }\n .border-bottom {\n border-block-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-bottom-0 {\n border-block-end: 0;\n }\n .border-start {\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-start-0 {\n border-inline-start: 0;\n }\n .border-block {\n border-block: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-block-0 {\n border-block: 0;\n }\n .border-inline {\n border-inline: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-inline-0 {\n border-inline: 0;\n }\n .border-primary {\n --border-color: var(--blue-500);\n border-color: var(--border-color);\n }\n .border-accent {\n --border-color: var(--indigo-500);\n border-color: var(--border-color);\n }\n .border-success {\n --border-color: var(--green-500);\n border-color: var(--border-color);\n }\n .border-danger {\n --border-color: var(--red-500);\n border-color: var(--border-color);\n }\n .border-warning {\n --border-color: var(--yellow-500);\n border-color: var(--border-color);\n }\n .border-info {\n --border-color: var(--cyan-500);\n border-color: var(--border-color);\n }\n .border-inverse {\n --border-color: light-dark(var(--gray-900), var(--gray-025));\n border-color: var(--border-color);\n }\n .border-secondary {\n --border-color: light-dark(var(--gray-100), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-bg {\n --border-color: var(--bg-body);\n border-color: var(--border-color);\n }\n .border-body {\n --border-color: light-dark(var(--gray-300), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-muted {\n --border-color: light-dark(var(--gray-200), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-subtle {\n --border-color: light-dark(var(--gray-100), var(--gray-900));\n border-color: var(--border-color);\n }\n .border-emphasized {\n --border-color: light-dark(var(--gray-400), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-white {\n --border-color: var(--white);\n border-color: var(--border-color);\n }\n .border-black {\n --border-color: var(--black);\n border-color: var(--border-color);\n }\n .border-subtle-primary {\n --border-color: light-dark(var(--blue-300), var(--blue-600));\n border-color: var(--border-color);\n }\n .border-subtle-accent {\n --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n border-color: var(--border-color);\n }\n .border-subtle-success {\n --border-color: light-dark(var(--green-300), var(--green-600));\n border-color: var(--border-color);\n }\n .border-subtle-danger {\n --border-color: light-dark(var(--red-300), var(--red-600));\n border-color: var(--border-color);\n }\n .border-subtle-warning {\n --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n border-color: var(--border-color);\n }\n .border-subtle-info {\n --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n border-color: var(--border-color);\n }\n .border-subtle-inverse {\n --border-color: light-dark(var(--gray-400), var(--gray-100));\n border-color: var(--border-color);\n }\n .border-subtle-secondary {\n --border-color: light-dark(var(--gray-300), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-1 {\n border-width: 1px;\n }\n .border-2 {\n border-width: 2px;\n }\n .border-3 {\n border-width: 3px;\n }\n .border-4 {\n border-width: 4px;\n }\n .border-5 {\n border-width: 5px;\n }\n .border-10 {\n border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n }\n .border-20 {\n border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n }\n .border-30 {\n border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n }\n .border-40 {\n border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n }\n .border-50 {\n border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n }\n .border-60 {\n border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n }\n .border-70 {\n border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n }\n .border-80 {\n border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n }\n .border-90 {\n border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n }\n .border-100 {\n border-color: var(--border-color);\n }\n .w-1 {\n width: 1rem;\n }\n .w-2 {\n width: 2rem;\n }\n .w-3 {\n width: 3rem;\n }\n .w-4 {\n width: 4rem;\n }\n .w-5 {\n width: 5rem;\n }\n .w-6 {\n width: 6rem;\n }\n .w-7 {\n width: 7rem;\n }\n .w-8 {\n width: 8rem;\n }\n .w-9 {\n width: 9rem;\n }\n .w-10 {\n width: 10rem;\n }\n .w-11 {\n width: 11rem;\n }\n .w-12 {\n width: 12rem;\n }\n .w-25 {\n width: 25%;\n }\n .w-50 {\n width: 50%;\n }\n .w-75 {\n width: 75%;\n }\n .w-100 {\n width: 100%;\n }\n .w-auto {\n width: auto;\n }\n .w-min {\n width: min-content;\n }\n .w-max {\n width: max-content;\n }\n .w-fit {\n width: fit-content;\n }\n .max-w-100 {\n max-width: 100%;\n }\n .min-w-0 {\n min-width: 0;\n }\n .min-w-100 {\n min-width: 100%;\n }\n .vw-100 {\n width: 100vw;\n }\n .min-vw-100 {\n min-width: 100vw;\n }\n .h-25 {\n height: 25%;\n }\n .h-50 {\n height: 50%;\n }\n .h-75 {\n height: 75%;\n }\n .h-100 {\n height: 100%;\n }\n .h-auto {\n height: auto;\n }\n .h-min {\n height: min-content;\n }\n .h-max {\n height: max-content;\n }\n .h-fit {\n height: fit-content;\n }\n .max-h-100 {\n max-height: 100%;\n }\n .min-h-0 {\n min-height: 0;\n }\n .min-h-100 {\n min-height: 100%;\n }\n .vh-100 {\n height: 100vh;\n }\n .min-vh-100 {\n min-height: 100vh;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .justify-self-start {\n justify-self: flex-start;\n }\n .justify-self-end {\n justify-self: flex-end;\n }\n .justify-self-center {\n justify-self: center;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .order-first {\n order: -1;\n }\n .order-0 {\n order: 0;\n }\n .order-1 {\n order: 1;\n }\n .order-2 {\n order: 2;\n }\n .order-3 {\n order: 3;\n }\n .order-4 {\n order: 4;\n }\n .order-5 {\n order: 5;\n }\n .order-last {\n order: 6;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n .gap-0 {\n gap: 0;\n }\n .gap-1 {\n gap: 0.25rem;\n }\n .gap-2 {\n gap: 0.5rem;\n }\n .gap-3 {\n gap: 1rem;\n }\n .gap-4 {\n gap: 1.5rem;\n }\n .gap-5 {\n gap: 3rem;\n }\n .row-gap-0 {\n row-gap: 0;\n }\n .row-gap-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2 {\n row-gap: 0.5rem;\n }\n .row-gap-3 {\n row-gap: 1rem;\n }\n .row-gap-4 {\n row-gap: 1.5rem;\n }\n .row-gap-5 {\n row-gap: 3rem;\n }\n .column-gap-0 {\n column-gap: 0;\n }\n .column-gap-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2 {\n column-gap: 0.5rem;\n }\n .column-gap-3 {\n column-gap: 1rem;\n }\n .column-gap-4 {\n column-gap: 1.5rem;\n }\n .column-gap-5 {\n column-gap: 3rem;\n }\n .font-monospace {\n font-family: var(--font-mono);\n }\n .font-body {\n font-family: var(--body-font-family);\n }\n .fs-xs {\n font-size: 0.75rem;\n }\n .fs-sm {\n font-size: 0.875rem;\n }\n .fs-md {\n font-size: 1rem;\n }\n .fs-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n }\n .fs-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n }\n .fs-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n }\n .fs-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n }\n .fs-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n }\n .fs-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n }\n .fs-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n }\n .text-xs {\n font-size: 0.75rem;\n line-height: 1.25;\n }\n .text-sm {\n font-size: 0.875rem;\n line-height: 1.5;\n }\n .text-md {\n font-size: 1rem;\n line-height: 1.5;\n }\n .text-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n line-height: 1.5;\n }\n .text-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n line-height: 1.4285714286;\n }\n .text-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n line-height: 1.3333333333;\n }\n .text-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n line-height: 1.2;\n }\n .text-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n line-height: 1.1;\n }\n .text-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n line-height: 1.1;\n }\n .text-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n line-height: 1;\n }\n .fst-italic {\n font-style: italic;\n }\n .fst-normal {\n font-style: normal;\n }\n .fw-lighter {\n font-weight: lighter;\n }\n .fw-light {\n font-weight: 300;\n }\n .fw-normal {\n font-weight: 400;\n }\n .fw-medium {\n font-weight: 500;\n }\n .fw-semibold {\n font-weight: 600;\n }\n .fw-bold {\n font-weight: 700;\n }\n .fw-bolder {\n font-weight: bolder;\n }\n .lh-1 {\n line-height: 1;\n }\n .lh-sm {\n line-height: 1.25;\n }\n .lh-base {\n line-height: 1.5;\n }\n .lh-lg {\n line-height: 2;\n }\n .text-start {\n text-align: start;\n }\n .text-end {\n text-align: end;\n }\n .text-center {\n text-align: center;\n }\n .text-decoration-none {\n text-decoration: none;\n }\n .text-decoration-underline {\n text-decoration: underline;\n }\n .text-decoration-line-through {\n text-decoration: line-through;\n }\n .text-lowercase {\n text-transform: lowercase;\n }\n .text-uppercase {\n text-transform: uppercase;\n }\n .text-capitalize {\n text-transform: capitalize;\n }\n .text-wrap {\n white-space: wrap;\n }\n .text-nowrap {\n white-space: nowrap;\n }\n .text-balance {\n white-space: balance;\n }\n .text-pretty {\n white-space: pretty;\n }\n .text-break {\n word-wrap: break-word;\n word-break: break-word;\n }\n .fg-primary {\n --fg: light-dark(var(--blue-600), var(--blue-400));\n color: var(--fg);\n }\n .fg-accent {\n --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n color: var(--fg);\n }\n .fg-success {\n --fg: light-dark(var(--green-600), var(--green-400));\n color: var(--fg);\n }\n .fg-danger {\n --fg: light-dark(var(--red-600), var(--red-400));\n color: var(--fg);\n }\n .fg-warning {\n --fg: light-dark(var(--yellow-700), var(--yellow-400));\n color: var(--fg);\n }\n .fg-info {\n --fg: light-dark(var(--cyan-600), var(--cyan-400));\n color: var(--fg);\n }\n .fg-inverse {\n --fg: light-dark(var(--gray-900), var(--gray-200));\n color: var(--fg);\n }\n .fg-secondary {\n --fg: light-dark(var(--gray-600), var(--gray-400));\n color: var(--fg);\n }\n .fg-body {\n --fg: light-dark(var(--gray-900), var(--gray-050));\n color: var(--fg);\n }\n .fg-1 {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-2 {\n --fg: light-dark(var(--gray-700), var(--gray-300));\n color: var(--fg);\n }\n .fg-3 {\n --fg: light-dark(var(--gray-600), var(--gray-500));\n color: var(--fg);\n }\n .fg-4 {\n --fg: light-dark(var(--gray-500), var(--gray-600));\n color: var(--fg);\n }\n .fg-white {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-black {\n --fg: var(--black);\n color: var(--fg);\n }\n .fg-inherit {\n --fg: inherit;\n color: var(--fg);\n }\n .fg-emphasis-primary {\n --fg: light-dark(var(--blue-800), var(--blue-200));\n color: var(--fg);\n }\n .fg-emphasis-accent {\n --fg: light-dark(var(--indigo-800), var(--indigo-300));\n color: var(--fg);\n }\n .fg-emphasis-success {\n --fg: light-dark(var(--green-800), var(--green-300));\n color: var(--fg);\n }\n .fg-emphasis-danger {\n --fg: light-dark(var(--red-800), var(--red-300));\n color: var(--fg);\n }\n .fg-emphasis-warning {\n --fg: light-dark(var(--yellow-800), var(--yellow-300));\n color: var(--fg);\n }\n .fg-emphasis-info {\n --fg: light-dark(var(--cyan-800), var(--cyan-300));\n color: var(--fg);\n }\n .fg-emphasis-inverse {\n --fg: light-dark(var(--gray-975), var(--white));\n color: var(--fg);\n }\n .fg-emphasis-secondary {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-contrast-primary {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-accent {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-success {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-danger {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-warning {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-info {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-inverse {\n --fg: light-dark(var(--white), var(--gray-900));\n color: var(--fg);\n }\n .fg-contrast-secondary {\n --fg: light-dark(var(--gray-900), var(--white));\n color: var(--fg);\n }\n .fg-10 {\n color: color-mix(in oklch, var(--fg) 10%, transparent);\n }\n .fg-20 {\n color: color-mix(in oklch, var(--fg) 20%, transparent);\n }\n .fg-30 {\n color: color-mix(in oklch, var(--fg) 30%, transparent);\n }\n .fg-40 {\n color: color-mix(in oklch, var(--fg) 40%, transparent);\n }\n .fg-50 {\n color: color-mix(in oklch, var(--fg) 50%, transparent);\n }\n .fg-60 {\n color: color-mix(in oklch, var(--fg) 60%, transparent);\n }\n .fg-70 {\n color: color-mix(in oklch, var(--fg) 70%, transparent);\n }\n .fg-80 {\n color: color-mix(in oklch, var(--fg) 80%, transparent);\n }\n .fg-90 {\n color: color-mix(in oklch, var(--fg) 90%, transparent);\n }\n .fg-100 {\n color: var(--fg);\n }\n .link-10 {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-10-hover:hover {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-20 {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-20-hover:hover {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-30 {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-30-hover:hover {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-40 {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-40-hover:hover {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-50 {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-50-hover:hover {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-60 {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-60-hover:hover {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-70 {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-70-hover:hover {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-80 {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-80-hover:hover {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-90 {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-90-hover:hover {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-100 {\n color: var(--link-color);\n }\n .link-100-hover:hover {\n color: var(--link-color);\n }\n .underline-offset-1 {\n text-underline-offset: 0.125em;\n }\n .underline-offset-1-hover:hover {\n text-underline-offset: 0.125em;\n }\n .underline-offset-2 {\n text-underline-offset: 0.25em;\n }\n .underline-offset-2-hover:hover {\n text-underline-offset: 0.25em;\n }\n .underline-offset-3 {\n text-underline-offset: 0.375em;\n }\n .underline-offset-3-hover:hover {\n text-underline-offset: 0.375em;\n }\n .underline-primary {\n text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n }\n .underline-accent {\n text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n }\n .underline-success {\n text-decoration-color: light-dark(var(--green-600), var(--green-400));\n }\n .underline-danger {\n text-decoration-color: light-dark(var(--red-600), var(--red-400));\n }\n .underline-warning {\n text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n }\n .underline-info {\n text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n }\n .underline-inverse {\n text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n }\n .underline-secondary {\n text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n }\n .underline-10 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-10-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-20 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-20-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-30 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-30-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-40 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-40-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-50 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-50-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-60 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-60-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-70 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-70-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-80 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-80-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-90 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-90-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-100 {\n text-decoration-color: var(--link-color);\n }\n .underline-100-hover:hover {\n text-decoration-color: var(--link-color);\n }\n .underline-thickness-1 {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-1-hover:hover {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-2 {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-2-hover:hover {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-3 {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-3-hover:hover {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-4 {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-4-hover:hover {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-5 {\n text-decoration-thickness: 5px;\n }\n .underline-thickness-5-hover:hover {\n text-decoration-thickness: 5px;\n }\n .bg-primary {\n --bg: var(--blue-500);\n background-color: var(--bg);\n }\n .bg-accent {\n --bg: var(--indigo-500);\n background-color: var(--bg);\n }\n .bg-success {\n --bg: var(--green-500);\n background-color: var(--bg);\n }\n .bg-danger {\n --bg: var(--red-500);\n background-color: var(--bg);\n }\n .bg-warning {\n --bg: var(--yellow-500);\n background-color: var(--bg);\n }\n .bg-info {\n --bg: var(--cyan-500);\n background-color: var(--bg);\n }\n .bg-inverse {\n --bg: light-dark(var(--gray-900), var(--gray-025));\n background-color: var(--bg);\n }\n .bg-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-600));\n background-color: var(--bg);\n }\n .bg-body {\n --bg: light-dark(var(--white), var(--gray-975));\n background-color: var(--bg);\n }\n .bg-1 {\n --bg: light-dark(var(--gray-025), var(--gray-950));\n background-color: var(--bg);\n }\n .bg-2 {\n --bg: light-dark(var(--gray-050), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-3 {\n --bg: light-dark(var(--gray-100), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-4 {\n --bg: light-dark(var(--gray-200), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-white {\n --bg: var(--white);\n background-color: var(--bg);\n }\n .bg-black {\n --bg: var(--black);\n background-color: var(--bg);\n }\n .bg-transparent {\n --bg: transparent;\n background-color: var(--bg);\n }\n .bg-inherit {\n --bg: inherit;\n background-color: var(--bg);\n }\n .bg-subtle-primary {\n --bg: light-dark(var(--blue-100), var(--blue-900));\n background-color: var(--bg);\n }\n .bg-subtle-accent {\n --bg: light-dark(var(--indigo-100), var(--indigo-900));\n background-color: var(--bg);\n }\n .bg-subtle-success {\n --bg: light-dark(var(--green-100), var(--green-900));\n background-color: var(--bg);\n }\n .bg-subtle-danger {\n --bg: light-dark(var(--red-100), var(--red-900));\n background-color: var(--bg);\n }\n .bg-subtle-warning {\n --bg: light-dark(var(--yellow-100), var(--yellow-900));\n background-color: var(--bg);\n }\n .bg-subtle-info {\n --bg: light-dark(var(--cyan-100), var(--cyan-900));\n background-color: var(--bg);\n }\n .bg-subtle-inverse {\n --bg: light-dark(var(--gray-100), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-subtle-secondary {\n --bg: light-dark(var(--gray-050), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-muted-primary {\n --bg: light-dark(var(--blue-200), var(--blue-800));\n background-color: var(--bg);\n }\n .bg-muted-accent {\n --bg: light-dark(var(--indigo-200), var(--indigo-800));\n background-color: var(--bg);\n }\n .bg-muted-success {\n --bg: light-dark(var(--green-200), var(--green-800));\n background-color: var(--bg);\n }\n .bg-muted-danger {\n --bg: light-dark(var(--red-200), var(--red-800));\n background-color: var(--bg);\n }\n .bg-muted-warning {\n --bg: light-dark(var(--yellow-200), var(--yellow-800));\n background-color: var(--bg);\n }\n .bg-muted-info {\n --bg: light-dark(var(--cyan-200), var(--cyan-800));\n background-color: var(--bg);\n }\n .bg-muted-inverse {\n --bg: light-dark(var(--gray-200), var(--gray-300));\n background-color: var(--bg);\n }\n .bg-muted-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-10 {\n background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n }\n .bg-20 {\n background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n }\n .bg-30 {\n background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n }\n .bg-40 {\n background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n }\n .bg-50 {\n background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n }\n .bg-60 {\n background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n }\n .bg-70 {\n background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n }\n .bg-80 {\n background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n }\n .bg-90 {\n background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n }\n .bg-100 {\n background-color: var(--bg);\n }\n .theme-contrast {\n background-color: var(--theme-bg);\n color: var(--theme-contrast);\n }\n .theme-subtle {\n background-color: var(--theme-bg-subtle);\n color: var(--theme-text);\n }\n .theme-muted {\n background-color: var(--theme-bg-muted);\n color: var(--theme-text-emphasis);\n }\n .theme-border {\n border: var(--border-width) solid var(--theme-border);\n }\n .bg-gradient {\n background-image: var(--gradient);\n }\n .user-select-all {\n user-select: all;\n }\n .user-select-auto {\n user-select: auto;\n }\n .user-select-text {\n user-select: text;\n }\n .user-select-none {\n user-select: none;\n }\n .pe-none {\n pointer-events: none;\n }\n .pe-auto {\n pointer-events: auto;\n }\n .rounded {\n border-radius: var(--border-radius);\n }\n .rounded-0 {\n border-radius: 0;\n }\n .rounded-1 {\n border-radius: var(--border-radius-sm);\n }\n .rounded-2 {\n border-radius: var(--border-radius);\n }\n .rounded-3 {\n border-radius: var(--border-radius-lg);\n }\n .rounded-4 {\n border-radius: var(--border-radius-xl);\n }\n .rounded-5 {\n border-radius: var(--border-radius-2xl);\n }\n .rounded-circle {\n border-radius: 50%;\n }\n .rounded-pill {\n border-radius: var(--border-radius-pill);\n }\n .rounded-top {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-top-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-top-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-top-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-top-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-top-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-top-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .rounded-end {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-end-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-end-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-end-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-end-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-end-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-end-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-bottom {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-bottom-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-bottom-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-bottom-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-bottom-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-bottom-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-bottom-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-start {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-start-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-start-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-start-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-start-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-start-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-start-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .visible {\n visibility: visible;\n }\n .invisible {\n visibility: hidden;\n }\n .z-n1 {\n z-index: -1;\n }\n .z-0 {\n z-index: 0;\n }\n .z-1 {\n z-index: 1;\n }\n .z-2 {\n z-index: 2;\n }\n .z-3 {\n z-index: 3;\n }\n @media (width >= 576px) {\n .sm\\:float-start {\n float: inline-start;\n }\n .sm\\:float-end {\n float: inline-end;\n }\n .sm\\:float-none {\n float: none;\n }\n .sm\\:object-fit-contain {\n object-fit: contain;\n }\n .sm\\:object-fit-cover {\n object-fit: cover;\n }\n .sm\\:object-fit-fill {\n object-fit: fill;\n }\n .sm\\:object-fit-scale {\n object-fit: scale-down;\n }\n .sm\\:object-fit-none {\n object-fit: none;\n }\n .sm\\:d-inline {\n display: inline;\n }\n .sm\\:d-inline-block {\n display: inline-block;\n }\n .sm\\:d-block {\n display: block;\n }\n .sm\\:d-grid {\n display: grid;\n }\n .sm\\:d-inline-grid {\n display: inline-grid;\n }\n .sm\\:d-table {\n display: table;\n }\n .sm\\:d-table-row {\n display: table-row;\n }\n .sm\\:d-table-cell {\n display: table-cell;\n }\n .sm\\:d-flex {\n display: flex;\n }\n .sm\\:d-inline-flex {\n display: inline-flex;\n }\n .sm\\:d-contents {\n display: contents;\n }\n .sm\\:d-flow-root {\n display: flow-root;\n }\n .sm\\:d-none {\n display: none;\n }\n .sm\\:flex-fill {\n flex: 1 1 auto;\n }\n .sm\\:flex-row {\n flex-direction: row;\n }\n .sm\\:flex-column {\n flex-direction: column;\n }\n .sm\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .sm\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .sm\\:flex-grow-0 {\n flex-grow: 0;\n }\n .sm\\:flex-grow-1 {\n flex-grow: 1;\n }\n .sm\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .sm\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .sm\\:flex-wrap {\n flex-wrap: wrap;\n }\n .sm\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .sm\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .sm\\:justify-content-start {\n justify-content: flex-start;\n }\n .sm\\:justify-content-end {\n justify-content: flex-end;\n }\n .sm\\:justify-content-center {\n justify-content: center;\n }\n .sm\\:justify-content-between {\n justify-content: space-between;\n }\n .sm\\:justify-content-around {\n justify-content: space-around;\n }\n .sm\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .sm\\:justify-items-start {\n justify-items: start;\n }\n .sm\\:justify-items-end {\n justify-items: end;\n }\n .sm\\:justify-items-center {\n justify-items: center;\n }\n .sm\\:justify-items-stretch {\n justify-items: stretch;\n }\n .sm\\:justify-self-start {\n justify-self: flex-start;\n }\n .sm\\:justify-self-end {\n justify-self: flex-end;\n }\n .sm\\:justify-self-center {\n justify-self: center;\n }\n .sm\\:align-items-start {\n align-items: flex-start;\n }\n .sm\\:align-items-end {\n align-items: flex-end;\n }\n .sm\\:align-items-center {\n align-items: center;\n }\n .sm\\:align-items-baseline {\n align-items: baseline;\n }\n .sm\\:align-items-stretch {\n align-items: stretch;\n }\n .sm\\:align-content-start {\n align-content: flex-start;\n }\n .sm\\:align-content-end {\n align-content: flex-end;\n }\n .sm\\:align-content-center {\n align-content: center;\n }\n .sm\\:align-content-between {\n align-content: space-between;\n }\n .sm\\:align-content-around {\n align-content: space-around;\n }\n .sm\\:align-content-stretch {\n align-content: stretch;\n }\n .sm\\:align-self-auto {\n align-self: auto;\n }\n .sm\\:align-self-start {\n align-self: flex-start;\n }\n .sm\\:align-self-end {\n align-self: flex-end;\n }\n .sm\\:align-self-center {\n align-self: center;\n }\n .sm\\:align-self-baseline {\n align-self: baseline;\n }\n .sm\\:align-self-stretch {\n align-self: stretch;\n }\n .sm\\:place-items-start {\n place-items: start;\n }\n .sm\\:place-items-end {\n place-items: end;\n }\n .sm\\:place-items-center {\n place-items: center;\n }\n .sm\\:place-items-stretch {\n place-items: stretch;\n }\n .sm\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .sm\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .sm\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .sm\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .sm\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .sm\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .sm\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .sm\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .sm\\:order-first {\n order: -1;\n }\n .sm\\:order-0 {\n order: 0;\n }\n .sm\\:order-1 {\n order: 1;\n }\n .sm\\:order-2 {\n order: 2;\n }\n .sm\\:order-3 {\n order: 3;\n }\n .sm\\:order-4 {\n order: 4;\n }\n .sm\\:order-5 {\n order: 5;\n }\n .sm\\:order-last {\n order: 6;\n }\n .sm\\:m-0 {\n margin: 0;\n }\n .sm\\:m-1 {\n margin: 0.25rem;\n }\n .sm\\:m-2 {\n margin: 0.5rem;\n }\n .sm\\:m-3 {\n margin: 1rem;\n }\n .sm\\:m-4 {\n margin: 1.5rem;\n }\n .sm\\:m-5 {\n margin: 3rem;\n }\n .sm\\:m-auto {\n margin: auto;\n }\n .sm\\:mx-0 {\n margin-inline: 0;\n }\n .sm\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .sm\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .sm\\:mx-3 {\n margin-inline: 1rem;\n }\n .sm\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .sm\\:mx-5 {\n margin-inline: 3rem;\n }\n .sm\\:mx-auto {\n margin-inline: auto;\n }\n .sm\\:my-0 {\n margin-block: 0;\n }\n .sm\\:my-1 {\n margin-block: 0.25rem;\n }\n .sm\\:my-2 {\n margin-block: 0.5rem;\n }\n .sm\\:my-3 {\n margin-block: 1rem;\n }\n .sm\\:my-4 {\n margin-block: 1.5rem;\n }\n .sm\\:my-5 {\n margin-block: 3rem;\n }\n .sm\\:my-auto {\n margin-block: auto;\n }\n .sm\\:mt-0 {\n margin-block-start: 0;\n }\n .sm\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .sm\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .sm\\:mt-3 {\n margin-block-start: 1rem;\n }\n .sm\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .sm\\:mt-5 {\n margin-block-start: 3rem;\n }\n .sm\\:mt-auto {\n margin-block-start: auto;\n }\n .sm\\:me-0 {\n margin-inline-end: 0;\n }\n .sm\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .sm\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .sm\\:me-3 {\n margin-inline-end: 1rem;\n }\n .sm\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .sm\\:me-5 {\n margin-inline-end: 3rem;\n }\n .sm\\:me-auto {\n margin-inline-end: auto;\n }\n .sm\\:mb-0 {\n margin-block-end: 0;\n }\n .sm\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .sm\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .sm\\:mb-3 {\n margin-block-end: 1rem;\n }\n .sm\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .sm\\:mb-5 {\n margin-block-end: 3rem;\n }\n .sm\\:mb-auto {\n margin-block-end: auto;\n }\n .sm\\:ms-0 {\n margin-inline-start: 0;\n }\n .sm\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .sm\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .sm\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .sm\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .sm\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .sm\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .sm\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .sm\\:ms-auto {\n margin-inline-start: auto;\n }\n .sm\\:p-0 {\n padding: 0;\n }\n .sm\\:p-1 {\n padding: 0.25rem;\n }\n .sm\\:p-2 {\n padding: 0.5rem;\n }\n .sm\\:p-3 {\n padding: 1rem;\n }\n .sm\\:p-4 {\n padding: 1.5rem;\n }\n .sm\\:p-5 {\n padding: 3rem;\n }\n .sm\\:px-0 {\n padding-inline: 0;\n }\n .sm\\:px-1 {\n padding-inline: 0.25rem;\n }\n .sm\\:px-2 {\n padding-inline: 0.5rem;\n }\n .sm\\:px-3 {\n padding-inline: 1rem;\n }\n .sm\\:px-4 {\n padding-inline: 1.5rem;\n }\n .sm\\:px-5 {\n padding-inline: 3rem;\n }\n .sm\\:py-0 {\n padding-block: 0;\n }\n .sm\\:py-1 {\n padding-block: 0.25rem;\n }\n .sm\\:py-2 {\n padding-block: 0.5rem;\n }\n .sm\\:py-3 {\n padding-block: 1rem;\n }\n .sm\\:py-4 {\n padding-block: 1.5rem;\n }\n .sm\\:py-5 {\n padding-block: 3rem;\n }\n .sm\\:pt-0 {\n padding-block-start: 0;\n }\n .sm\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .sm\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .sm\\:pt-3 {\n padding-block-start: 1rem;\n }\n .sm\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .sm\\:pt-5 {\n padding-block-start: 3rem;\n }\n .sm\\:pe-0 {\n padding-inline-end: 0;\n }\n .sm\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .sm\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .sm\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .sm\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .sm\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .sm\\:pb-0 {\n padding-block-end: 0;\n }\n .sm\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .sm\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .sm\\:pb-3 {\n padding-block-end: 1rem;\n }\n .sm\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .sm\\:pb-5 {\n padding-block-end: 3rem;\n }\n .sm\\:ps-0 {\n padding-inline-start: 0;\n }\n .sm\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .sm\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .sm\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .sm\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .sm\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .sm\\:gap-0 {\n gap: 0;\n }\n .sm\\:gap-1 {\n gap: 0.25rem;\n }\n .sm\\:gap-2 {\n gap: 0.5rem;\n }\n .sm\\:gap-3 {\n gap: 1rem;\n }\n .sm\\:gap-4 {\n gap: 1.5rem;\n }\n .sm\\:gap-5 {\n gap: 3rem;\n }\n .sm\\:row-gap-0 {\n row-gap: 0;\n }\n .sm\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .sm\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .sm\\:row-gap-3 {\n row-gap: 1rem;\n }\n .sm\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .sm\\:row-gap-5 {\n row-gap: 3rem;\n }\n .sm\\:column-gap-0 {\n column-gap: 0;\n }\n .sm\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .sm\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .sm\\:column-gap-3 {\n column-gap: 1rem;\n }\n .sm\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .sm\\:column-gap-5 {\n column-gap: 3rem;\n }\n .sm\\:text-start {\n text-align: start;\n }\n .sm\\:text-end {\n text-align: end;\n }\n .sm\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 768px) {\n .md\\:float-start {\n float: inline-start;\n }\n .md\\:float-end {\n float: inline-end;\n }\n .md\\:float-none {\n float: none;\n }\n .md\\:object-fit-contain {\n object-fit: contain;\n }\n .md\\:object-fit-cover {\n object-fit: cover;\n }\n .md\\:object-fit-fill {\n object-fit: fill;\n }\n .md\\:object-fit-scale {\n object-fit: scale-down;\n }\n .md\\:object-fit-none {\n object-fit: none;\n }\n .md\\:d-inline {\n display: inline;\n }\n .md\\:d-inline-block {\n display: inline-block;\n }\n .md\\:d-block {\n display: block;\n }\n .md\\:d-grid {\n display: grid;\n }\n .md\\:d-inline-grid {\n display: inline-grid;\n }\n .md\\:d-table {\n display: table;\n }\n .md\\:d-table-row {\n display: table-row;\n }\n .md\\:d-table-cell {\n display: table-cell;\n }\n .md\\:d-flex {\n display: flex;\n }\n .md\\:d-inline-flex {\n display: inline-flex;\n }\n .md\\:d-contents {\n display: contents;\n }\n .md\\:d-flow-root {\n display: flow-root;\n }\n .md\\:d-none {\n display: none;\n }\n .md\\:flex-fill {\n flex: 1 1 auto;\n }\n .md\\:flex-row {\n flex-direction: row;\n }\n .md\\:flex-column {\n flex-direction: column;\n }\n .md\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .md\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .md\\:flex-grow-0 {\n flex-grow: 0;\n }\n .md\\:flex-grow-1 {\n flex-grow: 1;\n }\n .md\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .md\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .md\\:flex-wrap {\n flex-wrap: wrap;\n }\n .md\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .md\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .md\\:justify-content-start {\n justify-content: flex-start;\n }\n .md\\:justify-content-end {\n justify-content: flex-end;\n }\n .md\\:justify-content-center {\n justify-content: center;\n }\n .md\\:justify-content-between {\n justify-content: space-between;\n }\n .md\\:justify-content-around {\n justify-content: space-around;\n }\n .md\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .md\\:justify-items-start {\n justify-items: start;\n }\n .md\\:justify-items-end {\n justify-items: end;\n }\n .md\\:justify-items-center {\n justify-items: center;\n }\n .md\\:justify-items-stretch {\n justify-items: stretch;\n }\n .md\\:justify-self-start {\n justify-self: flex-start;\n }\n .md\\:justify-self-end {\n justify-self: flex-end;\n }\n .md\\:justify-self-center {\n justify-self: center;\n }\n .md\\:align-items-start {\n align-items: flex-start;\n }\n .md\\:align-items-end {\n align-items: flex-end;\n }\n .md\\:align-items-center {\n align-items: center;\n }\n .md\\:align-items-baseline {\n align-items: baseline;\n }\n .md\\:align-items-stretch {\n align-items: stretch;\n }\n .md\\:align-content-start {\n align-content: flex-start;\n }\n .md\\:align-content-end {\n align-content: flex-end;\n }\n .md\\:align-content-center {\n align-content: center;\n }\n .md\\:align-content-between {\n align-content: space-between;\n }\n .md\\:align-content-around {\n align-content: space-around;\n }\n .md\\:align-content-stretch {\n align-content: stretch;\n }\n .md\\:align-self-auto {\n align-self: auto;\n }\n .md\\:align-self-start {\n align-self: flex-start;\n }\n .md\\:align-self-end {\n align-self: flex-end;\n }\n .md\\:align-self-center {\n align-self: center;\n }\n .md\\:align-self-baseline {\n align-self: baseline;\n }\n .md\\:align-self-stretch {\n align-self: stretch;\n }\n .md\\:place-items-start {\n place-items: start;\n }\n .md\\:place-items-end {\n place-items: end;\n }\n .md\\:place-items-center {\n place-items: center;\n }\n .md\\:place-items-stretch {\n place-items: stretch;\n }\n .md\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .md\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .md\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .md\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .md\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .md\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .md\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .md\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .md\\:order-first {\n order: -1;\n }\n .md\\:order-0 {\n order: 0;\n }\n .md\\:order-1 {\n order: 1;\n }\n .md\\:order-2 {\n order: 2;\n }\n .md\\:order-3 {\n order: 3;\n }\n .md\\:order-4 {\n order: 4;\n }\n .md\\:order-5 {\n order: 5;\n }\n .md\\:order-last {\n order: 6;\n }\n .md\\:m-0 {\n margin: 0;\n }\n .md\\:m-1 {\n margin: 0.25rem;\n }\n .md\\:m-2 {\n margin: 0.5rem;\n }\n .md\\:m-3 {\n margin: 1rem;\n }\n .md\\:m-4 {\n margin: 1.5rem;\n }\n .md\\:m-5 {\n margin: 3rem;\n }\n .md\\:m-auto {\n margin: auto;\n }\n .md\\:mx-0 {\n margin-inline: 0;\n }\n .md\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .md\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .md\\:mx-3 {\n margin-inline: 1rem;\n }\n .md\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .md\\:mx-5 {\n margin-inline: 3rem;\n }\n .md\\:mx-auto {\n margin-inline: auto;\n }\n .md\\:my-0 {\n margin-block: 0;\n }\n .md\\:my-1 {\n margin-block: 0.25rem;\n }\n .md\\:my-2 {\n margin-block: 0.5rem;\n }\n .md\\:my-3 {\n margin-block: 1rem;\n }\n .md\\:my-4 {\n margin-block: 1.5rem;\n }\n .md\\:my-5 {\n margin-block: 3rem;\n }\n .md\\:my-auto {\n margin-block: auto;\n }\n .md\\:mt-0 {\n margin-block-start: 0;\n }\n .md\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .md\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .md\\:mt-3 {\n margin-block-start: 1rem;\n }\n .md\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .md\\:mt-5 {\n margin-block-start: 3rem;\n }\n .md\\:mt-auto {\n margin-block-start: auto;\n }\n .md\\:me-0 {\n margin-inline-end: 0;\n }\n .md\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .md\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .md\\:me-3 {\n margin-inline-end: 1rem;\n }\n .md\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .md\\:me-5 {\n margin-inline-end: 3rem;\n }\n .md\\:me-auto {\n margin-inline-end: auto;\n }\n .md\\:mb-0 {\n margin-block-end: 0;\n }\n .md\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .md\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .md\\:mb-3 {\n margin-block-end: 1rem;\n }\n .md\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .md\\:mb-5 {\n margin-block-end: 3rem;\n }\n .md\\:mb-auto {\n margin-block-end: auto;\n }\n .md\\:ms-0 {\n margin-inline-start: 0;\n }\n .md\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .md\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .md\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .md\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .md\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .md\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .md\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .md\\:ms-auto {\n margin-inline-start: auto;\n }\n .md\\:p-0 {\n padding: 0;\n }\n .md\\:p-1 {\n padding: 0.25rem;\n }\n .md\\:p-2 {\n padding: 0.5rem;\n }\n .md\\:p-3 {\n padding: 1rem;\n }\n .md\\:p-4 {\n padding: 1.5rem;\n }\n .md\\:p-5 {\n padding: 3rem;\n }\n .md\\:px-0 {\n padding-inline: 0;\n }\n .md\\:px-1 {\n padding-inline: 0.25rem;\n }\n .md\\:px-2 {\n padding-inline: 0.5rem;\n }\n .md\\:px-3 {\n padding-inline: 1rem;\n }\n .md\\:px-4 {\n padding-inline: 1.5rem;\n }\n .md\\:px-5 {\n padding-inline: 3rem;\n }\n .md\\:py-0 {\n padding-block: 0;\n }\n .md\\:py-1 {\n padding-block: 0.25rem;\n }\n .md\\:py-2 {\n padding-block: 0.5rem;\n }\n .md\\:py-3 {\n padding-block: 1rem;\n }\n .md\\:py-4 {\n padding-block: 1.5rem;\n }\n .md\\:py-5 {\n padding-block: 3rem;\n }\n .md\\:pt-0 {\n padding-block-start: 0;\n }\n .md\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .md\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .md\\:pt-3 {\n padding-block-start: 1rem;\n }\n .md\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .md\\:pt-5 {\n padding-block-start: 3rem;\n }\n .md\\:pe-0 {\n padding-inline-end: 0;\n }\n .md\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .md\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .md\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .md\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .md\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .md\\:pb-0 {\n padding-block-end: 0;\n }\n .md\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .md\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .md\\:pb-3 {\n padding-block-end: 1rem;\n }\n .md\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .md\\:pb-5 {\n padding-block-end: 3rem;\n }\n .md\\:ps-0 {\n padding-inline-start: 0;\n }\n .md\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .md\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .md\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .md\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .md\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .md\\:gap-0 {\n gap: 0;\n }\n .md\\:gap-1 {\n gap: 0.25rem;\n }\n .md\\:gap-2 {\n gap: 0.5rem;\n }\n .md\\:gap-3 {\n gap: 1rem;\n }\n .md\\:gap-4 {\n gap: 1.5rem;\n }\n .md\\:gap-5 {\n gap: 3rem;\n }\n .md\\:row-gap-0 {\n row-gap: 0;\n }\n .md\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .md\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .md\\:row-gap-3 {\n row-gap: 1rem;\n }\n .md\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .md\\:row-gap-5 {\n row-gap: 3rem;\n }\n .md\\:column-gap-0 {\n column-gap: 0;\n }\n .md\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .md\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .md\\:column-gap-3 {\n column-gap: 1rem;\n }\n .md\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .md\\:column-gap-5 {\n column-gap: 3rem;\n }\n .md\\:text-start {\n text-align: start;\n }\n .md\\:text-end {\n text-align: end;\n }\n .md\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 1024px) {\n .lg\\:float-start {\n float: inline-start;\n }\n .lg\\:float-end {\n float: inline-end;\n }\n .lg\\:float-none {\n float: none;\n }\n .lg\\:object-fit-contain {\n object-fit: contain;\n }\n .lg\\:object-fit-cover {\n object-fit: cover;\n }\n .lg\\:object-fit-fill {\n object-fit: fill;\n }\n .lg\\:object-fit-scale {\n object-fit: scale-down;\n }\n .lg\\:object-fit-none {\n object-fit: none;\n }\n .lg\\:d-inline {\n display: inline;\n }\n .lg\\:d-inline-block {\n display: inline-block;\n }\n .lg\\:d-block {\n display: block;\n }\n .lg\\:d-grid {\n display: grid;\n }\n .lg\\:d-inline-grid {\n display: inline-grid;\n }\n .lg\\:d-table {\n display: table;\n }\n .lg\\:d-table-row {\n display: table-row;\n }\n .lg\\:d-table-cell {\n display: table-cell;\n }\n .lg\\:d-flex {\n display: flex;\n }\n .lg\\:d-inline-flex {\n display: inline-flex;\n }\n .lg\\:d-contents {\n display: contents;\n }\n .lg\\:d-flow-root {\n display: flow-root;\n }\n .lg\\:d-none {\n display: none;\n }\n .lg\\:flex-fill {\n flex: 1 1 auto;\n }\n .lg\\:flex-row {\n flex-direction: row;\n }\n .lg\\:flex-column {\n flex-direction: column;\n }\n .lg\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .lg\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .lg\\:flex-grow-0 {\n flex-grow: 0;\n }\n .lg\\:flex-grow-1 {\n flex-grow: 1;\n }\n .lg\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .lg\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .lg\\:flex-wrap {\n flex-wrap: wrap;\n }\n .lg\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .lg\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .lg\\:justify-content-start {\n justify-content: flex-start;\n }\n .lg\\:justify-content-end {\n justify-content: flex-end;\n }\n .lg\\:justify-content-center {\n justify-content: center;\n }\n .lg\\:justify-content-between {\n justify-content: space-between;\n }\n .lg\\:justify-content-around {\n justify-content: space-around;\n }\n .lg\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .lg\\:justify-items-start {\n justify-items: start;\n }\n .lg\\:justify-items-end {\n justify-items: end;\n }\n .lg\\:justify-items-center {\n justify-items: center;\n }\n .lg\\:justify-items-stretch {\n justify-items: stretch;\n }\n .lg\\:justify-self-start {\n justify-self: flex-start;\n }\n .lg\\:justify-self-end {\n justify-self: flex-end;\n }\n .lg\\:justify-self-center {\n justify-self: center;\n }\n .lg\\:align-items-start {\n align-items: flex-start;\n }\n .lg\\:align-items-end {\n align-items: flex-end;\n }\n .lg\\:align-items-center {\n align-items: center;\n }\n .lg\\:align-items-baseline {\n align-items: baseline;\n }\n .lg\\:align-items-stretch {\n align-items: stretch;\n }\n .lg\\:align-content-start {\n align-content: flex-start;\n }\n .lg\\:align-content-end {\n align-content: flex-end;\n }\n .lg\\:align-content-center {\n align-content: center;\n }\n .lg\\:align-content-between {\n align-content: space-between;\n }\n .lg\\:align-content-around {\n align-content: space-around;\n }\n .lg\\:align-content-stretch {\n align-content: stretch;\n }\n .lg\\:align-self-auto {\n align-self: auto;\n }\n .lg\\:align-self-start {\n align-self: flex-start;\n }\n .lg\\:align-self-end {\n align-self: flex-end;\n }\n .lg\\:align-self-center {\n align-self: center;\n }\n .lg\\:align-self-baseline {\n align-self: baseline;\n }\n .lg\\:align-self-stretch {\n align-self: stretch;\n }\n .lg\\:place-items-start {\n place-items: start;\n }\n .lg\\:place-items-end {\n place-items: end;\n }\n .lg\\:place-items-center {\n place-items: center;\n }\n .lg\\:place-items-stretch {\n place-items: stretch;\n }\n .lg\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .lg\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .lg\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .lg\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .lg\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .lg\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .lg\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .lg\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .lg\\:order-first {\n order: -1;\n }\n .lg\\:order-0 {\n order: 0;\n }\n .lg\\:order-1 {\n order: 1;\n }\n .lg\\:order-2 {\n order: 2;\n }\n .lg\\:order-3 {\n order: 3;\n }\n .lg\\:order-4 {\n order: 4;\n }\n .lg\\:order-5 {\n order: 5;\n }\n .lg\\:order-last {\n order: 6;\n }\n .lg\\:m-0 {\n margin: 0;\n }\n .lg\\:m-1 {\n margin: 0.25rem;\n }\n .lg\\:m-2 {\n margin: 0.5rem;\n }\n .lg\\:m-3 {\n margin: 1rem;\n }\n .lg\\:m-4 {\n margin: 1.5rem;\n }\n .lg\\:m-5 {\n margin: 3rem;\n }\n .lg\\:m-auto {\n margin: auto;\n }\n .lg\\:mx-0 {\n margin-inline: 0;\n }\n .lg\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .lg\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .lg\\:mx-3 {\n margin-inline: 1rem;\n }\n .lg\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .lg\\:mx-5 {\n margin-inline: 3rem;\n }\n .lg\\:mx-auto {\n margin-inline: auto;\n }\n .lg\\:my-0 {\n margin-block: 0;\n }\n .lg\\:my-1 {\n margin-block: 0.25rem;\n }\n .lg\\:my-2 {\n margin-block: 0.5rem;\n }\n .lg\\:my-3 {\n margin-block: 1rem;\n }\n .lg\\:my-4 {\n margin-block: 1.5rem;\n }\n .lg\\:my-5 {\n margin-block: 3rem;\n }\n .lg\\:my-auto {\n margin-block: auto;\n }\n .lg\\:mt-0 {\n margin-block-start: 0;\n }\n .lg\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .lg\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .lg\\:mt-3 {\n margin-block-start: 1rem;\n }\n .lg\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .lg\\:mt-5 {\n margin-block-start: 3rem;\n }\n .lg\\:mt-auto {\n margin-block-start: auto;\n }\n .lg\\:me-0 {\n margin-inline-end: 0;\n }\n .lg\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .lg\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .lg\\:me-3 {\n margin-inline-end: 1rem;\n }\n .lg\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .lg\\:me-5 {\n margin-inline-end: 3rem;\n }\n .lg\\:me-auto {\n margin-inline-end: auto;\n }\n .lg\\:mb-0 {\n margin-block-end: 0;\n }\n .lg\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .lg\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .lg\\:mb-3 {\n margin-block-end: 1rem;\n }\n .lg\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .lg\\:mb-5 {\n margin-block-end: 3rem;\n }\n .lg\\:mb-auto {\n margin-block-end: auto;\n }\n .lg\\:ms-0 {\n margin-inline-start: 0;\n }\n .lg\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .lg\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .lg\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .lg\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .lg\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .lg\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .lg\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .lg\\:ms-auto {\n margin-inline-start: auto;\n }\n .lg\\:p-0 {\n padding: 0;\n }\n .lg\\:p-1 {\n padding: 0.25rem;\n }\n .lg\\:p-2 {\n padding: 0.5rem;\n }\n .lg\\:p-3 {\n padding: 1rem;\n }\n .lg\\:p-4 {\n padding: 1.5rem;\n }\n .lg\\:p-5 {\n padding: 3rem;\n }\n .lg\\:px-0 {\n padding-inline: 0;\n }\n .lg\\:px-1 {\n padding-inline: 0.25rem;\n }\n .lg\\:px-2 {\n padding-inline: 0.5rem;\n }\n .lg\\:px-3 {\n padding-inline: 1rem;\n }\n .lg\\:px-4 {\n padding-inline: 1.5rem;\n }\n .lg\\:px-5 {\n padding-inline: 3rem;\n }\n .lg\\:py-0 {\n padding-block: 0;\n }\n .lg\\:py-1 {\n padding-block: 0.25rem;\n }\n .lg\\:py-2 {\n padding-block: 0.5rem;\n }\n .lg\\:py-3 {\n padding-block: 1rem;\n }\n .lg\\:py-4 {\n padding-block: 1.5rem;\n }\n .lg\\:py-5 {\n padding-block: 3rem;\n }\n .lg\\:pt-0 {\n padding-block-start: 0;\n }\n .lg\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .lg\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .lg\\:pt-3 {\n padding-block-start: 1rem;\n }\n .lg\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .lg\\:pt-5 {\n padding-block-start: 3rem;\n }\n .lg\\:pe-0 {\n padding-inline-end: 0;\n }\n .lg\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .lg\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .lg\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .lg\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .lg\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .lg\\:pb-0 {\n padding-block-end: 0;\n }\n .lg\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .lg\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .lg\\:pb-3 {\n padding-block-end: 1rem;\n }\n .lg\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .lg\\:pb-5 {\n padding-block-end: 3rem;\n }\n .lg\\:ps-0 {\n padding-inline-start: 0;\n }\n .lg\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .lg\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .lg\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .lg\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .lg\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .lg\\:gap-0 {\n gap: 0;\n }\n .lg\\:gap-1 {\n gap: 0.25rem;\n }\n .lg\\:gap-2 {\n gap: 0.5rem;\n }\n .lg\\:gap-3 {\n gap: 1rem;\n }\n .lg\\:gap-4 {\n gap: 1.5rem;\n }\n .lg\\:gap-5 {\n gap: 3rem;\n }\n .lg\\:row-gap-0 {\n row-gap: 0;\n }\n .lg\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .lg\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .lg\\:row-gap-3 {\n row-gap: 1rem;\n }\n .lg\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .lg\\:row-gap-5 {\n row-gap: 3rem;\n }\n .lg\\:column-gap-0 {\n column-gap: 0;\n }\n .lg\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .lg\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .lg\\:column-gap-3 {\n column-gap: 1rem;\n }\n .lg\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .lg\\:column-gap-5 {\n column-gap: 3rem;\n }\n .lg\\:text-start {\n text-align: start;\n }\n .lg\\:text-end {\n text-align: end;\n }\n .lg\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 1280px) {\n .xl\\:float-start {\n float: inline-start;\n }\n .xl\\:float-end {\n float: inline-end;\n }\n .xl\\:float-none {\n float: none;\n }\n .xl\\:object-fit-contain {\n object-fit: contain;\n }\n .xl\\:object-fit-cover {\n object-fit: cover;\n }\n .xl\\:object-fit-fill {\n object-fit: fill;\n }\n .xl\\:object-fit-scale {\n object-fit: scale-down;\n }\n .xl\\:object-fit-none {\n object-fit: none;\n }\n .xl\\:d-inline {\n display: inline;\n }\n .xl\\:d-inline-block {\n display: inline-block;\n }\n .xl\\:d-block {\n display: block;\n }\n .xl\\:d-grid {\n display: grid;\n }\n .xl\\:d-inline-grid {\n display: inline-grid;\n }\n .xl\\:d-table {\n display: table;\n }\n .xl\\:d-table-row {\n display: table-row;\n }\n .xl\\:d-table-cell {\n display: table-cell;\n }\n .xl\\:d-flex {\n display: flex;\n }\n .xl\\:d-inline-flex {\n display: inline-flex;\n }\n .xl\\:d-contents {\n display: contents;\n }\n .xl\\:d-flow-root {\n display: flow-root;\n }\n .xl\\:d-none {\n display: none;\n }\n .xl\\:flex-fill {\n flex: 1 1 auto;\n }\n .xl\\:flex-row {\n flex-direction: row;\n }\n .xl\\:flex-column {\n flex-direction: column;\n }\n .xl\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .xl\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .xl\\:flex-grow-0 {\n flex-grow: 0;\n }\n .xl\\:flex-grow-1 {\n flex-grow: 1;\n }\n .xl\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .xl\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .xl\\:flex-wrap {\n flex-wrap: wrap;\n }\n .xl\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .xl\\:justify-content-start {\n justify-content: flex-start;\n }\n .xl\\:justify-content-end {\n justify-content: flex-end;\n }\n .xl\\:justify-content-center {\n justify-content: center;\n }\n .xl\\:justify-content-between {\n justify-content: space-between;\n }\n .xl\\:justify-content-around {\n justify-content: space-around;\n }\n .xl\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .xl\\:justify-items-start {\n justify-items: start;\n }\n .xl\\:justify-items-end {\n justify-items: end;\n }\n .xl\\:justify-items-center {\n justify-items: center;\n }\n .xl\\:justify-items-stretch {\n justify-items: stretch;\n }\n .xl\\:justify-self-start {\n justify-self: flex-start;\n }\n .xl\\:justify-self-end {\n justify-self: flex-end;\n }\n .xl\\:justify-self-center {\n justify-self: center;\n }\n .xl\\:align-items-start {\n align-items: flex-start;\n }\n .xl\\:align-items-end {\n align-items: flex-end;\n }\n .xl\\:align-items-center {\n align-items: center;\n }\n .xl\\:align-items-baseline {\n align-items: baseline;\n }\n .xl\\:align-items-stretch {\n align-items: stretch;\n }\n .xl\\:align-content-start {\n align-content: flex-start;\n }\n .xl\\:align-content-end {\n align-content: flex-end;\n }\n .xl\\:align-content-center {\n align-content: center;\n }\n .xl\\:align-content-between {\n align-content: space-between;\n }\n .xl\\:align-content-around {\n align-content: space-around;\n }\n .xl\\:align-content-stretch {\n align-content: stretch;\n }\n .xl\\:align-self-auto {\n align-self: auto;\n }\n .xl\\:align-self-start {\n align-self: flex-start;\n }\n .xl\\:align-self-end {\n align-self: flex-end;\n }\n .xl\\:align-self-center {\n align-self: center;\n }\n .xl\\:align-self-baseline {\n align-self: baseline;\n }\n .xl\\:align-self-stretch {\n align-self: stretch;\n }\n .xl\\:place-items-start {\n place-items: start;\n }\n .xl\\:place-items-end {\n place-items: end;\n }\n .xl\\:place-items-center {\n place-items: center;\n }\n .xl\\:place-items-stretch {\n place-items: stretch;\n }\n .xl\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .xl\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .xl\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .xl\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .xl\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .xl\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .xl\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .xl\\:order-first {\n order: -1;\n }\n .xl\\:order-0 {\n order: 0;\n }\n .xl\\:order-1 {\n order: 1;\n }\n .xl\\:order-2 {\n order: 2;\n }\n .xl\\:order-3 {\n order: 3;\n }\n .xl\\:order-4 {\n order: 4;\n }\n .xl\\:order-5 {\n order: 5;\n }\n .xl\\:order-last {\n order: 6;\n }\n .xl\\:m-0 {\n margin: 0;\n }\n .xl\\:m-1 {\n margin: 0.25rem;\n }\n .xl\\:m-2 {\n margin: 0.5rem;\n }\n .xl\\:m-3 {\n margin: 1rem;\n }\n .xl\\:m-4 {\n margin: 1.5rem;\n }\n .xl\\:m-5 {\n margin: 3rem;\n }\n .xl\\:m-auto {\n margin: auto;\n }\n .xl\\:mx-0 {\n margin-inline: 0;\n }\n .xl\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .xl\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .xl\\:mx-3 {\n margin-inline: 1rem;\n }\n .xl\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .xl\\:mx-5 {\n margin-inline: 3rem;\n }\n .xl\\:mx-auto {\n margin-inline: auto;\n }\n .xl\\:my-0 {\n margin-block: 0;\n }\n .xl\\:my-1 {\n margin-block: 0.25rem;\n }\n .xl\\:my-2 {\n margin-block: 0.5rem;\n }\n .xl\\:my-3 {\n margin-block: 1rem;\n }\n .xl\\:my-4 {\n margin-block: 1.5rem;\n }\n .xl\\:my-5 {\n margin-block: 3rem;\n }\n .xl\\:my-auto {\n margin-block: auto;\n }\n .xl\\:mt-0 {\n margin-block-start: 0;\n }\n .xl\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .xl\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .xl\\:mt-3 {\n margin-block-start: 1rem;\n }\n .xl\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .xl\\:mt-5 {\n margin-block-start: 3rem;\n }\n .xl\\:mt-auto {\n margin-block-start: auto;\n }\n .xl\\:me-0 {\n margin-inline-end: 0;\n }\n .xl\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .xl\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .xl\\:me-3 {\n margin-inline-end: 1rem;\n }\n .xl\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .xl\\:me-5 {\n margin-inline-end: 3rem;\n }\n .xl\\:me-auto {\n margin-inline-end: auto;\n }\n .xl\\:mb-0 {\n margin-block-end: 0;\n }\n .xl\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .xl\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .xl\\:mb-3 {\n margin-block-end: 1rem;\n }\n .xl\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .xl\\:mb-5 {\n margin-block-end: 3rem;\n }\n .xl\\:mb-auto {\n margin-block-end: auto;\n }\n .xl\\:ms-0 {\n margin-inline-start: 0;\n }\n .xl\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .xl\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .xl\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .xl\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .xl\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .xl\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .xl\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .xl\\:ms-auto {\n margin-inline-start: auto;\n }\n .xl\\:p-0 {\n padding: 0;\n }\n .xl\\:p-1 {\n padding: 0.25rem;\n }\n .xl\\:p-2 {\n padding: 0.5rem;\n }\n .xl\\:p-3 {\n padding: 1rem;\n }\n .xl\\:p-4 {\n padding: 1.5rem;\n }\n .xl\\:p-5 {\n padding: 3rem;\n }\n .xl\\:px-0 {\n padding-inline: 0;\n }\n .xl\\:px-1 {\n padding-inline: 0.25rem;\n }\n .xl\\:px-2 {\n padding-inline: 0.5rem;\n }\n .xl\\:px-3 {\n padding-inline: 1rem;\n }\n .xl\\:px-4 {\n padding-inline: 1.5rem;\n }\n .xl\\:px-5 {\n padding-inline: 3rem;\n }\n .xl\\:py-0 {\n padding-block: 0;\n }\n .xl\\:py-1 {\n padding-block: 0.25rem;\n }\n .xl\\:py-2 {\n padding-block: 0.5rem;\n }\n .xl\\:py-3 {\n padding-block: 1rem;\n }\n .xl\\:py-4 {\n padding-block: 1.5rem;\n }\n .xl\\:py-5 {\n padding-block: 3rem;\n }\n .xl\\:pt-0 {\n padding-block-start: 0;\n }\n .xl\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .xl\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .xl\\:pt-3 {\n padding-block-start: 1rem;\n }\n .xl\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .xl\\:pt-5 {\n padding-block-start: 3rem;\n }\n .xl\\:pe-0 {\n padding-inline-end: 0;\n }\n .xl\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .xl\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .xl\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .xl\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .xl\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .xl\\:pb-0 {\n padding-block-end: 0;\n }\n .xl\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .xl\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .xl\\:pb-3 {\n padding-block-end: 1rem;\n }\n .xl\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .xl\\:pb-5 {\n padding-block-end: 3rem;\n }\n .xl\\:ps-0 {\n padding-inline-start: 0;\n }\n .xl\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .xl\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .xl\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .xl\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .xl\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .xl\\:gap-0 {\n gap: 0;\n }\n .xl\\:gap-1 {\n gap: 0.25rem;\n }\n .xl\\:gap-2 {\n gap: 0.5rem;\n }\n .xl\\:gap-3 {\n gap: 1rem;\n }\n .xl\\:gap-4 {\n gap: 1.5rem;\n }\n .xl\\:gap-5 {\n gap: 3rem;\n }\n .xl\\:row-gap-0 {\n row-gap: 0;\n }\n .xl\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .xl\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .xl\\:row-gap-3 {\n row-gap: 1rem;\n }\n .xl\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .xl\\:row-gap-5 {\n row-gap: 3rem;\n }\n .xl\\:column-gap-0 {\n column-gap: 0;\n }\n .xl\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .xl\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .xl\\:column-gap-3 {\n column-gap: 1rem;\n }\n .xl\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .xl\\:column-gap-5 {\n column-gap: 3rem;\n }\n .xl\\:text-start {\n text-align: start;\n }\n .xl\\:text-end {\n text-align: end;\n }\n .xl\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:float-start {\n float: inline-start;\n }\n .\\32 xl\\:float-end {\n float: inline-end;\n }\n .\\32 xl\\:float-none {\n float: none;\n }\n .\\32 xl\\:object-fit-contain {\n object-fit: contain;\n }\n .\\32 xl\\:object-fit-cover {\n object-fit: cover;\n }\n .\\32 xl\\:object-fit-fill {\n object-fit: fill;\n }\n .\\32 xl\\:object-fit-scale {\n object-fit: scale-down;\n }\n .\\32 xl\\:object-fit-none {\n object-fit: none;\n }\n .\\32 xl\\:d-inline {\n display: inline;\n }\n .\\32 xl\\:d-inline-block {\n display: inline-block;\n }\n .\\32 xl\\:d-block {\n display: block;\n }\n .\\32 xl\\:d-grid {\n display: grid;\n }\n .\\32 xl\\:d-inline-grid {\n display: inline-grid;\n }\n .\\32 xl\\:d-table {\n display: table;\n }\n .\\32 xl\\:d-table-row {\n display: table-row;\n }\n .\\32 xl\\:d-table-cell {\n display: table-cell;\n }\n .\\32 xl\\:d-flex {\n display: flex;\n }\n .\\32 xl\\:d-inline-flex {\n display: inline-flex;\n }\n .\\32 xl\\:d-contents {\n display: contents;\n }\n .\\32 xl\\:d-flow-root {\n display: flow-root;\n }\n .\\32 xl\\:d-none {\n display: none;\n }\n .\\32 xl\\:flex-fill {\n flex: 1 1 auto;\n }\n .\\32 xl\\:flex-row {\n flex-direction: row;\n }\n .\\32 xl\\:flex-column {\n flex-direction: column;\n }\n .\\32 xl\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .\\32 xl\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .\\32 xl\\:flex-grow-0 {\n flex-grow: 0;\n }\n .\\32 xl\\:flex-grow-1 {\n flex-grow: 1;\n }\n .\\32 xl\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .\\32 xl\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .\\32 xl\\:flex-wrap {\n flex-wrap: wrap;\n }\n .\\32 xl\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .\\32 xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .\\32 xl\\:justify-content-start {\n justify-content: flex-start;\n }\n .\\32 xl\\:justify-content-end {\n justify-content: flex-end;\n }\n .\\32 xl\\:justify-content-center {\n justify-content: center;\n }\n .\\32 xl\\:justify-content-between {\n justify-content: space-between;\n }\n .\\32 xl\\:justify-content-around {\n justify-content: space-around;\n }\n .\\32 xl\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .\\32 xl\\:justify-items-start {\n justify-items: start;\n }\n .\\32 xl\\:justify-items-end {\n justify-items: end;\n }\n .\\32 xl\\:justify-items-center {\n justify-items: center;\n }\n .\\32 xl\\:justify-items-stretch {\n justify-items: stretch;\n }\n .\\32 xl\\:justify-self-start {\n justify-self: flex-start;\n }\n .\\32 xl\\:justify-self-end {\n justify-self: flex-end;\n }\n .\\32 xl\\:justify-self-center {\n justify-self: center;\n }\n .\\32 xl\\:align-items-start {\n align-items: flex-start;\n }\n .\\32 xl\\:align-items-end {\n align-items: flex-end;\n }\n .\\32 xl\\:align-items-center {\n align-items: center;\n }\n .\\32 xl\\:align-items-baseline {\n align-items: baseline;\n }\n .\\32 xl\\:align-items-stretch {\n align-items: stretch;\n }\n .\\32 xl\\:align-content-start {\n align-content: flex-start;\n }\n .\\32 xl\\:align-content-end {\n align-content: flex-end;\n }\n .\\32 xl\\:align-content-center {\n align-content: center;\n }\n .\\32 xl\\:align-content-between {\n align-content: space-between;\n }\n .\\32 xl\\:align-content-around {\n align-content: space-around;\n }\n .\\32 xl\\:align-content-stretch {\n align-content: stretch;\n }\n .\\32 xl\\:align-self-auto {\n align-self: auto;\n }\n .\\32 xl\\:align-self-start {\n align-self: flex-start;\n }\n .\\32 xl\\:align-self-end {\n align-self: flex-end;\n }\n .\\32 xl\\:align-self-center {\n align-self: center;\n }\n .\\32 xl\\:align-self-baseline {\n align-self: baseline;\n }\n .\\32 xl\\:align-self-stretch {\n align-self: stretch;\n }\n .\\32 xl\\:place-items-start {\n place-items: start;\n }\n .\\32 xl\\:place-items-end {\n place-items: end;\n }\n .\\32 xl\\:place-items-center {\n place-items: center;\n }\n .\\32 xl\\:place-items-stretch {\n place-items: stretch;\n }\n .\\32 xl\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .\\32 xl\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .\\32 xl\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .\\32 xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .\\32 xl\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .\\32 xl\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .\\32 xl\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .\\32 xl\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .\\32 xl\\:order-first {\n order: -1;\n }\n .\\32 xl\\:order-0 {\n order: 0;\n }\n .\\32 xl\\:order-1 {\n order: 1;\n }\n .\\32 xl\\:order-2 {\n order: 2;\n }\n .\\32 xl\\:order-3 {\n order: 3;\n }\n .\\32 xl\\:order-4 {\n order: 4;\n }\n .\\32 xl\\:order-5 {\n order: 5;\n }\n .\\32 xl\\:order-last {\n order: 6;\n }\n .\\32 xl\\:m-0 {\n margin: 0;\n }\n .\\32 xl\\:m-1 {\n margin: 0.25rem;\n }\n .\\32 xl\\:m-2 {\n margin: 0.5rem;\n }\n .\\32 xl\\:m-3 {\n margin: 1rem;\n }\n .\\32 xl\\:m-4 {\n margin: 1.5rem;\n }\n .\\32 xl\\:m-5 {\n margin: 3rem;\n }\n .\\32 xl\\:m-auto {\n margin: auto;\n }\n .\\32 xl\\:mx-0 {\n margin-inline: 0;\n }\n .\\32 xl\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .\\32 xl\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .\\32 xl\\:mx-3 {\n margin-inline: 1rem;\n }\n .\\32 xl\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .\\32 xl\\:mx-5 {\n margin-inline: 3rem;\n }\n .\\32 xl\\:mx-auto {\n margin-inline: auto;\n }\n .\\32 xl\\:my-0 {\n margin-block: 0;\n }\n .\\32 xl\\:my-1 {\n margin-block: 0.25rem;\n }\n .\\32 xl\\:my-2 {\n margin-block: 0.5rem;\n }\n .\\32 xl\\:my-3 {\n margin-block: 1rem;\n }\n .\\32 xl\\:my-4 {\n margin-block: 1.5rem;\n }\n .\\32 xl\\:my-5 {\n margin-block: 3rem;\n }\n .\\32 xl\\:my-auto {\n margin-block: auto;\n }\n .\\32 xl\\:mt-0 {\n margin-block-start: 0;\n }\n .\\32 xl\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .\\32 xl\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .\\32 xl\\:mt-3 {\n margin-block-start: 1rem;\n }\n .\\32 xl\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .\\32 xl\\:mt-5 {\n margin-block-start: 3rem;\n }\n .\\32 xl\\:mt-auto {\n margin-block-start: auto;\n }\n .\\32 xl\\:me-0 {\n margin-inline-end: 0;\n }\n .\\32 xl\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .\\32 xl\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .\\32 xl\\:me-3 {\n margin-inline-end: 1rem;\n }\n .\\32 xl\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .\\32 xl\\:me-5 {\n margin-inline-end: 3rem;\n }\n .\\32 xl\\:me-auto {\n margin-inline-end: auto;\n }\n .\\32 xl\\:mb-0 {\n margin-block-end: 0;\n }\n .\\32 xl\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .\\32 xl\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .\\32 xl\\:mb-3 {\n margin-block-end: 1rem;\n }\n .\\32 xl\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .\\32 xl\\:mb-5 {\n margin-block-end: 3rem;\n }\n .\\32 xl\\:mb-auto {\n margin-block-end: auto;\n }\n .\\32 xl\\:ms-0 {\n margin-inline-start: 0;\n }\n .\\32 xl\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .\\32 xl\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .\\32 xl\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .\\32 xl\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .\\32 xl\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .\\32 xl\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .\\32 xl\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .\\32 xl\\:ms-auto {\n margin-inline-start: auto;\n }\n .\\32 xl\\:p-0 {\n padding: 0;\n }\n .\\32 xl\\:p-1 {\n padding: 0.25rem;\n }\n .\\32 xl\\:p-2 {\n padding: 0.5rem;\n }\n .\\32 xl\\:p-3 {\n padding: 1rem;\n }\n .\\32 xl\\:p-4 {\n padding: 1.5rem;\n }\n .\\32 xl\\:p-5 {\n padding: 3rem;\n }\n .\\32 xl\\:px-0 {\n padding-inline: 0;\n }\n .\\32 xl\\:px-1 {\n padding-inline: 0.25rem;\n }\n .\\32 xl\\:px-2 {\n padding-inline: 0.5rem;\n }\n .\\32 xl\\:px-3 {\n padding-inline: 1rem;\n }\n .\\32 xl\\:px-4 {\n padding-inline: 1.5rem;\n }\n .\\32 xl\\:px-5 {\n padding-inline: 3rem;\n }\n .\\32 xl\\:py-0 {\n padding-block: 0;\n }\n .\\32 xl\\:py-1 {\n padding-block: 0.25rem;\n }\n .\\32 xl\\:py-2 {\n padding-block: 0.5rem;\n }\n .\\32 xl\\:py-3 {\n padding-block: 1rem;\n }\n .\\32 xl\\:py-4 {\n padding-block: 1.5rem;\n }\n .\\32 xl\\:py-5 {\n padding-block: 3rem;\n }\n .\\32 xl\\:pt-0 {\n padding-block-start: 0;\n }\n .\\32 xl\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .\\32 xl\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .\\32 xl\\:pt-3 {\n padding-block-start: 1rem;\n }\n .\\32 xl\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .\\32 xl\\:pt-5 {\n padding-block-start: 3rem;\n }\n .\\32 xl\\:pe-0 {\n padding-inline-end: 0;\n }\n .\\32 xl\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .\\32 xl\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .\\32 xl\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .\\32 xl\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .\\32 xl\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .\\32 xl\\:pb-0 {\n padding-block-end: 0;\n }\n .\\32 xl\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .\\32 xl\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .\\32 xl\\:pb-3 {\n padding-block-end: 1rem;\n }\n .\\32 xl\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .\\32 xl\\:pb-5 {\n padding-block-end: 3rem;\n }\n .\\32 xl\\:ps-0 {\n padding-inline-start: 0;\n }\n .\\32 xl\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .\\32 xl\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .\\32 xl\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .\\32 xl\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .\\32 xl\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .\\32 xl\\:gap-0 {\n gap: 0;\n }\n .\\32 xl\\:gap-1 {\n gap: 0.25rem;\n }\n .\\32 xl\\:gap-2 {\n gap: 0.5rem;\n }\n .\\32 xl\\:gap-3 {\n gap: 1rem;\n }\n .\\32 xl\\:gap-4 {\n gap: 1.5rem;\n }\n .\\32 xl\\:gap-5 {\n gap: 3rem;\n }\n .\\32 xl\\:row-gap-0 {\n row-gap: 0;\n }\n .\\32 xl\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .\\32 xl\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .\\32 xl\\:row-gap-3 {\n row-gap: 1rem;\n }\n .\\32 xl\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .\\32 xl\\:row-gap-5 {\n row-gap: 3rem;\n }\n .\\32 xl\\:column-gap-0 {\n column-gap: 0;\n }\n .\\32 xl\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .\\32 xl\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .\\32 xl\\:column-gap-3 {\n column-gap: 1rem;\n }\n .\\32 xl\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .\\32 xl\\:column-gap-5 {\n column-gap: 3rem;\n }\n .\\32 xl\\:text-start {\n text-align: start;\n }\n .\\32 xl\\:text-end {\n text-align: end;\n }\n .\\32 xl\\:text-center {\n text-align: center;\n }\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */\n","$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"violet\": $violet,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"amber\": $amber,\n \"yellow\": $yellow,\n \"lime\": $lime,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"brown\": $brown,\n \"gray\": $gray,\n \"pewter\": $pewter,\n ),\n $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n \"025\": 94%,\n \"050\": 90%,\n \"100\": 80%,\n \"200\": 60%,\n \"300\": 40%,\n \"400\": 20%,\n) !default;\n\n$color-shades: (\n \"600\": 16%,\n \"700\": 32%,\n \"800\": 48%,\n \"900\": 64%,\n \"950\": 76%,\n \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n @each $stop, $percent in $color-tints {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n }\n $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n @each $stop, $percent in $color-shades {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n @each $prop, $value in $map {\n #{$prop}: #{$value};\n }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n (\n --black: #{$black},\n --white: #{$white},\n\n --gradient: #{$gradient},\n\n // scss-docs-start root-font-weight-variables\n --font-weight-lighter: lighter,\n --font-weight-light: 300,\n --font-weight-normal: 400,\n --font-weight-medium: 500,\n --font-weight-semibold: 600,\n --font-weight-bold: 700,\n --font-weight-bolder: bolder,\n // scss-docs-end root-font-weight-variables\n\n // scss-docs-start root-body-variables\n --body-font-family: system-ui,\n --body-font-size: var(--font-size-base),\n --body-font-weight: #{$font-weight-base},\n --body-line-height: #{$line-height-base},\n\n --heading-color: #{$headings-color},\n\n --hr-border-color: var(--border-color),\n\n --link-color: light-dark(var(--primary-base), var(--primary-text)),\n --link-decoration: #{$link-decoration},\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n --code-font-size: 95%,\n --code-color: var(--fg-2),\n\n // scss-docs-start root-border-var\n --border-width: #{$border-width},\n --border-style: #{$border-style},\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n // scss-docs-end root-border-var\n\n // scss-docs-start root-border-radius-var\n --border-radius: .5rem,\n --border-radius-xs: .375rem,\n --border-radius-sm: .5rem,\n --border-radius-lg: .75rem,\n --border-radius-xl: 1rem,\n --border-radius-2xl: 2rem,\n --border-radius-pill: 50rem,\n // scss-docs-end root-border-radius-var\n\n // scss-docs-start root-box-shadow-variables\n --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n // scss-docs-end root-box-shadow-variables\n\n --spacer: 1rem,\n\n // scss-docs-start root-focus-variables\n --focus-ring-width: 3px,\n --focus-ring-offset: 1px,\n --focus-ring-color: var(--primary-focus-ring),\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-variables\n --control-checked-bg: var(--primary-base),\n --control-checked-border-color: var(--control-checked-bg),\n --control-active-bg: var(--primary-base),\n --control-active-border-color: var(--control-active-bg),\n --control-disabled-bg: var(--bg-3),\n --control-disabled-opacity: .65,\n\n --btn-input-fg: var(--fg-body),\n --btn-input-bg: var(--bg-body),\n\n --btn-input-min-height: 2.375rem,\n --btn-input-padding-y: .375rem,\n --btn-input-padding-x: .75rem,\n --btn-input-font-size: var(--font-size-base),\n --btn-input-line-height: var(--line-height-base),\n --btn-input-border-radius: var(--border-radius),\n\n --btn-input-xs-min-height: 1.5rem,\n --btn-input-xs-padding-y: .125rem,\n --btn-input-xs-padding-x: .5rem,\n --btn-input-xs-font-size: var(--font-size-xs),\n --btn-input-xs-line-height: 1.125,\n --btn-input-xs-border-radius: var(--border-radius-xs),\n\n --btn-input-sm-min-height: 2rem,\n --btn-input-sm-padding-y: .25rem,\n --btn-input-sm-padding-x: .625rem,\n --btn-input-sm-font-size: var(--font-size-sm),\n --btn-input-sm-line-height: var(--line-height-sm),\n --btn-input-sm-border-radius: var(--border-radius-sm),\n\n --btn-input-lg-min-height: 2.75rem,\n --btn-input-lg-padding-y: .5rem,\n --btn-input-lg-padding-x: 1rem,\n --btn-input-lg-font-size: var(--font-size-md),\n --btn-input-lg-line-height: var(--line-height-md),\n --btn-input-lg-border-radius: var(--border-radius-lg),\n // scss-docs-end root-form-variables\n\n // scss-docs-start root-form-validation-variables\n --form-valid-color: #{$form-valid-color},\n --form-valid-border-color: #{$form-valid-border-color},\n --form-invalid-color: #{$form-invalid-color},\n --form-invalid-border-color: #{$form-invalid-border-color},\n // scss-docs-end root-form-validation-variables\n ),\n $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n @each $key, $value in $color-map {\n $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n @include tokens($root-tokens);\n\n color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n color-scheme: light;\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$reboot-kbd-tokens: () !default;\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n (\n --kbd-padding-y: .125rem,\n --kbd-padding-x: .25rem,\n --kbd-font-size: var(--font-size-xs),\n --kbd-color: var(--bg-body),\n --kbd-bg: var(--fg-2),\n --kbd-border-radius: var(--border-radius-sm),\n ),\n $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n (\n --mark-padding: .1875em,\n --mark-color: var(--fg-body),\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n ),\n $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\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 // 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 // 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 // Assume browser default font-size of 16px, or a user's preference\n accent-color: var(--primary-base);\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\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(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n }\n // scss-docs-end reboot-body-rules\n\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n\n // Typography\n //\n // 1. Remove top margins from headings\n // By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n // margin for easier control within type scales as it avoids margin collapsing.\n\n %heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--heading-color);\n }\n\n h1,\n .h1 {\n @extend %heading;\n font-size: var(--font-size-3xl);\n }\n\n h2,\n .h2 {\n @extend %heading;\n font-size: var(--font-size-2xl);\n }\n\n h3,\n .h3 {\n @extend %heading;\n font-size: var(--font-size-xl);\n }\n\n h4,\n .h4 {\n @extend %heading;\n font-size: var(--font-size-lg);\n }\n\n h5,\n .h5 {\n @extend %heading;\n font-size: var(--font-size-md);\n }\n\n h6,\n .h6 {\n @extend %heading;\n font-size: var(--font-size-sm);\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 // 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 // Address\n\n address {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n }\n\n // Lists\n\n ol,\n ul {\n padding-inline-start: 2rem;\n }\n\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n\n dt {\n font-weight: $dt-font-weight;\n }\n\n // 1. Undo browser default\n\n dd {\n margin-inline-start: 0; // 1\n margin-bottom: .5rem;\n }\n\n // Blockquote\n\n blockquote {\n margin: 0 0 1rem;\n > * {\n margin-block: 0;\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 // Small\n //\n // Add the correct font size in all browsers\n\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n\n // Mark\n\n mark,\n .mark {\n @include tokens($reboot-mark-tokens);\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n\n // Sub and Sup\n //\n // Prevent `sub` and `sup` elements from affecting the line height in\n // all browsers.\n\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, .75em);\n line-height: 0;\n vertical-align: baseline;\n }\n\n sub { bottom: -.25em; }\n sup { top: -.5em; }\n\n // Links\n\n a {\n color: var(--theme-text, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: $link-underline-offset;\n\n &:hover {\n // --link-color: var(--link-hover-color);\n // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n color: var(--theme-text-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-decoration));\n }\n }\n\n // And undo these styles for placeholder links/named anchors (without href).\n // It would be more straightforward to just use a[href] in previous block, but that\n // causes specificity issues in many other styles that are too complex to fix.\n // See https://github.com/twbs/bootstrap/issues/19402\n\n a:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n }\n\n // Code\n\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n }\n\n // 1. Remove browser default top margin\n // 2. Reset browser default of `1em` to use `rem`s\n // 3. Don't allow content to break outside\n\n pre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n }\n\n code {\n font-size: var(--code-font-size);\n color: var(--code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n }\n\n kbd {\n @include tokens($reboot-kbd-tokens);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n @include border-radius(var(--kbd-border-radius));\n\n kbd {\n padding: 0;\n font-size: 1em;\n font-weight: inherit; // mdo-do: check if this is needed\n }\n }\n\n // Figures\n //\n // Apply a consistent margin strategy (matches our type styles).\n\n figure {\n margin: 0 0 1rem;\n }\n\n // Images and content\n\n img,\n svg {\n vertical-align: middle;\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(--fg-3);\n text-align: start;\n }\n\n // 1. Removes font-weight bold by inheriting\n // 2. Matches default `<td>` alignment by inheriting `text-align`.\n // 3. Fix alignment for Safari\n\n th {\n // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n }\n\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n\n // Forms\n //\n // 1. Allow labels to use `margin` for spacing.\n\n label {\n display: inline-block; // 1\n }\n\n // Remove the default `border-radius` that macOS Chrome adds.\n // See https://github.com/twbs/bootstrap/issues/24093\n\n button {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n }\n\n // Explicitly remove focus outline in Chromium when it shouldn't be\n // visible (e.g. as result of mouse click or touch tap). It already\n // should be doing this automatically, but seems to currently be\n // confused and applies its very visible two-tone outline anyway.\n\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n\n // 1. Remove the margin in Firefox and Safari\n\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0; // 1\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n // Remove the inheritance of text transform in Firefox\n button,\n select {\n text-transform: none;\n }\n // Set the cursor for non-`<button>` buttons\n //\n // Details at https://github.com/twbs/bootstrap/pull/30562\n [role=\"button\"] {\n cursor: pointer;\n }\n\n select {\n // Remove the inheritance of word-wrap in Safari.\n // See https://github.com/twbs/bootstrap/issues/24990\n word-wrap: normal;\n\n // Undo the opacity change from Chrome\n &:disabled {\n opacity: 1;\n }\n }\n\n // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n // See https://stackoverflow.com/a/54997118\n\n [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n display: none !important;\n }\n\n // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n // controls in Android 4.\n // 2. Correct the inability to style clickable types in iOS and Safari.\n // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n button,\n [type=\"button\"], // 1\n [type=\"reset\"],\n [type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n }\n\n // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n ::-moz-focus-inner {\n padding: 0;\n border-style: none;\n }\n\n // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n textarea {\n resize: vertical; // 1\n }\n\n // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n fieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n }\n\n // 1. By using `float: inline-start`, the legend will behave like a block element.\n // This way the border of a fieldset wraps around the legend if present.\n // 2. Fix wrapping bug.\n // See https://github.com/twbs/bootstrap/issues/29712\n\n legend {\n float: inline-start; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n font-size: $legend-font-size;\n font-weight: $legend-font-weight;\n line-height: inherit;\n\n + * {\n clear: inline-start; // 2\n }\n }\n\n // Fix height of inputs with a type of datetime-local, date, month, week, or time\n // See https://github.com/twbs/bootstrap/issues/18842\n\n ::-webkit-datetime-edit-fields-wrapper,\n ::-webkit-datetime-edit-text,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-ampm-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-week-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-year-field {\n padding: 0;\n }\n\n ::-webkit-inner-spin-button {\n height: auto;\n }\n\n // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n // 2. Correct the outline style in Safari.\n\n [type=\"search\"] {\n -webkit-appearance: textfield; // 1\n outline-offset: -2px; // 2\n\n // 3. Better affordance and consistent appearance for search cancel button\n &::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n }\n }\n\n // A few input types should stay LTR regardless of document direction\n // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n [type=\"tel\"],\n [type=\"url\"],\n [type=\"email\"],\n [type=\"number\"] {\n direction: ltr;\n }\n\n // Remove the inner padding in Chrome and Safari on macOS.\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n // Remove padding around color pickers in webkit browsers\n\n ::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n // 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 // Progress\n //\n // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n progress {\n vertical-align: baseline;\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:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n @if meta.type-of($defaults) == \"list\" {\n $map: ();\n @each $key in $defaults {\n $map: map.merge($map, ($key: true));\n }\n $defaults: $map;\n }\n $merged: map.merge($defaults, $overrides);\n @each $key, $value in $merged {\n @if $value == null {\n $merged: map.remove($merged, $key);\n }\n }\n @return $merged;\n}\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n\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\n$negative-spacers: (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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 breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !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\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, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\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// Links\n//\n// Style anchor elements.\n\n$link-decoration: underline !default;\n$link-underline-offset: .2em !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// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n\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$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// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n (\n \"xs\": (\n \"font-size\": .75rem,\n \"line-height\": 1.25\n ),\n \"sm\": (\n \"font-size\": .875rem,\n \"line-height\": 1.5\n ),\n \"md\": (\n \"font-size\": 1rem,\n \"line-height\": 1.5\n ),\n \"lg\": (\n \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n \"line-height\": 1.5\n ),\n \"xl\": (\n \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n \"line-height\": calc(2.5 / 1.75)\n ),\n \"2xl\": (\n \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n \"line-height\": calc(3 / 2.25)\n ),\n \"3xl\": (\n \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n \"line-height\": 1.2\n ),\n \"4xl\": (\n \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n \"line-height\": 1.1\n ),\n \"5xl\": (\n \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n \"line-height\": 1.1\n ),\n \"6xl\": (\n \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n \"line-height\": 1\n ),\n ),\n $font-sizes\n);\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 type-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// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-dialog: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" 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: var(--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: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n border-start-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-end-radius: valid-radius($radius);\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-start-radius: valid-radius($radius);\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n border-end-start-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-start-radius: valid-radius($radius);\n }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/lists\" as *;\n@use \"../mixins/tokens\" as *;\n\n$blockquote-tokens: () !default;\n\n// scss-docs-start blockquote-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$blockquote-tokens: defaults(\n (\n --blockquote-gap: calc(var(--spacer) / 2),\n --blockquote-padding-x: var(--spacer),\n --blockquote-margin-y: 1rem,\n --blockquote-font-size: var(--font-size-md),\n --blockquote-border-width: .25rem,\n --blockquote-border-color: var(--border-color),\n --blockquote-footer-font-size: var(--font-size-sm),\n --blockquote-footer-color: var(--fg-3),\n ),\n $blockquote-tokens\n);\n// scss-docs-end blockquote-tokens\n\n@layer content {\n //\n // Lists\n //\n\n .list-unstyled {\n @include list-unstyled();\n }\n\n // Inline turns list items into inline-block\n .list-inline {\n @include list-unstyled();\n }\n .list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-inline-end: var(--list-inline-padding, var(--spacer) / 2);\n }\n }\n\n //\n // Misc\n //\n\n // Builds on `abbr`\n .initialism {\n font-size: var(--initialism-font-size, var(--font-size-xs));\n text-transform: uppercase;\n }\n\n // Blockquotes\n .blockquote {\n @include tokens($blockquote-tokens);\n display: flex;\n flex-direction: column;\n gap: var(--blockquote-gap);\n padding-inline-start: var(--blockquote-padding-x);\n margin-bottom: var(--blockquote-margin-y);\n font-size: var(--blockquote-font-size);\n border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n\n > * {\n margin-bottom: 0;\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n figure.blockquote {\n blockquote {\n margin-bottom: 0;\n }\n }\n\n .blockquote-footer {\n font-size: var(--blockquote-footer-font-size);\n color: var(--blockquote-footer-color);\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-inline-start: 0;\n list-style: none;\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$table-tokens: () !default;\n\n// scss-docs-start table-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$table-tokens: defaults(\n (\n --table-cell-padding-y: .5rem,\n --table-cell-padding-x: .5rem,\n --table-cell-vertical-align: top,\n --table-color: var(--fg-body),\n --table-bg: var(--bg-body),\n --table-accent-bg: transparent,\n --table-border-width: var(--border-width),\n --table-border-color: var(--border-color),\n --table-group-separator-color: currentcolor,\n --table-striped-color: var(--table-color),\n --table-striped-bg-factor: .05,\n --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent),\n --table-active-color: var(--table-color),\n --table-active-bg-factor: .1,\n --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent),\n --table-hover-color: var(--table-color),\n --table-hover-bg-factor: .075,\n --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent),\n ),\n $table-tokens\n);\n// scss-docs-end table-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n .table {\n @include tokens($table-tokens);\n\n // Reset needed for nesting tables\n --table-color-type: initial;\n --table-bg-type: initial;\n --table-color-state: initial;\n --table-bg-state: initial;\n // End of reset\n\n width: 100%;\n margin-bottom: $spacer;\n vertical-align: var(--table-cell-vertical-align);\n border-color: var(--theme-border, var(--table-border-color));\n\n // Target th & td\n // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n background-color: var(--theme-bg-subtle, var(--table-bg));\n border-block-end-width: var(--table-border-width);\n box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n }\n\n .table-group-divider {\n border-block-start: calc(var(--table-border-width) * 2) solid var(--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 // Condensed table w/ half padding\n //\n\n .table-sm {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n --table-cell-padding-y: .25rem;\n --table-cell-padding-x: .25rem;\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: var(--table-border-width) 0;\n\n // stylelint-disable-next-line selector-max-universal\n > * {\n border-width: 0 var(--table-border-width);\n }\n }\n }\n\n .table-borderless {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n border-block-end-width: 0;\n }\n\n > :not(:first-child) {\n border-block-start-width: 0;\n }\n }\n\n // Zebra-striping\n //\n // Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n // For rows\n .table-striped {\n > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n }\n\n // For columns\n .table-striped-columns {\n > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n }\n\n // Active table\n //\n // The `.table-active` class can be added to highlight rows or cells\n\n .table-active {\n --table-color-state: var(--theme-text, var(--table-active-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n }\n\n // Hover effect\n //\n // Placed here since it has to come after the potential zebra striping\n\n .table-hover {\n > tbody > tr:hover > * {\n --table-color-state: var(--theme-text, var(--table-hover-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n }\n }\n\n // Responsive tables\n //\n // Generate series of responsive `.table-responsive` classes for configuring\n // the screen size of where your table will overflow.\n\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @include media-breakpoint-down($breakpoint) {\n .#{$prefix}table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n $name-str: \"#{$name}\";\n $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n $first: string.slice($name-str, 1, 1);\n\n @if list.index($digits, $first) {\n @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n }\n\n @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n// >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"sm\\:\"\n// >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n @if breakpoint-min($name, $breakpoints) == null {\n @return \"\";\n }\n\n @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n @content($breakpoint, $prefix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $prefix: breakpoint-prefix($next, $breakpoints);\n @content($breakpoint, $next, $prefix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n @content($breakpoint, $next, $prefix);\n }\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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (width >= $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (width < $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $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 @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/image\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/tokens\" as *;\n\n$thumbnail-tokens: () !default;\n\n// scss-docs-start thumbnail-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$thumbnail-tokens: defaults(\n (\n --thumbnail-padding: .25rem,\n --thumbnail-bg: var(--bg-body),\n --thumbnail-border-width: var(--border-width),\n --thumbnail-border-color: var(--border-color),\n --thumbnail-border-radius: var(--border-radius),\n --thumbnail-box-shadow: var(--box-shadow-sm),\n ),\n $thumbnail-tokens\n);\n// scss-docs-end thumbnail-tokens\n\n$figure-tokens: () !default;\n\n// scss-docs-start figure-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$figure-tokens: defaults(\n (\n --figure-gap: calc(var(--spacer) * .5),\n --figure-caption-font-size: var(--font-size-sm),\n --figure-caption-color: var(--fg-3),\n ),\n $figure-tokens\n);\n// scss-docs-end figure-tokens\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 .img-thumbnail {\n @include tokens($thumbnail-tokens);\n padding: var(--thumbnail-padding);\n background-color: var(--thumbnail-bg);\n border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n @include border-radius(var(--thumbnail-border-radius));\n @include box-shadow(var(--thumbnail-box-shadow));\n\n // Keep them at most 100% wide\n @include img-fluid();\n }\n\n .figure {\n @include tokens($figure-tokens);\n // Ensures the caption's text aligns with the image.\n display: flex;\n flex-direction: column;\n gap: var(--figure-gap);\n }\n\n .figure-caption {\n font-size: var(--figure-caption-font-size);\n color: var(--figure-caption-color);\n }\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n@mixin box-shadow($shadow...) {\n @if $enable-shadows {\n $result: ();\n $has-single-value: false;\n $single-value: null;\n\n @each $value in $shadow {\n @if $value != null {\n @if $value == none or $value == initial or $value == inherit or $value == unset {\n $has-single-value: true;\n $single-value: $value;\n } @else {\n $result: list.append($result, $value, \"comma\");\n }\n }\n }\n\n @if $has-single-value {\n box-shadow: $single-value;\n } @else if (list.length($result) > 0) {\n box-shadow: $result;\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$prose-tokens: () !default;\n\n// scss-docs-start prose-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$prose-tokens: defaults(\n (\n --content-font-size: 1rem,\n --content-gap: 20px,\n --heading-color: light-dark(var(--gray-900), var(--white)),\n ),\n $prose-tokens\n);\n// scss-docs-end prose-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer content {\n .prose {\n @include tokens($prose-tokens);\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--content-gap);\n max-width: 1000px;\n margin-inline: auto;\n font-size: var(--content-font-size);\n line-height: 1.5;\n\n @media (width >= 1024px) {\n --content-font-size: var(--font-size-md);\n --content-gap: 24px;\n }\n\n :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n margin-block: 0;\n }\n\n :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n margin-bottom: calc(var(--content-gap) / 4);\n }\n\n :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) / 4);\n }\n\n :where(hr):not(:where(.not-prose, .not-prose *)) {\n margin: calc(var(--content-gap) * 1.5) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n\n :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n margin-top: 0;\n margin-bottom: calc(var(--content-gap) / -2);\n font-weight: 500;\n line-height: 1.25;\n\n code {\n font-weight: 600;\n color: inherit;\n }\n }\n\n :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * .75);\n }\n\n :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * .5);\n }\n\n :where(h1):not(:where(.not-prose, .not-prose *)) {\n font-size: 2.25em;\n line-height: 1.1;\n }\n :where(h2):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.75em;\n }\n :where(h3):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.5em;\n }\n :where(h4):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.25em;\n }\n :where(h5):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.125em;\n }\n :where(h6):not(:where(.not-prose, .not-prose *)) {\n font-size: 1em;\n }\n\n :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n color: var(--link-color);\n text-decoration: underline;\n text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n text-underline-offset: 4px;\n @include transition(.1s text-decoration-color ease-in-out);\n\n &:hover {\n text-decoration-color: var(--link-hover-color);\n }\n }\n\n :where(img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n\n :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n padding-inline-start: calc(var(--content-gap) / 2);\n margin: 0;\n border-inline-start: 4px solid var(--border-color);\n }\n\n :where(table):not(:where(.not-prose, .not-prose *)) {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n }\n\n :where(table:not([class])):not(:where(.not-prose, .not-prose *)) {\n td,\n th {\n padding: 6px 12px;\n text-align: inherit;\n border: 1px solid var(--border-color);\n }\n }\n\n :where(dt):not(:where(.not-prose, .not-prose *)) {\n font-weight: 500;\n }\n\n :where(video, img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if list.length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if list.length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if list.nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --gutter-x: #{$gutter};\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * .5);\n margin-inline: auto;\n}\n\n@layer layout {\n @if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .#{breakpoint-prefix($breakpoint, $breakpoints)}container {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $breakpoints {\n @if ($extend-breakpoint) {\n .#{breakpoint-prefix($name, $breakpoints)}container {\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 \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n @if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n\n @include make-grid-columns();\n }\n\n @if $enable-cssgrid {\n .grid {\n --columns: #{$grid-columns};\n --rows: 1;\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n\n }\n\n @include make-cssgrid();\n }\n\n // mdo-do: add to utilities?\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n\n .grid-fill {\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n\n // .g-col-auto {\n // grid-column: auto;\n // }\n\n // mdo-do: add to utilities?\n // .grid-cols-3 {\n // --columns: 3;\n // }\n // .grid-cols-4 {\n // --columns: 4;\n // }\n // .grid-cols-6 {\n // --columns: 6;\n // }\n\n // .grid-full {\n // grid-column: 1 / -1;\n // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n --gutter-x: #{$gutter-x};\n --gutter-y: #{$gutter-y};\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-inline: calc(-.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n // stylelint-disable-next-line scss/at-function-named-arguments\n box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-inline: calc(var(--gutter-x) * .5);\n margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: math.percentage(math.div($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: math.div($size, $columns);\n // stylelint-disable-next-line scss/at-function-named-arguments\n margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n .#{$prefix}col {\n flex: 1 0 0;\n }\n\n .#{$prefix}row-cols-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .#{$prefix}row-cols-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .#{$prefix}col-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .#{$prefix}col-#{$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 ($prefix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .#{$prefix}offset-#{$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 .#{$prefix}g-#{$key},\n .#{$prefix}gx-#{$key} {\n --gutter-x: #{$value};\n }\n\n .#{$prefix}g-#{$key},\n .#{$prefix}gy-#{$key} {\n --gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .#{$prefix}g-col-#{$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 .#{$prefix}g-start-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","@use \"../functions\" as *;\n\n$form-label-tokens: () !default;\n\n// scss-docs-start form-label-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-label-tokens: defaults(\n (\n --label-margin-bottom: calc(var(--spacer) / 2),\n --label-font-size: null,\n --label-font-style: null,\n --label-font-weight: null,\n --label-color: null,\n ),\n $form-label-tokens\n);\n// scss-docs-end form-label-tokens\n\n@layer forms {\n .form-label,\n .col-form-label {\n font-size: var(--label-font-size, var(--font-size-sm));\n font-style: var(--label-font-style, inherit);\n font-weight: var(--label-font-weight, inherit);\n color: var(--label-color, var(--fg-body));\n }\n\n .form-label {\n margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\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 --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n padding-block: var(--label-padding-y);\n margin-bottom: 0; // Override the `<legend>` default\n }\n\n .col-form-label-lg {\n --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n font-size: var(--btn-input-lg-font-size);\n }\n\n .col-form-label-sm {\n --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n font-size: var(--btn-input-sm-font-size);\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-text-tokens: () !default;\n\n// scss-docs-start form-text-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-text-tokens: defaults(\n (\n --form-text-margin-top: .25rem,\n --form-text-font-size: var(--font-size-sm),\n --form-text-font-style: null,\n --form-text-font-weight: null,\n --form-text-color: var(--fg-3),\n ),\n $form-text-tokens\n);\n// scss-docs-end form-text-tokens\n\n@layer forms {\n .form-text {\n @include tokens($form-text-tokens);\n\n margin-top: var(--form-text-margin-top);\n font-size: var(--form-text-font-size);\n font-style: var(--form-text-font-style);\n font-weight: var(--form-text-font-weight);\n color: var(--form-text-color);\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-control-tokens: () !default;\n\n// scss-docs-start form-control-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-tokens: defaults(\n (\n --control-min-height: var(--btn-input-min-height),\n --control-padding-y: var(--btn-input-padding-y),\n --control-padding-x: var(--btn-input-padding-x),\n --control-font-size: var(--btn-input-font-size),\n --control-line-height: var(--btn-input-line-height),\n --control-fg: var(--btn-input-fg),\n --control-bg: var(--btn-input-bg),\n --control-border-width: var(--border-width),\n --control-border-color: var(--border-color),\n --control-border-radius: var(--border-radius),\n --control-box-shadow: var(--box-shadow-inset),\n --control-action-bg: var(--bg-1),\n --control-action-hover-bg: var(--bg-2),\n --control-transition-property: \"border-color, box-shadow\",\n --control-transition-timing: .15s ease-in-out,\n --control-transition: var(--control-transition-property) var(--control-transition-timing),\n --control-placeholder-color: var(--fg-3),\n --control-disabled-color: var(--control-fg),\n --control-disabled-bg: var(--bg-2),\n --control-disabled-border-color: var(--control-border-color),\n --control-select-bg: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#00000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n --control-select-bg-position: right .75rem center,\n --control-select-bg-size: 16px 12px,\n --control-select-bg-dark: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n ),\n $form-control-tokens\n);\n// scss-docs-end form-control-tokens\n\n// scss-docs-start form-control-sizes\n$form-control-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-sizes: defaults(\n (\"sm\", \"lg\"),\n $form-control-sizes\n);\n// scss-docs-end form-control-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .form-control {\n @include tokens($form-control-tokens);\n\n display: flex;\n width: 100%;\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n font-size: var(--control-font-size);\n line-height: var(--control-line-height);\n color: var(--control-fg);\n appearance: none;\n background-color: var(--control-bg);\n background-clip: padding-box;\n border: var(--control-border-width) solid var(--control-border-color);\n @include border-radius(var(--control-border-radius), 0);\n @include box-shadow(var(--control-box-shadow));\n @include transition(var(--control-transition));\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus-visible {\n --focus-ring-offset: -1px;\n @include focus-ring(true);\n }\n\n // Placeholder\n &::placeholder {\n color: var(--control-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: var(--control-disabled-color);\n background-color: var(--control-disabled-bg);\n border-color: var(--control-disabled-border-color);\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n\n // Date and time inputs\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: 1.5em;\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 // background-color: var(--red-500);\n // }\n\n // Prevent excessive date input height in Webkit\n // https://github.com/twbs/bootstrap/issues/34433\n\n // mdo-do: need to check this stuff out across browsers\n &::-webkit-datetime-edit {\n display: block;\n height: 1.5rem;\n padding: 0;\n margin-bottom: -.125rem;\n }\n &::-webkit-datetime-edit-fields-wrapper {\n height: 1.5rem;\n }\n\n // File inputs\n &[type=\"file\"] {\n overflow: hidden; // prevent pseudo element button overlap\n\n &:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n }\n &::file-selector-button {\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n margin-inline-end: var(--control-padding-x);\n color: var(--control-fg);\n @include gradient-bg(var(--control-action-bg));\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--control-border-width);\n border-radius: 0; // stylelint-disable-line property-disallowed-list\n @include transition(var(--control-transition));\n }\n\n &:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: var(--control-action-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: var(--control-padding-y) 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: var(--control-line-height);\n color: var(--control-fg);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--control-border-width) 0;\n\n &:focus {\n outline: 0;\n }\n\n &.form-control-sm,\n &.form-control-lg {\n padding-inline: 0;\n }\n }\n\n // stylelint-disable selector-no-qualifying-type\n select.form-control {\n padding-inline-end: calc(var(--control-padding-x) * 3);\n background-image: var(--control-select-bg);\n background-repeat: no-repeat;\n background-position: var(--control-select-bg-position);\n background-size: var(--control-select-bg-size);\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n padding-inline-end: var(--control-padding-x);\n background-image: none;\n }\n }\n\n @media (prefers-color-scheme: dark) {\n select.form-control {\n background-image: var(--control-select-bg-dark);\n }\n }\n // stylelint-enable selector-no-qualifying-type\n\n // Form control sizing\n //\n // Build on `.form-control` with modifier classes to decrease or increase the\n // height and font-size of form controls.\n //\n // Repeated in `_input_group.scss` to avoid Sass extend issues.\n @each $size, $_ in $form-control-sizes {\n .form-control-#{$size} {\n --control-min-height: var(--btn-input-#{$size}-min-height);\n --control-padding-y: var(--btn-input-#{$size}-padding-y);\n --control-padding-x: var(--btn-input-#{$size}-padding-x);\n --control-font-size: var(--btn-input-#{$size}-font-size);\n --control-line-height: var(--btn-input-#{$size}-line-height);\n --control-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n\n .form-control-color {\n width: var(--control-min-height);\n padding: var(--control-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(var(--border-radius-sm));\n }\n\n &::-webkit-color-swatch {\n border: 0 !important; // stylelint-disable-line declaration-no-important\n @include border-radius(var(--border-radius-sm));\n }\n }\n\n // Ghost input - removes all visual styling\n // Used inside custom wrappers that handle their own styling\n .form-ghost {\n display: block;\n width: 100%;\n padding: 0;\n font: inherit;\n color: inherit;\n appearance: none;\n background: transparent;\n border: 0;\n\n &:focus {\n outline: 0;\n }\n\n &::placeholder {\n color: var(--fg-3);\n opacity: 1;\n }\n\n &:disabled {\n color: var(--fg-4);\n cursor: not-allowed;\n }\n }\n}\n","@mixin focus-ring($offset: false, $color: null) {\n @if $color != null {\n outline: var(--focus-ring-width) solid #{$color};\n } @else {\n outline: var(--focus-ring);\n }\n @if $offset {\n outline-offset: var(--focus-ring-offset);\n }\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n\n// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n background-color: $color;\n\n @if $enable-gradients {\n background-image: var(--gradient);\n }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: var(--gray-700), $end-color: var(--gray-800), $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: var(--gray-700), $outer-color: var(--gray-800)) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$check-tokens: () !default;\n\n// scss-docs-start check-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$check-tokens: defaults(\n (\n --check-size: 1.25rem,\n --check-margin-block: .125rem,\n --check-bg: transparent,\n --check-border-color: var(--border-color),\n --check-border-radius: .375rem,\n --check-checked-bg: var(--control-checked-bg),\n --check-checked-border-color: var(--control-checked-border-color),\n --check-indeterminate-bg: var(--control-checked-bg),\n --check-indeterminate-border-color: var(--control-checked-border-color),\n --check-active-bg: var(--control-active-bg),\n --check-active-border-color: var(--control-active-border-color),\n --check-disabled-bg: var(--control-disabled-bg),\n --check-disabled-opacity: var(--control-disabled-opacity),\n ),\n $check-tokens\n);\n// scss-docs-end check-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .checkgroup {\n display: flex;\n gap: var(--gap, .5rem);\n align-items: var(--align-items, start);\n\n .description {\n color: var(--fg-3);\n }\n }\n\n .check {\n @include tokens($check-tokens);\n\n display: grid;\n grid-template-columns: repeat(1, minmax(0, 1fr));\n margin-block: var(--check-margin-block);\n\n :where(svg, input) {\n flex-shrink: 0;\n grid-row-start: 1;\n grid-column-start: 1;\n width: var(--check-size);\n height: var(--check-size);\n }\n\n :where(input) {\n appearance: none;\n // later: maybe set a tertiary bg color?\n background-color: var(--theme-bg, var(--check-bg));\n border: 1px solid var(--theme-bg, var(--check-border-color));\n // stylelint-disable-next-line property-disallowed-list\n border-radius: .3em;\n }\n\n :where(input:checked, input:indeterminate) {\n background-color: var(--theme-bg, var(--check-checked-bg));\n border-color: var(--theme-bg, var(--check-checked-border-color));\n }\n\n :where(input:focus-visible) {\n @include focus-ring(true);\n }\n\n &:has(input:checked) .checked,\n &:has(input:indeterminate) .indeterminate {\n display: block;\n color: var(--theme-contrast, var(--primary-contrast));\n stroke: currentcolor;\n }\n\n &:has(input:disabled) {\n --check-bg: var(--check-disabled-bg);\n\n ~ label {\n color: var(--fg-3);\n cursor: default;\n }\n }\n &:has(input:disabled:checked) {\n opacity: var(--check-disabled-opacity);\n }\n\n :where(svg) {\n pointer-events: none;\n }\n\n :where(svg path) {\n display: none;\n }\n }\n\n .check-sm {\n --check-size: 1rem;\n }\n .check-lg {\n --check-size: 1.5rem;\n --check-margin-block: 0;\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$radio-tokens: () !default;\n\n// scss-docs-start radio-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$radio-tokens: defaults(\n (\n --radio-size: 1.25rem,\n --radio-margin-block: .125rem,\n --radio-bg: transparent,\n --radio-border-color: var(--border-color),\n --radio-checked-bg: var(--control-checked-bg),\n --radio-checked-border-color: var(--control-checked-border-color),\n --radio-disabled-bg: var(--control-disabled-bg),\n --radio-disabled-opacity: var(--control-disabled-opacity),\n ),\n $radio-tokens\n);\n// scss-docs-end radio-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .radiogroup {\n display: flex;\n gap: var(--gap, .5rem);\n align-items: var(--align-items, start);\n\n .description {\n color: var(--fg-3);\n }\n }\n\n .radio {\n @include tokens($radio-tokens);\n\n position: relative;\n flex-shrink: 0;\n width: var(--radio-size);\n height: var(--radio-size);\n margin-block: var(--radio-margin-block);\n appearance: none;\n background-color: var(--theme-bg, var(--radio-bg));\n border: 1px solid var(--theme-bg, var(--radio-border-color));\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n\n &:checked {\n color: var(--theme-contrast, var(--primary-contrast));\n background-color: var(--theme-bg, var(--radio-checked-bg));\n border-color: var(--theme-bg, var(--radio-checked-border-color));\n\n &::before {\n position: absolute;\n inset: .25rem;\n content: \"\";\n background-color: currentcolor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n }\n }\n\n &:disabled {\n --radio-bg: var(--radio-disabled-bg);\n\n ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n }\n\n &:focus-visible {\n @include focus-ring(true);\n }\n }\n\n .radio-sm {\n --radio-size: 1rem;\n }\n .radio-lg {\n --radio-size: 1.5rem;\n --radio-margin-block: 0;\n }\n}\n","@use \"../colors\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$switch-tokens: () !default;\n\n// scss-docs-start switch-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$switch-tokens: defaults(\n (\n --switch-height: 1.25rem,\n --switch-width: calc(var(--switch-height) * 1.5),\n --switch-padding: .0625rem,\n --switch-margin-block: .125rem,\n --switch-bg: var(--bg-3),\n --switch-border-width: var(--border-width),\n --switch-border-color: var(--border-color),\n --switch-indicator-bg: var(--white),\n --switch-checked-bg: var(--control-checked-bg),\n --switch-checked-border-color: var(--switch-checked-bg),\n --switch-checked-indicator-bg: var(--white),\n --switch-disabled-bg: var(--control-disabled-bg),\n --switch-disabled-indicator-bg: var(--fg-3),\n ),\n $switch-tokens\n);\n// scss-docs-end switch-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .switch {\n @include tokens($switch-tokens);\n\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: stretch;\n justify-content: flex-start;\n width: var(--switch-width);\n height: var(--switch-height);\n padding: var(--switch-padding);\n margin-block: var(--switch-margin-block);\n background-color: var(--switch-bg);\n border: var(--switch-border-width) solid var(--switch-border-color);\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 10rem;\n box-shadow: inset 0 1px 2px rgba($black, .05);\n // stylelint-disable-next-line property-disallowed-list\n transition: .15s ease-in-out;\n transition-property: padding-inline-start, background-color;\n\n &::before {\n flex-shrink: 0;\n width: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n height: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n content: \"\";\n background-color: var(--theme-contrast, var(--switch-indicator-bg));\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n box-shadow: 0 1px 2px rgba($black, .1);\n }\n\n input {\n position: absolute;\n inset: 0;\n appearance: none;\n background-color: transparent;\n outline: 0;\n }\n\n &:focus-within {\n @include focus-ring(true);\n }\n\n &:has(input:checked) {\n padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n background-color: var(--theme-bg, var(--switch-checked-bg));\n border-color: var(--theme-bg, var(--switch-checked-border-color));\n }\n\n &:has(input:disabled) {\n --switch-bg: var(--switch-disabled-bg);\n --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n\n &::before { opacity: .4; }\n\n ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n }\n }\n .switch-sm {\n --switch-height: 1rem;\n }\n .switch-lg {\n --switch-height: 1.5rem;\n --switch-margin-block: 0;\n }\n}\n","@use \"../colors\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n\n$range-tokens: () !default;\n\n// scss-docs-start range-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$range-tokens: defaults(\n (\n --range-track-width: 100%,\n --range-track-height: .5rem,\n --range-track-cursor: pointer,\n --range-track-bg: var(--bg-3),\n --range-track-border-radius: 1rem,\n --range-track-box-shadow: var(--box-shadow-inset),\n --range-thumb-width: 1rem,\n --range-thumb-height: var(--range-thumb-width),\n --range-thumb-bg: var(--primary-base),\n --range-thumb-border: 0,\n --range-thumb-border-radius: 1rem,\n --range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1),\n --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body)),\n --range-thumb-disabled-bg: var(--fg-3),\n --range-thumb-transition-property: \"background-color, border-color, box-shadow\",\n --range-thumb-transition-timing: .15s ease-in-out,\n --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing),\n ),\n $range-tokens\n);\n// scss-docs-end range-tokens\n\n// scss-docs-start range-mixins\n@mixin range-thumb() {\n width: var(--range-thumb-width);\n height: var(--range-thumb-height);\n appearance: none;\n @include gradient-bg(var(--range-thumb-bg));\n border: var(--range-thumb-border);\n @include border-radius(var(--range-thumb-border-radius));\n @include box-shadow(var(--range-thumb-box-shadow));\n @include transition(var(--range-thumb-transition));\n\n &:active {\n @include gradient-bg(var(--range-thumb-active-bg));\n }\n}\n\n@mixin range-track() {\n width: var(--range-track-width);\n height: var(--range-track-height);\n color: transparent; // Why?\n cursor: var(--range-track-cursor);\n background-color: var(--range-track-bg);\n border-color: transparent; // Firefox specific?\n @include border-radius(var(--range-track-border-radius));\n @include box-shadow(var(--range-track-box-shadow));\n}\n// scss-docs-end range-mixins\n\n@layer forms {\n .form-range {\n @include tokens($range-tokens);\n\n width: 100%;\n height: calc(var(--range-thumb-height) + (var(--focus-ring-width) * 2));\n padding: 0; // Need to reset padding\n appearance: none;\n background-color: transparent;\n\n &:focus {\n outline: 0;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n &::-webkit-slider-thumb {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n &::-moz-range-thumb {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n @include range-thumb();\n margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * .5); // Webkit specific\n }\n\n &::-moz-range-thumb {\n @include range-thumb();\n }\n\n &::-webkit-slider-runnable-track {\n @include range-track();\n }\n\n &::-moz-range-track {\n @include range-track();\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n\n &::-moz-range-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-floating-tokens: () !default;\n\n// scss-docs-start form-floating-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-floating-tokens: defaults(\n (\n --form-floating-height: calc(3.5rem + (var(--border-width) * 2)),\n --form-floating-line-height: 1.25,\n --form-floating-padding-x: var(--btn-input-padding-x),\n --form-floating-padding-y: 1rem,\n --form-floating-input-padding-t: 1.625rem,\n --form-floating-input-padding-b: .625rem,\n --form-floating-label-height: 1.5em,\n --form-floating-label-opacity: .65,\n --form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem),\n --form-floating-label-disabled-color: var(--fg-3),\n --form-floating-transition-property: \"opacity, transform\",\n --form-floating-transition-timing: .1s ease-in-out,\n --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing),\n ),\n $form-floating-tokens\n);\n// scss-docs-end form-floating-tokens\n\n@layer forms {\n .form-floating {\n @include tokens($form-floating-tokens);\n\n position: relative;\n\n > label {\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n max-width: 100%;\n height: 100%; // allow textareas\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n overflow: hidden;\n color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--input-btn-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(var(--form-floating-transition));\n }\n\n > .form-control,\n > .form-control-plaintext {\n height: var(--form-floating-height);\n min-height: var(--form-floating-height);\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n line-height: var(--form-floating-line-height);\n\n &::placeholder {\n color: transparent;\n }\n\n &:focus,\n &:not(:placeholder-shown) {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n &:-webkit-autofill {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n }\n\n > .form-control:focus,\n > .form-control:not(:placeholder-shown),\n > .form-control-plaintext {\n ~ label {\n transform: var(--form-floating-label-transform);\n }\n }\n\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n > .form-control:-webkit-autofill {\n ~ label {\n transform: var(--form-floating-label-transform);\n }\n }\n > textarea:focus,\n > textarea:not(:placeholder-shown) {\n ~ label::after {\n position: absolute;\n inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * .5);\n z-index: -1;\n height: var(--form-floating-label-height);\n content: \"\";\n background-color: var(--control-bg);\n @include border-radius(var(--btn-input-border-radius));\n }\n }\n > textarea:disabled ~ label::after {\n background-color: var(--control-disabled-bg);\n }\n\n > .form-control-plaintext {\n ~ label {\n border-width: var(--control-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: var(--form-floating-label-disabled-color);\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"form-variables\" as *;\n\n$input-group-addon-tokens: () !default;\n\n// scss-docs-start input-group-addon-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-addon-tokens: defaults(\n (\n --input-group-addon-padding-y: var(--btn-input-padding-y),\n --input-group-addon-padding-x: var(--btn-input-padding-x),\n --input-group-addon-font-size: var(--btn-input-font-size),\n --input-group-addon-line-height: var(--btn-input-line-height),\n --input-group-addon-color: var(--fg-body),\n --input-group-addon-bg: var(--bg-2),\n --input-group-addon-border-color: var(--border-color),\n ),\n $input-group-addon-tokens\n);\n// scss-docs-end input-group-addon-tokens\n\n// scss-docs-start input-group-sizes\n$input-group-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-sizes: defaults(\n (\"sm\", \"lg\"),\n $input-group-sizes\n);\n// scss-docs-end input-group-sizes\n\n@layer components {\n .input-group {\n @include tokens($input-group-addon-tokens);\n\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-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-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 > .input-group-btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 5;\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: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n font-size: var(--input-group-addon-font-size); // Match inputs\n // font-weight: $input-group-addon-font-weight;\n line-height: var(--input-group-addon-line-height);\n color: var(--input-group-addon-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--input-group-addon-bg);\n border: var(--border-width) solid var(--input-group-addon-border-color);\n @include border-radius(var(--btn-input-border-radius));\n }\n\n // Sizing\n //\n // Remix the default form control sizing classes into new ones for easier\n // manipulation.\n\n @each $size, $_ in $input-group-sizes {\n .input-group-#{$size} {\n > .form-control,\n > .input-group-text,\n > .btn {\n min-height: var(--btn-input-#{$size}-min-height);\n padding: var(--btn-input-#{$size}-padding-y) var(--btn-input-#{$size}-padding-x);\n font-size: var(--btn-input-#{$size}-font-size);\n @include border-radius(var(--btn-input-#{$size}-border-radius));\n }\n }\n }\n\n // Rounded corners\n //\n // These rulesets must come after the sizing ones to properly override sm and lg\n // border-radius values when extending. They're more specific than we'd like\n // with the `.input-group >` part, but without it, we cannot override the sizing.\n\n // stylelint-disable-next-line no-duplicate-selectors\n .input-group {\n\n $validation-messages: \"\";\n &:not(.has-validation) {\n > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n > .menu-toggle-split: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(.menu-toggle-split):not(.menu):not(.form-floating),\n > .menu-toggle-split:nth-last-child(n + 4),\n > .form-floating:nth-last-child(n + 3) > .form-control,\n > .form-floating:nth-last-child(n + 3) > .form-select {\n @include border-end-radius(0);\n }\n }\n\n > :not(:first-child):not(.menu)#{$validation-messages} {\n margin-inline-start: calc(-1 * var(--border-width));\n @include border-start-radius(0);\n }\n\n > .form-floating:not(:first-child) > .form-control,\n > .form-floating:not(:first-child) > .form-select {\n @include border-start-radius(0);\n }\n @each $state in map.keys($form-validation-states) {\n $validation-messages: $validation-messages + \":not(.\" + string.unquote($state) + \"-tooltip)\" + \":not(.\" + string.unquote($state) + \"-feedback)\";\n }\n }\n}\n","@use \"sass:list\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$strength-tokens: () !default;\n\n// scss-docs-start strength-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$strength-tokens: defaults(\n (\n --strength-height: .375rem,\n --strength-gap: .25rem,\n --strength-margin-top: .25rem,\n --strength-border-radius: var(--border-radius-pill),\n --strength-bg: var(--bg-2),\n --strength-color: var(--bg-2),\n --strength-weak-color: var(--danger-bg),\n --strength-fair-color: var(--warning-bg),\n --strength-good-color: var(--info-bg),\n --strength-strong-color: var(--success-bg),\n ),\n $strength-tokens\n);\n// scss-docs-end strength-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start strength-levels\n$strength-levels: weak, fair, good, strong !default;\n// scss-docs-end strength-levels\n\n$strength-transition: background-color .2s ease-in-out, width .3s ease-in-out !default;\n\n@layer forms {\n // Strength meter container\n .strength {\n @include tokens($strength-tokens);\n\n display: flex;\n gap: var(--strength-gap);\n width: 100%;\n margin-top: var(--strength-margin-top);\n }\n\n // Individual strength segments\n .strength-segment {\n flex: 1;\n height: var(--strength-height);\n background-color: var(--strength-bg);\n @include border-radius(var(--strength-border-radius));\n @include transition($strength-transition);\n\n // Filled state\n &.active {\n background-color: var(--strength-color);\n }\n }\n\n @each $level in $strength-levels {\n .strength[data-bs-strength=\"#{$level}\"] {\n --strength-color: var(--strength-#{$level}-color);\n }\n }\n // Optional text feedback\n .strength-text {\n display: block;\n margin-top: var(--strength-margin-top);\n font-size: var(--font-size-xs);\n color: var(--strength-color, var(--fg-3));\n @include transition(color .2s ease-in-out);\n\n // Hide when empty\n &:empty {\n display: none;\n }\n }\n\n // Alternative: Single bar variant (like a progress bar)\n .strength-bar {\n @include tokens($strength-tokens);\n\n --strength-color: transparent;\n --strength-width: 0%;\n\n width: 100%;\n height: var(--strength-height);\n margin-top: var(--strength-margin-top);\n overflow: hidden;\n background-color: var(--strength-bg);\n @include border-radius(var(--strength-border-radius));\n\n &::after {\n display: block;\n width: var(--strength-width);\n height: 100%;\n content: \"\";\n background-color: var(--strength-color);\n @include border-radius(var(--strength-border-radius));\n @include transition($strength-transition);\n }\n\n @each $level in $strength-levels {\n &[data-bs-strength=\"#{$level}\"] {\n --strength-color: var(--strength-#{$level}-color);\n --strength-width: #{list.index($strength-levels, $level) * 25%};\n }\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$otp-tokens: () !default;\n\n// scss-docs-start otp-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-tokens: defaults(\n (\n --otp-size: var(--btn-input-lg-min-height),\n --otp-font-size: var(--btn-input-font-size),\n --otp-gap: .5rem,\n ),\n $otp-tokens\n);\n// scss-docs-end otp-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start otp-sizes\n$otp-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-sizes: defaults(\n (\"sm\", \"lg\"),\n $otp-sizes\n);\n// scss-docs-end otp-sizes\n\n@layer components {\n .otp {\n @include tokens($otp-tokens);\n\n display: inline-flex;\n gap: var(--otp-gap);\n\n .form-control {\n width: var(--otp-size);\n min-height: var(--otp-size);\n padding: 0;\n font-size: var(--otp-font-size);\n font-weight: 500;\n line-height: 1;\n text-align: center;\n @include border-radius(var(--otp-border-radius, var(--btn-input-border-radius)));\n\n // Remove default number spinners\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n margin: 0;\n appearance: none;\n }\n\n &[type=\"number\"] {\n appearance: textfield;\n }\n\n &:focus,\n &:focus-visible {\n z-index: 1;\n }\n }\n\n &.is-valid .form-control,\n .was-validated &:valid .form-control {\n border-color: var(--form-valid-border-color);\n\n &:focus {\n --focus-ring-color: rgba(var(--success-rgb), .25);\n border-color: var(--form-valid-border-color);\n }\n }\n\n &.is-invalid .form-control,\n .was-validated &:invalid .form-control {\n border-color: var(--form-invalid-border-color);\n\n &:focus {\n --focus-ring-color: rgba(var(--danger-rgb), .25);\n border-color: var(--form-invalid-border-color);\n }\n }\n }\n\n // When used with .input-group, disable the gap and prevent inputs from stretching\n .otp.input-group {\n gap: 0;\n width: auto; // Override input-group's width: 100%\n\n .form-control {\n flex: 0 0 auto; // Don't grow or shrink, use fixed width\n }\n }\n\n .otp-separator {\n display: flex;\n align-items: center;\n padding-inline: var(--otp-gap);\n font-size: var(--otp-font-size);\n color: var(--fg-4);\n user-select: none;\n }\n\n @each $size, $_ in $otp-sizes {\n .otp-#{$size} {\n --otp-size: var(--btn-input-#{$size}-min-height);\n --otp-font-size: var(--btn-input-#{$size}-font-size);\n --otp-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-adorn-tokens: () !default;\n\n// scss-docs-start form-adorn-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-adorn-tokens: defaults(\n (\n --form-adorn-gap: .375rem,\n --form-adorn-icon-size: 1rem,\n --form-adorn-icon-color: var(--fg-2),\n ),\n $form-adorn-tokens\n);\n// scss-docs-end form-adorn-tokens\n\n@layer forms {\n .form-adorn {\n @include tokens($form-adorn-tokens);\n\n gap: var(--form-adorn-gap);\n align-items: center;\n\n // Prevent default `.form-control` focus\n &:focus-visible {\n outline: 0;\n }\n\n &:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n @include focus-ring(true);\n }\n\n // Ghost input fills remaining space\n > .form-ghost {\n flex: 1;\n min-width: 0; // Prevent text overflow\n }\n\n &.form-adorn-end > .form-ghost {\n order: -1;\n }\n }\n\n .form-adorn-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n\n > svg {\n width: var(--form-adorn-icon-size);\n height: var(--form-adorn-icon-size);\n }\n }\n\n .form-adorn-text {\n flex-shrink: 0;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n user-select: none;\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$chip-input-tokens: () !default;\n\n// scss-docs-start chip-input-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-input-tokens: defaults(\n (\n --chip-input-padding-y: .75rem,\n --chip-input-padding-x: .75rem,\n --chip-input-gap: .375rem,\n --chip-input-ghost-min-width: 5rem,\n --control-fg: var(--btn-input-fg),\n --control-bg: var(--btn-input-bg),\n --control-border-width: var(--border-width),\n --control-border-color: var(--border-color),\n --control-border-radius: var(--border-radius),\n ),\n $chip-input-tokens\n);\n// scss-docs-end chip-input-tokens\n\n@layer forms {\n .chip-input {\n @include tokens($chip-input-tokens);\n\n // Flexbox wrapping layout\n display: flex;\n flex-wrap: wrap;\n gap: var(--chip-input-gap);\n align-items: center;\n padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n\n color: var(--control-fg);\n background-color: var(--control-bg);\n border: var(--control-border-width) solid var(--control-border-color);\n @include border-radius(var(--control-border-radius), 0);\n\n // Focus state when ghost input is focused\n &:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n @include focus-ring(true);\n }\n\n // Ghost input fills remaining space\n > .form-ghost {\n flex: 1 1 0;\n min-width: var(--chip-input-ghost-min-width);\n min-height: 1.75rem;\n }\n\n // Disabled state\n &.disabled,\n &:has(.form-ghost:disabled) {\n background-color: var(--bg-2);\n opacity: 1;\n\n > .chip {\n opacity: var(--control-disabled-opacity);\n\n .chip-dismiss {\n pointer-events: none;\n }\n }\n\n > .form-ghost {\n cursor: not-allowed;\n }\n }\n }\n\n // Theme cascade: .chip-input.theme-* passes theme to child chips\n // Chips inherit theme variables from parent\n // @each $color-name, $theme-props in $theme-map {\n // .chip-input.theme-#{$color-name} > .chip {\n // // Subtle default state\n // --chip-color: var(--theme-text);\n // --chip-bg: var(--theme-bg-subtle);\n\n // // Selected/active solid state\n // --chip-selected-color: var(--theme-contrast);\n // --chip-selected-bg: var(--theme-bg);\n // --chip-selected-border-color: var(--theme-bg);\n // }\n // }\n\n // // Sizing variants\n // .chip-input-sm {\n // --control-min-height: #{$control-min-height-sm};\n // --control-padding-y: #{$control-padding-y-sm};\n // --control-padding-x: #{$control-padding-x-sm};\n // --control-font-size: #{$control-font-size-sm};\n // --control-line-height: #{$control-line-height-sm};\n // --control-border-radius: #{$control-border-radius-sm};\n // --chip-input-gap: .25rem;\n // --chip-input-chip-font-size: .8125em;\n // }\n\n // .chip-input-lg {\n // --control-min-height: #{$control-min-height-lg};\n // --control-padding-y: #{$control-padding-y-lg};\n // --control-padding-x: #{$control-padding-x-lg};\n // --control-font-size: #{$control-font-size-lg};\n // --control-line-height: #{$control-line-height-lg};\n // --control-border-radius: #{$control-border-radius-lg};\n // --chip-input-gap: .5rem;\n // --chip-input-chip-font-size: .9375em;\n // }\n}\n","@use \"../mixins/transition\" as *;\n\n@layer components {\n .combobox-toggle {\n display: inline-flex;\n gap: .5rem;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding-inline-end: var(--control-padding-x);\n text-align: start;\n cursor: pointer;\n\n &.show {\n background-color: var(--bg-1);\n }\n\n &:disabled,\n &.disabled {\n cursor: not-allowed;\n opacity: .65;\n }\n }\n\n .combobox-value {\n display: flex;\n flex: 1;\n gap: .5rem;\n align-items: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .combobox-placeholder {\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n\n .combobox-caret {\n flex-shrink: 0;\n @include transition(transform .2s ease-in-out);\n\n .show > & {\n transform: rotate(180deg);\n }\n }\n\n .combobox-toggle + .menu {\n --menu-max-height: 300px;\n --menu-overflow-y: auto;\n }\n\n .combobox-search {\n position: sticky;\n top: 0;\n z-index: 1;\n padding: var(--menu-padding-x, .25rem);\n background-color: var(--menu-bg, var(--bg-body));\n }\n\n .combobox-search-input {\n width: 100%;\n }\n\n .combobox-no-results {\n padding: 1rem;\n font-size: var(--font-size-sm);\n color: var(--fg-3);\n text-align: center;\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$tooltip-tokens: () !default;\n\n// scss-docs-start tooltip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$tooltip-tokens: defaults(\n (\n --tooltip-zindex: #{$zindex-tooltip},\n --tooltip-max-width: 200px,\n --tooltip-padding-x: #{$spacer * .75},\n --tooltip-padding-y: #{$spacer * .375},\n --tooltip-font-size: var(--font-size-sm),\n --tooltip-color: var(--bg-body),\n --tooltip-bg: var(--fg-body),\n --tooltip-border-radius: var(--border-radius),\n --tooltip-opacity: .95,\n --tooltip-arrow-width: .8rem,\n --tooltip-arrow-height: .4rem,\n ),\n $tooltip-tokens\n);\n// scss-docs-end tooltip-tokens\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: var(--tooltip-padding-y) !default;\n$form-feedback-tooltip-padding-x: var(--tooltip-padding-x) !default;\n$form-feedback-tooltip-font-size: var(--tooltip-font-size) !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: var(--tooltip-opacity) !default;\n$form-feedback-tooltip-border-radius: var(--tooltip-border-radius) !default;\n// scss-docs-end tooltip-feedback-variables\n\n@layer components {\n .tooltip {\n @include tokens($tooltip-tokens);\n\n z-index: var(--tooltip-zindex);\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: var(--tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: var(--tooltip-opacity); }\n\n .tooltip-arrow {\n display: block;\n width: var(--tooltip-arrow-width);\n height: var(--tooltip-arrow-height);\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n }\n\n .bs-tooltip-top .tooltip-arrow {\n bottom: calc(-1 * var(--tooltip-arrow-height));\n\n &::before {\n top: -1px;\n border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n border-block-start-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-end .tooltip-arrow {\n left: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n\n &::before {\n right: -1px;\n border-width: calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n border-inline-end-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-bottom .tooltip-arrow {\n top: calc(-1 * var(--tooltip-arrow-height));\n\n &::before {\n bottom: -1px;\n border-width: 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n border-block-end-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-start .tooltip-arrow {\n right: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n\n &::before {\n left: -1px;\n border-width: calc(var(--tooltip-arrow-width) * .5) 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n border-inline-start-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-auto {\n &[data-bs-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[data-bs-placement^=\"right\"] {\n @extend .bs-tooltip-end;\n }\n &[data-bs-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[data-bs-placement^=\"left\"] {\n @extend .bs-tooltip-start;\n }\n }\n\n // Wrapper for the tooltip content\n .tooltip-inner {\n max-width: var(--tooltip-max-width);\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n color: var(--tooltip-color);\n text-align: center;\n background-color: var(--tooltip-bg);\n @include border-radius(var(--tooltip-border-radius));\n }\n}\n","@mixin reset-text {\n font-family: var(--body-font-family);\n // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n font-style: normal;\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\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 \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"form-variables\" as *;\n@use \"../tooltip\" as *; // bring in tooltip variables\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server-side validation.\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(sass(&): \"&\"; else: \"\")}:#{$state},\n #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state(\n $state,\n $color,\n $icon,\n $tooltip-color: color-contrast($color),\n $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n $focus-ring-color: null, // mdo-do: fix\n $border-color: $color\n) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n font-size: $form-feedback-font-size;\n font-style: $form-feedback-font-style;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n font-size: $form-feedback-tooltip-font-size;\n line-height: $form-feedback-tooltip-line-height;\n color: $tooltip-color;\n background-color: $tooltip-bg-color;\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $border-color;\n\n @if $enable-validation-icons {\n padding-inline-end: calc(var(--control-padding-x) * 3.5);\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right var(--control-padding-x) center;\n background-size: 1rem;\n }\n\n &:focus-visible {\n @include focus-ring(true, $color: $focus-ring-color);\n border-color: $border-color;\n }\n }\n\n &::-webkit-contacts-auto-fill-button {\n @if $enable-validation-icons {\n // margin-inline-end: calc(var(--control-padding-x) * 3);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n // padding-inline-end: $input-height-inner;\n background-position: right var(--control-padding-x) top var(--control-padding-x);\n // background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-control-color {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n // width: add($form-color-width, $input-height-inner);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $border-color;\n\n &:checked {\n background-color: $color;\n }\n\n &:focus {\n // box-shadow: $focus-box-shadow;\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-inline-start: .5em;\n }\n }\n\n .input-group {\n > .form-control:not(:focus),\n > .form-select:not(:focus),\n > .form-floating:not(:focus-within) {\n @include form-validation-state-selector($state) {\n @if $state == \"valid\" {\n z-index: 3;\n } @else if $state == \"invalid\" {\n z-index: 4;\n }\n }\n }\n }\n}\n// scss-docs-end form-validation-mixins\n\n@layer components {\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","// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: .5rem !default;\n$form-feedback-font-size: var(--font-size-xs) !default;\n$form-feedback-font-style: null !default;\n$form-feedback-valid-color: var(--success-text) !default;\n$form-feedback-invalid-color: var(--danger-text) !default;\n\n$form-feedback-icon-valid-color: #00a748 !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: #dd0d37 !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": var(--form-valid-color),\n \"icon\": $form-feedback-icon-valid,\n \"tooltip-color\": var(--success-contrast),\n \"tooltip-bg-color\": var(--success-bg),\n \"focus-ring-color\": var(--success-focus-ring),\n \"border-color\": var(--success-border),\n ),\n \"invalid\": (\n \"color\": var(--form-invalid-color),\n \"icon\": $form-feedback-icon-invalid,\n \"tooltip-color\": var(--danger-contrast),\n \"tooltip-bg-color\": var(--danger-bg),\n \"focus-ring-color\": var(--danger-focus-ring),\n \"border-color\": var(--danger-border),\n )\n) !default;\n// scss-docs-end form-validation-states\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n$button-tokens: () !default;\n\n// scss-docs-start btn-tokens\n$button-tokens: defaults(\n (\n --btn-min-height: var(--btn-input-min-height),\n --btn-padding-x: var(--btn-input-padding-x),\n --btn-padding-y: var(--btn-input-padding-y),\n --btn-font-size: var(--btn-input-font-size),\n --btn-font-weight: var(--btn-input-font-weight),\n --btn-line-height: var(--btn-input-line-height),\n --btn-color: var(--fg-body),\n --btn-white-space: nowrap,\n --btn-border-width: var(--border-width),\n --btn-border-color: transparent,\n --btn-border-radius: var(--border-radius),\n --btn-hover-border-color: transparent,\n --btn-disabled-opacity: .65,\n --btn-transition-timing: .15s ease-in-out,\n --btn-transition-property: \"color, background-color, border-color, box-shadow\",\n --btn-transition: var(--btn-transition-property) var(--btn-transition-timing),\n ),\n $button-tokens\n);\n// scss-docs-end btn-tokens\n\n$button-link-tokens: () !default;\n\n// scss-docs-start button-link-tokens\n$button-link-tokens: defaults(\n (\n --btn-font-weight: var(--font-weight-normal),\n --btn-color: var(--link-color),\n --btn-bg: transparent,\n --btn-border-color: transparent,\n --btn-hover-color: var(--link-hover-color),\n --btn-hover-bg: transparent,\n --btn-hover-border-color: transparent,\n --btn-active-color: var(--link-hover-color),\n --btn-active-bg: transparent,\n --btn-active-border-color: transparent,\n --btn-disabled-color: var(--fg-3),\n --btn-disabled-border-color: transparent,\n ),\n $button-link-tokens\n);\n// scss-docs-end button-link-tokens\n\n$button-styled-tokens: () !default;\n\n// scss-docs-start button-styled-tokens\n$button-styled-tokens: defaults(\n (\n --btn-gradient-start: rgb(255 255 255 / 12.5%),\n --btn-gradient-end: rgb(0 0 0 / 7.5%) ,\n --btn-border-mix-color: #000,\n --btn-border-mix-amount: 10%,\n --btn-border-hover-mix-amount: 12.5%,\n --btn-border-active-mix-amount: 20%,\n --btn-shadow: \"0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%)\",\n --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15) ,\n ),\n $button-styled-tokens\n);\n// scss-docs-end button-styled-tokens\n\n// scss-docs-start button-sizes\n$button-sizes: () !default;\n$button-sizes: defaults(\n (\"xs\", \"sm\", \"lg\"),\n $button-sizes\n);\n// scss-docs-end button-sizes\n\n$button-variants: () !default;\n\n// scss-docs-start btn-variants\n$button-variants: defaults(\n (\n \"solid\": (\n \"base\": (\n \"bg\": \"bg\",\n \"color\": \"contrast\",\n \"border-color\": \"bg\"\n ),\n \"hover\": (\n \"bg\": \"bg\",\n \"border-color\": \"bg\",\n \"color\": \"contrast\"\n ),\n \"active\": (\n \"bg\": \"bg\",\n \"border-color\": \"bg\",\n \"color\": \"contrast\"\n )\n ),\n \"outline\": (\n \"base\": (\n \"bg\": \"transparent\",\n \"color\": \"text\",\n \"border-color\": \"border\"\n ),\n \"hover\": (\n \"bg\": \"bg\",\n \"color\": \"contrast\",\n \"border-color\": \"bg\"\n ),\n \"active\": (\n \"bg\": \"bg\",\n \"color\": \"contrast\",\n \"border-color\": \"bg\"\n )\n ),\n \"subtle\": (\n \"base\": (\n \"bg\": \"bg-subtle\",\n \"color\": \"text\",\n \"border-color\": \"transparent\"\n ),\n \"hover\": (\n \"bg\": (\"bg-muted\", \"bg-subtle\"),\n \"color\": \"text-emphasis\"\n ),\n \"active\": (\n \"bg\": \"bg-subtle\",\n \"color\": \"text-emphasis\"\n )\n ),\n \"text\": (\n \"base\": (\n \"color\": \"text\",\n \"bg\": \"transparent\",\n \"border-color\": \"transparent\"\n ),\n \"hover\": (\n \"color\": \"text\",\n \"bg\": \"bg-subtle\"\n ),\n \"active\": (\n \"color\": \"text\",\n \"bg\": \"bg-subtle\"\n )\n )\n ),\n $button-variants\n);\n// scss-docs-end btn-variants\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n//\n// Base styles\n//\n\n// scss-docs-start btn-variant-selectors\n$btn-variant-selectors: (string.unquote(\".btn\"), string.unquote(\".btn-link\"), string.unquote(\".btn-icon\")) !default;\n@each $variant, $config in $button-variants {\n $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(\".btn-#{$variant}\"), comma);\n}\n// scss-docs-end btn-variant-selectors\n\n@layer components {\n #{$btn-variant-selectors} {\n @include tokens($button-tokens);\n\n display: inline-flex;\n gap: var(--btn-gap, .25rem);\n align-items: center;\n justify-content: center;\n min-height: var(--btn-min-height);\n padding: var(--btn-padding-y) var(--btn-padding-x);\n // font-family: var(--btn-font-family);\n font-size: var(--btn-font-size);\n font-weight: var(--btn-font-weight);\n line-height: var(--btn-line-height);\n color: var(--btn-color);\n text-decoration: none;\n white-space: var(--btn-white-space);\n vertical-align: middle;\n // stylelint-disable-next-line scss/at-function-named-arguments\n cursor: if(sass($enable-button-pointers): pointer; else: null);\n user-select: none;\n background-color: var(--btn-bg, var(--bg-2));\n border: var(--btn-border-width) solid var(--btn-border-color);\n @include border-radius(var(--btn-border-radius));\n @include transition(var(--btn-transition));\n\n &:hover {\n color: var(--btn-hover-color);\n background-color: var(--btn-hover-bg, var(--bg-3));\n border-color: var(--btn-hover-border-color);\n }\n\n &:focus-visible {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n\n &.active,\n &.show {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n border-color: var(--btn-active-border-color);\n\n &:focus-visible {\n @include focus-ring(true);\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n }\n }\n\n // Main button style generator mixin\n // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)\n // scss-docs-start btn-variant-mixin\n @each $variant, $config in $button-variants {\n .btn-#{$variant} {\n @each $property, $value in map.get($button-variants, $variant, \"base\") {\n @if $value == \"transparent\" {\n --btn-#{$property}: transparent;\n } @else {\n --btn-#{$property}: var(--theme-#{$value});\n }\n }\n\n @each $property, $value in map.get($button-variants, $variant, \"active\") {\n @if $value == \"transparent\" {\n --btn-active-#{$property}: transparent;\n } @else if $value == \"bg-subtle\" {\n --btn-active-#{$property}: var(--theme-#{$value});\n } @else {\n --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n }\n }\n @each $property, $value in map.get($button-variants, $variant, \"base\") {\n @if $value == \"transparent\" {\n --btn-disabled-#{$property}: transparent;\n } @else {\n --btn-disabled-#{$property}: var(--theme-#{$value});\n }\n }\n\n &:hover {\n @each $property, $value in map.get($button-variants, $variant, \"hover\") {\n @if $value == \"transparent\" {\n --btn-hover-#{$property}: transparent;\n } @else if meta.type-of($value) == \"list\" {\n $first-value: list.nth($value, 1);\n $second-value: list.nth($value, 2);\n --btn-hover-#{$property}: color-mix(in oklch, var(--theme-#{$first-value}) 50%, var(--theme-#{$second-value}));\n } @else if $value == \"bg-subtle\" {\n --btn-hover-#{$property}: var(--theme-#{$value});\n } @else {\n --btn-hover-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .95) calc(c * 1.1) h);\n }\n }\n }\n\n &:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n\n &:active,\n &.active,\n &.btn-check:has(input:checked) {\n @each $property, $value in map.get($button-variants, $variant, \"active\") {\n @if $value == \"transparent\" {\n --btn-active-#{$property}: transparent;\n } @else if $value == \"bg-subtle\" {\n --btn-active-#{$property}: var(--theme-#{$value});\n } @else {\n --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n }\n }\n }\n\n // Disabled state for toggle buttons\n &:disabled,\n &.disabled,\n &.btn-check:has(input:disabled) {\n @each $property, $value in map.get($button-variants, $variant, \"base\") {\n @if $value == \"transparent\" {\n --btn-disabled-#{$property}: transparent;\n } @else {\n --btn-disabled-#{$property}: var(--theme-#{$value});\n }\n }\n }\n }\n }\n // scss-docs-end btn-variant-mixin\n\n //\n // Link buttons\n //\n\n // Make a button look and behave like a link\n .btn-link {\n @include tokens($button-link-tokens);\n\n color: var(--theme-text, var(--btn-color));\n text-decoration: var(--link-decoration);\n\n @if $enable-gradients {\n background-image: none;\n }\n\n &:focus-visible {\n color: var(--theme-text, var(--btn-color));\n }\n\n &:hover {\n color: var(--theme-text-emphasis, var(--btn-hover-color));\n }\n\n // No need for an active state here\n }\n\n //\n // Button Sizes\n //\n\n // Generate button size classes from the $button-sizes map\n // Skip \"md\" as it's the default size for .btn\n\n // scss-docs-start btn-sizes-loop\n @each $size, $_ in $button-sizes {\n .btn-#{$size},\n .btn-group-#{$size} > [class*=\"btn-\"] {\n --btn-min-height: var(--btn-input-#{$size}-min-height);\n --btn-padding-y: var(--btn-input-#{$size}-padding-y);\n --btn-padding-x: var(--btn-input-#{$size}-padding-x);\n --btn-font-size: var(--btn-input-#{$size}-font-size);\n --btn-line-height: var(--btn-input-#{$size}-line-height);\n --btn-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n // scss-docs-end btn-sizes-loop\n\n .btn-icon {\n align-items: center;\n justify-content: center;\n aspect-ratio: 1;\n padding: 0;\n }\n\n //\n // Toggle buttons (.btn-check)\n //\n // Checkbox and radio inputs that look like buttons. Add .btn-check to a\n // label with button classes, with the input nested inside.\n //\n // Example: <label class=\"btn-check btn-solid theme-primary\"><input type=\"checkbox\">Toggle</label>\n\n .btn-check {\n > input {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n\n &:has(input:checked) {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n border-color: var(--btn-active-border-color);\n @include box-shadow(var(--btn-active-shadow));\n }\n\n &:has(input:focus-visible) {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n\n &:has(input:disabled) {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n @include box-shadow(none);\n }\n }\n\n //\n // Styled buttons\n //\n // Add visual depth with gradients and shadows. Customize via CSS variables.\n\n .btn-styled {\n @include tokens($button-styled-tokens);\n\n background-image:\n linear-gradient(\n to bottom,\n var(--btn-gradient-start),\n var(--btn-gradient-end)\n );\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n box-shadow: var(--btn-shadow);\n\n &:hover {\n background-image:\n linear-gradient(\n to bottom,\n var(--btn-gradient-start),\n var(--btn-gradient-end)\n );\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n }\n\n &:active,\n &.active {\n background-image: none;\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n box-shadow: var(--btn-active-shadow);\n }\n\n &:disabled,\n &.disabled {\n background-image: none;\n box-shadow: none;\n }\n }\n}\n","@use \"../mixins/border-radius\" as *;\n\n@layer components {\n // Make the div behave like a button\n .btn-group,\n .btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > [class*=\"btn-\"] {\n position: relative;\n flex: 1 1 auto;\n\n &:hover {\n z-index: 1;\n }\n }\n\n > .btn-check:has(input:checked),\n > [class*=\"btn-\"]:active,\n > [class*=\"btn-\"].active {\n z-index: 2;\n }\n\n > .btn-check:has(input:focus),\n > [class*=\"btn-\"]:focus {\n z-index: 3;\n }\n }\n\n // Optional: Group multiple button groups together for a toolbar\n .btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n gap: .5rem;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n }\n\n .btn-group {\n @include border-radius(var(--btn-border-radius));\n\n // Prevent double borders when buttons are next to each other\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-inline-start: calc(-1 * var(--btn-border-width));\n }\n\n // Reset rounded corners\n > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n @include border-end-radius(0);\n }\n\n // The left radius should be 0 if the button is not the first child\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n @include border-start-radius(0);\n }\n }\n\n //\n // Vertical button groups\n //\n\n .btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > [class*=\"btn-\"],\n > .btn-group {\n width: 100%;\n }\n\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: calc(-1 * var(--btn-border-width));\n }\n\n // Reset rounded corners\n > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n @include border-bottom-radius(0);\n }\n\n // The top radius should be 0 if the button is not the first child\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n @include border-top-radius(0);\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$btn-close-tokens: () !default;\n\n// scss-docs-start btn-close-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$btn-close-tokens: defaults(\n (\n --btn-close-size: 1.25rem,\n --btn-close-color: var(--fg-body),\n --btn-close-opacity: .5,\n --btn-close-hover-opacity: .75,\n --btn-close-focus-opacity: .85,\n --btn-close-disabled-opacity: .25,\n ),\n $btn-close-tokens\n);\n// scss-docs-end btn-close-tokens\n\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 @include tokens($btn-close-tokens);\n\n box-sizing: content-box;\n width: var(--btn-close-size);\n height: var(--btn-close-size);\n padding: 0;\n color: var(--btn-close-color);\n background: transparent; // for button elements\n border: 0; // for button elements\n @include border-radius(var(--border-radius-sm));\n opacity: var(--btn-close-opacity);\n\n > svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: currentcolor;\n }\n\n // Override <a>'s hover style\n &:hover {\n color: var(--btn-close-color);\n text-decoration: none;\n opacity: var(--btn-close-hover-opacity);\n }\n\n &:focus-visible {\n opacity: var(--btn-close-focus-opacity);\n @include focus-ring();\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--btn-close-disabled-opacity);\n }\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$accordion-tokens: () !default;\n\n// scss-docs-start accordion-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$accordion-tokens: defaults(\n (\n --accordion-padding-x: 1.25rem,\n --accordion-padding-y: 1rem,\n --accordion-color: var(--fg-body),\n --accordion-bg: var(--bg-body),\n --accordion-transition-property: \"color, background-color, border-radius\",\n --accordion-transition-timing: \".15s ease-in-out\",\n --accordion-transition: var(--accordion-transition-property) var(--accordion-timing),\n --accordion-border-color: var(--border-color),\n --accordion-border-width: var(--border-width),\n --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg)),\n --accordion-btn-color: var(--fg-2),\n --accordion-btn-bg: var(--bg-body),\n --accordion-btn-icon-width: 1rem,\n --accordion-btn-icon-transform: rotate(-180deg),\n --accordion-btn-icon-transition: transform .2s ease-in-out,\n --accordion-active-color: var(--fg),\n --accordion-active-bg: var(--bg-2),\n ),\n $accordion-tokens\n);\n// scss-docs-end accordion-tokens\n\n@layer components {\n .accordion {\n @include tokens($accordion-tokens);\n }\n\n .accordion-header {\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n font-size: var(--accordion-font-size, var(--font-size-base));\n color: var(--accordion-btn-color);\n text-align: start;\n list-style: none; // Remove default marker\n cursor: pointer;\n background-color: var(--accordion-btn-bg);\n @include transition(var(--accordion-transition));\n\n .accordion-icon {\n flex-shrink: 0;\n width: var(--accordion-btn-icon-width);\n height: var(--accordion-btn-icon-width);\n margin-inline-start: auto;\n color: currentcolor;\n @include transition(var(--accordion-btn-icon-transition));\n }\n\n &:hover {\n z-index: 2;\n }\n\n &:focus-visible {\n position: relative;\n z-index: 3;\n @include focus-ring(true);\n outline-offset: -1px;\n }\n }\n\n .accordion-item {\n color: var(--accordion-color);\n background-color: var(--accordion-bg);\n border: var(--accordion-border-width) solid var(--accordion-border-color);\n\n &:first-of-type {\n @include border-top-radius(var(--accordion-border-radius));\n\n > .accordion-header {\n @include border-top-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n }\n }\n\n &:not(:first-of-type) {\n border-block-start: 0;\n }\n\n // Only set a border-radius on the last item if the accordion is collapsed\n &:last-of-type {\n @include border-bottom-radius(var(--accordion-border-radius));\n\n > .accordion-header {\n @include border-bottom-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n }\n\n > .accordion-body {\n @include border-bottom-radius(var(--accordion-border-radius));\n }\n }\n\n // Open state - details[open] applies these styles\n &[open] {\n border-color: var(--theme-border, var(--accordion-border-color));\n\n > .accordion-header {\n color: var(--theme-text, var(--accordion-active-color));\n background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n\n .accordion-icon {\n transform: var(--accordion-btn-icon-transform);\n }\n }\n\n // Remove bottom radius from header when open (even on last item)\n &:last-of-type > .accordion-header {\n @include border-bottom-radius(0);\n }\n }\n }\n\n .accordion-body {\n padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n }\n\n\n // Flush accordion items\n //\n // Remove borders and border-radius to keep accordion items edge-to-edge.\n\n .accordion-flush {\n > .accordion-item {\n border-inline: 0;\n @include border-radius(0);\n\n &:first-child {\n border-block-start: 0;\n }\n\n &:last-child {\n border-block-end: 0;\n }\n\n > .accordion-header,\n > .accordion-body {\n @include border-radius(0);\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$alert-tokens: () !default;\n\n// scss-docs-start alert-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$alert-tokens: defaults(\n (\n --alert-gap: #{$spacer * .75},\n --alert-bg: var(--theme-bg-subtle, var(--bg-1)),\n --alert-padding-x: #{$spacer},\n --alert-padding-y: #{$spacer},\n --alert-color: var(--theme-text, inherit),\n --alert-border-color: var(--theme-border, var(--border-color)),\n --alert-border: var(--border-width) solid var(--alert-border-color),\n --alert-border-radius: var(--border-radius),\n --alert-link-color: inherit,\n --hr-border-color: var(--theme-border, var(--border-color)),\n ),\n $alert-tokens\n);\n// scss-docs-end alert-tokens\n\n@layer components {\n .alert {\n @include tokens($alert-tokens);\n\n display: flex;\n gap: var(--alert-gap);\n align-items: start;\n padding: var(--alert-padding-y) var(--alert-padding-x);\n color: var(--alert-color);\n background-color: var(--alert-bg);\n border: var(--alert-border);\n @include border-radius(var(--alert-border-radius));\n }\n\n .alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: var(--font-weight-semibold);\n color: var(--alert-link-color);\n }\n}\n","@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$avatar-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start avatar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-tokens: defaults(\n (\n --avatar-size: 2.5rem,\n --avatar-border-radius: 50%,\n --avatar-border-width: 2px,\n --avatar-border-color: var(--bg-body),\n --avatar-bg: var(--bg-2),\n --avatar-color: var(--fg-body),\n // --avatar-font-weight: var(--font-weight-medium), // Defaults to fallback\n --avatar-status-size: .75rem,\n --avatar-status-border-width: 2px,\n --avatar-status-border-color: var(--bg-body),\n --avatar-stack-spacing: -.3,\n --avatar-stack-transition: \"transform .2s ease-in-out\",\n ),\n $avatar-tokens\n);\n// scss-docs-end avatar-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start avatar-sizes\n$avatar-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-sizes: defaults(\n (\n \"xs\": (\n size: 1.5rem,\n status-size: .625rem,\n ),\n \"sm\": (\n size: 2rem,\n ),\n \"lg\": (\n size: 3rem,\n status-size: 1rem,\n ),\n \"xl\": (\n size: 4rem,\n status-size: 1.25rem,\n ),\n ),\n $avatar-sizes\n);\n// scss-docs-end avatar-sizes\n\n@layer components {\n .avatar {\n @include tokens($avatar-tokens);\n\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--avatar-size);\n height: var(--avatar-size);\n font-size: calc(var(--avatar-size) * .4);\n font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n line-height: 1;\n color: var(--theme-contrast, var(--avatar-color));\n text-transform: uppercase;\n vertical-align: middle;\n background-color: var(--theme-bg, var(--avatar-bg));\n @include border-radius(var(--avatar-border-radius));\n }\n\n .avatar-subtle {\n color: var(--theme-text, var(--avatar-color));\n background-color: var(--theme-bg-subtle, var(--avatar-bg));\n }\n\n .avatar-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n @include border-radius(inherit);\n }\n\n .avatar-status {\n position: absolute;\n right: calc(var(--avatar-status-border-width) * -1);\n bottom: calc(var(--avatar-status-border-width) * -1);\n width: var(--avatar-status-size);\n height: var(--avatar-status-size);\n background-color: var(--gray-400);\n border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n @include border-radius(50%);\n\n &.status-online {\n background-color: var(--green-500);\n }\n\n &.status-offline {\n background-color: var(--gray-400);\n @include border-radius(20%);\n }\n\n &.status-busy {\n background-color: var(--red-500);\n @include border-radius(20%);\n }\n\n &.status-away {\n background-color: var(--yellow-500);\n }\n }\n\n .avatar-stack {\n display: inline-flex;\n flex-direction: row-reverse;\n\n .avatar {\n // Stack spacing is calculated as a percentage of avatar size\n margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n border: var(--avatar-border-width) solid var(--avatar-border-color);\n mask-image: none;\n @include transition(var(--avatar-stack-transition));\n\n &:last-child {\n margin-left: 0;\n }\n\n &:hover {\n z-index: 1;\n transform: translateY(-2px);\n }\n }\n }\n\n @each $size, $tokens in $avatar-sizes {\n .avatar-#{$size},\n .avatar-stack-#{$size} {\n --avatar-size: #{map.get($tokens, size)};\n\n @if map.has-key($tokens, status-size) {\n --avatar-status-size: #{map.get($tokens, status-size)};\n }\n }\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n\n$badge-tokens: () !default;\n\n// scss-docs-start badge-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$badge-tokens: defaults(\n (\n --badge-padding-x: .625em,\n --badge-padding-y: .25em,\n --badge-font-size: clamp(12px, .75em, .75em),\n --badge-font-weight: var(--font-weight-semibold),\n --badge-color: inherit,\n --badge-bg: var(--bg-2),\n --badge-border-width: var(--border-width),\n --badge-border-color: transparent,\n --badge-border-radius: var(--border-radius-lg),\n ),\n $badge-tokens\n);\n// scss-docs-end badge-tokens\n\n// scss-docs-start badge-variants\n$badge-variants: (\n \"subtle\": (\n \"color\": \"text\",\n \"bg\": \"bg-subtle\",\n \"border-color\": \"transparent\"\n ),\n \"outline\": (\n \"color\": \"text\",\n \"bg\": \"transparent\",\n \"border-color\": \"border\"\n )\n) !default;\n// scss-docs-end badge-variants\n\n@layer components {\n .badge {\n @include tokens($badge-tokens);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 1.375rem;\n padding: var(--badge-padding-y) var(--badge-padding-x);\n font-size: var(--badge-font-size);\n font-weight: var(--badge-font-weight);\n line-height: 1;\n color: var(--theme-contrast, var(--badge-color));\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n background-color: var(--theme-bg, var(--badge-bg));\n border: var(--badge-border-width) solid var(--badge-border-color);\n @include border-radius(var(--badge-border-radius));\n @include gradient-bg();\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n }\n\n // Quick fix for badges in buttons\n .btn .badge {\n position: relative;\n top: -1px;\n }\n\n // scss-docs-start badge-variant-loop\n @each $variant, $properties in $badge-variants {\n .badge-#{$variant} {\n @each $property, $value in $properties {\n @if $value == \"transparent\" {\n --badge-#{$property}: transparent;\n } @else {\n --badge-#{$property}: var(--theme-#{$value});\n }\n }\n\n color: var(--badge-color);\n background-color: var(--badge-bg);\n border-color: var(--badge-border-color);\n }\n }\n // scss-docs-end badge-variant-loop\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$breadcrumb-tokens: () !default;\n\n// scss-docs-start breadcrumb-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$breadcrumb-tokens: defaults(\n (\n --breadcrumb-margin-bottom: 1rem,\n --breadcrumb-font-size: inherit,\n --breadcrumb-bg: transparent,\n --breadcrumb-border-radius: var(--border-radius),\n --breadcrumb-divider-color: var(--fg-4),\n --breadcrumb-link-padding-x: .75rem,\n --breadcrumb-link-padding-y: .25rem,\n --breadcrumb-link-color: var(--fg-3),\n --breadcrumb-link-hover-color: var(--fg-2),\n --breadcrumb-link-hover-bg: var(--bg-1),\n --breadcrumb-link-active-color: var(--fg-1),\n --breadcrumb-link-border-radius: var(--border-radius-lg),\n ),\n $breadcrumb-tokens\n);\n// scss-docs-end breadcrumb-tokens\n\n@layer components {\n .breadcrumb {\n @include tokens($breadcrumb-tokens);\n\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n font-size: var(--breadcrumb-font-size);\n list-style: none;\n background-color: var(--breadcrumb-bg);\n @include border-radius(var(--breadcrumb-border-radius));\n }\n\n .breadcrumb-item {\n display: flex;\n }\n\n .breadcrumb-divider {\n margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n color: var(--breadcrumb-divider-color);\n }\n\n .breadcrumb-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 2.25rem;\n padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n color: var(--breadcrumb-link-color);\n text-decoration: none;\n @include border-radius(var(--breadcrumb-link-border-radius));\n @include transition(.1s text-decoration-color ease-in-out);\n\n &:hover {\n z-index: 2;\n color: var(--breadcrumb-link-hover-color);\n background-color: var(--breadcrumb-link-hover-bg);\n }\n\n &.active {\n color: var(--breadcrumb-link-active-color);\n }\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$chip-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start chip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-tokens: defaults(\n (\n --chip-height: 1.75rem,\n --chip-padding-x: .625rem,\n --chip-gap: .3125rem,\n --chip-border-radius: var(--border-radius-pill),\n --chip-img-size: 1.25rem,\n --chip-icon-size: 1rem,\n --chip-dismiss-size: 1rem,\n --chip-dismiss-opacity: .65,\n --chip-dismiss-hover-opacity: 1,\n --chip-color: var(--theme-text, var(--fg-body)),\n --chip-bg: var(--theme-bg-subtle, var(--bg-2)),\n --chip-border-color: transparent,\n --chip-selected-color: var(--theme-contrast, var(--primary-contrast)),\n --chip-selected-bg: var(--theme-bg, var(--primary-bg)),\n --chip-selected-border-color: var(--theme-bg, var(--primary-bg)),\n ),\n $chip-tokens\n);\n// scss-docs-end chip-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n .chip {\n @include tokens($chip-tokens);\n\n display: inline-flex;\n gap: var(--chip-gap);\n align-items: center;\n height: var(--chip-height);\n padding-inline: var(--chip-padding-x);\n font-size: var(--chip-font-size, var(--font-size-sm));\n font-weight: var(--chip-font-weight, var(--font-weight-base));\n line-height: var(--chip-line-height, 1.25rem);\n color: var(--chip-color);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n background-color: var(--chip-bg);\n border: var(--border-width) solid var(--chip-border-color);\n @include border-radius(var(--chip-border-radius));\n\n &:hover {\n --chip-bg: var(--theme-bg-muted, var(--bg-3));\n }\n\n &:focus-visible {\n outline: 0;\n // @include focus-ring();\n }\n\n &.active {\n --chip-color: var(--chip-selected-color);\n --chip-bg: var(--chip-selected-bg);\n --chip-border-color: var(--chip-selected-border-color);\n\n &:hover {\n --chip-bg: var(--chip-selected-bg);\n opacity: .9;\n }\n }\n\n &.disabled,\n &:disabled {\n pointer-events: none;\n opacity: .65;\n }\n }\n\n .chip-img {\n width: var(--chip-img-size);\n height: var(--chip-img-size);\n @include border-radius(50%);\n\n &:first-child {\n margin-inline-start: -.375rem;\n }\n }\n\n // Chip icon (left side)\n .chip-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n margin-inline-start: calc(var(--chip-gap) * -.25);\n\n > svg {\n display: block; // Prevents baseline alignment issues\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n }\n\n > img {\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n object-fit: cover;\n @include border-radius(50%);\n }\n }\n\n // Dismiss button (right side)\n .chip-dismiss {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--chip-min-height);\n height: var(--chip-min-height);\n padding: 0;\n // margin-inline-start: calc(var(--chip-padding-x) * -.5);\n margin-inline-end: calc(var(--chip-padding-x) * -.25);\n color: inherit;\n cursor: pointer;\n background: transparent;\n border: 0;\n opacity: var(--chip-dismiss-opacity);\n // @include transition(opacity .15s ease-in-out);\n\n &:hover {\n opacity: var(--chip-dismiss-hover-opacity);\n }\n\n &:focus-visible {\n outline: 0;\n opacity: 1;\n @include focus-ring();\n }\n\n > svg {\n display: block; // Prevents baseline alignment issues\n width: var(--chip-dismiss-size);\n height: var(--chip-dismiss-size);\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n@use \"layout/breakpoints\" as *;\n\n$card-tokens: () !default;\n\n// scss-docs-start card-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$card-tokens: defaults(\n (\n --card-spacer-y: #{$spacer},\n --card-spacer-x: #{$spacer},\n --card-subtitle-color: inherit,\n --card-border-width: var(--border-width),\n --card-border-color: var(--border-color-translucent),\n --card-border-radius: var(--border-radius-lg),\n --card-box-shadow: none,\n --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n --card-cap-padding-y: #{$spacer * .75},\n --card-cap-padding-x: #{$spacer},\n --card-cap-bg: var(--bg-1),\n --card-cap-color: inherit,\n --card-height: auto,\n --card-color: inherit,\n --card-bg: var(--bg-body),\n --card-img-overlay-padding: #{$spacer},\n --card-group-margin: #{$grid-gutter-x * .5},\n --card-body-gap: #{$spacer * .5},\n ),\n $card-tokens\n);\n// scss-docs-end card-tokens\n\n@layer components {\n .card {\n @include tokens($card-tokens);\n\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: var(--card-height);\n color: var(--fg-body);\n word-wrap: break-word;\n background-color: var(--card-bg);\n // border: var(--card-border-width) solid var(--card-border-color);\n // @include border-radius(var(--card-border-radius));\n @include box-shadow(var(--card-box-shadow));\n\n > hr {\n margin-inline: 0;\n }\n }\n\n .card-body {\n display: flex;\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--card-body-gap);\n align-items: flex-start;\n padding: var(--card-spacer-y) var(--card-spacer-x);\n color: var(--card-color);\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n\n > * {\n margin-block: 0;\n }\n }\n\n .card-body,\n .card-list {\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n\n &:first-child {\n @include border-top-radius(var(--card-border-radius));\n border-top-width: var(--card-border-width);\n }\n\n &:last-child {\n @include border-bottom-radius(var(--card-border-radius));\n border-bottom-width: var(--card-border-width);\n }\n\n &:not(:first-child):not(:last-child) {\n border-block-end-width: var(--card-border-width);\n }\n }\n\n .card-title,\n .card-subtitle,\n .card-text {\n align-self: stretch;\n }\n\n .card-subtitle {\n margin-top: calc(var(--card-body-gap) * -.5);\n }\n\n .card-header {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: var(--theme-contrast, var(--card-cap-color));\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n &:first-child {\n @include border-radius(var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0);\n }\n }\n\n .card-footer {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n color: var(--card-cap-color);\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n &:last-child {\n @include border-radius(0 0 var(--card-inner-border-radius) var(--card-inner-border-radius));\n }\n }\n\n .card-translucent {\n background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n\n .card-header,\n .card-footer {\n background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n }\n }\n\n .card-subtle {\n border-color: var(--theme-border, var(--card-border-color));\n\n .card-header {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n\n .card-footer {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n\n .card-body,\n .card-list {\n border-color: var(--theme-border, var(--card-border-color));\n }\n }\n\n //\n // Header navs\n //\n\n // Combined selector because of specificity match with `.nav` base class\n .nav.card-header-tabs {\n margin-inline: calc(-.5 * var(--card-cap-padding-x));\n margin-bottom: calc(-1 * var(--card-cap-padding-y));\n border-block-end: 0;\n\n .nav-link.active {\n background-color: var(--card-bg);\n border-block-end-color: var(--card-bg);\n }\n }\n\n // Card image\n .card-img-overlay {\n position: absolute;\n inset: 0;\n padding: var(--card-img-overlay-padding);\n @include border-radius(var(--card-inner-border-radius));\n }\n\n .card-img,\n .card-img-top,\n .card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n outline: var(--card-border-width) solid var(--card-border-color);\n outline-offset: calc(var(--card-border-width) * -1);\n }\n\n .card-img,\n .card-img-top {\n @include border-top-radius(var(--card-inner-border-radius));\n }\n\n .card-img,\n .card-img-bottom {\n @include border-bottom-radius(var(--card-inner-border-radius));\n }\n\n .card-row {\n flex-direction: row;\n\n .card-body,\n .card-list {\n border-width: var(--card-border-width) 0;\n @include border-radius(0);\n\n &:first-child {\n @include border-start-radius(var(--card-inner-border-radius));\n border-inline-start-width: var(--card-border-width);\n }\n\n &:last-child {\n @include border-end-radius(var(--card-inner-border-radius));\n border-inline-end-width: var(--card-border-width);\n }\n\n &:not(:first-child):not(:last-child) {\n border-inline-end-width: var(--card-border-width);\n }\n }\n }\n\n .card-img-start {\n @include border-start-radius(var(--card-inner-border-radius));\n }\n\n .card-img-end {\n @include border-end-radius(var(--card-inner-border-radius));\n }\n\n //\n // Card groups\n //\n\n .card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: var(--card-group-margin);\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n flex: 1 0 0;\n margin-bottom: 0;\n\n + .card {\n margin-inline-start: 0;\n border-inline-start: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-end-radius(0);\n\n > .card-img-top,\n > .card-header {\n border-start-end-radius: 0;\n }\n > .card-img-bottom,\n > .card-footer {\n border-end-end-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-start-radius(0);\n\n > .card-img-top,\n > .card-header {\n border-start-start-radius: 0;\n }\n > .card-img-bottom,\n > .card-footer {\n border-end-start-radius: 0;\n }\n }\n }\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"mixins/tokens\" as *;\n\n$carousel-tokens: () !default;\n\n// scss-docs-start carousel-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-tokens: defaults(\n (\n --carousel-control-color: #{$white},\n --carousel-control-width: 15%,\n --carousel-control-opacity: .5,\n --carousel-control-hover-opacity: .9,\n --carousel-control-transition: opacity .15s ease,\n --carousel-control-icon-filter: none,\n --carousel-indicator-width: 30px,\n --carousel-indicator-height: 3px,\n --carousel-indicator-hit-area-height: 10px,\n --carousel-indicator-spacer: 3px,\n --carousel-indicator-opacity: .5,\n --carousel-indicator-active-bg: var(--white),\n --carousel-indicator-active-opacity: 1,\n --carousel-indicator-transition: opacity .6s ease,\n --carousel-caption-width: 70%,\n --carousel-caption-color: var(--white),\n --carousel-caption-padding-y: 1.25rem,\n --carousel-caption-spacer: 1.25rem,\n --carousel-control-icon-width: 2rem,\n --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"),\n --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"),\n --carousel-transition-duration: .6s,\n --carousel-transition: transform .6s ease-in-out,\n ),\n $carousel-tokens\n);\n// scss-docs-end carousel-tokens\n\n$carousel-dark-tokens: () !default;\n\n// scss-docs-start carousel-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-dark-tokens: defaults(\n (\n --carousel-indicator-active-bg: #{$black},\n --carousel-caption-color: #{$black},\n --carousel-control-icon-filter: invert(1) grayscale(100),\n ),\n $carousel-dark-tokens\n);\n// scss-docs-end carousel-dark-tokens\n\n// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n// is the upcoming slide in transition.\n\n@layer components {\n .carousel {\n position: relative;\n @include tokens($carousel-tokens);\n }\n\n .carousel.pointer-event {\n touch-action: pan-y;\n }\n\n .carousel-inner {\n position: relative;\n display: flow-root;\n width: 100%;\n overflow: hidden;\n }\n\n .carousel-item {\n position: relative;\n display: none;\n float: inline-start;\n width: 100%;\n margin-inline-end: -100%;\n backface-visibility: hidden;\n @include transition(var(--carousel-transition));\n }\n\n .carousel-item.active,\n .carousel-item-next,\n .carousel-item-prev {\n display: block;\n }\n\n .carousel-item-next:not(.carousel-item-start),\n .active.carousel-item-end {\n transform: translateX(100%);\n }\n\n .carousel-item-prev:not(.carousel-item-end),\n .active.carousel-item-start {\n transform: translateX(-100%);\n }\n\n //\n // Alternate transitions\n //\n\n .carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-start,\n .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-start,\n .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s var(--carousel-transition-duration));\n }\n }\n\n //\n // Left/right controls for nav\n //\n\n .carousel-control-prev,\n .carousel-control-next {\n position: absolute;\n inset-block: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: var(--carousel-control-width);\n padding: 0;\n color: var(--carousel-control-color);\n text-align: center;\n background: none;\n filter: var(--carousel-control-icon-filter);\n border: 0;\n opacity: var(--carousel-control-opacity);\n @include transition(var(--carousel-control-transition));\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: var(--carousel-control-color);\n text-decoration: none;\n outline: 0;\n opacity: var(--carousel-control-hover-opacity);\n }\n }\n .carousel-control-prev {\n inset-inline-start: 0;\n // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n background-image: if(sass($enable-gradients): linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); else: null);\n }\n .carousel-control-next {\n inset-inline-end: 0;\n // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n background-image: if(sass($enable-gradients): linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); else: null);\n }\n\n // Icons for within\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n display: inline-block;\n width: var(--carousel-control-icon-width);\n height: var(--carousel-control-icon-width);\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n }\n\n .carousel-control-prev-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n\n [dir=\"rtl\"] .carousel-control-prev-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n\n .carousel-control-next-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n\n [dir=\"rtl\"] .carousel-control-next-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n\n // Optional indicator pips/controls\n //\n // Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n // like a button) with data-bs-target for each slide your carousel holds.\n\n .carousel-indicators {\n position: absolute;\n inset: auto 0 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-inline: var(--carousel-control-width);\n margin-bottom: 1rem;\n\n [data-bs-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: var(--carousel-indicator-width);\n height: var(--carousel-indicator-height);\n padding: 0;\n margin-inline: var(--carousel-indicator-spacer);\n text-indent: -999px;\n cursor: pointer;\n background-color: var(--carousel-indicator-active-bg);\n background-clip: padding-box;\n border: 0;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n opacity: var(--carousel-indicator-opacity);\n @include transition(var(--carousel-indicator-transition));\n }\n\n .active {\n opacity: var(--carousel-indicator-active-opacity);\n }\n }\n\n // Optional captions\n //\n //\n\n .carousel-caption {\n position: absolute;\n right: calc((100% - var(--carousel-caption-width)) * .5);\n bottom: var(--carousel-caption-spacer);\n left: calc((100% - var(--carousel-caption-width)) * .5);\n padding-top: var(--carousel-caption-padding-y);\n padding-bottom: var(--carousel-caption-padding-y);\n color: var(--carousel-caption-color);\n text-align: center;\n }\n\n // Dark mode carousel\n\n @mixin carousel-dark() {\n @include tokens($carousel-dark-tokens);\n }\n\n .carousel-dark {\n @include carousel-dark();\n }\n\n @if $enable-dark-mode {\n @include color-mode(dark, true) {\n @include carousel-dark();\n }\n }\n}\n","@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","// stylelint-disable selector-max-attribute, property-disallowed-list, selector-no-qualifying-type -- VCP uses extensive data attributes and requires direct border-radius properties for range selection\n\n@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$datepicker-tokens: () !default;\n\n// scss-docs-start datepicker-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$datepicker-tokens: defaults(\n (\n --datepicker-padding: 1rem,\n --datepicker-bg: var(--bg-body),\n --datepicker-color: var(--fg-body),\n --datepicker-border-color: var(--border-color-translucent),\n --datepicker-border-width: var(--border-width),\n --datepicker-border-radius: var(--border-radius-lg),\n --datepicker-box-shadow: var(--box-shadow),\n --datepicker-font-size: var(--font-size-sm),\n --datepicker-min-width: 280px,\n --datepicker-zindex: #{$zindex-menu},\n --datepicker-header-font-weight: 600,\n --datepicker-weekday-color: var(--fg-3),\n --datepicker-day-hover-bg: var(--bg-1),\n --datepicker-day-selected-bg: var(--primary-bg),\n --datepicker-day-selected-color: var(--primary-contrast),\n --datepicker-day-today-bg: var(--bg-2),\n --datepicker-day-today-color: var(--fg-1),\n --datepicker-day-disabled-color: var(--fg-4),\n ),\n $datepicker-tokens\n);\n// scss-docs-end datepicker-tokens\n\n@layer components {\n [data-vc=\"calendar\"] {\n @include tokens($datepicker-tokens);\n\n position: absolute;\n z-index: var(--datepicker-zindex);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n min-width: var(--datepicker-min-width);\n padding: var(--datepicker-padding);\n font-family: var(--font-sans-serif);\n font-size: var(--datepicker-font-size);\n color: var(--datepicker-color);\n color-scheme: light dark;\n background-color: var(--datepicker-bg);\n border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n @include border-radius(var(--datepicker-border-radius));\n box-shadow: var(--datepicker-box-shadow);\n opacity: 1;\n\n // Respond to Bootstrap's color mode system\n &[data-bs-theme=\"light\"] {\n color-scheme: light;\n }\n\n &[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n }\n\n // Catch-all for focus styles\n button:focus-visible {\n position: relative;\n z-index: 1;\n @include focus-ring();\n }\n }\n\n [data-vc-calendar-hidden] {\n pointer-events: none;\n opacity: 0;\n }\n\n // Inline calendars\n //\n // Remove popover styling for more neutral styling\n [data-vc=\"calendar\"]:not([data-vc-input]) {\n position: relative;\n width: fit-content;\n padding: 0;\n border: 0;\n box-shadow: none;\n }\n\n [data-vc-position=\"bottom\"] {\n margin-block-start: .25rem;\n }\n\n [data-vc-position=\"top\"] {\n margin-block-end: -.25rem;\n }\n\n [data-vc-arrow] {\n position: relative;\n display: block;\n width: 2rem;\n height: 2rem;\n color: var(--datepicker-color);\n pointer-events: auto;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n @include border-radius(var(--border-radius));\n\n &::before {\n position: absolute;\n inset: .25rem;\n content: \"\";\n background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n background-repeat: no-repeat;\n background-position: center;\n }\n\n &:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n }\n\n [data-vc-arrow=\"prev\"]::before {\n transform: rotate(90deg);\n }\n\n [data-vc-arrow=\"next\"]::before {\n transform: rotate(-90deg);\n }\n\n // Grid layout\n [data-vc=\"controls\"] {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 20;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 1rem;\n padding-right: 1rem;\n padding-left: 1rem;\n pointer-events: none;\n }\n\n [data-vc=\"grid\"] {\n display: flex;\n flex-grow: 1;\n flex-wrap: wrap;\n gap: 1.75rem;\n }\n\n [data-vc=\"column\"] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n min-width: 240px;\n }\n\n //\n // Header\n //\n\n [data-vc=\"header\"] {\n position: relative;\n display: flex;\n align-items: center;\n margin-bottom: .75rem;\n }\n\n // Month and year\n [data-vc-header=\"content\"] {\n display: inline-flex;\n flex-grow: 1;\n align-items: center;\n justify-content: center;\n white-space: pre-wrap;\n }\n\n [data-vc=\"month\"],\n [data-vc=\"year\"] {\n padding: .25rem .5rem;\n margin-inline: -.125rem;\n font-size: 1rem;\n font-weight: var(--datepicker-header-font-weight);\n color: var(--datepicker-color);\n // cursor: pointer;\n background-color: transparent;\n border: 0;\n @include border-radius(var(--border-radius));\n\n &:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n }\n\n [data-vc=\"content\"] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n }\n\n // Month/Year grids\n [data-vc=\"months\"],\n [data-vc=\"years\"] {\n display: grid;\n flex-grow: 1;\n grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n row-gap: 1rem;\n column-gap: .25rem;\n align-items: center;\n }\n\n [data-vc=\"years\"] {\n --vc-columns: 5;\n }\n\n [data-vc-months-month],\n [data-vc-years-year] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 2.5rem;\n padding: .25rem;\n font-size: .75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n text-align: center;\n word-break: break-all;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n @include border-radius(var(--border-radius));\n\n &:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n\n &[data-vc-months-month-selected],\n &[data-vc-years-year-selected] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n\n &:hover {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n }\n }\n\n // Week days header\n [data-vc=\"week\"] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n justify-items: center;\n margin-bottom: .5rem;\n }\n\n [data-vc-week-day] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n padding: 0;\n margin: 0;\n font-size: .75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n background-color: transparent;\n border: 0;\n }\n\n button[data-vc-week-day] {\n cursor: pointer;\n }\n\n // Dates grid\n [data-vc=\"dates\"] {\n pointer-events: none;\n }\n\n [data-vc-dates=\"row\"] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n align-items: center;\n justify-items: center;\n width: 100%;\n }\n\n [data-vc-date] {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding-top: .125rem;\n padding-bottom: .125rem;\n pointer-events: auto;\n\n &:not(:has([data-vc-date-btn])),\n &[data-vc-date-disabled],\n &[data-vc-date-disabled] [data-vc-date-btn] {\n pointer-events: none;\n }\n }\n\n // Date button\n [data-vc-date-btn] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n height: 100%;\n min-height: 1.875rem;\n padding: 0;\n font-size: .75rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--datepicker-color);\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n\n &:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n }\n\n // Today\n [data-vc-date-today] [data-vc-date-btn] {\n font-weight: 600;\n color: var(--datepicker-day-today-color);\n background-color: var(--datepicker-day-today-bg);\n }\n\n // Outside month\n [data-vc-date-month=\"next\"] [data-vc-date-btn],\n [data-vc-date-month=\"prev\"] [data-vc-date-btn] {\n opacity: .5;\n }\n\n // Disabled\n [data-vc-date-disabled] [data-vc-date-btn] {\n color: var(--datepicker-day-disabled-color);\n }\n\n // Range selection styles\n [data-vc-date-hover] [data-vc-date-btn] {\n background-color: var(--datepicker-day-hover-bg);\n border-radius: 0;\n }\n\n [data-vc-date-hover=\"first\"] [data-vc-date-btn] {\n border-start-start-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n\n [data-vc-date-hover=\"last\"] [data-vc-date-btn] {\n border-start-end-radius: var(--border-radius);\n border-end-end-radius: var(--border-radius);\n }\n\n [data-vc-date-hover=\"first-and-last\"] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n\n [data-vc-date-selected=\"middle\"] [data-vc-date-btn] {\n border-radius: 0;\n opacity: .8;\n }\n\n // Selected\n [data-vc-date-selected] [data-vc-date-btn] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n\n }\n\n [data-vc-date-selected=\"first\"] [data-vc-date-btn] {\n border-top-left-radius: var(--border-radius);\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: var(--border-radius);\n }\n\n [data-vc-date-selected=\"last\"] [data-vc-date-btn] {\n border-top-left-radius: 0;\n border-top-right-radius: var(--border-radius);\n border-bottom-right-radius: var(--border-radius);\n border-bottom-left-radius: 0;\n }\n\n [data-vc-date-selected=\"first-and-last\"] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// Native <dialog> component\n// Uses the browser's native dialog element with showModal()/show()/close() APIs\n// Leverages native [open] attribute and ::backdrop pseudo-element\n\n// stylelint-disable custom-property-no-missing-var-function\n$dialog-tokens: () !default;\n\n// scss-docs-start dialog-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-tokens: defaults(\n (\n --dialog-padding: 1rem,\n --dialog-width: 500px,\n --dialog-margin: 1.75rem,\n --dialog-color: var(--fg-body),\n --dialog-bg: var(--bg-body),\n --dialog-border-color: var(--border-color-translucent),\n --dialog-border-width: var(--border-width),\n --dialog-border-radius: var(--border-radius-lg),\n --dialog-box-shadow: var(--box-shadow-lg),\n --dialog-backdrop-bg: rgb(0 0 0 / 50%),\n --dialog-backdrop-blur: 8px,\n --dialog-header-padding: 1rem,\n --dialog-header-border-color: var(--border-color),\n --dialog-header-border-width: var(--border-width),\n --dialog-footer-padding: 1rem,\n --dialog-footer-border-color: var(--border-color),\n --dialog-footer-border-width: var(--border-width),\n --dialog-footer-gap: .5rem,\n ),\n $dialog-tokens\n);\n// scss-docs-end dialog-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start dialog-sizes\n$dialog-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-sizes: defaults(\n (\n sm: 280px,\n lg: 800px,\n xl: 1140px,\n ),\n $dialog-sizes\n);\n// scss-docs-end dialog-sizes\n\n@layer components {\n // Prevent body scroll when dialog is open\n .dialog-open {\n overflow: hidden;\n scrollbar-gutter: stable;\n }\n\n .dialog {\n @include tokens($dialog-tokens);\n\n // Reset native dialog styles\n max-width: var(--dialog-width);\n max-height: calc(100% - var(--dialog-margin) * 2);\n padding: 0;\n margin: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n @include border-radius(var(--dialog-border-radius));\n @include box-shadow(var(--dialog-box-shadow));\n\n // Native backdrop styling via ::backdrop pseudo-element\n &::backdrop {\n background-color: var(--dialog-backdrop-bg);\n backdrop-filter: blur(var(--dialog-backdrop-blur));\n }\n\n // Animation support using native [open] attribute\n &.fade {\n opacity: 0;\n @include transition(opacity .15s linear);\n\n &::backdrop {\n opacity: 0;\n @include transition(opacity .15s linear);\n }\n\n &[open] {\n opacity: 1;\n\n &::backdrop {\n opacity: 1;\n }\n }\n }\n\n // Static backdrop \"bounce\" animation (modal dialogs only)\n &.dialog-static {\n transform: scale(1.02);\n }\n\n // Non-modal dialog positioning\n // show() doesn't use the top layer, so we need explicit positioning and z-index\n &.dialog-nonmodal {\n position: fixed;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n z-index: $zindex-dialog;\n margin-inline: 0;\n transform: translate(-50%, -50%);\n }\n\n // Overflow dialog - scrollable viewport container with dialog box inside\n &.dialog-overflow {\n // Make dialog element the full-viewport scrollable container\n position: fixed;\n inset: 0;\n width: 100%;\n max-width: 100%;\n height: 100%;\n max-height: 100%;\n padding: var(--dialog-margin);\n margin: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n background: transparent;\n border: 0;\n box-shadow: none;\n\n // The visual dialog box is a child wrapper\n > .dialog-box {\n max-width: var(--dialog-width);\n margin-block-end: var(--dialog-margin);\n margin-inline: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n @include border-radius(var(--dialog-border-radius));\n @include box-shadow(var(--dialog-box-shadow));\n }\n }\n\n // Scrollable dialog body (header/footer stay fixed)\n &.dialog-scrollable[open] {\n display: flex;\n flex-direction: column;\n max-height: calc(100% - var(--dialog-margin) * 2);\n\n .dialog-body {\n overflow-y: auto;\n }\n }\n }\n\n // Dialog sizes\n @each $size, $value in $dialog-sizes {\n .dialog-#{$size} { --dialog-width: #{$value}; }\n }\n\n // Fullscreen dialog\n .dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n\n // Responsive fullscreen dialogs\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @if $prefix != \"\" {\n @include media-breakpoint-down($breakpoint) {\n .#{css-escape-ident($breakpoint)}-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n }\n }\n\n // Dialog header\n .dialog-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding: var(--dialog-header-padding);\n border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n\n .btn-close {\n margin-inline-start: auto;\n }\n }\n\n // Dialog title\n .dialog-title {\n margin-bottom: 0;\n font-size: var(--font-size-md);\n line-height: 1.5;\n }\n\n // Dialog body\n .dialog-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--dialog-padding);\n overflow-y: auto;\n }\n\n // Dialog footer\n .dialog-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: var(--dialog-footer-gap);\n align-items: center;\n justify-content: flex-end;\n padding: var(--dialog-footer-padding);\n border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable scss/dollar-variable-default, custom-property-no-missing-var-function\n$menu-tokens: () !default;\n\n// scss-docs-start menu-tokens\n$menu-tokens: defaults(\n (\n --menu-zindex: #{$zindex-menu},\n --menu-gap: .125rem,\n --menu-min-width: 10rem,\n --menu-padding-x: .25rem,\n --menu-padding-y: .25rem,\n --menu-spacer: .125rem,\n --menu-font-size: var(--font-size-sm),\n --menu-color: var(--fg-body),\n --menu-bg: var(--bg-body),\n // --menu-border-color: var(--border-color-translucent),\n // --menu-border-radius: var(--border-radius-lg),\n // --menu-border-width: var(--border-width),\n --menu-box-shadow: var(--box-shadow),\n // --menu-max-height: none,\n --menu-divider-bg: var(--border-color-translucent),\n --menu-divider-margin-y: .125rem,\n --menu-divider-margin-x: .25rem,\n --menu-item-color: var(--menu-color, var(--fg-body)),\n --menu-item-hover-color: var(--menu-color, var(--fg-body)),\n --menu-item-hover-bg: var(--bg-1),\n --menu-item-active-color: var(--primary-contrast),\n --menu-item-active-bg: var(--primary-bg),\n --menu-item-disabled-color: var(--fg-3),\n --menu-item-gap: .5rem,\n --menu-item-padding-x: .75rem,\n --menu-item-padding-y: .25rem,\n --menu-item-border-radius: var(--border-radius),\n --menu-icon-size: 1rem,\n --menu-image-size: 1.5rem,\n --menu-description-font-size: var(--font-size-xs),\n --menu-check-color: currentcolor,\n --menu-header-color: var(--fg-3),\n --menu-header-padding-x: .75rem,\n --menu-header-padding-y: .25rem,\n ),\n $menu-tokens\n);\n// scss-docs-end menu-tokens\n\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n@layer components {\n .menu {\n @include tokens($menu-tokens);\n\n position: absolute;\n z-index: var(--menu-zindex);\n display: none;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: var(--menu-min-width);\n max-height: var(--menu-max-height, none);\n padding: var(--menu-padding-y) var(--menu-padding-x);\n margin: 0;\n overflow-y: var(--menu-overflow-y, initial);\n overscroll-behavior: contain;\n font-size: var(--menu-font-size);\n color: var(--menu-color);\n text-align: start;\n list-style: none;\n background-color: var(--menu-bg);\n background-clip: padding-box;\n border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n @include border-radius(var(--menu-border-radius, var(--border-radius-lg)));\n @include box-shadow(var(--menu-box-shadow));\n\n &.show {\n display: flex;\n }\n }\n\n .menu-scrollable {\n --menu-max-height: 80dvh;\n --menu-overflow-y: auto;\n }\n\n .menu-translucent {\n --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n\n --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n\n --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n\n background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n\n .menu-divider {\n height: 0;\n margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n overflow: hidden;\n border-block-start: 1px solid var(--menu-divider-bg);\n opacity: 1;\n }\n\n .menu-item {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n width: 100%;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n color: var(--theme-text, var(--menu-item-color));\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n outline: 0;\n @include border-radius(var(--menu-item-border-radius, 0));\n\n &:hover,\n &:focus {\n color: var(--theme-text, var(--menu-item-hover-color));\n @include gradient-bg(var(--theme-bg-subtle, var(--menu-item-hover-bg)));\n }\n\n &.active,\n &:active {\n color: var(--theme-contrast, var(--menu-item-active-color));\n @include gradient-bg(var(--theme-bg, var(--menu-item-active-bg)));\n\n .menu-item-icon {\n color: inherit !important; // stylelint-disable-line declaration-no-important\n }\n }\n\n &.selected {\n font-weight: $font-weight-semibold;\n }\n\n &.disabled,\n &:disabled {\n color: var(--menu-item-disabled-color);\n pointer-events: none;\n background-color: transparent;\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n }\n }\n\n .menu-item-icon {\n flex-shrink: 0;\n align-self: flex-start;\n width: var(--menu-icon-size);\n height: auto;\n margin-top: .125rem;\n }\n\n .menu-image {\n width: var(--menu-image-size);\n height: var(--menu-image-size);\n object-fit: cover;\n @include border-radius(var(--border-radius-sm));\n }\n\n .menu-item-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-width: fit-content;\n }\n\n .menu-item-description {\n font-size: var(--menu-description-font-size);\n font-weight: var(--font-weight-normal);\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n\n .menu-item-check {\n flex-shrink: 0;\n align-self: flex-start;\n margin-block-start: .125rem;\n margin-inline-start: auto;\n color: var(--menu-check-color);\n visibility: hidden;\n\n .selected > & {\n visibility: visible;\n }\n }\n\n .menu-header {\n display: block;\n padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n margin-bottom: 0;\n font-size: var(--font-size-sm);\n color: var(--menu-header-color);\n white-space: nowrap;\n }\n\n .menu-text {\n display: block;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n color: var(--fg-2);\n }\n\n // scss-docs-start submenu\n .submenu {\n position: relative;\n\n > .menu-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n > .menu-item::after {\n display: inline-block;\n flex-shrink: 0;\n width: .375em;\n height: .375em;\n margin-inline-start: auto;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: 0 .125em .125em 0;\n transform: rotate(-45deg);\n\n [dir=\"rtl\"] & {\n transform: rotate(135deg);\n }\n }\n\n > .menu {\n top: 0;\n margin-top: calc(-1 * var(--menu-padding-y));\n }\n\n &:hover > .menu-item,\n &:focus-within > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n\n &.show > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n }\n\n // Mobile stacking: submenu covers the parent menu in-place\n @media (max-width: 575.98px) {\n .submenu:has(.submenu-stacked) {\n position: static;\n }\n\n .submenu-stacked {\n position: absolute;\n inset: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: 0;\n padding: var(--menu-padding-y) var(--menu-padding-x);\n background-color: var(--menu-bg);\n border: 0;\n @include border-radius(0);\n box-shadow: none;\n }\n\n .submenu-back {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--font-weight-semibold, 600);\n color: var(--menu-item-color);\n\n &::before {\n display: inline-block;\n flex-shrink: 0;\n width: .375em;\n height: .375em;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: .125em 0 0 .125em;\n transform: rotate(-45deg);\n\n [dir=\"rtl\"] & {\n border-width: 0 .125em .125em 0;\n }\n }\n }\n\n .submenu-dimmed {\n pointer-events: none;\n filter: blur(2px);\n opacity: .3;\n }\n }\n // scss-docs-end submenu\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n$list-group-tokens: () !default;\n\n// scss-docs-start list-group-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$list-group-tokens: defaults(\n (\n --list-group-color: var(--fg-body),\n --list-group-bg: var(--bg-body),\n --list-group-border-color: var(--border-color),\n --list-group-border-width: var(--border-width),\n --list-group-border-radius: var(--border-radius),\n --list-group-item-padding-x: #{$spacer},\n --list-group-item-padding-y: #{$spacer * .5},\n --list-group-action-color: var(--fg-2),\n --list-group-action-hover-color: var(--fg-1),\n --list-group-action-hover-bg: var(--bg-1),\n --list-group-action-active-color: var(--fg-body),\n --list-group-action-active-bg: var(--bg-2),\n --list-group-disabled-color: var(--fg-3),\n --list-group-disabled-bg: var(--bg-body),\n --list-group-active-color: var(--primary-contrast),\n --list-group-active-bg: var(--primary-bg),\n --list-group-active-border-color: var(--primary-bg),\n ),\n $list-group-tokens\n);\n// scss-docs-end list-group-tokens\n\n@layer components {\n .list-group {\n @include tokens($list-group-tokens);\n\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-inline-start: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius(var(--list-group-border-radius));\n }\n\n .list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n\n > .list-group-item::before {\n // Increments only this instance of the section counter\n content: counters(section, \".\") \". \";\n counter-increment: section;\n }\n }\n\n // Individual list items\n //\n // Use on `li`s or `div`s within the `.list-group` parent.\n\n .list-group-item {\n position: relative;\n display: block;\n padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n color: var(--theme-text, var(--list-group-color));\n // stylelint-disable-next-line scss/at-function-named-arguments\n text-decoration: if(sass($link-decoration == none): null);\n background-color: var(--theme-bg-subtle, var(--list-group-bg));\n border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: var(--list-group-disabled-color);\n pointer-events: none;\n background-color: var(--list-group-disabled-bg);\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: var(--list-group-active-color);\n background-color: var(--list-group-active-bg);\n border-color: var(--list-group-active-border-color);\n }\n\n // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n & + .list-group-item {\n border-block-start-width: 0;\n\n &.active {\n margin-top: calc(-1 * var(--list-group-border-width));\n border-block-start-width: var(--list-group-border-width);\n }\n }\n }\n\n // Interactive list items\n //\n // Use anchor or button elements instead of `li`s or `div`s to create interactive\n // list items. Includes an extra `.active` modifier class for selected items.\n\n .list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: var(--theme-text, var(--list-group-action-color));\n text-align: inherit; // For `<button>`s (anchors inherit)\n text-decoration: none;\n\n &:not(.active) {\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n text-decoration: none;\n background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n }\n\n &:active {\n color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n }\n }\n }\n\n // Horizontal\n //\n // Change the layout of list group items from vertical (default) to horizontal.\n\n @each $breakpoint in map.keys($breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n .#{$prefix}list-group-horizontal {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child:not(:last-child) {\n @include border-bottom-start-radius(var(--list-group-border-radius));\n @include border-top-end-radius(0);\n }\n\n &:last-child:not(:first-child) {\n @include border-top-end-radius(var(--list-group-border-radius));\n @include border-bottom-start-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n\n &.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n }\n }\n }\n }\n\n // Flush list items\n //\n // Remove borders and border-radius to keep list group items edge-to-edge. Most\n // useful within other components (e.g., cards).\n\n .list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 var(--list-group-border-width);\n\n &:last-child {\n border-block-end-width: 0;\n }\n }\n }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n$nav-tokens: () !default;\n\n// scss-docs-start nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tokens: defaults(\n (\n --nav-gap: .125rem,\n --nav-link-gap: .5rem,\n --nav-link-align: center,\n --nav-link-justify: center,\n --nav-link-padding-x: .75rem,\n --nav-link-padding-y: .375rem,\n --nav-link-color: var(--fg-2),\n --nav-link-hover-color: var(--fg-1),\n --nav-link-hover-bg: var(--bg-1),\n --nav-link-active-color: var(--fg-body),\n --nav-link-active-bg: var(--bg-2),\n --nav-link-disabled-color: var(--fg-4),\n --nav-link-border-width: var(--border-width),\n --nav-link-transition-property: \"color, background-color, border-color\",\n --nav-link-transition-timing: .15s ease-in-out,\n --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing),\n ),\n $nav-tokens\n);\n// scss-docs-end nav-tokens\n\n$nav-tabs-tokens: () !default;\n\n// scss-docs-start nav-tabs-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tabs-tokens: defaults(\n (\n --nav-tabs-border-width: var(--border-width),\n --nav-tabs-border-color: var(--border-color),\n --nav-tabs-border-radius: var(--border-radius),\n --nav-tabs-link-hover-border-color: var(--border-subtle),\n --nav-tabs-link-active-color: var(--fg-color),\n --nav-tabs-link-active-bg: var(--bg-body),\n --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body),\n ),\n $nav-tabs-tokens\n);\n// scss-docs-end nav-tabs-tokens\n\n$nav-pills-tokens: () !default;\n\n// scss-docs-start nav-pills-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-pills-tokens: defaults(\n (\n --nav-pills-link-active-color: var(--primary-contrast),\n --nav-pills-link-active-bg: var(--primary-bg),\n ),\n $nav-pills-tokens\n);\n// scss-docs-end nav-pills-tokens\n\n$nav-underline-tokens: () !default;\n\n// scss-docs-start nav-underline-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-underline-tokens: defaults(\n (\n --nav-gap: 1rem,\n --nav-link-active-bg: transparent,\n --nav-underline-border-width: .125rem,\n --nav-underline-link-active-color: var(--fg-color),\n ),\n $nav-underline-tokens\n);\n// scss-docs-end nav-underline-tokens\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 @include tokens($nav-tokens);\n\n display: flex;\n flex-wrap: wrap;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n }\n\n .nav-item {\n display: flex;\n }\n\n .nav-link {\n display: flex;\n gap: var(--nav-link-gap);\n align-items: var(--nav-link-align);\n justify-content: var(--nav-link-justify);\n padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n font-weight: var(--nav-link-font-weight);\n color: var(--nav-link-color);\n text-decoration: none;\n white-space: nowrap;\n background: none;\n border: var(--nav-link-border-width) solid transparent;\n @include border-radius(var(--border-radius));\n @include transition(var(--nav-link-transition));\n\n &:hover,\n &:focus {\n color: var(--nav-link-hover-color);\n background-color: var(--nav-link-hover-bg);\n }\n\n &:focus-visible {\n --focus-ring-offset: 1px;\n color: var(--nav-link-hover-color);\n @include focus-ring(true);\n }\n\n &.active,\n &:active {\n color: var(--nav-link-active-color);\n background-color: var(--nav-link-active-bg);\n }\n\n // Disabled state lightens text\n &.disabled,\n &:disabled {\n color: var(--nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n }\n }\n\n //\n // Tabs\n //\n\n .nav-tabs {\n // scss-docs-start nav-tabs-css-vars\n @include tokens($nav-tabs-tokens);\n // scss-docs-end nav-tabs-css-vars\n\n box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n\n .nav-link {\n border: var(--nav-tabs-border-width) solid transparent;\n border-bottom-color: var(--nav-tabs-border-color);\n @include border-bottom-radius(0);\n\n &:hover {\n // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n isolation: isolate;\n border-color: var(--nav-tabs-link-hover-border-color);\n border-bottom-color: var(--nav-tabs-border-color);\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: var(--nav-tabs-link-active-color);\n background-color: var(--nav-tabs-link-active-bg);\n border-color: var(--nav-tabs-link-active-border-color);\n border-bottom-color: var(--nav-tabs-link-active-bg);\n }\n\n .menu {\n margin-top: calc(-1 * var(--nav-tabs-border-width));\n @include border-top-radius(0);\n }\n }\n\n //\n // Pills\n //\n\n .nav-pills {\n // scss-docs-start nav-pills-css-vars\n @include tokens($nav-pills-tokens);\n // scss-docs-end nav-pills-css-vars\n\n .nav-link.active,\n .show > .nav-link {\n color: var(--nav-pills-link-active-color);\n @include gradient-bg(var(--nav-pills-link-active-bg));\n }\n }\n\n //\n // Underline\n //\n\n .nav-underline {\n // scss-docs-start nav-underline-css-vars\n @include tokens($nav-underline-tokens);\n // scss-docs-end nav-underline-css-vars\n\n .nav-link {\n padding-inline: 0;\n border: 0;\n border-block-end: var(--nav-underline-border-width) solid transparent;\n @include border-radius(0);\n\n &:hover,\n &:focus {\n border-block-end-color: currentcolor;\n }\n }\n\n .nav-link.active,\n .show > .nav-link {\n font-weight: $font-weight-bold;\n color: var(--nav-underline-link-active-color);\n border-block-end-color: currentcolor;\n }\n }\n\n //\n // 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 // 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","// Nav Overflow (Priority+ Pattern)\n//\n// A responsive navigation pattern that automatically moves items\n// to an overflow menu when space is limited.\n\n@layer components {\n .nav-overflow {\n flex-wrap: nowrap;\n min-width: 0; // Allow flex child to shrink below content width\n }\n\n // Container item for overflow\n .nav-overflow-item {\n flex-shrink: 0;\n margin-inline-start: auto;\n }\n\n // Hide items that have been moved to overflow\n .nav-overflow [data-bs-nav-overflow=\"true\"] {\n display: none;\n }\n\n // Preserve items that should never overflow\n .nav-overflow-keep {\n flex-shrink: 0;\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n// mdo-do: fix nav-link-height and navbar-brand-height, which we previously calculated with font-size, line-height, and block padding\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start navbar-breakpoints\n$navbar-breakpoints: $breakpoints !default;\n// scss-docs-end navbar-breakpoints\n\n$navbar-tokens: () !default;\n$navbar-dark-tokens: () !default;\n$navbar-nav-tokens: () !default;\n\n// scss-docs-start navbar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-tokens: defaults(\n (\n --navbar-padding-x: 0,\n --navbar-padding-y: .5rem,\n --navbar-color: var(--fg-2),\n --navbar-hover-color: var(--fg-1),\n --navbar-disabled-color: var(--fg-3),\n --navbar-active-color: var(--fg-body),\n --navbar-brand-padding-y: .75rem,\n --navbar-brand-margin-end: 1rem,\n --navbar-brand-font-size: var(--font-size-md),\n --navbar-brand-font-weight: var(--font-weight-medium),\n --navbar-brand-color: var(--fg-body),\n --navbar-brand-hover-color: var(--fg-body),\n --navbar-nav-link-padding-x: .75rem,\n --navbar-toggler-width: 2rem,\n --navbar-toggler-padding-y: .25rem,\n --navbar-toggler-padding-x: .75rem,\n --navbar-toggler-font-size: var(--font-size-lg),\n --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent),\n --navbar-toggler-border-radius: var(--border-radius),\n --navbar-toggler-transition: box-shadow .15s ease-in-out,\n ),\n $navbar-tokens\n);\n// scss-docs-end navbar-tokens\n\n// scss-docs-start navbar-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-dark-tokens: defaults(\n (\n --navbar-color: color-mix(in oklch, var(--white) .55, transparent),\n --navbar-hover-color: color-mix(in oklch, var(--white) .75, transparent),\n --navbar-disabled-color: color-mix(in oklch, var(--white) .25, transparent),\n --navbar-active-color: var(--white),\n --navbar-brand-color: var(--white),\n --navbar-brand-hover-color: var(--white),\n --navbar-toggler-border-color: color-mix(in oklch, var(--white) .1, transparent),\n ),\n $navbar-dark-tokens\n);\n// scss-docs-end navbar-dark-tokens\n\n// scss-docs-start navbar-nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-nav-tokens: defaults(\n (\n --nav-gap: .25rem,\n --nav-link-gap: .5rem,\n --nav-link-padding-x: .5rem,\n --nav-link-padding-y: .375rem,\n --nav-link-color: var(--navbar-color),\n --nav-link-border-width: var(--border-width),\n //--nav-link-border-color: var(--border-color),\n --nav-link-hover-color: var(--navbar-hover-color),\n --nav-link-hover-bg: transparent,\n --nav-link-active-color: var(--navbar-active-color),\n --nav-link-active-bg: transparent,\n --nav-link-disabled-color: var(--navbar-disabled-color),\n ),\n $navbar-nav-tokens\n);\n// scss-docs-end navbar-nav-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n // Base navbar\n .navbar {\n @include tokens($navbar-tokens);\n\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--navbar-padding-y) var(--navbar-padding-x);\n @include set-container();\n color: var(--navbar-color, var(--fg-body));\n @include gradient-bg(var(--navbar-bg, var(--bg-body)));\n\n // Container properties for nested containers\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 > .#{breakpoint-prefix($breakpoint, $container-max-widths)}container {\n @extend %container-flex-properties;\n }\n }\n }\n\n // Navbar brand\n //\n // Used for brand, project, or site names.\n .navbar-brand {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n margin-inline-end: var(--navbar-brand-margin-end);\n font-size: var(--navbar-brand-font-size);\n font-weight: var(--navbar-brand-font-weight);\n color: var(--navbar-brand-color);\n text-decoration: none;\n white-space: nowrap;\n\n &:hover,\n &:focus {\n color: var(--navbar-brand-hover-color);\n }\n }\n\n // Navigation within navbars. Sets all nav-link CSS variables needed for\n // proper styling.\n //\n // Relies on `.nav` base class.\n .navbar-nav {\n @include tokens($navbar-nav-tokens);\n\n display: flex;\n flex-direction: column;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n &.active,\n &.show {\n color: var(--navbar-active-color);\n border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n }\n }\n }\n\n // Navbar text\n //\n // For adding text or inline elements to the navbar\n .navbar-text {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n color: var(--navbar-color);\n\n a,\n a:hover,\n a:focus {\n color: var(--navbar-active-color);\n }\n }\n\n // Button for toggling the navbar when in its collapsed state\n .navbar-toggler {\n --btn-bg: transparent;\n --btn-hover-bg: var(--bg-2);\n }\n\n // scss-docs-start navbar-expand-loop\n // Generate series of responsive `.navbar-expand` classes for configuring\n // where your navbar collapses and expands. Uses container queries so the\n // navbar responds to its own width, not the viewport width.\n\n // Mixin for expanded state styles (applied to descendants)\n @mixin navbar-expanded {\n // Style the inner container since we can't style .navbar itself with container queries\n > .container,\n > .container-fluid,\n %navbar-expand-container {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n\n .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n\n .navbar-toggler {\n display: none !important; // stylelint-disable-line declaration-no-important\n }\n\n .offcanvas {\n // stylelint-disable declaration-no-important\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n @include box-shadow(none);\n @include transition(none);\n // stylelint-enable declaration-no-important\n\n .offcanvas-header {\n display: none;\n }\n\n .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n }\n\n // Always expanded (no responsive behavior)\n .navbar-expand {\n @include navbar-expanded();\n\n // Also set on navbar itself for non-responsive case\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n\n // Responsive navbar expand classes using container queries\n @include loop-breakpoints-down($navbar-breakpoints) using ($breakpoint, $next, $prefix) {\n @if $next {\n .#{$prefix}navbar-expand {\n @include container-breakpoint-up($next) {\n @include navbar-expanded();\n }\n }\n }\n }\n // scss-docs-end navbar-expand-loop\n\n .navbar-translucent {\n position: relative;\n background-color: transparent;\n\n &::before {\n position: absolute;\n inset: 0;\n z-index: -1;\n content: \"\";\n background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n background-image: none;\n backdrop-filter: blur(5px) saturate(180%);\n }\n }\n\n .navbar[data-bs-theme=\"dark\"] {\n @include tokens($navbar-dark-tokens);\n }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/backdrop\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$offcanvas-tokens: () !default;\n\n// scss-docs-start offcanvas-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$offcanvas-tokens: defaults(\n (\n --offcanvas-inset: var(--spacer),\n --offcanvas-zindex: #{$zindex-offcanvas},\n --offcanvas-width: 400px,\n --offcanvas-height: 30vh,\n --offcanvas-padding-x: var(--spacer),\n --offcanvas-padding-y: var(--spacer),\n --offcanvas-color: var(--fg-body),\n --offcanvas-bg: var(--bg-body),\n --offcanvas-border-width: var(--border-width),\n --offcanvas-border-color: var(--border-color-translucent),\n --offcanvas-border-radius: var(--border-radius-lg),\n --offcanvas-box-shadow: var(--box-shadow-lg),\n --offcanvas-transition: transform .3s ease-in-out,\n --offcanvas-title-line-height: 1.5,\n ),\n $offcanvas-tokens\n);\n// scss-docs-end offcanvas-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$offcanvas-backdrop-tokens: () !default;\n\n// scss-docs-start offcanvas-backdrop-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$offcanvas-backdrop-tokens: defaults(\n (\n --offcanvas-backdrop-bg: var(--bg-body),\n --offcanvas-backdrop-opacity: 25%,\n --offcanvas-backdrop-blur: 8px,\n ),\n $offcanvas-backdrop-tokens\n);\n// scss-docs-end offcanvas-backdrop-tokens\n\n%offcanvas-css-vars {\n @include tokens($offcanvas-tokens);\n}\n\n@layer components {\n // Apply CSS vars to all offcanvas responsive variants\n @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n .#{$prefix}offcanvas {\n @extend %offcanvas-css-vars;\n }\n }\n\n // Responsive offcanvas styles\n @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n .#{$prefix}offcanvas {\n @include media-breakpoint-down($next) {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n @include border-radius(var(--offcanvas-border-radius));\n outline: 0;\n @include box-shadow(var(--offcanvas-box-shadow));\n @include transition(var(--offcanvas-transition));\n\n // Placement: Start (left in LTR, right in RTL)\n &:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n\n :root:dir(rtl) & {\n transform: translateX(100%);\n }\n }\n\n // Placement: End (right in LTR, left in RTL)\n &:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n\n :root:dir(rtl) & {\n transform: translateX(-100%);\n }\n }\n\n // Placement: Top\n &:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n\n // Placement: Bottom\n &:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n\n // Fullscreen variant - covers entire viewport\n &:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n\n // Show/hide states\n &.showing,\n &.show:not(.hiding) {\n transform: none;\n }\n\n &.showing,\n &.hiding,\n &.show {\n visibility: visible;\n }\n }\n\n // Above breakpoint - show content inline (for responsive offcanvas)\n @if not ($prefix == \"\") {\n @include media-breakpoint-up($next) {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important; // stylelint-disable-line declaration-no-important\n\n .offcanvas-header {\n display: none;\n }\n\n .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important; // stylelint-disable-line declaration-no-important\n }\n }\n }\n }\n }\n\n // Backdrop overlay\n .offcanvas-backdrop {\n @include tokens($offcanvas-backdrop-tokens);\n @include overlay-backdrop($zindex-offcanvas-backdrop, var(--offcanvas-backdrop-bg), var(--offcanvas-backdrop-opacity), var(--offcanvas-backdrop-blur));\n }\n\n .offcanvas-translucent {\n background-color: color-mix(in oklch, var(--offcanvas-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n\n // Header with close button\n .offcanvas-header {\n display: flex;\n align-items: center;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n\n .btn-close {\n padding: calc(var(--offcanvas-padding-y) * .5) calc(var(--offcanvas-padding-x) * .5);\n margin-inline-start: auto;\n margin-inline-end: calc(-.5 * var(--offcanvas-padding-x));\n margin-top: calc(-.5 * var(--offcanvas-padding-y));\n margin-bottom: calc(-.5 * var(--offcanvas-padding-y));\n }\n }\n\n // Title\n .offcanvas-title {\n margin-bottom: 0;\n line-height: var(--offcanvas-title-line-height);\n }\n\n // Scrollable body\n .offcanvas-body {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n gap: var(--offcanvas-padding-y);\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n overflow-y: auto;\n }\n\n // Optional footer\n .offcanvas-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: .5rem;\n align-items: center;\n justify-content: flex-end;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n }\n\n .offcanvas-fit-content {\n inset-block-end: auto;\n }\n}\n","// Shared between modals and offcanvases\n@mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity, $backdrop-blur) {\n position: fixed;\n inset: 0;\n z-index: $zindex;\n background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n @if $backdrop-blur {\n backdrop-filter: blur($backdrop-blur);\n }\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: 1; }\n}\n","@use \"functions\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// mdo-do: Update pagination to support variant themes\n\n// stylelint-disable custom-property-no-missing-var-function\n$pagination-tokens: () !default;\n\n// scss-docs-start pagination-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-tokens: defaults(\n (\n --pagination-min-height: var(--btn-input-min-height),\n --pagination-padding-x: var(--btn-input-padding-x),\n --pagination-padding-y: var(--btn-input-padding-y),\n --pagination-font-size: var(--btn-input-font-size),\n --pagination-color: var(--link-color),\n --pagination-bg: var(--bg-body),\n --pagination-border-width: var(--border-width),\n --pagination-border-color: var(--border-color),\n --pagination-border-radius: var(--btn-input-border-radius),\n --pagination-hover-color: var(--link-hover-color),\n --pagination-hover-bg: var(--bg-1),\n --pagination-hover-border-color: var(--border-color),\n --pagination-focus-color: var(--link-hover-color),\n --pagination-focus-bg: var(--bg-2),\n --pagination-active-color: var(--primary-contrast),\n --pagination-active-bg: var(--primary-bg),\n --pagination-active-border-color: var(--primary-bg),\n --pagination-disabled-color: var(--fg-3),\n --pagination-disabled-bg: var(--bg-2),\n --pagination-disabled-border-color: var(--border-color),\n ),\n $pagination-tokens\n);\n// scss-docs-end pagination-tokens\n\n// scss-docs-start pagination-sizes\n$pagination-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-sizes: defaults(\n (\"sm\", \"lg\"),\n $pagination-sizes\n);\n// scss-docs-end pagination-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n .pagination {\n @include tokens($pagination-tokens);\n\n display: flex;\n @include list-unstyled();\n }\n\n .page-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--pagination-min-height);\n padding: var(--pagination-padding-y) var(--pagination-padding-x);\n font-size: var(--pagination-font-size);\n color: var(--pagination-color);\n text-decoration: none;\n background-color: var(--pagination-bg);\n border: var(--pagination-border-width) solid var(--pagination-border-color);\n @include transition(color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out);\n\n &:hover {\n z-index: 2;\n color: var(--pagination-hover-color);\n background-color: var(--pagination-hover-bg);\n border-color: var(--pagination-hover-border-color);\n }\n\n &:focus-visible {\n z-index: 3;\n color: var(--pagination-focus-color);\n background-color: var(--pagination-focus-bg);\n @include focus-ring(true);\n }\n\n &.active,\n .active > & {\n z-index: 3;\n color: var(--pagination-active-color);\n @include gradient-bg(var(--pagination-active-bg));\n border-color: var(--pagination-active-border-color);\n }\n\n &.disabled,\n .disabled > & {\n color: var(--pagination-disabled-color);\n pointer-events: none;\n background-color: var(--pagination-disabled-bg);\n border-color: var(--pagination-disabled-border-color);\n }\n }\n\n .page-item {\n &:not(:first-child) .page-link {\n margin-inline-start: calc(-1 * var(--pagination-border-width));\n }\n\n &:first-child {\n .page-link {\n @include border-start-radius(var(--pagination-border-radius));\n }\n }\n\n &:last-child {\n .page-link {\n @include border-end-radius(var(--pagination-border-radius));\n }\n }\n }\n\n //\n // Sizing\n //\n\n // scss-docs-start pagination-sizes-loop\n @each $size, $_ in $pagination-sizes {\n .pagination-#{$size} {\n --pagination-min-height: var(--bs-btn-input-#{$size}-min-height);\n --pagination-padding-y: var(--btn-input-#{$size}-padding-y);\n --pagination-padding-x: var(--btn-input-#{$size}-padding-x);\n --pagination-font-size: var(--btn-input-#{$size}-font-size);\n --pagination-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n // scss-docs-end pagination-sizes-loop\n}\n","@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n$placeholder-tokens: () !default;\n\n// scss-docs-start placeholder-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$placeholder-tokens: defaults(\n (\n --placeholder-opacity-max: .5,\n --placeholder-opacity-min: .2,\n ),\n $placeholder-tokens\n);\n// scss-docs-end placeholder-tokens\n\n@layer components {\n .placeholder {\n @include tokens($placeholder-tokens);\n\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: var(--placeholder-opacity-max);\n\n &.btn::before {\n display: inline-block;\n content: \"\";\n }\n }\n\n // Sizing\n .placeholder-xs {\n min-height: .6em;\n }\n\n .placeholder-sm {\n min-height: .8em;\n }\n\n .placeholder-lg {\n min-height: 1.2em;\n }\n\n // Animation\n .placeholder-glow {\n .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n }\n }\n\n @keyframes placeholder-glow {\n 50% {\n opacity: var(--placeholder-opacity-min);\n }\n }\n\n .placeholder-wave {\n mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, $black 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n }\n\n @keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$popover-tokens: () !default;\n\n// scss-docs-start popover-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$popover-tokens: defaults(\n (\n --popover-zindex: #{$zindex-popover},\n --popover-max-width: 280px,\n --popover-font-size: var(--font-size-sm),\n --popover-bg: var(--bg-body),\n --popover-border-width: var(--border-width),\n --popover-border-color: var(--border-color-translucent),\n --popover-border-radius: var(--border-radius-lg),\n --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n --popover-box-shadow: var(--box-shadow),\n --popover-header-padding-x: #{$spacer},\n --popover-header-padding-y: #{$spacer * .75},\n --popover-header-font-size: var(--font-size-sm),\n --popover-header-color: #{$headings-color},\n --popover-header-bg: var(--bg-1),\n --popover-body-padding-x: #{$spacer},\n --popover-body-padding-y: #{$spacer * .75},\n --popover-body-color: var(--fg-body),\n --popover-arrow-width: 1rem,\n --popover-arrow-height: .5rem,\n --popover-arrow-border: var(--popover-border-color),\n ),\n $popover-tokens\n);\n// scss-docs-end popover-tokens\n\n@layer components {\n .popover {\n // scss-docs-start popover-css-vars\n @include tokens($popover-tokens);\n // scss-docs-end popover-css-vars\n\n z-index: var(--popover-zindex);\n display: block;\n max-width: var(--popover-max-width);\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: var(--popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: var(--popover-bg);\n background-clip: padding-box;\n border: var(--popover-border-width) solid var(--popover-border-color);\n @include border-radius(var(--popover-border-radius));\n @include box-shadow(var(--popover-box-shadow));\n\n .popover-arrow {\n display: block;\n width: var(--popover-arrow-width);\n height: var(--popover-arrow-height);\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n }\n }\n }\n\n .bs-popover-top {\n > .popover-arrow {\n bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n &::before,\n &::after {\n border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n }\n\n &::before {\n bottom: 0;\n border-block-start-color: var(--popover-arrow-border);\n }\n\n &::after {\n bottom: var(--popover-border-width);\n border-block-start-color: var(--popover-bg);\n }\n }\n }\n\n .bs-popover-end {\n > .popover-arrow {\n left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n\n &::before,\n &::after {\n border-width: calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n }\n\n &::before {\n left: 0;\n border-inline-end-color: var(--popover-arrow-border);\n }\n\n &::after {\n left: var(--popover-border-width);\n border-inline-end-color: var(--popover-bg);\n }\n }\n }\n\n .bs-popover-bottom {\n > .popover-arrow {\n top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n &::before,\n &::after {\n border-width: 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n }\n\n &::before {\n top: 0;\n border-block-end-color: var(--popover-arrow-border);\n }\n\n &::after {\n top: var(--popover-border-width);\n border-block-end-color: var(--popover-bg);\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--popover-arrow-width);\n margin-inline-start: calc(-.5 * var(--popover-arrow-width));\n content: \"\";\n border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n }\n }\n\n .bs-popover-start {\n > .popover-arrow {\n right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n\n &::before,\n &::after {\n border-width: calc(var(--popover-arrow-width) * .5) 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n }\n\n &::before {\n right: 0;\n border-inline-start-color: var(--popover-arrow-border);\n }\n\n &::after {\n right: var(--popover-border-width);\n border-inline-start-color: var(--popover-bg);\n }\n }\n }\n\n .bs-popover-auto {\n &[data-bs-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[data-bs-placement^=\"right\"] {\n @extend .bs-popover-end;\n }\n &[data-bs-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[data-bs-placement^=\"left\"] {\n @extend .bs-popover-start;\n }\n }\n\n // Offset the popover to account for the popover arrow\n .popover-header {\n padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n margin-bottom: 0; // Reset the default from Reboot\n font-size: var(--popover-header-font-size);\n color: var(--popover-header-color);\n background-color: var(--popover-header-bg);\n border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n @include border-top-radius(var(--popover-inner-border-radius));\n\n &:empty {\n display: none;\n }\n }\n\n .popover-body {\n padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n color: var(--popover-body-color);\n }\n}\n","@use \"config\" as *;\n@use \"functions\" 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 \"mixins/tokens\" as *;\n\n$progress-tokens: () !default;\n\n// scss-docs-start progress-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$progress-tokens: defaults(\n (\n --progress-height: 1rem,\n --progress-font-size: var(--font-size-sm),\n --progress-bg: var(--bg-2),\n --progress-border-radius: var(--border-radius),\n --progress-box-shadow: var(--box-shadow-inset),\n --progress-bar-color: var(--white),\n --progress-bar-bg: var(--primary-bg),\n --progress-bar-transition: width .6s ease,\n --progress-bar-animation: progress-bar-stripes 1s linear infinite,\n ),\n $progress-tokens\n);\n// scss-docs-end progress-tokens\n\n// Disable animation if transitions are disabled\n\n@layer components {\n // scss-docs-start progress-keyframes\n @if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: var(--progress-height); }\n }\n }\n // scss-docs-end progress-keyframes\n\n .progress,\n .progress-stacked {\n @include tokens($progress-tokens);\n\n display: flex;\n height: var(--progress-height);\n overflow: hidden;\n font-size: var(--progress-font-size);\n background-color: var(--progress-bg);\n @include border-radius(var(--progress-border-radius));\n @include box-shadow(var(--progress-box-shadow));\n }\n\n .progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--theme-contrast, var(--progress-bar-color));\n text-align: center;\n white-space: nowrap;\n background-color: var(--theme-bg, var(--progress-bar-bg));\n @include transition(var(--progress-bar-transition));\n }\n\n .progress-bar-striped {\n @include gradient-striped();\n background-size: var(--progress-height) var(--progress-height);\n }\n\n .progress-stacked > .progress {\n overflow: visible;\n }\n\n .progress-stacked > .progress > .progress-bar {\n width: 100%;\n }\n\n @if $enable-transitions {\n .progress-bar-animated {\n animation: var(--progress-bar-animation);\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$spinner-border-tokens: () !default;\n\n// scss-docs-start spinner-border-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-border-tokens: defaults(\n (\n --spinner-width: 2rem,\n --spinner-height: 2rem,\n --spinner-vertical-align: -.125em,\n --spinner-border-width: .25em,\n --spinner-animation-speed: .75s,\n --spinner-animation-name: spinner-border,\n ),\n $spinner-border-tokens\n);\n// scss-docs-end spinner-border-tokens\n\n$spinner-grow-tokens: () !default;\n\n// scss-docs-start spinner-grow-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-grow-tokens: defaults(\n (\n --spinner-width: 2rem,\n --spinner-height: 2rem,\n --spinner-vertical-align: -.125em,\n --spinner-animation-speed: .75s,\n --spinner-animation-name: spinner-grow,\n ),\n $spinner-grow-tokens\n);\n// scss-docs-end spinner-grow-tokens\n\n// stylelint-enable custom-property-no-missing-var-function\n\n//\n// Rotating border\n//\n\n@layer components {\n // mdo-do: Refactor this to assume flex parent and remove `vertical-align`\n .spinner-grow,\n .spinner-border {\n display: inline-block;\n flex-shrink: 0;\n width: var(--spinner-width);\n height: var(--spinner-height);\n vertical-align: var(--spinner-vertical-align);\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n }\n\n // scss-docs-start spinner-border-keyframes\n @keyframes spinner-border {\n to { transform: rotate(360deg); }\n }\n // scss-docs-end spinner-border-keyframes\n\n .spinner-border {\n @include tokens($spinner-border-tokens);\n\n border: var(--spinner-border-width) solid currentcolor;\n border-inline-end-color: transparent;\n }\n\n .spinner-border-sm {\n // scss-docs-start spinner-border-sm-css-vars\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n --spinner-border-width: .2em;\n // scss-docs-end spinner-border-sm-css-vars\n }\n\n //\n // Growing circle\n //\n\n // scss-docs-start spinner-grow-keyframes\n @keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n }\n // scss-docs-end spinner-grow-keyframes\n\n .spinner-grow {\n @include tokens($spinner-grow-tokens);\n\n background-color: currentcolor;\n opacity: 0;\n }\n\n .spinner-grow-sm {\n // scss-docs-start spinner-grow-sm-css-vars\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n // scss-docs-end spinner-grow-sm-css-vars\n }\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --spinner-animation-speed: 1.5s;\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$stepper-tokens: () !default;\n\n// scss-docs-start stepper-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$stepper-tokens: defaults(\n (\n --stepper-size: 2rem,\n --stepper-gap: 1rem,\n --stepper-font-size: var(--font-size-sm),\n --stepper-text-gap: .5rem,\n --stepper-track-size: .125rem,\n --stepper-bg: var(--bg-2),\n --stepper-active-color: var(--primary-contrast),\n --stepper-active-bg: var(--primary-bg),\n ),\n $stepper-tokens\n);\n// scss-docs-end stepper-tokens\n\n// scss-docs-start stepper-horizontal-mixin\n@mixin stepper-horizontal() {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n\n .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n\n &::after {\n inset-block-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n\n &:last-child::after {\n right: 100%;\n }\n }\n}\n// scss-docs-end stepper-horizontal-mixin\n\n@layer components {\n .stepper {\n @include tokens($stepper-tokens);\n\n display: grid;\n grid-auto-rows: 1fr;\n grid-auto-flow: row;\n gap: var(--stepper-gap);\n padding-inline-start: 0;\n list-style: none;\n counter-reset: stepper;\n }\n\n .stepper-item {\n position: relative;\n display: grid;\n grid-template-rows: auto;\n grid-template-columns: var(--stepper-size) auto;\n gap: var(--stepper-text-gap);\n align-items: var(--stepper-align-items, center);\n text-decoration: none;\n\n // The counter\n &::before {\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--stepper-size);\n height: var(--stepper-size);\n padding: .5rem;\n font-size: var(--stepper-font-size);\n font-weight: 600;\n line-height: 1;\n text-align: center;\n content: counter(stepper);\n counter-increment: stepper;\n background-color: var(--stepper-bg);\n @include border-radius(50%);\n }\n\n // Connecting lines\n &::after {\n position: absolute;\n inset-block-start: 50%;\n inset-block-end: 100%;\n inset-inline-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n width: var(--stepper-track-size);\n height: calc(100% + var(--stepper-gap));\n content: \"\";\n background-color: var(--stepper-bg);\n }\n\n // Avoid sibling selector for easier CSS overrides\n &:last-child::after {\n display: none;\n }\n\n &.active {\n &::before,\n &::after {\n color: var(--theme-contrast, var(--stepper-active-color));\n background-color: var(--theme-bg, var(--stepper-active-bg));\n }\n }\n }\n\n // Targets the last .active element from a sequence of active elements\n .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n background-color: var(--stepper-bg);\n }\n\n .stepper-horizontal {\n @include stepper-horizontal();\n }\n\n @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n @if $next {\n .#{$prefix}stepper-horizontal {\n @include container-breakpoint-up($next) {\n @include stepper-horizontal();\n }\n }\n }\n }\n\n // scss-docs-start stepper-overflow\n .stepper-overflow {\n container-type: inline-size;\n overflow-x: auto;\n overscroll-behavior-x: contain;\n -webkit-overflow-scrolling: touch;\n\n > .stepper {\n width: max-content;\n min-width: 100%;\n }\n }\n // scss-docs-end stepper-overflow\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$toast-tokens: () !default;\n\n// scss-docs-start toast-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$toast-tokens: defaults(\n (\n --toast-zindex: #{$zindex-toast},\n --toast-padding-x: .75rem,\n --toast-padding-y: .5rem,\n --toast-spacing: #{$container-padding-x},\n --toast-max-width: 350px,\n --toast-font-size: .875rem,\n --toast-color: null,\n --toast-bg: rgba(var(--body-bg-rgb), .85),\n --toast-border-width: var(--border-width),\n --toast-border-color: var(--border-color-translucent),\n --toast-border-radius: var(--border-radius),\n --toast-box-shadow: var(--box-shadow),\n --toast-header-color: var(--fg-3),\n --toast-header-bg: rgba(var(--body-bg-rgb), .85),\n --toast-header-border-color: var(--border-color-translucent),\n ),\n $toast-tokens\n);\n// stylelint-enable custom-property-no-missing-var-function\n// scss-docs-end toast-tokens\n\n@layer components {\n .toast {\n @include tokens($toast-tokens);\n\n width: var(--toast-max-width);\n max-width: 100%;\n font-size: var(--toast-font-size);\n color: var(--toast-color);\n pointer-events: auto;\n background-color: var(--toast-bg);\n background-clip: padding-box;\n border: var(--toast-border-width) solid var(--toast-border-color);\n box-shadow: var(--toast-box-shadow);\n @include border-radius(var(--toast-border-radius));\n\n &.showing {\n opacity: 0;\n }\n\n &:not(.show) {\n display: none;\n }\n }\n\n .toast-container {\n --toast-zindex: #{$zindex-toast};\n\n position: absolute;\n z-index: var(--toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n\n > :not(:last-child) {\n margin-bottom: var(--toast-spacing);\n }\n }\n\n .toast-header {\n display: flex;\n align-items: center;\n padding: var(--toast-padding-y) var(--toast-padding-x);\n color: var(--toast-header-color);\n background-color: var(--toast-header-bg);\n background-clip: padding-box;\n border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n @include border-top-radius(calc(var(--toast-border-radius) - var(--toast-border-width)));\n\n .btn-close {\n margin-inline-start: var(--toast-padding-x);\n margin-inline-end: calc(-.5 * var(--toast-padding-x));\n }\n }\n\n .toast-translucent {\n backdrop-filter: blur(5px) saturate(180%);\n }\n\n .toast-body {\n padding: var(--toast-padding-x);\n word-wrap: break-word;\n }\n}\n","@use \"config\" 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","@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: $icon-link-gap;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n text-underline-offset: $icon-link-underline-offset;\n backface-visibility: hidden;\n\n > .bi {\n flex-shrink: 0;\n width: $icon-link-icon-size;\n height: $icon-link-icon-size;\n fill: currentcolor;\n @include transition($icon-link-icon-transition);\n }\n }\n\n .icon-link-hover {\n &:hover,\n &:focus-visible {\n > .bi {\n transform: var(--icon-link-transform, $icon-link-icon-transform);\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: $zindex-fixed;\n }\n\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: $zindex-fixed;\n }\n\n // Responsive sticky top and bottom\n @each $breakpoint in map.keys($breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n .#{$prefix}sticky-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n\n .#{$prefix}sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: $zindex-sticky;\n }\n }\n }\n}\n","@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n // scss-docs-start stacks\n .stack-container {\n @include set-container();\n }\n\n [class*=\"hstack\"],\n [class*=\"vstack\"] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n\n @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n .#{$prefix}vstack {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n .#{$prefix}hstack {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n }\n // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n @include generate-theme-classes();\n}\n","@use \"sass:meta\";\n@use \"sass:map\";\n\n@function theme-color-values($key) {\n $result: ();\n\n @each $color-name, $color-map in $theme-colors {\n @if map.has-key($color-map, $key) {\n $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n }\n }\n\n @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n $result: ();\n\n @each $key, $value in $opacities {\n @if $key == 100 {\n // For 100%, use direct variable reference (more efficient)\n $result: map.merge($result, ($key: var($color-var)));\n } @else {\n // For other values, use color-mix()\n $percentage: $key * 1%;\n $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n }\n }\n\n @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n @each $color-name, $color-map in $theme-colors {\n .theme-#{$color-name} {\n @each $key, $value in $color-map {\n --theme-#{$key}: var(--#{$color-name}-#{$key});\n }\n }\n }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n @each $key, $value in $map {\n // stylelint-disable-next-line scss/at-function-named-arguments\n $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n @if meta.type-of($value) == \"map\" {\n @include create-css-vars($value, $current-key);\n } @else {\n --#{$current-key}: #{$value};\n }\n }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n \"primary\": (\n \"base\": var(--blue-500),\n \"text\": light-dark(var(--blue-600), var(--blue-400)),\n \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n \"bg\": var(--blue-500),\n \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n \"border\": light-dark(var(--blue-300), var(--blue-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"accent\": (\n \"base\": var(--indigo-500),\n \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n \"bg\": var(--indigo-500),\n \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"success\": (\n \"base\": var(--green-500),\n \"text\": light-dark(var(--green-600), var(--green-400)),\n \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n \"bg\": var(--green-500),\n \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n \"border\": light-dark(var(--green-300), var(--green-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"danger\": (\n \"base\": var(--red-500),\n \"text\": light-dark(var(--red-600), var(--red-400)),\n \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n \"bg\": var(--red-500),\n \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n \"border\": light-dark(var(--red-300), var(--red-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"warning\": (\n \"base\": var(--yellow-500),\n \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n \"bg\": var(--yellow-500),\n \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"info\": (\n \"base\": var(--cyan-500),\n \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n \"bg\": var(--cyan-500),\n \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"inverse\": (\n \"base\": var(--gray-900),\n \"text\": light-dark(var(--gray-900), var(--gray-200)),\n \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n \"border\": light-dark(var(--gray-400), var(--gray-100)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--white), var(--gray-900))\n ),\n \"secondary\": (\n \"base\": var(--gray-200),\n \"text\": light-dark(var(--gray-600), var(--gray-400)),\n \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n \"border\": light-dark(var(--gray-300), var(--gray-600)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--gray-900), var(--white))\n )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n \"body\": light-dark(var(--white), var(--gray-975)),\n \"1\": light-dark(var(--gray-025), var(--gray-950)),\n \"2\": light-dark(var(--gray-050), var(--gray-900)),\n \"3\": light-dark(var(--gray-100), var(--gray-800)),\n \"4\": light-dark(var(--gray-200), var(--gray-700)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"transparent\": transparent,\n \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n \"body\": light-dark(var(--gray-900), var(--gray-050)),\n \"1\": light-dark(var(--gray-800), var(--gray-200)),\n \"2\": light-dark(var(--gray-700), var(--gray-300)),\n \"3\": light-dark(var(--gray-600), var(--gray-500)),\n \"4\": light-dark(var(--gray-500), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n \"bg\": var(--bg-body),\n \"body\": light-dark(var(--gray-300), var(--gray-800)),\n \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n 10: .1,\n 20: .2,\n 30: .3,\n 40: .4,\n 50: .5,\n 60: .6,\n 70: .7,\n 80: .8,\n 90: .9,\n 100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n\n // Fix for positioned table caption that could become anonymous cells\n &:not(caption) {\n position: absolute !important;\n }\n\n // Fix to prevent overflowing children to become focusable\n * {\n overflow: hidden !important;\n }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n &:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n .stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n inset: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n .text-truncate {\n @include text-truncate();\n }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../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($breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $prefix: breakpoint-prefix($breakpoint, $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 $prefix == \"\") {\n @include generate-utility($utility, $prefix);\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\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n // Validate required keys\n @if not map.has-key($utility, property) {\n @error \"Utility is missing required `property` key: #{$utility}\";\n }\n @if not map.has-key($utility, values) {\n @error \"Utility is missing required `values` key: #{$utility}\";\n }\n\n // Warn on unknown keys (likely typos)\n $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n @each $key in map.keys($utility) {\n @if not list.index($valid-keys, $key) {\n @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n }\n }\n\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selectorType) {\n @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selectorType != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n }\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // Don't add a dash before value key if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $prefix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n @if $customClass != \"\" {\n $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n } @else if $selectorClass != null and $selectorClass != \"\" {\n $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n } @else {\n $selector: \".#{$prefix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n"]}
\ No newline at end of file
-:root{--bs-blue-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .24 240));--bs-blue-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .24 240));--bs-blue-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .24 240));--bs-blue-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .24 240));--bs-blue-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .24 240));--bs-blue-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .24 240));--bs-blue-500:oklch(60% .24 240);--bs-blue-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .24 240));--bs-blue-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .24 240));--bs-blue-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .24 240));--bs-blue-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .24 240));--bs-blue-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .24 240));--bs-blue-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .24 240));--bs-indigo-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .26 288));--bs-indigo-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .26 288));--bs-indigo-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .26 288));--bs-indigo-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .26 288));--bs-indigo-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .26 288));--bs-indigo-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .26 288));--bs-indigo-500:oklch(56% .26 288);--bs-indigo-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .26 288));--bs-indigo-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .26 288));--bs-indigo-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .26 288));--bs-indigo-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .26 288));--bs-indigo-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .26 288));--bs-indigo-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .26 288));--bs-violet-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 300));--bs-violet-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 300));--bs-violet-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 300));--bs-violet-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 300));--bs-violet-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 300));--bs-violet-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 300));--bs-violet-500:oklch(56% .24 300);--bs-violet-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 300));--bs-violet-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 300));--bs-violet-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 300));--bs-violet-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 300));--bs-violet-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 300));--bs-violet-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 300));--bs-purple-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 320));--bs-purple-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 320));--bs-purple-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 320));--bs-purple-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 320));--bs-purple-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 320));--bs-purple-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 320));--bs-purple-500:oklch(56% .24 320);--bs-purple-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 320));--bs-purple-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 320));--bs-purple-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 320));--bs-purple-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 320));--bs-purple-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 320));--bs-purple-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 320));--bs-pink-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 4));--bs-pink-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 4));--bs-pink-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 4));--bs-pink-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 4));--bs-pink-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 4));--bs-pink-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 4));--bs-pink-500:oklch(60% .22 4);--bs-pink-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 4));--bs-pink-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 4));--bs-pink-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 4));--bs-pink-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 4));--bs-pink-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 4));--bs-pink-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 4));--bs-red-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 20));--bs-red-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 20));--bs-red-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 20));--bs-red-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 20));--bs-red-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 20));--bs-red-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 20));--bs-red-500:oklch(60% .22 20);--bs-red-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 20));--bs-red-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 20));--bs-red-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 20));--bs-red-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 20));--bs-red-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 20));--bs-red-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 20));--bs-orange-025:color-mix(in lab, var(--bs-white) 94%, oklch(70% .22 52));--bs-orange-050:color-mix(in lab, var(--bs-white) 90%, oklch(70% .22 52));--bs-orange-100:color-mix(in lab, var(--bs-white) 80%, oklch(70% .22 52));--bs-orange-200:color-mix(in lab, var(--bs-white) 60%, oklch(70% .22 52));--bs-orange-300:color-mix(in lab, var(--bs-white) 40%, oklch(70% .22 52));--bs-orange-400:color-mix(in lab, var(--bs-white) 20%, oklch(70% .22 52));--bs-orange-500:oklch(70% .22 52);--bs-orange-600:color-mix(in lab, var(--bs-black) 16%, oklch(70% .22 52));--bs-orange-700:color-mix(in lab, var(--bs-black) 32%, oklch(70% .22 52));--bs-orange-800:color-mix(in lab, var(--bs-black) 48%, oklch(70% .22 52));--bs-orange-900:color-mix(in lab, var(--bs-black) 64%, oklch(70% .22 52));--bs-orange-950:color-mix(in lab, var(--bs-black) 76%, oklch(70% .22 52));--bs-orange-975:color-mix(in lab, var(--bs-black) 88%, oklch(70% .22 52));--bs-amber-025:color-mix(in lab, var(--bs-white) 94%, oklch(79% .2 78));--bs-amber-050:color-mix(in lab, var(--bs-white) 90%, oklch(79% .2 78));--bs-amber-100:color-mix(in lab, var(--bs-white) 80%, oklch(79% .2 78));--bs-amber-200:color-mix(in lab, var(--bs-white) 60%, oklch(79% .2 78));--bs-amber-300:color-mix(in lab, var(--bs-white) 40%, oklch(79% .2 78));--bs-amber-400:color-mix(in lab, var(--bs-white) 20%, oklch(79% .2 78));--bs-amber-500:oklch(79% .2 78);--bs-amber-600:color-mix(in lab, var(--bs-black) 16%, oklch(79% .2 78));--bs-amber-700:color-mix(in lab, var(--bs-black) 32%, oklch(79% .2 78));--bs-amber-800:color-mix(in lab, var(--bs-black) 48%, oklch(79% .2 78));--bs-amber-900:color-mix(in lab, var(--bs-black) 64%, oklch(79% .2 78));--bs-amber-950:color-mix(in lab, var(--bs-black) 76%, oklch(79% .2 78));--bs-amber-975:color-mix(in lab, var(--bs-black) 88%, oklch(79% .2 78));--bs-yellow-025:color-mix(in lab, var(--bs-white) 94%, oklch(88% .24 88));--bs-yellow-050:color-mix(in lab, var(--bs-white) 90%, oklch(88% .24 88));--bs-yellow-100:color-mix(in lab, var(--bs-white) 80%, oklch(88% .24 88));--bs-yellow-200:color-mix(in lab, var(--bs-white) 60%, oklch(88% .24 88));--bs-yellow-300:color-mix(in lab, var(--bs-white) 40%, oklch(88% .24 88));--bs-yellow-400:color-mix(in lab, var(--bs-white) 20%, oklch(88% .24 88));--bs-yellow-500:oklch(88% .24 88);--bs-yellow-600:color-mix(in lab, var(--bs-black) 16%, oklch(88% .24 88));--bs-yellow-700:color-mix(in lab, var(--bs-black) 32%, oklch(88% .24 88));--bs-yellow-800:color-mix(in lab, var(--bs-black) 48%, oklch(88% .24 88));--bs-yellow-900:color-mix(in lab, var(--bs-black) 64%, oklch(88% .24 88));--bs-yellow-950:color-mix(in lab, var(--bs-black) 76%, oklch(88% .24 88));--bs-yellow-975:color-mix(in lab, var(--bs-black) 88%, oklch(88% .24 88));--bs-lime-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .24 135));--bs-lime-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .24 135));--bs-lime-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .24 135));--bs-lime-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .24 135));--bs-lime-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .24 135));--bs-lime-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .24 135));--bs-lime-500:oklch(65% .24 135);--bs-lime-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .24 135));--bs-lime-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .24 135));--bs-lime-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .24 135));--bs-lime-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .24 135));--bs-lime-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .24 135));--bs-lime-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .24 135));--bs-green-025:color-mix(in lab, var(--bs-white) 94%, oklch(64% .22 160));--bs-green-050:color-mix(in lab, var(--bs-white) 90%, oklch(64% .22 160));--bs-green-100:color-mix(in lab, var(--bs-white) 80%, oklch(64% .22 160));--bs-green-200:color-mix(in lab, var(--bs-white) 60%, oklch(64% .22 160));--bs-green-300:color-mix(in lab, var(--bs-white) 40%, oklch(64% .22 160));--bs-green-400:color-mix(in lab, var(--bs-white) 20%, oklch(64% .22 160));--bs-green-500:oklch(64% .22 160);--bs-green-600:color-mix(in lab, var(--bs-black) 16%, oklch(64% .22 160));--bs-green-700:color-mix(in lab, var(--bs-black) 32%, oklch(64% .22 160));--bs-green-800:color-mix(in lab, var(--bs-black) 48%, oklch(64% .22 160));--bs-green-900:color-mix(in lab, var(--bs-black) 64%, oklch(64% .22 160));--bs-green-950:color-mix(in lab, var(--bs-black) 76%, oklch(64% .22 160));--bs-green-975:color-mix(in lab, var(--bs-black) 88%, oklch(64% .22 160));--bs-teal-025:color-mix(in lab, var(--bs-white) 94%, oklch(68% .22 190));--bs-teal-050:color-mix(in lab, var(--bs-white) 90%, oklch(68% .22 190));--bs-teal-100:color-mix(in lab, var(--bs-white) 80%, oklch(68% .22 190));--bs-teal-200:color-mix(in lab, var(--bs-white) 60%, oklch(68% .22 190));--bs-teal-300:color-mix(in lab, var(--bs-white) 40%, oklch(68% .22 190));--bs-teal-400:color-mix(in lab, var(--bs-white) 20%, oklch(68% .22 190));--bs-teal-500:oklch(68% .22 190);--bs-teal-600:color-mix(in lab, var(--bs-black) 16%, oklch(68% .22 190));--bs-teal-700:color-mix(in lab, var(--bs-black) 32%, oklch(68% .22 190));--bs-teal-800:color-mix(in lab, var(--bs-black) 48%, oklch(68% .22 190));--bs-teal-900:color-mix(in lab, var(--bs-black) 64%, oklch(68% .22 190));--bs-teal-950:color-mix(in lab, var(--bs-black) 76%, oklch(68% .22 190));--bs-teal-975:color-mix(in lab, var(--bs-black) 88%, oklch(68% .22 190));--bs-cyan-025:color-mix(in lab, var(--bs-white) 94%, oklch(69% .22 220));--bs-cyan-050:color-mix(in lab, var(--bs-white) 90%, oklch(69% .22 220));--bs-cyan-100:color-mix(in lab, var(--bs-white) 80%, oklch(69% .22 220));--bs-cyan-200:color-mix(in lab, var(--bs-white) 60%, oklch(69% .22 220));--bs-cyan-300:color-mix(in lab, var(--bs-white) 40%, oklch(69% .22 220));--bs-cyan-400:color-mix(in lab, var(--bs-white) 20%, oklch(69% .22 220));--bs-cyan-500:oklch(69% .22 220);--bs-cyan-600:color-mix(in lab, var(--bs-black) 16%, oklch(69% .22 220));--bs-cyan-700:color-mix(in lab, var(--bs-black) 32%, oklch(69% .22 220));--bs-cyan-800:color-mix(in lab, var(--bs-black) 48%, oklch(69% .22 220));--bs-cyan-900:color-mix(in lab, var(--bs-black) 64%, oklch(69% .22 220));--bs-cyan-950:color-mix(in lab, var(--bs-black) 76%, oklch(69% .22 220));--bs-cyan-975:color-mix(in lab, var(--bs-black) 88%, oklch(69% .22 220));--bs-brown-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .12 54));--bs-brown-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .12 54));--bs-brown-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .12 54));--bs-brown-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .12 54));--bs-brown-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .12 54));--bs-brown-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .12 54));--bs-brown-500:oklch(60% .12 54);--bs-brown-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .12 54));--bs-brown-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .12 54));--bs-brown-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .12 54));--bs-brown-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .12 54));--bs-brown-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .12 54));--bs-brown-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .12 54));--bs-gray-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .02 245));--bs-gray-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .02 245));--bs-gray-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .02 245));--bs-gray-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .02 245));--bs-gray-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .02 245));--bs-gray-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .02 245));--bs-gray-500:oklch(60% .02 245);--bs-gray-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .02 245));--bs-gray-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .02 245));--bs-gray-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .02 245));--bs-gray-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .02 245));--bs-gray-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .02 245));--bs-gray-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .02 245));--bs-pewter-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .01 290));--bs-pewter-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .01 290));--bs-pewter-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .01 290));--bs-pewter-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .01 290));--bs-pewter-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .01 290));--bs-pewter-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .01 290));--bs-pewter-500:oklch(65% .01 290);--bs-pewter-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .01 290));--bs-pewter-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .01 290));--bs-pewter-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .01 290));--bs-pewter-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .01 290));--bs-pewter-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .01 290));--bs-pewter-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .01 290))}@layer colors,theme,config,root;@layer reboot{*,:before,:after{box-sizing:border-box}:root{accent-color:var(--bs-primary-base)}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{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-fg-body);text-align:var(--bs-body-text-align);background-color:var(--bs-bg-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0}hr{margin:var(--bs-hr-margin-y,var(--bs-spacer)) 0;border:0;border-block-start:var(--bs-border-width) solid var(--bs-hr-border-color)}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{color:var(--bs-heading-color);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:var(--bs-font-size-3xl)}h2,.h2{font-size:var(--bs-font-size-2xl)}h3,.h3{font-size:var(--bs-font-size-xl)}h4,.h4{font-size:var(--bs-font-size-lg)}h5,.h5{font-size:var(--bs-font-size-md)}h6,.h6{font-size:var(--bs-font-size-sm)}p{margin-top:0;margin-bottom:1rem}abbr[title]{cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-inline-start: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-inline-start:0;margin-bottom:.5rem}blockquote{margin:0 0 1rem}blockquote>*{margin-block:0}b,strong{font-weight:bolder}small,.small{font-size:var(--bs-small-font-size,87.5%)}mark,.mark{--bs-mark-padding:.1875em;--bs-mark-color:var(--bs-fg-body);--bs-mark-bg:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));padding:var(--bs-mark-padding);color:var(--bs-mark-color);background-color:var(--bs-mark-bg)}sub,sup{font-size:var(--bs-sub-sup-font-size,.75em);vertical-align:baseline;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-theme-text,var(--bs-link-color));-webkit-text-decoration:var(--bs-link-decoration);-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration);text-underline-offset:.2em}a:hover{color:var(--bs-theme-text-emphasis,var(--bs-link-hover-color));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration))}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-mono);font-size:1em}pre{font-size:var(--bs-code-font-size);color:var(--bs-code-color,inherit);margin-top:0;margin-bottom:1rem;display:block;overflow:auto}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:var(--bs-code-font-size);color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{--bs-kbd-padding-y:.125rem;--bs-kbd-padding-x:.25rem;--bs-kbd-font-size:var(--bs-font-size-xs);--bs-kbd-color:var(--bs-bg-body);--bs-kbd-bg:var(--bs-fg-2);--bs-kbd-border-radius:var(--bs-border-radius-sm);padding:var(--bs-kbd-padding-y) var(--bs-kbd-padding-x);font-size:var(--bs-kbd-font-size);color:var(--bs-kbd-color);background-color:var(--bs-kbd-bg);border-radius:var(--bs-kbd-border-radius)}kbd kbd{font-size:1em;font-weight:inherit;padding:0}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{color:var(--bs-fg-3);text-align:start;padding-block:.5rem}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{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}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{-webkit-appearance:button}[type=button]{-webkit-appearance:button}[type=reset]{-webkit-appearance:button}[type=submit]{-webkit-appearance:button}button:not(:disabled){cursor:pointer}[type=button]:not(:disabled){cursor:pointer}[type=reset]:not(:disabled){cursor:pointer}[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}textarea{resize:vertical}fieldset{border:0;min-width:0;margin:0;padding:0}legend{float:inline-start;width:100%;font-size:1.5rem;line-height:inherit;margin-bottom:.5rem;padding:0}legend+*{clear:inline-start}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-text{padding:0}::-webkit-datetime-edit-millisecond-field{padding:0}::-webkit-datetime-edit-second-field{padding:0}::-webkit-datetime-edit-minute-field{padding:0}::-webkit-datetime-edit-hour-field{padding:0}::-webkit-datetime-edit-ampm-field{padding:0}::-webkit-datetime-edit-day-field{padding:0}::-webkit-datetime-edit-week-field{padding:0}::-webkit-datetime-edit-month-field{padding:0}::-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()}[type=tel]{direction:ltr}[type=url]{direction:ltr}[type=email]{direction:ltr}[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{cursor:pointer;display:list-item}progress{vertical-align:baseline}[hidden]{display:none!important}}@layer layout{.container,.container-fluid,.container-2xl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-inline: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:1024px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width:1280px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1200px}}@media (min-width:1536px){.container-2xl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1440px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-inline:calc(-.5 * var(--bs-gutter-x));margin-top:calc(-1 * var(--bs-gutter-y));flex-wrap:wrap;display:flex}.row>*{width:100%;max-width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y);flex-shrink:0}.col{flex:1 0 0}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.3333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.6667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333%}.col-2{flex:none;width:16.6667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.3333%}.col-5{flex:none;width:41.6667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.3333%}.col-8{flex:none;width:66.6667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.3333%}.col-11{flex:none;width:91.6667%}.col-12{flex:none;width:100%}.offset-1{margin-inline-start:8.33333%}.offset-2{margin-inline-start:16.6667%}.offset-3{margin-inline-start:25%}.offset-4{margin-inline-start:33.3333%}.offset-5{margin-inline-start:41.6667%}.offset-6{margin-inline-start:50%}.offset-7{margin-inline-start:58.3333%}.offset-8{margin-inline-start:66.6667%}.offset-9{margin-inline-start:75%}.offset-10{margin-inline-start:83.3333%}.offset-11{margin-inline-start:91.6667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.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:none;width:auto}.row-cols-sm-1>*{flex:none;width:100%}.row-cols-sm-2>*{flex:none;width:50%}.row-cols-sm-3>*{flex:none;width:33.3333%}.row-cols-sm-4>*{flex:none;width:25%}.row-cols-sm-5>*{flex:none;width:20%}.row-cols-sm-6>*{flex:none;width:16.6667%}.col-sm-auto{flex:none;width:auto}.col-sm-1{flex:none;width:8.33333%}.col-sm-2{flex:none;width:16.6667%}.col-sm-3{flex:none;width:25%}.col-sm-4{flex:none;width:33.3333%}.col-sm-5{flex:none;width:41.6667%}.col-sm-6{flex:none;width:50%}.col-sm-7{flex:none;width:58.3333%}.col-sm-8{flex:none;width:66.6667%}.col-sm-9{flex:none;width:75%}.col-sm-10{flex:none;width:83.3333%}.col-sm-11{flex:none;width:91.6667%}.col-sm-12{flex:none;width:100%}.offset-sm-0{margin-inline-start:0}.offset-sm-1{margin-inline-start:8.33333%}.offset-sm-2{margin-inline-start:16.6667%}.offset-sm-3{margin-inline-start:25%}.offset-sm-4{margin-inline-start:33.3333%}.offset-sm-5{margin-inline-start:41.6667%}.offset-sm-6{margin-inline-start:50%}.offset-sm-7{margin-inline-start:58.3333%}.offset-sm-8{margin-inline-start:66.6667%}.offset-sm-9{margin-inline-start:75%}.offset-sm-10{margin-inline-start:83.3333%}.offset-sm-11{margin-inline-start:91.6667%}.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:.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:.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:none;width:auto}.row-cols-md-1>*{flex:none;width:100%}.row-cols-md-2>*{flex:none;width:50%}.row-cols-md-3>*{flex:none;width:33.3333%}.row-cols-md-4>*{flex:none;width:25%}.row-cols-md-5>*{flex:none;width:20%}.row-cols-md-6>*{flex:none;width:16.6667%}.col-md-auto{flex:none;width:auto}.col-md-1{flex:none;width:8.33333%}.col-md-2{flex:none;width:16.6667%}.col-md-3{flex:none;width:25%}.col-md-4{flex:none;width:33.3333%}.col-md-5{flex:none;width:41.6667%}.col-md-6{flex:none;width:50%}.col-md-7{flex:none;width:58.3333%}.col-md-8{flex:none;width:66.6667%}.col-md-9{flex:none;width:75%}.col-md-10{flex:none;width:83.3333%}.col-md-11{flex:none;width:91.6667%}.col-md-12{flex:none;width:100%}.offset-md-0{margin-inline-start:0}.offset-md-1{margin-inline-start:8.33333%}.offset-md-2{margin-inline-start:16.6667%}.offset-md-3{margin-inline-start:25%}.offset-md-4{margin-inline-start:33.3333%}.offset-md-5{margin-inline-start:41.6667%}.offset-md-6{margin-inline-start:50%}.offset-md-7{margin-inline-start:58.3333%}.offset-md-8{margin-inline-start:66.6667%}.offset-md-9{margin-inline-start:75%}.offset-md-10{margin-inline-start:83.3333%}.offset-md-11{margin-inline-start:91.6667%}.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:.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:.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:1024px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:none;width:auto}.row-cols-lg-1>*{flex:none;width:100%}.row-cols-lg-2>*{flex:none;width:50%}.row-cols-lg-3>*{flex:none;width:33.3333%}.row-cols-lg-4>*{flex:none;width:25%}.row-cols-lg-5>*{flex:none;width:20%}.row-cols-lg-6>*{flex:none;width:16.6667%}.col-lg-auto{flex:none;width:auto}.col-lg-1{flex:none;width:8.33333%}.col-lg-2{flex:none;width:16.6667%}.col-lg-3{flex:none;width:25%}.col-lg-4{flex:none;width:33.3333%}.col-lg-5{flex:none;width:41.6667%}.col-lg-6{flex:none;width:50%}.col-lg-7{flex:none;width:58.3333%}.col-lg-8{flex:none;width:66.6667%}.col-lg-9{flex:none;width:75%}.col-lg-10{flex:none;width:83.3333%}.col-lg-11{flex:none;width:91.6667%}.col-lg-12{flex:none;width:100%}.offset-lg-0{margin-inline-start:0}.offset-lg-1{margin-inline-start:8.33333%}.offset-lg-2{margin-inline-start:16.6667%}.offset-lg-3{margin-inline-start:25%}.offset-lg-4{margin-inline-start:33.3333%}.offset-lg-5{margin-inline-start:41.6667%}.offset-lg-6{margin-inline-start:50%}.offset-lg-7{margin-inline-start:58.3333%}.offset-lg-8{margin-inline-start:66.6667%}.offset-lg-9{margin-inline-start:75%}.offset-lg-10{margin-inline-start:83.3333%}.offset-lg-11{margin-inline-start:91.6667%}.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:.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:.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:1280px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:none;width:auto}.row-cols-xl-1>*{flex:none;width:100%}.row-cols-xl-2>*{flex:none;width:50%}.row-cols-xl-3>*{flex:none;width:33.3333%}.row-cols-xl-4>*{flex:none;width:25%}.row-cols-xl-5>*{flex:none;width:20%}.row-cols-xl-6>*{flex:none;width:16.6667%}.col-xl-auto{flex:none;width:auto}.col-xl-1{flex:none;width:8.33333%}.col-xl-2{flex:none;width:16.6667%}.col-xl-3{flex:none;width:25%}.col-xl-4{flex:none;width:33.3333%}.col-xl-5{flex:none;width:41.6667%}.col-xl-6{flex:none;width:50%}.col-xl-7{flex:none;width:58.3333%}.col-xl-8{flex:none;width:66.6667%}.col-xl-9{flex:none;width:75%}.col-xl-10{flex:none;width:83.3333%}.col-xl-11{flex:none;width:91.6667%}.col-xl-12{flex:none;width:100%}.offset-xl-0{margin-inline-start:0}.offset-xl-1{margin-inline-start:8.33333%}.offset-xl-2{margin-inline-start:16.6667%}.offset-xl-3{margin-inline-start:25%}.offset-xl-4{margin-inline-start:33.3333%}.offset-xl-5{margin-inline-start:41.6667%}.offset-xl-6{margin-inline-start:50%}.offset-xl-7{margin-inline-start:58.3333%}.offset-xl-8{margin-inline-start:66.6667%}.offset-xl-9{margin-inline-start:75%}.offset-xl-10{margin-inline-start:83.3333%}.offset-xl-11{margin-inline-start:91.6667%}.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:.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:.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:1536px){.col-2xl{flex:1 0 0}.row-cols-2xl-auto>*{flex:none;width:auto}.row-cols-2xl-1>*{flex:none;width:100%}.row-cols-2xl-2>*{flex:none;width:50%}.row-cols-2xl-3>*{flex:none;width:33.3333%}.row-cols-2xl-4>*{flex:none;width:25%}.row-cols-2xl-5>*{flex:none;width:20%}.row-cols-2xl-6>*{flex:none;width:16.6667%}.col-2xl-auto{flex:none;width:auto}.col-2xl-1{flex:none;width:8.33333%}.col-2xl-2{flex:none;width:16.6667%}.col-2xl-3{flex:none;width:25%}.col-2xl-4{flex:none;width:33.3333%}.col-2xl-5{flex:none;width:41.6667%}.col-2xl-6{flex:none;width:50%}.col-2xl-7{flex:none;width:58.3333%}.col-2xl-8{flex:none;width:66.6667%}.col-2xl-9{flex:none;width:75%}.col-2xl-10{flex:none;width:83.3333%}.col-2xl-11{flex:none;width:91.6667%}.col-2xl-12{flex:none;width:100%}.offset-2xl-0{margin-inline-start:0}.offset-2xl-1{margin-inline-start:8.33333%}.offset-2xl-2{margin-inline-start:16.6667%}.offset-2xl-3{margin-inline-start:25%}.offset-2xl-4{margin-inline-start:33.3333%}.offset-2xl-5{margin-inline-start:41.6667%}.offset-2xl-6{margin-inline-start:50%}.offset-2xl-7{margin-inline-start:58.3333%}.offset-2xl-8{margin-inline-start:66.6667%}.offset-2xl-9{margin-inline-start:75%}.offset-2xl-10{margin-inline-start:83.3333%}.offset-2xl-11{margin-inline-start:91.6667%}.g-2xl-0,.gx-2xl-0{--bs-gutter-x:0}.g-2xl-0,.gy-2xl-0{--bs-gutter-y:0}.g-2xl-1,.gx-2xl-1{--bs-gutter-x:.25rem}.g-2xl-1,.gy-2xl-1{--bs-gutter-y:.25rem}.g-2xl-2,.gx-2xl-2{--bs-gutter-x:.5rem}.g-2xl-2,.gy-2xl-2{--bs-gutter-y:.5rem}.g-2xl-3,.gx-2xl-3{--bs-gutter-x:1rem}.g-2xl-3,.gy-2xl-3{--bs-gutter-y:1rem}.g-2xl-4,.gx-2xl-4{--bs-gutter-x:1.5rem}.g-2xl-4,.gy-2xl-4{--bs-gutter-y:1.5rem}.g-2xl-5,.gx-2xl-5{--bs-gutter-x:3rem}.g-2xl-5,.gy-2xl-5{--bs-gutter-y:3rem}}.grid{--bs-columns:12;--bs-rows:1;--bs-gap:1.5rem;grid-template-rows:repeat(var(--bs-rows), 1fr);grid-template-columns:repeat(var(--bs-columns), 1fr);gap:var(--bs-gap);display:grid}.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:1024px){.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:1280px){.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:1536px){.g-col-2xl-1{grid-column:auto/span 1}.g-col-2xl-2{grid-column:auto/span 2}.g-col-2xl-3{grid-column:auto/span 3}.g-col-2xl-4{grid-column:auto/span 4}.g-col-2xl-5{grid-column:auto/span 5}.g-col-2xl-6{grid-column:auto/span 6}.g-col-2xl-7{grid-column:auto/span 7}.g-col-2xl-8{grid-column:auto/span 8}.g-col-2xl-9{grid-column:auto/span 9}.g-col-2xl-10{grid-column:auto/span 10}.g-col-2xl-11{grid-column:auto/span 11}.g-col-2xl-12{grid-column:auto/span 12}.g-start-2xl-1{grid-column-start:1}.g-start-2xl-2{grid-column-start:2}.g-start-2xl-3{grid-column-start:3}.g-start-2xl-4{grid-column-start:4}.g-start-2xl-5{grid-column-start:5}.g-start-2xl-6{grid-column-start:6}.g-start-2xl-7{grid-column-start:7}.g-start-2xl-8{grid-column-start:8}.g-start-2xl-9{grid-column-start:9}.g-start-2xl-10{grid-column-start:10}.g-start-2xl-11{grid-column-start:11}}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-fill{--bs-gap:1.5rem;gap:var(--bs-gap);grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:row;display:grid}}@layer content{.list-unstyled,.list-inline{padding-inline-start:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-inline-end:var(--bs-list-inline-padding,var(--bs-spacer)/2)}.initialism{font-size:var(--bs-initialism-font-size,var(--bs-font-size-xs));text-transform:uppercase}.blockquote{--bs-blockquote-gap:calc(var(--bs-spacer) / 2);--bs-blockquote-padding-x:var(--bs-spacer);--bs-blockquote-margin-y:1rem;--bs-blockquote-font-size:var(--bs-font-size-md);--bs-blockquote-border-width:.25rem;--bs-blockquote-border-color:var(--bs-border-color);--bs-blockquote-footer-font-size:var(--bs-font-size-sm);--bs-blockquote-footer-color:var(--bs-fg-3);gap:var(--bs-blockquote-gap);margin-bottom:var(--bs-blockquote-margin-y);font-size:var(--bs-blockquote-font-size);border-inline-start:var(--bs-blockquote-border-width) solid var(--bs-blockquote-border-color);flex-direction:column;padding-inline-start:var(--bs-blockquote-padding-x);display:flex}.blockquote>*,figure.blockquote blockquote{margin-bottom:0}.blockquote-footer{font-size:var(--bs-blockquote-footer-font-size);color:var(--bs-blockquote-footer-color)}.blockquote-footer:before{content:"— "}.table{--bs-table-cell-padding-y:.5rem;--bs-table-cell-padding-x:.5rem;--bs-table-cell-vertical-align:top;--bs-table-color:var(--bs-fg-body);--bs-table-bg:var(--bs-bg-body);--bs-table-accent-bg:transparent;--bs-table-border-width:var(--bs-border-width);--bs-table-border-color:var(--bs-border-color);--bs-table-group-separator-color:currentcolor;--bs-table-striped-color:var(--bs-table-color);--bs-table-striped-bg-factor:.05;--bs-table-striped-bg:color-mix(in srgb, var(--bs-table-color) var(--bs-table-striped-bg-factor), transparent);--bs-table-active-color:var(--bs-table-color);--bs-table-active-bg-factor:.1;--bs-table-active-bg:color-mix(in srgb, var(--bs-table-color) var(--bs-table-active-bg-factor), transparent);--bs-table-hover-color:var(--bs-table-color);--bs-table-hover-bg-factor:.075;--bs-table-hover-bg:color-mix(in srgb, var(--bs-table-color) var(--bs-table-hover-bg-factor), transparent);--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;width:100%;vertical-align:var(--bs-table-cell-vertical-align);border-color:var(--bs-theme-border,var(--bs-table-border-color));margin-bottom:1rem}.table>:not(caption)>*>*{padding:var(--bs-table-cell-padding-y) var(--bs-table-cell-padding-x);color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-theme-text,var(--bs-table-color))));background-color:var(--bs-theme-bg-subtle,var(--bs-table-bg));border-block-end-width:var(--bs-table-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-theme-bg-subtle,var(--bs-table-accent-bg))))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-block-start:calc(var(--bs-table-border-width) * 2) solid var(--bs-table-group-separator-color)}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{--bs-table-cell-padding-y:.25rem;--bs-table-cell-padding-x:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-table-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-table-border-width)}.table-borderless>:not(caption)>*>*{border-block-end-width:0}.table-borderless>:not(:first-child){border-block-start-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*,.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-theme-text,var(--bs-table-striped-color));--bs-table-bg-type:color-mix(in srgb, var(--bs-theme-text,var(--bs-table-color)) var(--bs-table-striped-bg-factor), transparent)}.table-active{--bs-table-color-state:var(--bs-theme-text,var(--bs-table-active-color));--bs-table-bg-state:color-mix(in srgb, var(--bs-theme-text,var(--bs-table-color)) var(--bs-table-active-bg-factor), transparent)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-theme-text,var(--bs-table-hover-color));--bs-table-bg-state:color-mix(in srgb, var(--bs-theme-text,var(--bs-table-color)) var(--bs-table-hover-bg-factor), transparent)}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}@media not (min-width:576px){.table-responsive-sm{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media not (min-width:768px){.table-responsive-md{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media not (min-width:1024px){.table-responsive-lg{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media not (min-width:1280px){.table-responsive-xl{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media not (min-width:1536px){.table-responsive-2xl{-webkit-overflow-scrolling:touch;overflow-x:auto}}.img-fluid{max-width:100%;height:auto}.img-thumbnail{--bs-thumbnail-padding:.25rem;--bs-thumbnail-bg:var(--bs-bg-body);--bs-thumbnail-border-width:var(--bs-border-width);--bs-thumbnail-border-color:var(--bs-border-color);--bs-thumbnail-border-radius:var(--bs-border-radius);--bs-thumbnail-box-shadow:var(--bs-box-shadow-sm);padding:var(--bs-thumbnail-padding);background-color:var(--bs-thumbnail-bg);border:var(--bs-thumbnail-border-width) solid var(--bs-thumbnail-border-color);border-radius:var(--bs-thumbnail-border-radius);box-shadow:var(--bs-thumbnail-box-shadow);max-width:100%;height:auto}.figure{--bs-figure-gap:calc(var(--bs-spacer) * .5);--bs-figure-caption-font-size:var(--bs-font-size-sm);--bs-figure-caption-color:var(--bs-fg-3);gap:var(--bs-figure-gap);flex-direction:column;display:flex}.figure-caption{font-size:var(--bs-figure-caption-font-size);color:var(--bs-figure-caption-color)}.prose{--bs-content-font-size:1rem;--bs-content-gap:20px;--bs-heading-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));gap:var(--bs-content-gap);max-width:1000px;font-size:var(--bs-content-font-size);flex-direction:column;margin-inline:auto;line-height:1.5;display:flex;position:relative}@media (min-width:1024px){.prose{--bs-content-font-size:var(--bs-font-size-md);--bs-content-gap:24px}}.prose :where(p,ul,ol,dl,pre,table,blockquote):not(:where(.not-prose,.not-prose *)){margin-block:0}.prose :where(ul,ol):not([class]):not(:where(.not-prose,.not-prose *)) li:not(:last-child){margin-bottom:calc(var(--bs-content-gap) / 4)}.prose :where(li ul,li ol):not(:where(.not-prose,.not-prose *)){margin-top:calc(var(--bs-content-gap) / 4)}.prose :where(hr):not(:where(.not-prose,.not-prose *)){margin:calc(var(--bs-content-gap) * 1.5) 0;border:0;border-block-start:var(--bs-border-width) solid var(--bs-hr-border-color)}.prose :where(h1,h2,h3,h4,h5,h6):not([class]):not(:where(.not-prose,.not-prose *)){margin-top:0;margin-bottom:calc(var(--bs-content-gap) / -2);font-weight:500;line-height:1.25}.prose :where(h1,h2,h3,h4,h5,h6):not([class]):not(:where(.not-prose,.not-prose *)) code{color:inherit;font-weight:600}.prose :where(h1,h2):not(:first-child):not(:where(.not-prose,.not-prose *)){margin-top:calc(var(--bs-content-gap) * .75)}.prose :where(h3,h4,h5,h6):not(:first-child):not(:where(.not-prose,.not-prose *)){margin-top:calc(var(--bs-content-gap) * .5)}.prose :where(h1):not(:where(.not-prose,.not-prose *)){font-size:2.25em;line-height:1.1}.prose :where(h2):not(:where(.not-prose,.not-prose *)){font-size:1.75em}.prose :where(h3):not(:where(.not-prose,.not-prose *)){font-size:1.5em}.prose :where(h4):not(:where(.not-prose,.not-prose *)){font-size:1.25em}.prose :where(h5):not(:where(.not-prose,.not-prose *)){font-size:1.125em}.prose :where(h6):not(:where(.not-prose,.not-prose *)){font-size:1em}.prose :where(a:not([class])):not(:where(.not-prose,.not-prose *)){color:var(--bs-link-color);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--bs-link-color) 25%, transparent);text-decoration-color:color-mix(in srgb, var(--bs-link-color) 25%, transparent);text-underline-offset:4px;transition:text-decoration-color .1s ease-in-out}@media (prefers-reduced-motion:reduce){.prose :where(a:not([class])):not(:where(.not-prose,.not-prose *)){transition:none}}.prose :where(a:not([class])):not(:where(.not-prose,.not-prose *)):hover{-webkit-text-decoration-color:var(--bs-link-hover-color);text-decoration-color:var(--bs-link-hover-color)}.prose :where(img):not(:where(.not-prose,.not-prose *)){max-width:100%}.prose :where(blockquote):not(:where(.not-prose,.not-prose *)){border-inline-start:4px solid var(--bs-border-color);margin:0;padding-inline-start:calc(var(--bs-content-gap) / 2)}.prose :where(table):not(:where(.not-prose,.not-prose *)){border-spacing:0;border-collapse:collapse;width:100%}.prose :where(table:not([class])):not(:where(.not-prose,.not-prose *)) td{text-align:inherit;border:1px solid var(--bs-border-color);padding:6px 12px}.prose :where(table:not([class])):not(:where(.not-prose,.not-prose *)) th{text-align:inherit;border:1px solid var(--bs-border-color);padding:6px 12px}.prose :where(dt):not(:where(.not-prose,.not-prose *)){font-weight:500}.prose :where(video,img):not(:where(.not-prose,.not-prose *)){max-width:100%}}@layer forms{.form-label,.col-form-label{font-size:var(--bs-label-font-size,var(--bs-font-size-sm));font-style:var(--bs-label-font-style,inherit);font-weight:var(--bs-label-font-weight,inherit);color:var(--bs-label-color,var(--bs-fg-body))}.form-label{margin-bottom:var(--bs-label-margin-bottom,calc(var(--bs-spacer) / 2))}.col-form-label{--bs-label-padding-y:calc(var(--bs-btn-input-padding-y) + var(--bs-border-width));padding-block:var(--bs-label-padding-y);margin-bottom:0}.col-form-label-lg{--bs-label-padding-y:calc(var(--bs-btn-input-lg-padding-y) + var(--bs-border-width));font-size:var(--bs-btn-input-lg-font-size)}.col-form-label-sm{--bs-label-padding-y:calc(var(--bs-btn-input-sm-padding-y) + var(--bs-border-width));font-size:var(--bs-btn-input-sm-font-size)}.form-text{--bs-form-text-margin-top:.25rem;--bs-form-text-font-size:var(--bs-font-size-sm);--bs-form-text-color:var(--bs-fg-3);margin-top:var(--bs-form-text-margin-top);font-size:var(--bs-form-text-font-size);font-style:var(--bs-form-text-font-style);font-weight:var(--bs-form-text-font-weight);color:var(--bs-form-text-color)}.form-control{--bs-control-min-height:var(--bs-btn-input-min-height);--bs-control-padding-y:var(--bs-btn-input-padding-y);--bs-control-padding-x:var(--bs-btn-input-padding-x);--bs-control-font-size:var(--bs-btn-input-font-size);--bs-control-line-height:var(--bs-btn-input-line-height);--bs-control-fg:var(--bs-btn-input-fg);--bs-control-bg:var(--bs-btn-input-bg);--bs-control-border-width:var(--bs-border-width);--bs-control-border-color:var(--bs-border-color);--bs-control-border-radius:var(--bs-border-radius);--bs-control-box-shadow:var(--bs-box-shadow-inset);--bs-control-action-bg:var(--bs-bg-1);--bs-control-action-hover-bg:var(--bs-bg-2);--bs-control-transition-property:border-color, box-shadow;--bs-control-transition-timing:.15s ease-in-out;--bs-control-transition:var(--bs-control-transition-property) var(--bs-control-transition-timing);--bs-control-placeholder-color:var(--bs-fg-3);--bs-control-disabled-color:var(--bs-control-fg);--bs-control-disabled-bg:var(--bs-bg-2);--bs-control-disabled-border-color:var(--bs-control-border-color);--bs-control-select-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-control-select-bg-position:right .75rem center;--bs-control-select-bg-size:16px 12px;--bs-control-select-bg-dark:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");width:100%;min-height:var(--bs-control-min-height);padding:var(--bs-control-padding-y) var(--bs-control-padding-x);font-size:var(--bs-control-font-size);line-height:var(--bs-control-line-height);color:var(--bs-control-fg);appearance:none;background-color:var(--bs-control-bg);border:var(--bs-control-border-width) solid var(--bs-control-border-color);border-radius:var(--bs-control-border-radius);box-shadow:var(--bs-control-box-shadow);transition:var(--bs-control-transition);background-clip:padding-box;display:flex}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control:focus-visible{--bs-focus-ring-offset:-1px;outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.form-control::placeholder{color:var(--bs-control-placeholder-color);opacity:1}.form-control:disabled{color:var(--bs-control-disabled-color);background-color:var(--bs-control-disabled-bg);border-color:var(--bs-control-disabled-border-color);opacity:1}.form-control::-webkit-datetime-edit{height:1.5rem;margin-bottom:-.125rem;padding:0;display:block}.form-control::-webkit-datetime-edit-fields-wrapper{height:1.5rem}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control::file-selector-button{min-height:var(--bs-control-min-height);padding:var(--bs-control-padding-y) var(--bs-control-padding-x);margin:calc(var(--bs-control-padding-y) * -1) calc(var(--bs-control-padding-x) * -1);color:var(--bs-control-fg);background-color:var(--bs-control-action-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-control-border-width);transition:var(--bs-control-transition);border-radius:0;margin-inline-end:var(--bs-control-padding-x)}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-control-action-hover-bg)}.form-control-plaintext{width:100%;padding:var(--bs-control-padding-y) 0;line-height:var(--bs-control-line-height);color:var(--bs-control-fg);border:solid transparent;border-width:var(--bs-control-border-width) 0;background-color:transparent;margin-bottom:0;display:block}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-inline:0}select.form-control{background-image:var(--bs-control-select-bg);background-repeat:no-repeat;background-position:var(--bs-control-select-bg-position);background-size:var(--bs-control-select-bg-size);padding-inline-end:calc(var(--bs-control-padding-x) * 3)}select.form-control[multiple],select.form-control[size]:not([size="1"]){background-image:none;padding-inline-end:var(--bs-control-padding-x)}@media (prefers-color-scheme:dark){select.form-control{background-image:var(--bs-control-select-bg-dark)}}.form-control-sm{--bs-control-min-height:var(--bs-btn-input-sm-min-height);--bs-control-padding-y:var(--bs-btn-input-sm-padding-y);--bs-control-padding-x:var(--bs-btn-input-sm-padding-x);--bs-control-font-size:var(--bs-btn-input-sm-font-size);--bs-control-line-height:var(--bs-btn-input-sm-line-height);--bs-control-border-radius:var(--bs-btn-input-sm-border-radius)}.form-control-lg{--bs-control-min-height:var(--bs-btn-input-lg-min-height);--bs-control-padding-y:var(--bs-btn-input-lg-padding-y);--bs-control-padding-x:var(--bs-btn-input-lg-padding-x);--bs-control-font-size:var(--bs-btn-input-lg-font-size);--bs-control-line-height:var(--bs-btn-input-lg-line-height);--bs-control-border-radius:var(--bs-btn-input-lg-border-radius)}.form-control-color{width:var(--bs-control-min-height);padding:var(--bs-control-padding-y)}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border-radius:var(--bs-border-radius-sm);border:0!important}.form-control-color::-webkit-color-swatch{border-radius:var(--bs-border-radius-sm);border:0!important}.form-ghost{width:100%;font:inherit;color:inherit;appearance:none;background:0 0;border:0;padding:0;display:block}.form-ghost:focus{outline:0}.form-ghost::placeholder{color:var(--bs-fg-3);opacity:1}.form-ghost:disabled{color:var(--bs-fg-4);cursor:not-allowed}.checkgroup{gap:var(--bs-gap,.5rem);align-items:var(--bs-align-items,start);display:flex}.checkgroup .description{color:var(--bs-fg-3)}.check{--bs-check-size:1.25rem;--bs-check-margin-block:.125rem;--bs-check-bg:transparent;--bs-check-border-color:var(--bs-border-color);--bs-check-border-radius:.375rem;--bs-check-checked-bg:var(--bs-control-checked-bg);--bs-check-checked-border-color:var(--bs-control-checked-border-color);--bs-check-indeterminate-bg:var(--bs-control-checked-bg);--bs-check-indeterminate-border-color:var(--bs-control-checked-border-color);--bs-check-active-bg:var(--bs-control-active-bg);--bs-check-active-border-color:var(--bs-control-active-border-color);--bs-check-disabled-bg:var(--bs-control-disabled-bg);--bs-check-disabled-opacity:var(--bs-control-disabled-opacity);margin-block:var(--bs-check-margin-block);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}.check :where(svg,input){width:var(--bs-check-size);height:var(--bs-check-size);flex-shrink:0;grid-row-start:1;grid-column-start:1}.check :where(input){appearance:none;background-color:var(--bs-theme-bg,var(--bs-check-bg));border:1px solid var(--bs-theme-bg,var(--bs-check-border-color));border-radius:.3em}.check :where(input:checked,input:indeterminate){background-color:var(--bs-theme-bg,var(--bs-check-checked-bg));border-color:var(--bs-theme-bg,var(--bs-check-checked-border-color))}.check :where(input:focus-visible){outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.check:has(input:checked) .checked{color:var(--bs-theme-contrast,var(--bs-primary-contrast));stroke:currentColor;display:block}.check:has(input:indeterminate) .indeterminate{color:var(--bs-theme-contrast,var(--bs-primary-contrast));stroke:currentColor;display:block}.check:has(input:disabled){--bs-check-bg:var(--bs-check-disabled-bg)}.check:has(input:disabled)~label{color:var(--bs-fg-3);cursor:default}.check:has(input:disabled:checked){opacity:var(--bs-check-disabled-opacity)}.check :where(svg){pointer-events:none}.check :where(svg path){display:none}.check-sm{--bs-check-size:1rem}.check-lg{--bs-check-size:1.5rem;--bs-check-margin-block:0}.radiogroup{gap:var(--bs-gap,.5rem);align-items:var(--bs-align-items,start);display:flex}.radiogroup .description{color:var(--bs-fg-3)}.radio{--bs-radio-size:1.25rem;--bs-radio-margin-block:.125rem;--bs-radio-bg:transparent;--bs-radio-border-color:var(--bs-border-color);--bs-radio-checked-bg:var(--bs-control-checked-bg);--bs-radio-checked-border-color:var(--bs-control-checked-border-color);--bs-radio-disabled-bg:var(--bs-control-disabled-bg);--bs-radio-disabled-opacity:var(--bs-control-disabled-opacity);width:var(--bs-radio-size);height:var(--bs-radio-size);margin-block:var(--bs-radio-margin-block);appearance:none;background-color:var(--bs-theme-bg,var(--bs-radio-bg));border:1px solid var(--bs-theme-bg,var(--bs-radio-border-color));border-radius:50%;flex-shrink:0;position:relative}.radio:checked{color:var(--bs-theme-contrast,var(--bs-primary-contrast));background-color:var(--bs-theme-bg,var(--bs-radio-checked-bg));border-color:var(--bs-theme-bg,var(--bs-radio-checked-border-color))}.radio:checked:before{content:"";background-color:currentColor;border-radius:50%;position:absolute;inset:.25rem}.radio:disabled{--bs-radio-bg:var(--bs-radio-disabled-bg)}.radio:disabled~label{color:var(--bs-secondary-text);cursor:default}.radio:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.radio-sm{--bs-radio-size:1rem}.radio-lg{--bs-radio-size:1.5rem;--bs-radio-margin-block:0}.switch{--bs-switch-height:1.25rem;--bs-switch-width:calc(var(--bs-switch-height) * 1.5);--bs-switch-padding:.0625rem;--bs-switch-margin-block:.125rem;--bs-switch-bg:var(--bs-bg-3);--bs-switch-border-width:var(--bs-border-width);--bs-switch-border-color:var(--bs-border-color);--bs-switch-indicator-bg:var(--bs-white);--bs-switch-checked-bg:var(--bs-control-checked-bg);--bs-switch-checked-border-color:var(--bs-switch-checked-bg);--bs-switch-checked-indicator-bg:var(--bs-white);--bs-switch-disabled-bg:var(--bs-control-disabled-bg);--bs-switch-disabled-indicator-bg:var(--bs-fg-3);width:var(--bs-switch-width);height:var(--bs-switch-height);padding:var(--bs-switch-padding);margin-block:var(--bs-switch-margin-block);background-color:var(--bs-switch-bg);border:var(--bs-switch-border-width) solid var(--bs-switch-border-color);border-radius:10rem;flex-shrink:0;justify-content:flex-start;align-items:stretch;transition:padding-inline-start .15s ease-in-out,background-color .15s ease-in-out;display:flex;position:relative;box-shadow:inset 0 1px 2px rgba(0,0,0,.05)}.switch:before{width:calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);height:calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);content:"";background-color:var(--bs-theme-contrast,var(--bs-switch-indicator-bg));border-radius:50%;flex-shrink:0;box-shadow:0 1px 2px rgba(0,0,0,.1)}.switch input{appearance:none;background-color:transparent;outline:0;position:absolute;inset:0}.switch:focus-within{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.switch:has(input:checked){background-color:var(--bs-theme-bg,var(--bs-switch-checked-bg));border-color:var(--bs-theme-bg,var(--bs-switch-checked-border-color));padding-inline-start:calc(var(--bs-switch-height) / 2 + var(--bs-switch-padding))}.switch:has(input:disabled){--bs-switch-bg:var(--bs-switch-disabled-bg);--bs-switch-indicator-bg:var(--bs-switch-disabled-indicator-bg)}.switch:has(input:disabled):before{opacity:.4}.switch:has(input:disabled)~label{color:var(--bs-secondary-text);cursor:default}.switch-sm{--bs-switch-height:1rem}.switch-lg{--bs-switch-height:1.5rem;--bs-switch-margin-block:0}.form-range{--bs-range-track-width:100%;--bs-range-track-height:.5rem;--bs-range-track-cursor:pointer;--bs-range-track-bg:var(--bs-bg-3);--bs-range-track-border-radius:1rem;--bs-range-track-box-shadow:var(--bs-box-shadow-inset);--bs-range-thumb-width:1rem;--bs-range-thumb-height:var(--bs-range-thumb-width);--bs-range-thumb-bg:var(--bs-primary-base);--bs-range-thumb-border:0;--bs-range-thumb-border-radius:1rem;--bs-range-thumb-box-shadow:0 .1rem .25rem rgba(0,0,0,.1);--bs-range-thumb-active-bg:color-mix(in oklch, var(--bs-primary-base) 70%, var(--bs-bg-body));--bs-range-thumb-disabled-bg:var(--bs-fg-3);--bs-range-thumb-transition-property:background-color, border-color, box-shadow;--bs-range-thumb-transition-timing:.15s ease-in-out;--bs-range-thumb-transition:var(--bs-range-thumb-transition-property) var(--bs-range-thumb-transition-timing);width:100%;height:calc(var(--bs-range-thumb-height) + var(--bs-focus-ring-width) * 2);appearance:none;background-color:transparent;padding:0}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.form-range:focus::-moz-range-thumb{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:var(--bs-range-thumb-width);height:var(--bs-range-thumb-height);appearance:none;background-color:var(--bs-range-thumb-bg);border:var(--bs-range-thumb-border);border-radius:var(--bs-range-thumb-border-radius);box-shadow:var(--bs-range-thumb-box-shadow);-webkit-transition:var(--bs-range-thumb-transition);transition:var(--bs-range-thumb-transition)}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:var(--bs-range-thumb-active-bg)}.form-range::-webkit-slider-thumb{margin-top:calc((var(--bs-range-track-height) - var(--bs-range-thumb-height)) * .5)}.form-range::-moz-range-thumb{width:var(--bs-range-thumb-width);height:var(--bs-range-thumb-height);appearance:none;background-color:var(--bs-range-thumb-bg);border:var(--bs-range-thumb-border);border-radius:var(--bs-range-thumb-border-radius);box-shadow:var(--bs-range-thumb-box-shadow);-moz-transition:var(--bs-range-thumb-transition);transition:var(--bs-range-thumb-transition)}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:var(--bs-range-thumb-active-bg)}.form-range::-webkit-slider-runnable-track{width:var(--bs-range-track-width);height:var(--bs-range-track-height);color:transparent;cursor:var(--bs-range-track-cursor);background-color:var(--bs-range-track-bg);border-radius:var(--bs-range-track-border-radius);box-shadow:var(--bs-range-track-box-shadow);border-color:transparent}.form-range::-moz-range-track{width:var(--bs-range-track-width);height:var(--bs-range-track-height);color:transparent;cursor:var(--bs-range-track-cursor);background-color:var(--bs-range-track-bg);border-radius:var(--bs-range-track-border-radius);box-shadow:var(--bs-range-track-box-shadow);border-color:transparent}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-range-thumb-disabled-bg)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-range-thumb-disabled-bg)}.form-floating{--bs-form-floating-height:calc(3.5rem + var(--bs-border-width) * 2);--bs-form-floating-line-height:1.25;--bs-form-floating-padding-x:var(--bs-btn-input-padding-x);--bs-form-floating-padding-y:1rem;--bs-form-floating-input-padding-t:1.625rem;--bs-form-floating-input-padding-b:.625rem;--bs-form-floating-label-height:1.5em;--bs-form-floating-label-opacity:.65;--bs-form-floating-label-transform:scale(.85) translateY(-.5rem) translateX(.15rem);--bs-form-floating-label-disabled-color:var(--bs-fg-3);--bs-form-floating-transition-property:opacity, transform;--bs-form-floating-transition-timing:.1s ease-in-out;--bs-form-floating-transition:var(--bs-form-floating-transition-property) var(--bs-form-floating-transition-timing);position:relative}.form-floating>label{z-index:2;max-width:100%;height:100%;padding:var(--bs-form-floating-padding-y) var(--bs-form-floating-padding-x);color:color-mix(in oklch, var(--bs-fg-body) var(--bs-form-floating-label-opacity), transparent);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-input-btn-border-width) solid transparent;transform-origin:0 0;transition:var(--bs-form-floating-transition);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-start:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{height:var(--bs-form-floating-height);min-height:var(--bs-form-floating-height);padding:var(--bs-form-floating-padding-y) var(--bs-form-floating-padding-x);line-height:var(--bs-form-floating-line-height)}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control-plaintext:focus{padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control:not(:placeholder-shown){padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control:-webkit-autofill{padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control:focus~label,.form-floating>.form-control-plaintext~label{transform:var(--bs-form-floating-label-transform)}.form-floating>.form-control:not(:placeholder-shown)~label{transform:var(--bs-form-floating-label-transform)}.form-floating>.form-control:-webkit-autofill~label{transform:var(--bs-form-floating-label-transform)}.form-floating>textarea:focus~label:after{inset:var(--bs-form-floating-padding-y) calc(var(--bs-form-floating-padding-x) * .5);z-index:-1;height:var(--bs-form-floating-label-height);content:"";background-color:var(--bs-control-bg);border-radius:var(--bs-btn-input-border-radius);position:absolute}.form-floating>textarea:not(:placeholder-shown)~label:after{inset:var(--bs-form-floating-padding-y) calc(var(--bs-form-floating-padding-x) * .5);z-index:-1;height:var(--bs-form-floating-label-height);content:"";background-color:var(--bs-control-bg);border-radius:var(--bs-btn-input-border-radius);position:absolute}.form-floating>textarea:disabled~label:after{background-color:var(--bs-control-disabled-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-control-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:var(--bs-form-floating-label-disabled-color)}.strength{--bs-strength-height:.375rem;--bs-strength-gap:.25rem;--bs-strength-margin-top:.25rem;--bs-strength-border-radius:var(--bs-border-radius-pill);--bs-strength-bg:var(--bs-bg-2);--bs-strength-color:var(--bs-bg-2);--bs-strength-weak-color:var(--bs-danger-bg);--bs-strength-fair-color:var(--bs-warning-bg);--bs-strength-good-color:var(--bs-info-bg);--bs-strength-strong-color:var(--bs-success-bg);gap:var(--bs-strength-gap);width:100%;margin-top:var(--bs-strength-margin-top);display:flex}.strength-segment{height:var(--bs-strength-height);background-color:var(--bs-strength-bg);border-radius:var(--bs-strength-border-radius);flex:1;transition:background-color .2s ease-in-out,width .3s ease-in-out}@media (prefers-reduced-motion:reduce){.strength-segment{transition:none}}.strength-segment.active{background-color:var(--bs-strength-color)}.strength[data-bs-strength=weak]{--bs-strength-color:var(--bs-strength-weak-color)}.strength[data-bs-strength=fair]{--bs-strength-color:var(--bs-strength-fair-color)}.strength[data-bs-strength=good]{--bs-strength-color:var(--bs-strength-good-color)}.strength[data-bs-strength=strong]{--bs-strength-color:var(--bs-strength-strong-color)}.strength-text{margin-top:var(--bs-strength-margin-top);font-size:var(--bs-font-size-xs);color:var(--bs-strength-color,var(--bs-fg-3));transition:color .2s ease-in-out;display:block}@media (prefers-reduced-motion:reduce){.strength-text{transition:none}}.strength-text:empty{display:none}.strength-bar{--bs-strength-height:.375rem;--bs-strength-gap:.25rem;--bs-strength-margin-top:.25rem;--bs-strength-border-radius:var(--bs-border-radius-pill);--bs-strength-bg:var(--bs-bg-2);--bs-strength-color:transparent;--bs-strength-weak-color:var(--bs-danger-bg);--bs-strength-fair-color:var(--bs-warning-bg);--bs-strength-good-color:var(--bs-info-bg);--bs-strength-strong-color:var(--bs-success-bg);--bs-strength-width:0%;width:100%;height:var(--bs-strength-height);margin-top:var(--bs-strength-margin-top);background-color:var(--bs-strength-bg);border-radius:var(--bs-strength-border-radius);overflow:hidden}.strength-bar:after{width:var(--bs-strength-width);content:"";background-color:var(--bs-strength-color);border-radius:var(--bs-strength-border-radius);height:100%;transition:background-color .2s ease-in-out,width .3s ease-in-out;display:block}@media (prefers-reduced-motion:reduce){.strength-bar:after{transition:none}}.strength-bar[data-bs-strength=weak]{--bs-strength-color:var(--bs-strength-weak-color);--bs-strength-width:25%}.strength-bar[data-bs-strength=fair]{--bs-strength-color:var(--bs-strength-fair-color);--bs-strength-width:50%}.strength-bar[data-bs-strength=good]{--bs-strength-color:var(--bs-strength-good-color);--bs-strength-width:75%}.strength-bar[data-bs-strength=strong]{--bs-strength-color:var(--bs-strength-strong-color);--bs-strength-width:100%}.form-adorn{--bs-form-adorn-gap:.375rem;--bs-form-adorn-icon-size:1rem;--bs-form-adorn-icon-color:var(--bs-fg-2);gap:var(--bs-form-adorn-gap);align-items:center}.form-adorn:focus-visible{outline:0}.form-adorn:focus-within{--bs-focus-ring-offset:-1px;border-color:var(--bs-focus-ring-color);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.form-adorn>.form-ghost{flex:1;min-width:0}.form-adorn.form-adorn-end>.form-ghost{order:-1}.form-adorn-icon{color:var(--bs-form-adorn-icon-color);pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.form-adorn-icon>svg{width:var(--bs-form-adorn-icon-size);height:var(--bs-form-adorn-icon-size)}.form-adorn-text{color:var(--bs-form-adorn-icon-color);pointer-events:none;-webkit-user-select:none;user-select:none;flex-shrink:0}.chip-input{--bs-chip-input-padding-y:.75rem;--bs-chip-input-padding-x:.75rem;--bs-chip-input-gap:.375rem;--bs-chip-input-ghost-min-width:5rem;--bs-control-fg:var(--bs-btn-input-fg);--bs-control-bg:var(--bs-btn-input-bg);--bs-control-border-width:var(--bs-border-width);--bs-control-border-color:var(--bs-border-color);--bs-control-border-radius:var(--bs-border-radius);gap:var(--bs-chip-input-gap);padding:var(--bs-chip-input-padding-y) var(--bs-chip-input-padding-x);color:var(--bs-control-fg);background-color:var(--bs-control-bg);border:var(--bs-control-border-width) solid var(--bs-control-border-color);border-radius:var(--bs-control-border-radius);flex-wrap:wrap;align-items:center;display:flex}.chip-input:focus-within{--bs-focus-ring-offset:-1px;border-color:var(--bs-focus-ring-color);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.chip-input>.form-ghost{min-width:var(--bs-chip-input-ghost-min-width);flex:1 1 0;min-height:1.75rem}.chip-input.disabled{background-color:var(--bs-bg-2);opacity:1}.chip-input:has(.form-ghost:disabled){background-color:var(--bs-bg-2);opacity:1}.chip-input.disabled>.chip{opacity:var(--bs-control-disabled-opacity)}.chip-input:has(.form-ghost:disabled)>.chip{opacity:var(--bs-control-disabled-opacity)}.chip-input.disabled>.chip .chip-dismiss{pointer-events:none}.chip-input:has(.form-ghost:disabled)>.chip .chip-dismiss{pointer-events:none}.chip-input.disabled>.form-ghost{cursor:not-allowed}.chip-input:has(.form-ghost:disabled)>.form-ghost{cursor:not-allowed}}@layer components{.input-group{--bs-input-group-addon-padding-y:var(--bs-btn-input-padding-y);--bs-input-group-addon-padding-x:var(--bs-btn-input-padding-x);--bs-input-group-addon-font-size:var(--bs-btn-input-font-size);--bs-input-group-addon-line-height:var(--bs-btn-input-line-height);--bs-input-group-addon-color:var(--bs-fg-body);--bs-input-group-addon-bg:var(--bs-bg-2);--bs-input-group-addon-border-color:var(--bs-border-color);flex-wrap:wrap;align-items:stretch;width:100%;display:flex;position:relative}.input-group>.form-control,.input-group>.form-floating{flex:auto;width:1%;min-width:0;position:relative}.input-group>.form-control:focus{z-index:5}.input-group>.form-floating:focus-within{z-index:5}.input-group>.input-group-btn{z-index:2;position:relative}.input-group>.input-group-btn:focus{z-index:5}.input-group-text{padding:var(--bs-input-group-addon-padding-y) var(--bs-input-group-addon-padding-x);font-size:var(--bs-input-group-addon-font-size);line-height:var(--bs-input-group-addon-line-height);color:var(--bs-input-group-addon-color);text-align:center;white-space:nowrap;background-color:var(--bs-input-group-addon-bg);border:var(--bs-border-width) solid var(--bs-input-group-addon-border-color);border-radius:var(--bs-btn-input-border-radius);align-items:center;display:flex}.input-group-sm>.form-control,.input-group-sm>.input-group-text,.input-group-sm>.btn{min-height:var(--bs-btn-input-sm-min-height);padding:var(--bs-btn-input-sm-padding-y) var(--bs-btn-input-sm-padding-x);font-size:var(--bs-btn-input-sm-font-size);border-radius:var(--bs-btn-input-sm-border-radius)}.input-group-lg>.form-control,.input-group-lg>.input-group-text,.input-group-lg>.btn{min-height:var(--bs-btn-input-lg-min-height);padding:var(--bs-btn-input-lg-padding-y) var(--bs-btn-input-lg-padding-x);font-size:var(--bs-btn-input-lg-font-size);border-radius:var(--bs-btn-input-lg-border-radius)}.input-group:not(.has-validation)>:not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),.input-group:not(.has-validation)>.menu-toggle-split: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,.input-group.has-validation>:nth-last-child(n+3):not(.menu-toggle-split):not(.menu):not(.form-floating),.input-group.has-validation>.menu-toggle-split: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-start-end-radius:0;border-end-end-radius:0}.input-group>:not(:first-child):not(.menu){border-start-start-radius:0;border-end-start-radius:0;margin-inline-start:calc(-1 * var(--bs-border-width))}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-start-start-radius:0;border-end-start-radius:0}.otp{--bs-otp-size:var(--bs-btn-input-lg-min-height);--bs-otp-font-size:var(--bs-btn-input-font-size);--bs-otp-gap:.5rem;gap:var(--bs-otp-gap);display:inline-flex}.otp .form-control{width:var(--bs-otp-size);min-height:var(--bs-otp-size);font-size:var(--bs-otp-font-size);text-align:center;border-radius:var(--bs-otp-border-radius,var(--bs-btn-input-border-radius));padding:0;font-weight:500;line-height:1}.otp .form-control::-webkit-outer-spin-button{appearance:none;margin:0}.otp .form-control::-webkit-inner-spin-button{appearance:none;margin:0}.otp .form-control[type=number]{appearance:textfield}.otp .form-control:focus{z-index:1}.otp .form-control:focus-visible{z-index:1}.otp.is-valid .form-control,.was-validated .otp:valid .form-control{border-color:var(--bs-form-valid-border-color)}.otp.is-valid .form-control:focus,.was-validated .otp:valid .form-control:focus{--bs-focus-ring-color:rgba(var(--bs-success-rgb), .25);border-color:var(--bs-form-valid-border-color)}.otp.is-invalid .form-control,.was-validated .otp:invalid .form-control{border-color:var(--bs-form-invalid-border-color)}.otp.is-invalid .form-control:focus,.was-validated .otp:invalid .form-control:focus{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), .25);border-color:var(--bs-form-invalid-border-color)}.otp.input-group{gap:0;width:auto}.otp.input-group .form-control{flex:none}.otp-separator{padding-inline:var(--bs-otp-gap);font-size:var(--bs-otp-font-size);color:var(--bs-fg-4);-webkit-user-select:none;user-select:none;align-items:center;display:flex}.otp-sm{--bs-otp-size:var(--bs-btn-input-sm-min-height);--bs-otp-font-size:var(--bs-btn-input-sm-font-size);--bs-otp-border-radius:var(--bs-btn-input-sm-border-radius)}.otp-lg{--bs-otp-size:var(--bs-btn-input-lg-min-height);--bs-otp-font-size:var(--bs-btn-input-lg-font-size);--bs-otp-border-radius:var(--bs-btn-input-lg-border-radius)}.combobox-toggle{width:100%;text-align:start;cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;padding-inline-end:var(--bs-control-padding-x);display:inline-flex}.combobox-toggle.show{background-color:var(--bs-bg-1)}.combobox-toggle:disabled,.combobox-toggle.disabled{cursor:not-allowed;opacity:.65}.combobox-value{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:.5rem;display:flex;overflow:hidden}.combobox-placeholder{color:color-mix(in oklch, currentcolor 65%, transparent)}.combobox-caret{flex-shrink:0;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.combobox-caret{transition:none}}.show>.combobox-caret{transform:rotate(180deg)}.combobox-toggle+.menu{--bs-menu-max-height:300px;--bs-menu-overflow-y:auto}.combobox-search{z-index:1;padding:var(--bs-menu-padding-x,.25rem);background-color:var(--bs-menu-bg,var(--bs-bg-body));position:sticky;top:0}.combobox-search-input{width:100%}.combobox-no-results{font-size:var(--bs-font-size-sm);color:var(--bs-fg-3);text-align:center;padding:1rem}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.75rem;--bs-tooltip-padding-y:.375rem;--bs-tooltip-font-size:var(--bs-font-size-sm);--bs-tooltip-color:var(--bs-bg-body);--bs-tooltip-bg:var(--bs-fg-body);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:.95;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;z-index:var(--bs-tooltip-zindex);font-family:var(--bs-body-font-family);font-style:normal;font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);text-align:start;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;text-decoration:none;display:block}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height);display:block}.tooltip .tooltip-arrow:before{content:"";border-style:solid;border-color:transparent;position:absolute}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow:before{border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-block-start-color:var(--bs-tooltip-bg);top:-1px}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-bs-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-bs-placement^=right] .tooltip-arrow:before{border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-inline-end-color:var(--bs-tooltip-bg);right:-1px}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow:before{border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-block-end-color:var(--bs-tooltip-bg);bottom:-1px}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-bs-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-bs-placement^=left] .tooltip-arrow:before{border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-inline-start-color:var(--bs-tooltip-bg);left:-1px}.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)}.valid-feedback{width:100%;font-size:var(--bs-font-size-xs);color:var(--bs-form-valid-color);margin-top:.5rem;display:none}.valid-tooltip{z-index:5;max-width:100%;padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);font-size:var(--bs-tooltip-font-size);color:var(--bs-success-contrast);background-color:var(--bs-success-bg);border-radius:var(--bs-tooltip-border-radius);margin-top:.1rem;display:none;position:absolute;top:100%}.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-success-border);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a748' 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 var(--bs-control-padding-x) center;background-size:1rem;padding-inline-end:calc(var(--bs-control-padding-x) * 3.5)}.was-validated .form-control:valid:focus-visible{outline:var(--bs-focus-ring-width) solid var(--bs-success-focus-ring);outline-offset:var(--bs-focus-ring-offset);border-color:var(--bs-success-border)}.form-control.is-valid:focus-visible{outline:var(--bs-focus-ring-width) solid var(--bs-success-focus-ring);outline-offset:var(--bs-focus-ring-offset);border-color:var(--bs-success-border)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{background-position:right var(--bs-control-padding-x) top var(--bs-control-padding-x)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-success-border)}.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~.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-inline-start:.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{z-index:3}.was-validated .input-group>.form-floating:not(:focus-within):valid{z-index:3}.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{width:100%;font-size:var(--bs-font-size-xs);color:var(--bs-form-invalid-color);margin-top:.5rem;display:none}.invalid-tooltip{z-index:5;max-width:100%;padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);font-size:var(--bs-tooltip-font-size);color:var(--bs-danger-contrast);background-color:var(--bs-danger-bg);border-radius:var(--bs-tooltip-border-radius);margin-top:.1rem;display:none;position:absolute;top:100%}.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-danger-border);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='%23dd0d37'%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='%23dd0d37' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--bs-control-padding-x) center;background-size:1rem;padding-inline-end:calc(var(--bs-control-padding-x) * 3.5)}.was-validated .form-control:invalid:focus-visible{outline:var(--bs-focus-ring-width) solid var(--bs-danger-focus-ring);outline-offset:var(--bs-focus-ring-offset);border-color:var(--bs-danger-border)}.form-control.is-invalid:focus-visible{outline:var(--bs-focus-ring-width) solid var(--bs-danger-focus-ring);outline-offset:var(--bs-focus-ring-offset);border-color:var(--bs-danger-border)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{background-position:right var(--bs-control-padding-x) top var(--bs-control-padding-x)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-danger-border)}.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~.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-inline-start:.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{z-index:4}.was-validated .input-group>.form-floating:not(:focus-within):invalid{z-index:4}.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn,.btn-link,.btn-icon,.btn-solid,.btn-outline,.btn-subtle,.btn-text{--bs-btn-min-height:var(--bs-btn-input-min-height);--bs-btn-padding-x:var(--bs-btn-input-padding-x);--bs-btn-padding-y:var(--bs-btn-input-padding-y);--bs-btn-font-size:var(--bs-btn-input-font-size);--bs-btn-font-weight:var(--bs-btn-input-font-weight);--bs-btn-line-height:var(--bs-btn-input-line-height);--bs-btn-color:var(--bs-fg-body);--bs-btn-white-space:nowrap;--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-disabled-opacity:.65;--bs-btn-transition-timing:.15s ease-in-out;--bs-btn-transition-property:color, background-color, border-color, box-shadow;--bs-btn-transition:var(--bs-btn-transition-property) var(--bs-btn-transition-timing);gap:var(--bs-btn-gap,.25rem);min-height:var(--bs-btn-min-height);padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);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);white-space:var(--bs-btn-white-space);vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:var(--bs-btn-bg,var(--bs-bg-2));border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);transition:var(--bs-btn-transition);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (prefers-reduced-motion:reduce){.btn,.btn-link,.btn-icon,.btn-solid,.btn-outline,.btn-subtle,.btn-text{transition:none}}.btn:hover,.btn-link:hover,.btn-icon:hover,.btn-solid:hover,.btn-outline:hover,.btn-subtle:hover,.btn-text:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg,var(--bs-bg-3));border-color:var(--bs-btn-hover-border-color)}.btn:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-link:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-icon:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-solid:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-outline:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-subtle:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-text:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn.active,.btn.show,.btn-link.active,.btn-link.show,.btn-icon.active,.btn-icon.show,.btn-solid.active,.btn-solid.show,.btn-outline.active,.btn-outline.show,.btn-subtle.active,.btn-subtle.show,.btn-text.active,.btn-text.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg,var(--bs-bg-3));border-color:var(--bs-btn-active-border-color)}.btn.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-link.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-link.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-icon.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-icon.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-solid.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-solid.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-outline.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-outline.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-subtle.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-subtle.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-text.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-text.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn:disabled,.btn.disabled,fieldset:disabled .btn,.btn-link:disabled,.btn-link.disabled,fieldset:disabled .btn-link,.btn-icon:disabled,.btn-icon.disabled,fieldset:disabled .btn-icon,.btn-solid:disabled,.btn-solid.disabled,fieldset:disabled .btn-solid,.btn-outline:disabled,.btn-outline.disabled,fieldset:disabled .btn-outline,.btn-subtle:disabled,.btn-subtle.disabled,fieldset:disabled .btn-subtle,.btn-text:disabled,.btn-text.disabled,fieldset:disabled .btn-text{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg,var(--bs-bg-1));border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-solid{--bs-btn-bg:var(--bs-theme-bg);--bs-btn-color:var(--bs-theme-contrast);--bs-btn-border-color:var(--bs-theme-bg);--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:var(--bs-theme-bg);--bs-btn-disabled-color:var(--bs-theme-contrast);--bs-btn-disabled-border-color:var(--bs-theme-bg)}.btn-solid:hover{--bs-btn-hover-bg:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-border-color:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-color:oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h)}.btn-solid:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-solid:active,.btn-solid.active{--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h)}.btn-solid.btn-check:has(input:checked){--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h)}.btn-solid:disabled,.btn-solid.disabled{--bs-btn-disabled-bg:var(--bs-theme-bg);--bs-btn-disabled-color:var(--bs-theme-contrast);--bs-btn-disabled-border-color:var(--bs-theme-bg)}.btn-solid.btn-check:has(input:disabled){--bs-btn-disabled-bg:var(--bs-theme-bg);--bs-btn-disabled-color:var(--bs-theme-contrast);--bs-btn-disabled-border-color:var(--bs-theme-bg)}.btn-outline{--bs-btn-bg:transparent;--bs-btn-color:var(--bs-theme-text);--bs-btn-border-color:var(--bs-theme-border);--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:var(--bs-theme-border)}.btn-outline:hover{--bs-btn-hover-bg:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-color:oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-border-color:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h)}.btn-outline:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-outline:active,.btn-outline.active{--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h)}.btn-outline.btn-check:has(input:checked){--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h)}.btn-outline:disabled,.btn-outline.disabled{--bs-btn-disabled-bg:transparent;--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:var(--bs-theme-border)}.btn-outline.btn-check:has(input:disabled){--bs-btn-disabled-bg:transparent;--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:var(--bs-theme-border)}.btn-subtle{--bs-btn-bg:var(--bs-theme-bg-subtle);--bs-btn-color:var(--bs-theme-text);--bs-btn-border-color:transparent;--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-active-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:transparent}.btn-subtle:hover{--bs-btn-hover-bg:color-mix(in oklch, var(--bs-theme-bg-muted) 50%, var(--bs-theme-bg-subtle));--bs-btn-hover-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .95) calc(c * 1.1) h)}.btn-subtle:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-subtle:active,.btn-subtle.active{--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-active-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h)}.btn-subtle.btn-check:has(input:checked){--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-active-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h)}.btn-subtle:disabled,.btn-subtle.disabled{--bs-btn-disabled-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:transparent}.btn-subtle.btn-check:has(input:disabled){--bs-btn-disabled-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:transparent}.btn-text{--bs-btn-color:var(--bs-theme-text);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-active-color:oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent}.btn-text:hover{--bs-btn-hover-color:oklch(from var(--bs-theme-text) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-bg:var(--bs-theme-bg-subtle)}.btn-text:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-text:active,.btn-text.active{--bs-btn-active-color:oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-bg:var(--bs-theme-bg-subtle)}.btn-text.btn-check:has(input:checked){--bs-btn-active-color:oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-bg:var(--bs-theme-bg-subtle)}.btn-text:disabled,.btn-text.disabled{--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent}.btn-text.btn-check:has(input:disabled){--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent}.btn-link{--bs-btn-font-weight:var(--bs-font-weight-normal);--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-bg:transparent;--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-bg:transparent;--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:var(--bs-fg-3);--bs-btn-disabled-border-color:transparent;color:var(--bs-theme-text,var(--bs-btn-color));-webkit-text-decoration:var(--bs-link-decoration);-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration)}.btn-link:focus-visible{color:var(--bs-theme-text,var(--bs-btn-color))}.btn-link:hover{color:var(--bs-theme-text-emphasis,var(--bs-btn-hover-color))}.btn-xs,.btn-group-xs>[class*=btn-]{--bs-btn-min-height:var(--bs-btn-input-xs-min-height);--bs-btn-padding-y:var(--bs-btn-input-xs-padding-y);--bs-btn-padding-x:var(--bs-btn-input-xs-padding-x);--bs-btn-font-size:var(--bs-btn-input-xs-font-size);--bs-btn-line-height:var(--bs-btn-input-xs-line-height);--bs-btn-border-radius:var(--bs-btn-input-xs-border-radius)}.btn-sm,.btn-group-sm>[class*=btn-]{--bs-btn-min-height:var(--bs-btn-input-sm-min-height);--bs-btn-padding-y:var(--bs-btn-input-sm-padding-y);--bs-btn-padding-x:var(--bs-btn-input-sm-padding-x);--bs-btn-font-size:var(--bs-btn-input-sm-font-size);--bs-btn-line-height:var(--bs-btn-input-sm-line-height);--bs-btn-border-radius:var(--bs-btn-input-sm-border-radius)}.btn-lg,.btn-group-lg>[class*=btn-]{--bs-btn-min-height:var(--bs-btn-input-lg-min-height);--bs-btn-padding-y:var(--bs-btn-input-lg-padding-y);--bs-btn-padding-x:var(--bs-btn-input-lg-padding-x);--bs-btn-font-size:var(--bs-btn-input-lg-font-size);--bs-btn-line-height:var(--bs-btn-input-lg-line-height);--bs-btn-border-radius:var(--bs-btn-input-lg-border-radius)}.btn-icon{aspect-ratio:1;justify-content:center;align-items:center;padding:0}.btn-check>input{clip:rect(0, 0, 0, 0);pointer-events:none;position:absolute}.btn-check:has(input:checked){color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg,var(--bs-bg-3));border-color:var(--bs-btn-active-border-color);box-shadow:var(--bs-btn-active-shadow)}.btn-check:has(input:focus-visible){outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-check:has(input:disabled){color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg,var(--bs-bg-1));border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity);box-shadow:none}.btn-styled{--bs-btn-gradient-start:rgba(255,255,255,.125);--bs-btn-gradient-end:rgba(0,0,0,.075);--bs-btn-border-mix-color:#000;--bs-btn-border-mix-amount:10%;--bs-btn-border-hover-mix-amount:12.5%;--bs-btn-border-active-mix-amount:20%;--bs-btn-shadow:0 1px 2px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.1);--bs-btn-active-shadow:inset 0 2px 4px rgba(0,0,0,.15);background-image:linear-gradient(to bottom, var(--bs-btn-gradient-start), var(--bs-btn-gradient-end));border-color:color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-mix-amount));box-shadow:var(--bs-btn-shadow)}.btn-styled:hover{background-image:linear-gradient(to bottom, var(--bs-btn-gradient-start), var(--bs-btn-gradient-end));border-color:color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-hover-mix-amount))}.btn-styled:active,.btn-styled.active{border-color:color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-active-mix-amount));box-shadow:var(--bs-btn-active-shadow);background-image:none}.btn-styled:disabled,.btn-styled.disabled{box-shadow:none;background-image:none}.btn-group,.btn-group-vertical{vertical-align:middle;display:inline-flex;position:relative}.btn-group>[class*=btn-],.btn-group-vertical>[class*=btn-]{flex:auto;position:relative}.btn-group>[class*=btn-]:hover,.btn-group-vertical>[class*=btn-]:hover{z-index:1}.btn-group>[class*=btn-]:active,.btn-group>[class*=btn-].active,.btn-group-vertical>[class*=btn-]:active,.btn-group-vertical>[class*=btn-].active{z-index:2}.btn-group>.btn-check:has(input:checked){z-index:2}.btn-group-vertical>.btn-check:has(input:checked){z-index:2}.btn-group>[class*=btn-]:focus,.btn-group-vertical>[class*=btn-]:focus{z-index:3}.btn-group>.btn-check:has(input:focus){z-index:3}.btn-group-vertical>.btn-check:has(input:focus){z-index:3}.btn-toolbar{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;display:flex}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-btn-border-radius)}.btn-group>[class*=btn-]:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-inline-start:calc(-1 * var(--bs-btn-border-width))}.btn-group>.btn-group:not(:last-child)>[class*=btn-]{border-start-end-radius:0;border-end-end-radius:0}.btn-group>[class*=btn-]:not(:last-child):not(:has(+.menu)){border-start-end-radius:0;border-end-end-radius:0}.btn-group>[class*=btn-]:not(:first-child),.btn-group>.btn-group:not(:first-child)>[class*=btn-]{border-start-start-radius:0;border-end-start-radius:0}.btn-group-vertical{flex-direction:column;justify-content:center;align-items:flex-start}.btn-group-vertical>[class*=btn-],.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>[class*=btn-]:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(-1 * var(--bs-btn-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>[class*=btn-]{border-end-end-radius:0;border-end-start-radius:0}.btn-group-vertical>[class*=btn-]:not(:last-child):not(:has(+.menu)){border-end-end-radius:0;border-end-start-radius:0}.btn-group-vertical>[class*=btn-]:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>[class*=btn-]{border-start-start-radius:0;border-start-end-radius:0}.btn-close{--bs-btn-close-size:1.25rem;--bs-btn-close-color:var(--bs-fg-body);--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-opacity:.85;--bs-btn-close-disabled-opacity:.25;box-sizing:content-box;width:var(--bs-btn-close-size);height:var(--bs-btn-close-size);color:var(--bs-btn-close-color);border-radius:var(--bs-border-radius-sm);opacity:var(--bs-btn-close-opacity);background:0 0;border:0;padding:0}.btn-close>svg{fill:currentColor;width:100%;height:100%;display:block}.btn-close:hover{color:var(--bs-btn-close-color);opacity:var(--bs-btn-close-hover-opacity);text-decoration:none}.btn-close:focus-visible{opacity:var(--bs-btn-close-focus-opacity);outline:var(--bs-focus-ring)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.accordion{--bs-accordion-padding-x:1.25rem;--bs-accordion-padding-y:1rem;--bs-accordion-color:var(--bs-fg-body);--bs-accordion-bg:var(--bs-bg-body);--bs-accordion-transition-property:color, background-color, border-radius;--bs-accordion-transition-timing:.15s ease-in-out;--bs-accordion-transition:var(--bs-accordion-transition-property) var(--bs-accordion-timing);--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-accordion-radius,var(--bs-border-radius-lg));--bs-accordion-btn-color:var(--bs-fg-2);--bs-accordion-btn-bg:var(--bs-bg-body);--bs-accordion-btn-icon-width:1rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-active-color:var(--bs-fg);--bs-accordion-active-bg:var(--bs-bg-2)}.accordion-header{width:100%;padding:var(--bs-accordion-btn-padding-y,var(--bs-accordion-padding-y)) var(--bs-accordion-btn-padding-x,var(--bs-accordion-padding-x));font-size:var(--bs-accordion-font-size,var(--bs-font-size-base));color:var(--bs-accordion-btn-color);text-align:start;cursor:pointer;background-color:var(--bs-accordion-btn-bg);transition:var(--bs-accordion-transition);align-items:center;list-style:none;display:flex}@media (prefers-reduced-motion:reduce){.accordion-header{transition:none}}.accordion-header .accordion-icon{width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);color:currentColor;transition:var(--bs-accordion-btn-icon-transition);flex-shrink:0;margin-inline-start:auto}@media (prefers-reduced-motion:reduce){.accordion-header .accordion-icon{transition:none}}.accordion-header:hover{z-index:2}.accordion-header:focus-visible{z-index:3;outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);outline-offset:-1px;position:relative}.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-start-start-radius:var(--bs-accordion-border-radius);border-start-end-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header{border-start-start-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));border-start-end-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width))}.accordion-item:not(:first-of-type){border-block-start:0}.accordion-item:last-of-type{border-end-end-radius:var(--bs-accordion-border-radius);border-end-start-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header{border-end-end-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));border-end-start-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width))}.accordion-item:last-of-type>.accordion-body{border-end-end-radius:var(--bs-accordion-border-radius);border-end-start-radius:var(--bs-accordion-border-radius)}.accordion-item[open]{border-color:var(--bs-theme-border,var(--bs-accordion-border-color))}.accordion-item[open]>.accordion-header{color:var(--bs-theme-text,var(--bs-accordion-active-color));background-color:var(--bs-theme-bg-subtle,var(--bs-accordion-active-bg));box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-theme-border,var(--bs-accordion-border-color))}.accordion-item[open]>.accordion-header .accordion-icon{transform:var(--bs-accordion-btn-icon-transform)}.accordion-item[open]:last-of-type>.accordion-header{border-end-end-radius:0;border-end-start-radius:0}.accordion-body{padding:var(--bs-accordion-body-padding-y,var(--bs-accordion-padding-y)) var(--bs-accordion-body-padding-x,var(--bs-accordion-padding-x))}.accordion-flush>.accordion-item{border-inline:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-block-start:0}.accordion-flush>.accordion-item:last-child{border-block-end:0}.accordion-flush>.accordion-item>.accordion-header,.accordion-flush>.accordion-item>.accordion-body{border-radius:0}.alert{--bs-alert-gap:.75rem;--bs-alert-bg:var(--bs-theme-bg-subtle,var(--bs-bg-1));--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-color:var(--bs-theme-text,inherit);--bs-alert-border-color:var(--bs-theme-border,var(--bs-border-color));--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;--bs-hr-border-color:var(--bs-theme-border,var(--bs-border-color));gap:var(--bs-alert-gap);padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius);align-items:start;display:flex}.alert>p{margin-bottom:0}.alert-heading{color:inherit}.alert-link{font-weight:var(--bs-font-weight-semibold);color:var(--bs-alert-link-color)}.avatar{--bs-avatar-size:2.5rem;--bs-avatar-border-radius:50%;--bs-avatar-border-width:2px;--bs-avatar-border-color:var(--bs-bg-body);--bs-avatar-bg:var(--bs-bg-2);--bs-avatar-color:var(--bs-fg-body);--bs-avatar-status-size:.75rem;--bs-avatar-status-border-width:2px;--bs-avatar-status-border-color:var(--bs-bg-body);--bs-avatar-stack-spacing:-.3;--bs-avatar-stack-transition:transform .2s ease-in-out;width:var(--bs-avatar-size);height:var(--bs-avatar-size);font-size:calc(var(--bs-avatar-size) * .4);font-weight:var(--bs-avatar-font-weight,var(--bs-font-weight-medium));color:var(--bs-theme-contrast,var(--bs-avatar-color));text-transform:uppercase;vertical-align:middle;background-color:var(--bs-theme-bg,var(--bs-avatar-bg));border-radius:var(--bs-avatar-border-radius);justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.avatar-subtle{color:var(--bs-theme-text,var(--bs-avatar-color));background-color:var(--bs-theme-bg-subtle,var(--bs-avatar-bg))}.avatar-img{-o-object-fit:cover;object-fit:cover;border-radius:inherit;width:100%;height:100%}.avatar-status{right:calc(var(--bs-avatar-status-border-width) * -1);bottom:calc(var(--bs-avatar-status-border-width) * -1);width:var(--bs-avatar-status-size);height:var(--bs-avatar-status-size);background-color:var(--bs-gray-400);border:var(--bs-avatar-status-border-width) solid var(--bs-avatar-status-border-color);border-radius:50%;position:absolute}.avatar-status.status-online{background-color:var(--bs-green-500)}.avatar-status.status-offline{background-color:var(--bs-gray-400);border-radius:20%}.avatar-status.status-busy{background-color:var(--bs-red-500);border-radius:20%}.avatar-status.status-away{background-color:var(--bs-yellow-500)}.avatar-stack{flex-direction:row-reverse;display:inline-flex}.avatar-stack .avatar{margin-left:calc(var(--bs-avatar-size) * var(--bs-avatar-stack-spacing));border:var(--bs-avatar-border-width) solid var(--bs-avatar-border-color);transition:var(--bs-avatar-stack-transition);mask-image:none}@media (prefers-reduced-motion:reduce){.avatar-stack .avatar{transition:none}}.avatar-stack .avatar:last-child{margin-left:0}.avatar-stack .avatar:hover{z-index:1;transform:translateY(-2px)}.avatar-xs,.avatar-stack-xs{--bs-avatar-size:1.5rem;--bs-avatar-status-size:.625rem}.avatar-sm,.avatar-stack-sm{--bs-avatar-size:2rem}.avatar-lg,.avatar-stack-lg{--bs-avatar-size:3rem;--bs-avatar-status-size:1rem}.avatar-xl,.avatar-stack-xl{--bs-avatar-size:4rem;--bs-avatar-status-size:1.25rem}.badge{--bs-badge-padding-x:.625em;--bs-badge-padding-y:.25em;--bs-badge-font-size:clamp(12px, .75em, .75em);--bs-badge-font-weight:var(--bs-font-weight-semibold);--bs-badge-color:inherit;--bs-badge-bg:var(--bs-bg-2);--bs-badge-border-width:var(--bs-border-width);--bs-badge-border-color:transparent;--bs-badge-border-radius:var(--bs-border-radius-lg);min-height:1.375rem;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);color:var(--bs-theme-contrast,var(--bs-badge-color));text-align:center;white-space:nowrap;vertical-align:baseline;background-color:var(--bs-theme-bg,var(--bs-badge-bg));border:var(--bs-badge-border-width) solid var(--bs-badge-border-color);border-radius:var(--bs-badge-border-radius);justify-content:center;align-items:center;line-height:1;display:inline-flex}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-subtle{--bs-badge-color:var(--bs-theme-text);--bs-badge-bg:var(--bs-theme-bg-subtle);--bs-badge-border-color:transparent;color:var(--bs-badge-color);background-color:var(--bs-badge-bg);border-color:var(--bs-badge-border-color)}.badge-outline{--bs-badge-color:var(--bs-theme-text);--bs-badge-bg:transparent;--bs-badge-border-color:var(--bs-theme-border);color:var(--bs-badge-color);background-color:var(--bs-badge-bg);border-color:var(--bs-badge-border-color)}.breadcrumb{--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-font-size:inherit;--bs-breadcrumb-bg:transparent;--bs-breadcrumb-border-radius:var(--bs-border-radius);--bs-breadcrumb-divider-color:var(--bs-fg-4);--bs-breadcrumb-link-padding-x:.75rem;--bs-breadcrumb-link-padding-y:.25rem;--bs-breadcrumb-link-color:var(--bs-fg-3);--bs-breadcrumb-link-hover-color:var(--bs-fg-2);--bs-breadcrumb-link-hover-bg:var(--bs-bg-1);--bs-breadcrumb-link-active-color:var(--bs-fg-1);--bs-breadcrumb-link-border-radius:var(--bs-border-radius-lg);padding:var(--bs-breadcrumb-padding-y,0) var(--bs-breadcrumb-padding-x,0);font-size:var(--bs-breadcrumb-font-size);background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius);flex-wrap:wrap;align-items:center;list-style:none;display:flex}.breadcrumb-item{display:flex}.breadcrumb-divider{margin-inline:calc(var(--bs-breadcrumb-link-padding-x) / 4);color:var(--bs-breadcrumb-divider-color)}.breadcrumb-link{min-height:2.25rem;padding:var(--bs-breadcrumb-link-padding-y) var(--bs-breadcrumb-link-padding-x);color:var(--bs-breadcrumb-link-color);border-radius:var(--bs-breadcrumb-link-border-radius);justify-content:center;align-items:center;text-decoration:none;transition:text-decoration-color .1s ease-in-out;display:flex;position:relative}@media (prefers-reduced-motion:reduce){.breadcrumb-link{transition:none}}.breadcrumb-link:hover{z-index:2;color:var(--bs-breadcrumb-link-hover-color);background-color:var(--bs-breadcrumb-link-hover-bg)}.breadcrumb-link.active{color:var(--bs-breadcrumb-link-active-color)}.chip{--bs-chip-height:1.75rem;--bs-chip-padding-x:.625rem;--bs-chip-gap:.3125rem;--bs-chip-border-radius:var(--bs-border-radius-pill);--bs-chip-img-size:1.25rem;--bs-chip-icon-size:1rem;--bs-chip-dismiss-size:1rem;--bs-chip-dismiss-opacity:.65;--bs-chip-dismiss-hover-opacity:1;--bs-chip-color:var(--bs-theme-text,var(--bs-fg-body));--bs-chip-bg:var(--bs-theme-bg-subtle,var(--bs-bg-2));--bs-chip-border-color:transparent;--bs-chip-selected-color:var(--bs-theme-contrast,var(--bs-primary-contrast));--bs-chip-selected-bg:var(--bs-theme-bg,var(--bs-primary-bg));--bs-chip-selected-border-color:var(--bs-theme-bg,var(--bs-primary-bg));gap:var(--bs-chip-gap);height:var(--bs-chip-height);padding-inline:var(--bs-chip-padding-x);font-size:var(--bs-chip-font-size,var(--bs-font-size-sm));font-weight:var(--bs-chip-font-weight,var(--bs-font-weight-base));line-height:var(--bs-chip-line-height,1.25rem);color:var(--bs-chip-color);white-space:nowrap;vertical-align:middle;cursor:pointer;background-color:var(--bs-chip-bg);border:var(--bs-border-width) solid var(--bs-chip-border-color);border-radius:var(--bs-chip-border-radius);align-items:center;text-decoration:none;display:inline-flex}.chip:hover{--bs-chip-bg:var(--bs-theme-bg-muted,var(--bs-bg-3))}.chip:focus-visible{outline:0}.chip.active{--bs-chip-color:var(--bs-chip-selected-color);--bs-chip-bg:var(--bs-chip-selected-bg);--bs-chip-border-color:var(--bs-chip-selected-border-color)}.chip.active:hover{--bs-chip-bg:var(--bs-chip-selected-bg);opacity:.9}.chip.disabled,.chip:disabled{pointer-events:none;opacity:.65}.chip-img{width:var(--bs-chip-img-size);height:var(--bs-chip-img-size);border-radius:50%}.chip-img:first-child{margin-inline-start:-.375rem}.chip-icon{flex-shrink:0;justify-content:center;align-items:center;margin-inline-start:calc(var(--bs-chip-gap) * -.25);display:flex}.chip-icon>svg{width:var(--bs-chip-icon-size);height:var(--bs-chip-icon-size);display:block}.chip-icon>img{width:var(--bs-chip-icon-size);height:var(--bs-chip-icon-size);-o-object-fit:cover;object-fit:cover;border-radius:50%}.chip-dismiss{width:var(--bs-chip-min-height);height:var(--bs-chip-min-height);color:inherit;cursor:pointer;opacity:var(--bs-chip-dismiss-opacity);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;margin-inline-end:calc(var(--bs-chip-padding-x) * -.25);padding:0;display:flex}.chip-dismiss:hover{opacity:var(--bs-chip-dismiss-hover-opacity)}.chip-dismiss:focus-visible{opacity:1;outline:0;outline:var(--bs-focus-ring)}.chip-dismiss>svg{width:var(--bs-chip-dismiss-size);height:var(--bs-chip-dismiss-size);display:block}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-subtitle-color:inherit;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius-lg);--bs-card-box-shadow:none;--bs-card-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-card-cap-padding-y:.75rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:var(--bs-bg-1);--bs-card-cap-color:inherit;--bs-card-height:auto;--bs-card-color:inherit;--bs-card-bg:var(--bs-bg-body);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;--bs-card-body-gap:.5rem;min-width:0;height:var(--bs-card-height);color:var(--bs-fg-body);word-wrap:break-word;background-color:var(--bs-card-bg);box-shadow:var(--bs-card-box-shadow);flex-direction:column;display:flex;position:relative}.card>hr{margin-inline:0}.card-body{gap:var(--bs-card-body-gap);padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color);border:solid var(--bs-theme-bg,var(--bs-card-border-color));border-width:0 var(--bs-card-border-width);flex-direction:column;flex:auto;align-items:flex-start;display:flex}.card-body>*{margin-block:0}.card-body,.card-list{border:solid var(--bs-theme-bg,var(--bs-card-border-color));border-width:0 var(--bs-card-border-width)}.card-body:first-child,.card-list:first-child{border-top-width:var(--bs-card-border-width);border-start-start-radius:var(--bs-card-border-radius);border-start-end-radius:var(--bs-card-border-radius)}.card-body:last-child,.card-list:last-child{border-bottom-width:var(--bs-card-border-width);border-end-end-radius:var(--bs-card-border-radius);border-end-start-radius:var(--bs-card-border-radius)}.card-body:not(:first-child):not(:last-child),.card-list:not(:first-child):not(:last-child){border-block-end-width:var(--bs-card-border-width)}.card-title,.card-subtitle,.card-text{align-self:stretch}.card-subtitle{margin-top:calc(var(--bs-card-body-gap) * -.5)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-theme-contrast,var(--bs-card-cap-color));background-color:var(--bs-theme-bg,var(--bs-card-cap-bg));border:var(--bs-card-border-width) solid var(--bs-theme-bg,var(--bs-card-border-color));margin-bottom:0}.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-theme-bg,var(--bs-card-cap-bg));border:var(--bs-card-border-width) solid var(--bs-theme-bg,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-translucent{background-color:color-mix(in oklch, var(--bs-card-bg) 80%, transparent);-webkit-backdrop-filter:blur(5px)saturate(180%);backdrop-filter:blur(5px)saturate(180%)}.card-translucent .card-header,.card-translucent .card-footer{background-color:color-mix(in oklch, var(--bs-card-cap-bg) 60%, transparent)}.card-subtle{border-color:var(--bs-theme-border,var(--bs-card-border-color))}.card-subtle .card-header,.card-subtle .card-footer{color:var(--bs-theme-text-emphasis,currentcolor);background-color:var(--bs-theme-bg-subtle,var(--bs-card-cap-bg));border-color:var(--bs-theme-border,var(--bs-card-border-color))}.card-subtle .card-body,.card-subtle .card-list{border-color:var(--bs-theme-border,var(--bs-card-border-color))}.nav.card-header-tabs{margin-inline:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));border-block-end:0}.nav.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-block-end-color:var(--bs-card-bg)}.card-img-overlay{padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius);position:absolute;inset:0}.card-img,.card-img-top,.card-img-bottom{outline:var(--bs-card-border-width) solid var(--bs-card-border-color);outline-offset:calc(var(--bs-card-border-width) * -1);width:100%}.card-img,.card-img-top{border-start-start-radius:var(--bs-card-inner-border-radius);border-start-end-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-end-end-radius:var(--bs-card-inner-border-radius);border-end-start-radius:var(--bs-card-inner-border-radius)}.card-row{flex-direction:row}.card-row .card-body,.card-row .card-list{border-width:var(--bs-card-border-width) 0;border-radius:0}.card-row .card-body:first-child,.card-row .card-list:first-child{border-inline-start-width:var(--bs-card-border-width);border-start-start-radius:var(--bs-card-inner-border-radius);border-end-start-radius:var(--bs-card-inner-border-radius)}.card-row .card-body:last-child,.card-row .card-list:last-child{border-inline-end-width:var(--bs-card-border-width);border-start-end-radius:var(--bs-card-inner-border-radius);border-end-end-radius:var(--bs-card-inner-border-radius)}.card-row .card-body:not(:first-child):not(:last-child),.card-row .card-list:not(:first-child):not(:last-child){border-inline-end-width:var(--bs-card-border-width)}.card-img-start{border-start-start-radius:var(--bs-card-inner-border-radius);border-end-start-radius:var(--bs-card-inner-border-radius)}.card-img-end{border-start-end-radius:var(--bs-card-inner-border-radius);border-end-end-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{flex-flow:wrap;display:flex}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{border-inline-start:0;margin-inline-start:0}.card-group>.card:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.card-group>.card:not(:last-child)>.card-img-top,.card-group>.card:not(:last-child)>.card-header{border-start-end-radius:0}.card-group>.card:not(:last-child)>.card-img-bottom,.card-group>.card:not(:last-child)>.card-footer{border-end-end-radius:0}.card-group>.card:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.card-group>.card:not(:first-child)>.card-img-top,.card-group>.card:not(:first-child)>.card-header{border-start-start-radius:0}.card-group>.card:not(:first-child)>.card-img-bottom,.card-group>.card:not(:first-child)>.card-footer{border-end-start-radius:0}}.carousel{--bs-carousel-control-color:#fff;--bs-carousel-control-width:15%;--bs-carousel-control-opacity:.5;--bs-carousel-control-hover-opacity:.9;--bs-carousel-control-transition:opacity .15s ease;--bs-carousel-control-icon-filter:none;--bs-carousel-indicator-width:30px;--bs-carousel-indicator-height:3px;--bs-carousel-indicator-hit-area-height:10px;--bs-carousel-indicator-spacer:3px;--bs-carousel-indicator-opacity:.5;--bs-carousel-indicator-active-bg:var(--bs-white);--bs-carousel-indicator-active-opacity:1;--bs-carousel-indicator-transition:opacity .6s ease;--bs-carousel-caption-width:70%;--bs-carousel-caption-color:var(--bs-white);--bs-carousel-caption-padding-y:1.25rem;--bs-carousel-caption-spacer:1.25rem;--bs-carousel-control-icon-width:2rem;--bs-carousel-control-prev-icon-bg:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>");--bs-carousel-control-next-icon-bg:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>");--bs-carousel-transition-duration:.6s;--bs-carousel-transition:transform .6s ease-in-out;position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{width:100%;display:flow-root;position:relative;overflow:hidden}.carousel-item{float:inline-start;backface-visibility:hidden;width:100%;transition:var(--bs-carousel-transition);margin-inline-end:-100%;display:none;position:relative}@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:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-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 var(--bs-carousel-transition-duration)}@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{z-index:1;width:var(--bs-carousel-control-width);color:var(--bs-carousel-control-color);text-align:center;filter:var(--bs-carousel-control-icon-filter);opacity:var(--bs-carousel-control-opacity);transition:var(--bs-carousel-control-transition);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;inset-block:0}@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:var(--bs-carousel-control-color);opacity:var(--bs-carousel-control-hover-opacity);outline:0;text-decoration:none}.carousel-control-prev{inset-inline-start:0}.carousel-control-next{inset-inline-end:0}.carousel-control-prev-icon,.carousel-control-next-icon{width:var(--bs-carousel-control-icon-width);height:var(--bs-carousel-control-icon-width);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;display:inline-block}.carousel-control-prev-icon{background-image:var(--bs-carousel-control-prev-icon-bg)}[dir=rtl] .carousel-control-prev-icon{background-image:var(--bs-carousel-control-next-icon-bg)}.carousel-control-next-icon{background-image:var(--bs-carousel-control-next-icon-bg)}[dir=rtl] .carousel-control-next-icon{background-image:var(--bs-carousel-control-prev-icon-bg)}.carousel-indicators{z-index:2;margin-inline:var(--bs-carousel-control-width);justify-content:center;margin-bottom:1rem;padding:0;display:flex;position:absolute;inset:auto 0 0}.carousel-indicators [data-bs-target]{box-sizing:content-box;width:var(--bs-carousel-indicator-width);height:var(--bs-carousel-indicator-height);margin-inline:var(--bs-carousel-indicator-spacer);text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);border:0;border-block:var(--bs-carousel-indicator-hit-area-height) solid transparent;opacity:var(--bs-carousel-indicator-opacity);transition:var(--bs-carousel-indicator-transition);background-clip:padding-box;flex:0 auto;padding:0}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:var(--bs-carousel-indicator-active-opacity)}.carousel-caption{right:calc((100% - var(--bs-carousel-caption-width)) * .5);bottom:var(--bs-carousel-caption-spacer);left:calc((100% - var(--bs-carousel-caption-width)) * .5);padding-top:var(--bs-carousel-caption-padding-y);padding-bottom:var(--bs-carousel-caption-padding-y);color:var(--bs-carousel-caption-color);text-align:center;position:absolute}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}@media (prefers-color-scheme:dark){:root{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}}[data-vc=calendar]{--bs-datepicker-padding:1rem;--bs-datepicker-bg:var(--bs-bg-body);--bs-datepicker-color:var(--bs-fg-body);--bs-datepicker-border-color:var(--bs-border-color-translucent);--bs-datepicker-border-width:var(--bs-border-width);--bs-datepicker-border-radius:var(--bs-border-radius-lg);--bs-datepicker-box-shadow:var(--bs-box-shadow);--bs-datepicker-font-size:var(--bs-font-size-sm);--bs-datepicker-min-width:280px;--bs-datepicker-zindex:1000;--bs-datepicker-header-font-weight:600;--bs-datepicker-weekday-color:var(--bs-fg-3);--bs-datepicker-day-hover-bg:var(--bs-bg-1);--bs-datepicker-day-selected-bg:var(--bs-primary-bg);--bs-datepicker-day-selected-color:var(--bs-primary-contrast);--bs-datepicker-day-today-bg:var(--bs-bg-2);--bs-datepicker-day-today-color:var(--bs-fg-1);--bs-datepicker-day-disabled-color:var(--bs-fg-4);z-index:var(--bs-datepicker-zindex);box-sizing:border-box;min-width:var(--bs-datepicker-min-width);padding:var(--bs-datepicker-padding);font-family:var(--bs-font-sans-serif);font-size:var(--bs-datepicker-font-size);color:var(--bs-datepicker-color);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;background-color:var(--bs-datepicker-bg);border:var(--bs-datepicker-border-width) solid var(--bs-datepicker-border-color);border-radius:var(--bs-datepicker-border-radius);box-shadow:var(--bs-datepicker-box-shadow);opacity:1;flex-direction:column;display:flex;position:absolute}@media (prefers-color-scheme:dark){[data-vc=calendar]{--lightningcss-light: ;--lightningcss-dark:initial}}[data-vc=calendar][data-bs-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-vc=calendar][data-bs-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-vc=calendar] button:focus-visible{z-index:1;outline:var(--bs-focus-ring);position:relative}[data-vc-calendar-hidden]{pointer-events:none;opacity:0}[data-vc=calendar]:not([data-vc-input]){width:fit-content;box-shadow:none;border:0;padding:0;position:relative}[data-vc-position=bottom]{margin-block-start:.25rem}[data-vc-position=top]{margin-block-end:-.25rem}[data-vc-arrow]{width:2rem;height:2rem;color:var(--bs-datepicker-color);pointer-events:auto;cursor:pointer;border-radius:var(--bs-border-radius);background-color:transparent;border:0;display:block;position:relative}[data-vc-arrow]:before{content:"";background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>");background-position:50%;background-repeat:no-repeat;position:absolute;inset:.25rem}[data-vc-arrow]:hover{background-color:var(--bs-datepicker-day-hover-bg)}[data-vc-arrow=prev]:before{transform:rotate(90deg)}[data-vc-arrow=next]:before{transform:rotate(-90deg)}[data-vc=controls]{z-index:20;pointer-events:none;justify-content:space-between;align-items:center;padding-top:1rem;padding-left:1rem;padding-right:1rem;display:flex;position:absolute;top:0;left:0;right:0}[data-vc=grid]{flex-wrap:wrap;flex-grow:1;gap:1.75rem;display:flex}[data-vc=column]{flex-direction:column;flex-grow:1;min-width:240px;display:flex}[data-vc=header]{align-items:center;margin-bottom:.75rem;display:flex;position:relative}[data-vc-header=content]{white-space:pre-wrap;flex-grow:1;justify-content:center;align-items:center;display:inline-flex}[data-vc=month],[data-vc=year]{font-size:1rem;font-weight:var(--bs-datepicker-header-font-weight);color:var(--bs-datepicker-color);border-radius:var(--bs-border-radius);background-color:transparent;border:0;margin-inline:-.125rem;padding:.25rem .5rem}[data-vc=month]:disabled,[data-vc=year]:disabled{color:var(--bs-datepicker-day-disabled-color);pointer-events:none}[data-vc=month]:hover:not(:disabled),[data-vc=year]:hover:not(:disabled){background-color:var(--bs-datepicker-day-hover-bg)}[data-vc=content]{flex-direction:column;flex-grow:1;display:flex}[data-vc=months],[data-vc=years]{grid-template-columns:repeat(var(--bs-vc-columns,4), minmax(0, 1fr));-moz-column-gap:.25rem;flex-grow:1;align-items:center;gap:1rem .25rem;display:grid}[data-vc=years]{--bs-vc-columns:5}[data-vc-months-month],[data-vc-years-year]{height:2.5rem;color:var(--bs-datepicker-weekday-color);text-align:center;word-break:break-all;cursor:pointer;border-radius:var(--bs-border-radius);background-color:transparent;border:0;justify-content:center;align-items:center;padding:.25rem;font-size:.75rem;font-weight:600;line-height:1rem;display:flex}[data-vc-months-month]:disabled,[data-vc-years-year]:disabled{color:var(--bs-datepicker-day-disabled-color);pointer-events:none}[data-vc-months-month]:hover:not(:disabled),[data-vc-years-year]:hover:not(:disabled){background-color:var(--bs-datepicker-day-hover-bg)}[data-vc-months-month][data-vc-months-month-selected],[data-vc-months-month][data-vc-years-year-selected],[data-vc-years-year][data-vc-months-month-selected],[data-vc-years-year][data-vc-years-year-selected],[data-vc-months-month][data-vc-months-month-selected]:hover,[data-vc-months-month][data-vc-years-year-selected]:hover,[data-vc-years-year][data-vc-months-month-selected]:hover,[data-vc-years-year][data-vc-years-year-selected]:hover{color:var(--bs-datepicker-day-selected-color);background-color:var(--bs-datepicker-day-selected-bg)}[data-vc=week]{grid-template-columns:repeat(7,1fr);justify-items:center;margin-bottom:.5rem;display:grid}[data-vc-week-day]{width:100%;min-width:1.875rem;color:var(--bs-datepicker-weekday-color);background-color:transparent;border:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:.75rem;font-weight:600;line-height:1rem;display:flex}button[data-vc-week-day]{cursor:pointer}[data-vc=dates]{pointer-events:none}[data-vc-dates=row]{grid-template-columns:repeat(7,1fr);place-items:center;width:100%;display:grid}[data-vc-date]{pointer-events:auto;justify-content:center;align-items:center;width:100%;padding-top:.125rem;padding-bottom:.125rem;display:flex;position:relative}[data-vc-date][data-vc-date-disabled],[data-vc-date][data-vc-date-disabled] [data-vc-date-btn]{pointer-events:none}[data-vc-date]:not(:has([data-vc-date-btn])){pointer-events:none}[data-vc-date-btn]{width:100%;min-width:1.875rem;height:100%;min-height:1.875rem;color:var(--bs-datepicker-color);cursor:pointer;border-radius:var(--bs-border-radius);background-color:transparent;border:0;justify-content:center;align-items:center;padding:0;font-size:.75rem;font-weight:400;line-height:1rem;display:flex}[data-vc-date-btn]:hover{background-color:var(--bs-datepicker-day-hover-bg)}[data-vc-date-today] [data-vc-date-btn]{color:var(--bs-datepicker-day-today-color);background-color:var(--bs-datepicker-day-today-bg);font-weight:600}[data-vc-date-month=next] [data-vc-date-btn],[data-vc-date-month=prev] [data-vc-date-btn]{opacity:.5}[data-vc-date-disabled] [data-vc-date-btn]{color:var(--bs-datepicker-day-disabled-color)}[data-vc-date-hover] [data-vc-date-btn]{background-color:var(--bs-datepicker-day-hover-bg);border-radius:0}[data-vc-date-hover=first] [data-vc-date-btn]{border-start-start-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}[data-vc-date-hover=last] [data-vc-date-btn]{border-start-end-radius:var(--bs-border-radius);border-end-end-radius:var(--bs-border-radius)}[data-vc-date-hover=first-and-last] [data-vc-date-btn]{border-radius:var(--bs-border-radius)}[data-vc-date-selected=middle] [data-vc-date-btn]{opacity:.8;border-radius:0}[data-vc-date-selected] [data-vc-date-btn]{color:var(--bs-datepicker-day-selected-color);background-color:var(--bs-datepicker-day-selected-bg)}[data-vc-date-selected=first] [data-vc-date-btn]{border-top-left-radius:var(--bs-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bs-border-radius)}[data-vc-date-selected=last] [data-vc-date-btn]{border-top-left-radius:0;border-top-right-radius:var(--bs-border-radius);border-bottom-right-radius:var(--bs-border-radius);border-bottom-left-radius:0}[data-vc-date-selected=first-and-last] [data-vc-date-btn]{border-radius:var(--bs-border-radius)}.dialog-open{scrollbar-gutter:stable;overflow:hidden}.dialog{--bs-dialog-padding:1rem;--bs-dialog-width:500px;--bs-dialog-margin:1.75rem;--bs-dialog-color:var(--bs-fg-body);--bs-dialog-bg:var(--bs-bg-body);--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-lg);--bs-dialog-backdrop-bg:rgba(0,0,0,.5);--bs-dialog-backdrop-blur:8px;--bs-dialog-header-padding:1rem;--bs-dialog-header-border-color:var(--bs-border-color);--bs-dialog-header-border-width:var(--bs-border-width);--bs-dialog-footer-padding:1rem;--bs-dialog-footer-border-color:var(--bs-border-color);--bs-dialog-footer-border-width:var(--bs-border-width);--bs-dialog-footer-gap:.5rem;max-width:var(--bs-dialog-width);max-height:calc(100% - var(--bs-dialog-margin) * 2);color:var(--bs-dialog-color);background-color:var(--bs-dialog-bg);border:var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);border-radius:var(--bs-dialog-border-radius);box-shadow:var(--bs-dialog-box-shadow);background-clip:padding-box;margin:auto;padding:0}.dialog::backdrop{background-color:var(--bs-dialog-backdrop-bg);-webkit-backdrop-filter:blur(var(--bs-dialog-backdrop-blur));backdrop-filter:blur(var(--bs-dialog-backdrop-blur))}.dialog.fade{opacity:0;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.dialog.fade{transition:none}}.dialog.fade::backdrop{opacity:0;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.dialog.fade::backdrop{transition:none}}.dialog.fade[open]{opacity:1}.dialog.fade[open]::backdrop{opacity:1}.dialog.dialog-static{transform:scale(1.02)}.dialog.dialog-nonmodal{z-index:1055;margin-inline:0;position:fixed;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.dialog.dialog-overflow{width:100%;max-width:100%;height:100%;max-height:100%;padding:var(--bs-dialog-margin);overscroll-behavior:contain;box-shadow:none;background:0 0;border:0;margin:0;position:fixed;inset:0;overflow-y:auto}.dialog.dialog-overflow>.dialog-box{max-width:var(--bs-dialog-width);color:var(--bs-dialog-color);background-color:var(--bs-dialog-bg);border:var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);border-radius:var(--bs-dialog-border-radius);box-shadow:var(--bs-dialog-box-shadow);background-clip:padding-box;margin-block-end:var(--bs-dialog-margin);margin-inline:auto}.dialog.dialog-scrollable[open]{max-height:calc(100% - var(--bs-dialog-margin) * 2);flex-direction:column;display:flex}.dialog.dialog-scrollable[open] .dialog-body{overflow-y:auto}.dialog-sm{--bs-dialog-width:280px}.dialog-lg{--bs-dialog-width:800px}.dialog-xl{--bs-dialog-width:1140px}.dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}@media not (min-width:576px){.dialog-fullscreen-sm-down{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media not (min-width:768px){.dialog-fullscreen-md-down{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media not (min-width:1024px){.dialog-fullscreen-lg-down{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media not (min-width:1280px){.dialog-fullscreen-xl-down{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media not (min-width:1536px){.dialog-fullscreen-2xl-down{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}.dialog-header{padding:var(--bs-dialog-header-padding);border-block-end:var(--bs-dialog-header-border-width) solid var(--bs-dialog-header-border-color);flex-shrink:0;align-items:center;display:flex}.dialog-header .btn-close{margin-inline-start:auto}.dialog-title{font-size:var(--bs-font-size-md);margin-bottom:0;line-height:1.5}.dialog-body{padding:var(--bs-dialog-padding);flex:auto;position:relative;overflow-y:auto}.dialog-footer{gap:var(--bs-dialog-footer-gap);padding:var(--bs-dialog-footer-padding);border-block-start:var(--bs-dialog-footer-border-width) solid var(--bs-dialog-footer-border-color);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.menu{--bs-menu-zindex:1000;--bs-menu-gap:.125rem;--bs-menu-min-width:10rem;--bs-menu-padding-x:.25rem;--bs-menu-padding-y:.25rem;--bs-menu-spacer:.125rem;--bs-menu-font-size:var(--bs-font-size-sm);--bs-menu-color:var(--bs-fg-body);--bs-menu-bg:var(--bs-bg-body);--bs-menu-box-shadow:var(--bs-box-shadow);--bs-menu-divider-bg:var(--bs-border-color-translucent);--bs-menu-divider-margin-y:.125rem;--bs-menu-divider-margin-x:.25rem;--bs-menu-item-color:var(--bs-menu-color,var(--bs-fg-body));--bs-menu-item-hover-color:var(--bs-menu-color,var(--bs-fg-body));--bs-menu-item-hover-bg:var(--bs-bg-1);--bs-menu-item-active-color:var(--bs-primary-contrast);--bs-menu-item-active-bg:var(--bs-primary-bg);--bs-menu-item-disabled-color:var(--bs-fg-3);--bs-menu-item-gap:.5rem;--bs-menu-item-padding-x:.75rem;--bs-menu-item-padding-y:.25rem;--bs-menu-item-border-radius:var(--bs-border-radius);--bs-menu-icon-size:1rem;--bs-menu-image-size:1.5rem;--bs-menu-description-font-size:var(--bs-font-size-xs);--bs-menu-check-color:currentcolor;--bs-menu-header-color:var(--bs-fg-3);--bs-menu-header-padding-x:.75rem;--bs-menu-header-padding-y:.25rem;z-index:var(--bs-menu-zindex);gap:var(--bs-menu-gap);min-width:var(--bs-menu-min-width);max-height:var(--bs-menu-max-height,none);padding:var(--bs-menu-padding-y) var(--bs-menu-padding-x);overflow-y:var(--bs-menu-overflow-y,initial);overscroll-behavior:contain;font-size:var(--bs-menu-font-size);color:var(--bs-menu-color);text-align:start;background-color:var(--bs-menu-bg);border:var(--bs-menu-border-width,var(--bs-border-width)) solid var(--bs-menu-border-color,var(--bs-border-color-translucent));border-radius:var(--bs-menu-border-radius,var(--bs-border-radius-lg));box-shadow:var(--bs-menu-box-shadow);background-clip:padding-box;flex-direction:column;margin:0;list-style:none;display:none;position:absolute}.menu.show{display:flex}.menu-scrollable{--bs-menu-max-height:80dvh;--bs-menu-overflow-y:auto}.menu-translucent{--bs-menu-item-hover-bg-light:color-mix(in oklch, var(--bs-bg-1) 90%, transparent);--bs-menu-item-hover-bg-dark:color-mix(in oklch, var(--bs-bg-1) 80%, transparent);--bs-menu-item-active-bg-light:color-mix(in oklch, var(--bs-primary-bg) 80%, transparent);--bs-menu-item-active-bg-dark:color-mix(in oklch, var(--bs-primary-bg) 70%, transparent);--bs-menu-item-active-bg:var(--lightningcss-light,var(--bs-menu-item-active-bg-light))var(--lightningcss-dark,var(--bs-menu-item-active-bg-dark));--bs-menu-item-hover-bg:var(--lightningcss-light,var(--bs-menu-item-hover-bg-light))var(--lightningcss-dark,var(--bs-menu-item-hover-bg-dark));background-color:color-mix(in oklch, var(--bs-menu-bg) 80%, transparent);-webkit-backdrop-filter:blur(5px)saturate(180%);backdrop-filter:blur(5px)saturate(180%)}.menu-divider{height:0;margin:var(--bs-menu-divider-margin-y) var(--bs-menu-divider-margin-x);border-block-start:1px solid var(--bs-menu-divider-bg);opacity:1;overflow:hidden}.menu-item{gap:var(--bs-menu-item-gap);width:100%;padding:var(--bs-menu-item-padding-y) var(--bs-menu-item-padding-x);font-weight:var(--bs-menu-item-font-weight,var(--bs-font-weight-normal));color:var(--bs-theme-text,var(--bs-menu-item-color));text-align:inherit;white-space:nowrap;cursor:pointer;border-radius:var(--bs-menu-item-border-radius,0);background-color:transparent;border:0;outline:0;align-items:center;text-decoration:none;display:flex}.menu-item:hover,.menu-item:focus{color:var(--bs-theme-text,var(--bs-menu-item-hover-color));background-color:var(--bs-theme-bg-subtle,var(--bs-menu-item-hover-bg))}.menu-item.active,.menu-item:active{color:var(--bs-theme-contrast,var(--bs-menu-item-active-color));background-color:var(--bs-theme-bg,var(--bs-menu-item-active-bg))}.menu-item.active .menu-item-icon,.menu-item:active .menu-item-icon{color:inherit!important}.menu-item.selected{font-weight:600}.menu-item.disabled,.menu-item:disabled{color:var(--bs-menu-item-disabled-color);pointer-events:none;background-color:transparent}.menu-item-icon{width:var(--bs-menu-icon-size);flex-shrink:0;align-self:flex-start;height:auto;margin-top:.125rem}.menu-image{width:var(--bs-menu-image-size);height:var(--bs-menu-image-size);-o-object-fit:cover;object-fit:cover;border-radius:var(--bs-border-radius-sm)}.menu-item-content{flex-direction:column;flex:1;min-width:fit-content;display:flex}.menu-item-description{font-size:var(--bs-menu-description-font-size);font-weight:var(--bs-font-weight-normal);color:color-mix(in oklch, currentcolor 65%, transparent)}.menu-item-check{color:var(--bs-menu-check-color);visibility:hidden;flex-shrink:0;align-self:flex-start;margin-block-start:.125rem;margin-inline-start:auto}.selected>.menu-item-check{visibility:visible}.menu-header{padding:var(--bs-menu-header-padding-y) var(--bs-menu-header-padding-x);font-size:var(--bs-font-size-sm);color:var(--bs-menu-header-color);white-space:nowrap;margin-bottom:0;display:block}.menu-text{padding:var(--bs-menu-item-padding-y) var(--bs-menu-item-padding-x);color:var(--bs-fg-2);display:block}.submenu{position:relative}.submenu>.menu-item{justify-content:space-between;align-items:center;display:flex}.submenu>.menu-item:after{content:"";border:.125em solid;border-width:0 .125em .125em 0;flex-shrink:0;width:.375em;height:.375em;margin-inline-start:auto;display:inline-block;transform:rotate(-45deg)}[dir=rtl] .submenu>.menu-item:after{transform:rotate(135deg)}.submenu>.menu{margin-top:calc(-1 * var(--bs-menu-padding-y));top:0}.submenu:hover>.menu-item{color:var(--bs-menu-item-hover-color);background-color:var(--bs-menu-item-hover-bg)}.submenu:focus-within>.menu-item{color:var(--bs-menu-item-hover-color);background-color:var(--bs-menu-item-hover-bg)}.submenu.show>.menu-item{color:var(--bs-menu-item-hover-color);background-color:var(--bs-menu-item-hover-bg)}@media (max-width:575.98px){.submenu:has(.submenu-stacked){position:static}.submenu-stacked{z-index:1;gap:var(--bs-menu-gap);min-width:0;padding:var(--bs-menu-padding-y) var(--bs-menu-padding-x);background-color:var(--bs-menu-bg);box-shadow:none;border:0;border-radius:0;flex-direction:column;display:flex;position:absolute;inset:0}.submenu-back{gap:var(--bs-menu-item-gap);padding:var(--bs-menu-item-padding-y) var(--bs-menu-item-padding-x);font-weight:var(--bs-font-weight-semibold,600);color:var(--bs-menu-item-color);align-items:center;display:flex}.submenu-back:before{content:"";border:0 solid;border-width:.125em 0 0 .125em;flex-shrink:0;width:.375em;height:.375em;display:inline-block;transform:rotate(-45deg)}[dir=rtl] .submenu-back:before{border-width:0 .125em .125em 0}.submenu-dimmed{pointer-events:none;filter:blur(2px);opacity:.3}}.list-group{--bs-list-group-color:var(--bs-fg-body);--bs-list-group-bg:var(--bs-bg-body);--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:.5rem;--bs-list-group-action-color:var(--bs-fg-2);--bs-list-group-action-hover-color:var(--bs-fg-1);--bs-list-group-action-hover-bg:var(--bs-bg-1);--bs-list-group-action-active-color:var(--bs-fg-body);--bs-list-group-action-active-bg:var(--bs-bg-2);--bs-list-group-disabled-color:var(--bs-fg-3);--bs-list-group-disabled-bg:var(--bs-bg-body);--bs-list-group-active-color:var(--bs-primary-contrast);--bs-list-group-active-bg:var(--bs-primary-bg);--bs-list-group-active-border-color:var(--bs-primary-bg);border-radius:var(--bs-list-group-border-radius);flex-direction:column;margin-bottom:0;padding-inline-start:0;display:flex}.list-group-numbered{counter-reset:section;list-style-type:none}.list-group-numbered>.list-group-item:before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-theme-text,var(--bs-list-group-color));background-color:var(--bs-theme-bg-subtle,var(--bs-list-group-bg));border:var(--bs-list-group-border-width) solid var(--bs-theme-border,var(--bs-list-group-border-color));display:block;position:relative}.list-group-item:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.list-group-item:last-child{border-end-end-radius:inherit;border-end-start-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-block-start-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-block-start-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-theme-text,var(--bs-list-group-action-color));text-align:inherit;text-decoration:none}.list-group-item-action:not(.active):hover,.list-group-item-action:not(.active):focus{z-index:1;color:var(--bs-theme-text-emphasis,var(--bs-list-group-action-hover-color));background-color:var(--bs-theme-bg-muted,var(--bs-list-group-action-hover-bg));text-decoration:none}.list-group-item-action:not(.active):active{color:var(--bs-theme-text-emphasis,var(--bs-list-group-action-active-color));background-color:var(--bs-theme-bg-muted,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-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * 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-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * 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-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}@media (min-width:1024px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}@media (min-width:1280px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}@media (min-width:1536px){.list-group-horizontal-2xl{flex-direction:row}.list-group-horizontal-2xl>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-2xl>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal-2xl>.list-group-item.active{margin-top:0}.list-group-horizontal-2xl>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal-2xl>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * 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-block-end-width:0}.nav{--bs-nav-gap:.125rem;--bs-nav-link-gap:.5rem;--bs-nav-link-align:center;--bs-nav-link-justify:center;--bs-nav-link-padding-x:.75rem;--bs-nav-link-padding-y:.375rem;--bs-nav-link-color:var(--bs-fg-2);--bs-nav-link-hover-color:var(--bs-fg-1);--bs-nav-link-hover-bg:var(--bs-bg-1);--bs-nav-link-active-color:var(--bs-fg-body);--bs-nav-link-active-bg:var(--bs-bg-2);--bs-nav-link-disabled-color:var(--bs-fg-4);--bs-nav-link-border-width:var(--bs-border-width);--bs-nav-link-transition-property:color, background-color, border-color;--bs-nav-link-transition-timing:.15s ease-in-out;--bs-nav-link-transition:var(--bs-nav-link-transition-property) var(--bs-nav-link-transition-timing);gap:var(--bs-nav-gap);flex-wrap:wrap;margin-bottom:0;padding-inline-start:0;list-style:none;display:flex}.nav-item{display:flex}.nav-link{gap:var(--bs-nav-link-gap);align-items:var(--bs-nav-link-align);justify-content:var(--bs-nav-link-justify);padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);white-space:nowrap;border:var(--bs-nav-link-border-width) solid transparent;border-radius:var(--bs-border-radius);transition:var(--bs-nav-link-transition);background:0 0;text-decoration:none;display:flex}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color);background-color:var(--bs-nav-link-hover-bg)}.nav-link:focus-visible{--bs-focus-ring-offset:1px;color:var(--bs-nav-link-hover-color);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.nav-link.active,.nav-link:active{color:var(--bs-nav-link-active-color);background-color:var(--bs-nav-link-active-bg)}.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-border-subtle);--bs-nav-tabs-link-active-color:var(--bs-fg-color);--bs-nav-tabs-link-active-bg:var(--bs-bg-body);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-bg-body);box-shadow:inset 0 calc(-1 * var(--bs-nav-tabs-border-width)) 0 var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{border:var(--bs-nav-tabs-border-width) solid transparent;border-bottom-color:var(--bs-nav-tabs-border-color);border-end-end-radius:0;border-end-start-radius:0}.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color);border-bottom-color:var(--bs-nav-tabs-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);border-bottom-color:var(--bs-nav-tabs-link-active-bg)}.nav-tabs .menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-start-start-radius:0;border-start-end-radius:0}.nav-pills{--bs-nav-pills-link-active-color:var(--bs-primary-contrast);--bs-nav-pills-link-active-bg:var(--bs-primary-bg)}.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-gap:1rem;--bs-nav-link-active-bg:transparent;--bs-nav-underline-border-width:.125rem;--bs-nav-underline-link-active-color:var(--bs-fg-color)}.nav-underline .nav-link{border:0;border-block-end:var(--bs-nav-underline-border-width) solid transparent;border-radius:0;padding-inline:0}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-block-end-color:currentColor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{color:var(--bs-nav-underline-link-active-color);border-block-end-color:currentColor;font-weight:700}.nav-fill>.nav-link,.nav-fill .nav-item{text-align:center;flex:auto}.nav-justified>.nav-link,.nav-justified .nav-item{text-align:center;flex-grow:1;flex-basis:0}.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}.nav-overflow{flex-wrap:nowrap;min-width:0}.nav-overflow-item{flex-shrink:0;margin-inline-start:auto}.nav-overflow [data-bs-nav-overflow=true]{display:none}.nav-overflow-keep{flex-shrink:0}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:var(--bs-fg-2);--bs-navbar-hover-color:var(--bs-fg-1);--bs-navbar-disabled-color:var(--bs-fg-3);--bs-navbar-active-color:var(--bs-fg-body);--bs-navbar-brand-padding-y:.75rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:var(--bs-font-size-md);--bs-navbar-brand-font-weight:var(--bs-font-weight-medium);--bs-navbar-brand-color:var(--bs-fg-body);--bs-navbar-brand-hover-color:var(--bs-fg-body);--bs-navbar-nav-link-padding-x:.75rem;--bs-navbar-toggler-width:2rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:var(--bs-font-size-lg);--bs-navbar-toggler-border-color:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);color:var(--bs-navbar-color,var(--bs-fg-body));background-color:var(--bs-navbar-bg,var(--bs-bg-body));flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex;position:relative;container-type:inline-size}.navbar>.container-2xl,.navbar>.container-xl,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container,.navbar>.container-fluid{flex-wrap:inherit;justify-content:space-between;align-items:center;display:flex}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);font-size:var(--bs-navbar-brand-font-size);font-weight:var(--bs-navbar-brand-font-weight);color:var(--bs-navbar-brand-color);white-space:nowrap;margin-inline-end:var(--bs-navbar-brand-margin-end);text-decoration:none}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-gap:.25rem;--bs-nav-link-gap:.5rem;--bs-nav-link-padding-x:.5rem;--bs-nav-link-padding-y:.375rem;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-border-width:var(--bs-border-width);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-hover-bg:transparent;--bs-nav-link-active-color:var(--bs-navbar-active-color);--bs-nav-link-active-bg:transparent;--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);gap:var(--bs-nav-gap);flex-direction:column;margin-bottom:0;padding-inline-start:0;list-style:none;display:flex}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color);border:var(--bs-nav-link-border-width) solid var(--bs-nav-link-border-color,transparent)}.navbar-text{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-toggler{--bs-btn-bg:transparent;--bs-btn-hover-bg:var(--bs-bg-2)}.navbar-expand>.container,.navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand .navbar-toggler{display:none!important}.navbar-expand .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transform:none!important}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}@container (width>=576px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand-sm .navbar-toggler{display:none!important}.navbar-expand-sm .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transform:none!important}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=768px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand-md .navbar-toggler{display:none!important}.navbar-expand-md .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transform:none!important}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=1024px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand-lg .navbar-toggler{display:none!important}.navbar-expand-lg .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transform:none!important}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=1280px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand-xl .navbar-toggler{display:none!important}.navbar-expand-xl .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transform:none!important}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=1536px){.navbar-expand-2xl>.container,.navbar-expand-2xl>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-2xl .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand-2xl .navbar-toggler{display:none!important}.navbar-expand-2xl .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transform:none!important}.navbar-expand-2xl .offcanvas .offcanvas-header{display:none}.navbar-expand-2xl .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}}.navbar-translucent{background-color:transparent;position:relative}.navbar-translucent:before{z-index:-1;content:"";background-color:color-mix(in oklch, var(--bs-navbar-bg,var(--bs-bg-body)) 80%, transparent);-webkit-backdrop-filter:blur(5px)saturate(180%);backdrop-filter:blur(5px)saturate(180%);background-image:none;position:absolute;inset:0}.navbar[data-bs-theme=dark]{--bs-navbar-color:color-mix(in oklch, var(--bs-white) .55, transparent);--bs-navbar-hover-color:color-mix(in oklch, var(--bs-white) .75, transparent);--bs-navbar-disabled-color:color-mix(in oklch, var(--bs-white) .25, transparent);--bs-navbar-active-color:var(--bs-white);--bs-navbar-brand-color:var(--bs-white);--bs-navbar-brand-hover-color:var(--bs-white);--bs-navbar-toggler-border-color:color-mix(in oklch, var(--bs-white) .1, transparent)}@media not (min-width:576px){.offcanvas-sm{z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition);background-clip:padding-box;outline:0;flex-direction:column;display:flex;position:fixed}}@media (not (min-width:576px)) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media not (min-width:576px){.offcanvas-sm:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-start:var(--bs-offcanvas-inset);transform:translate(-100%)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .offcanvas-sm:where(.offcanvas-start){transform:translate(100%)}.offcanvas-sm:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-end:var(--bs-offcanvas-inset);transform:translate(100%)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .offcanvas-sm:where(.offcanvas-end){transform:translate(-100%)}.offcanvas-sm:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(-100%)}.offcanvas-sm:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(100%)}.offcanvas-sm:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;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{flex-direction:row;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media not (min-width:768px){.offcanvas-md{z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition);background-clip:padding-box;outline:0;flex-direction:column;display:flex;position:fixed}}@media (not (min-width:768px)) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media not (min-width:768px){.offcanvas-md:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-start:var(--bs-offcanvas-inset);transform:translate(-100%)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .offcanvas-md:where(.offcanvas-start){transform:translate(100%)}.offcanvas-md:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-end:var(--bs-offcanvas-inset);transform:translate(100%)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .offcanvas-md:where(.offcanvas-end){transform:translate(-100%)}.offcanvas-md:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(-100%)}.offcanvas-md:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(100%)}.offcanvas-md:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;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{flex-direction:row;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media not (min-width:1024px){.offcanvas-lg{z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition);background-clip:padding-box;outline:0;flex-direction:column;display:flex;position:fixed}}@media (not (min-width:1024px)) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media not (min-width:1024px){.offcanvas-lg:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-start:var(--bs-offcanvas-inset);transform:translate(-100%)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .offcanvas-lg:where(.offcanvas-start){transform:translate(100%)}.offcanvas-lg:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-end:var(--bs-offcanvas-inset);transform:translate(100%)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .offcanvas-lg:where(.offcanvas-end){transform:translate(-100%)}.offcanvas-lg:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(-100%)}.offcanvas-lg:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(100%)}.offcanvas-lg:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;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:1024px){.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{flex-direction:row;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media not (min-width:1280px){.offcanvas-xl{z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition);background-clip:padding-box;outline:0;flex-direction:column;display:flex;position:fixed}}@media (not (min-width:1280px)) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media not (min-width:1280px){.offcanvas-xl:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-start:var(--bs-offcanvas-inset);transform:translate(-100%)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .offcanvas-xl:where(.offcanvas-start){transform:translate(100%)}.offcanvas-xl:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-end:var(--bs-offcanvas-inset);transform:translate(100%)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .offcanvas-xl:where(.offcanvas-end){transform:translate(-100%)}.offcanvas-xl:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(-100%)}.offcanvas-xl:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(100%)}.offcanvas-xl:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;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:1280px){.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{flex-direction:row;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media not (min-width:1536px){.offcanvas-2xl{z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition);background-clip:padding-box;outline:0;flex-direction:column;display:flex;position:fixed}}@media (not (min-width:1536px)) and (prefers-reduced-motion:reduce){.offcanvas-2xl{transition:none}}@media not (min-width:1536px){.offcanvas-2xl:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-start:var(--bs-offcanvas-inset);transform:translate(-100%)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .offcanvas-2xl:where(.offcanvas-start){transform:translate(100%)}.offcanvas-2xl:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-end:var(--bs-offcanvas-inset);transform:translate(100%)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .offcanvas-2xl:where(.offcanvas-end){transform:translate(-100%)}.offcanvas-2xl:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(-100%)}.offcanvas-2xl:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(100%)}.offcanvas-2xl:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;transform:translateY(100%)}.offcanvas-2xl.showing,.offcanvas-2xl.show:not(.hiding){transform:none}.offcanvas-2xl.showing,.offcanvas-2xl.hiding,.offcanvas-2xl.show{visibility:visible}}@media (min-width:1536px){.offcanvas-2xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-2xl .offcanvas-header{display:none}.offcanvas-2xl .offcanvas-body{flex-direction:row;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition);background-clip:padding-box;outline:0;flex-direction:column;display:flex;position:fixed}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-start:var(--bs-offcanvas-inset);transform:translate(-100%)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .offcanvas:where(.offcanvas-start){transform:translate(100%)}.offcanvas:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-end:var(--bs-offcanvas-inset);transform:translate(100%)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .offcanvas:where(.offcanvas-end){transform:translate(-100%)}.offcanvas:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(-100%)}.offcanvas:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(100%)}.offcanvas:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{--bs-offcanvas-backdrop-bg:var(--bs-bg-body);--bs-offcanvas-backdrop-opacity:25%;--bs-offcanvas-backdrop-blur:8px;z-index:1040;background-color:color-mix(in oklch, var(--bs-offcanvas-backdrop-bg) var(--bs-offcanvas-backdrop-opacity), transparent);-webkit-backdrop-filter:blur(var(--bs-offcanvas-backdrop-blur));backdrop-filter:blur(var(--bs-offcanvas-backdrop-blur));position:fixed;inset:0}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:1}.offcanvas-translucent{background-color:color-mix(in oklch, var(--bs-offcanvas-bg) 80%, transparent);-webkit-backdrop-filter:blur(5px)saturate(180%);backdrop-filter:blur(5px)saturate(180%)}.offcanvas-header{padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);align-items:center;display:flex}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-inline-start:auto;margin-inline-end:calc(-.5 * var(--bs-offcanvas-padding-x));margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{line-height:var(--bs-offcanvas-title-line-height);margin-bottom:0}.offcanvas-body{gap:var(--bs-offcanvas-padding-y);padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);flex-direction:column;flex-grow:1;display:flex;overflow-y:auto}.offcanvas-footer{padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);border-block-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.offcanvas-fit-content{inset-block-end:auto}.pagination{--bs-pagination-min-height:var(--bs-btn-input-min-height);--bs-pagination-padding-x:var(--bs-btn-input-padding-x);--bs-pagination-padding-y:var(--bs-btn-input-padding-y);--bs-pagination-font-size:var(--bs-btn-input-font-size);--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-bg-body);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-btn-input-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-bg-1);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-bg-2);--bs-pagination-active-color:var(--bs-primary-contrast);--bs-pagination-active-bg:var(--bs-primary-bg);--bs-pagination-active-border-color:var(--bs-primary-bg);--bs-pagination-disabled-color:var(--bs-fg-3);--bs-pagination-disabled-bg:var(--bs-bg-2);--bs-pagination-disabled-border-color:var(--bs-border-color);padding-inline-start:0;list-style:none;display:flex}.page-link{min-height:var(--bs-pagination-min-height);padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);justify-content:center;align-items:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:flex;position:relative}@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-visible{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.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-inline-start:calc(-1 * var(--bs-pagination-border-width))}.page-item:first-child .page-link{border-start-start-radius:var(--bs-pagination-border-radius);border-end-start-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-start-end-radius:var(--bs-pagination-border-radius);border-end-end-radius:var(--bs-pagination-border-radius)}.pagination-sm{--bs-pagination-min-height:var(--bs-btn-input-sm-min-height);--bs-pagination-padding-y:var(--bs-btn-input-sm-padding-y);--bs-pagination-padding-x:var(--bs-btn-input-sm-padding-x);--bs-pagination-font-size:var(--bs-btn-input-sm-font-size);--bs-pagination-border-radius:var(--bs-btn-input-sm-border-radius)}.pagination-lg{--bs-pagination-min-height:var(--bs-btn-input-lg-min-height);--bs-pagination-padding-y:var(--bs-btn-input-lg-padding-y);--bs-pagination-padding-x:var(--bs-btn-input-lg-padding-x);--bs-pagination-font-size:var(--bs-btn-input-lg-font-size);--bs-pagination-border-radius:var(--bs-btn-input-lg-border-radius)}.placeholder{--bs-placeholder-opacity-max:.5;--bs-placeholder-opacity-min:.2;vertical-align:middle;cursor:wait;min-height:1em;opacity:var(--bs-placeholder-opacity-max);background-color:currentColor;display:inline-block}.placeholder.btn:before{content:"";display:inline-block}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:2s ease-in-out infinite placeholder-glow}@keyframes placeholder-glow{50%{opacity:var(--bs-placeholder-opacity-min)}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--bs-placeholder-opacity-min))) 75%, #000 95%);mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--bs-placeholder-opacity-min))) 75%, #000 95%);animation:2s linear infinite placeholder-wave;mask-size:200% 100%}@keyframes placeholder-wave{to{mask-position:-200% 0}}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:280px;--bs-popover-font-size:var(--bs-font-size-sm);--bs-popover-bg:var(--bs-bg-body);--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:.75rem;--bs-popover-header-font-size:var(--bs-font-size-sm);--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-bg-1);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:.75rem;--bs-popover-body-color:var(--bs-fg-body);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);max-width:var(--bs-popover-max-width);font-family:var(--bs-body-font-family);font-style:normal;font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);text-align:start;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);border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius);box-shadow:var(--bs-popover-box-shadow);background-clip:padding-box;text-decoration:none;display:block}.popover .popover-arrow{width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height);display:block}.popover .popover-arrow:before,.popover .popover-arrow:after{content:"";border:0 solid transparent;display:block;position:absolute}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-bs-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-bs-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow:before{border-block-start-color:var(--bs-popover-arrow-border);bottom:0}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-block-start-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-bs-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-bs-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow:before{border-inline-end-color:var(--bs-popover-arrow-border);left:0}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-inline-end-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-bs-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-bs-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow:before{border-block-end-color:var(--bs-popover-arrow-border);top:0}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-block-end-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-bs-placement^=bottom] .popover-header:before{width:var(--bs-popover-arrow-width);content:"";border-block-end:var(--bs-popover-border-width) solid var(--bs-popover-header-bg);margin-inline-start:calc(-.5 * var(--bs-popover-arrow-width));display:block;position:absolute;top:0;left:50%}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-bs-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-bs-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow:before{border-inline-start-color:var(--bs-popover-arrow-border);right:0}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-inline-start-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-block-end:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-start-start-radius:var(--bs-popover-inner-border-radius);border-start-end-radius:var(--bs-popover-inner-border-radius);margin-bottom:0}.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)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:var(--bs-font-size-sm);--bs-progress-bg:var(--bs-bg-2);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:var(--bs-white);--bs-progress-bar-bg:var(--bs-primary-bg);--bs-progress-bar-transition:width .6s ease;--bs-progress-bar-animation:progress-bar-stripes 1s linear infinite;height:var(--bs-progress-height);font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius);box-shadow:var(--bs-progress-box-shadow);display:flex;overflow:hidden}.progress-bar{color:var(--bs-theme-contrast,var(--bs-progress-bar-color));text-align:center;white-space:nowrap;background-color:var(--bs-theme-bg,var(--bs-progress-bar-bg));transition:var(--bs-progress-bar-transition);flex-direction:column;justify-content:center;display:flex;overflow:hidden}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25% 50%,rgba(255,255,255,.15) 50% 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:var(--bs-progress-bar-animation)}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.spinner-grow,.spinner-border{width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);border-radius:50%;flex-shrink:0;display:inline-block}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-inline-end-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.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:-.125em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-grow;opacity:0;background-color:currentColor}.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}}.stepper{--bs-stepper-size:2rem;--bs-stepper-gap:1rem;--bs-stepper-font-size:var(--bs-font-size-sm);--bs-stepper-text-gap:.5rem;--bs-stepper-track-size:.125rem;--bs-stepper-bg:var(--bs-bg-2);--bs-stepper-active-color:var(--bs-primary-contrast);--bs-stepper-active-bg:var(--bs-primary-bg);gap:var(--bs-stepper-gap);counter-reset:stepper;grid-auto-rows:1fr;grid-auto-flow:row;padding-inline-start:0;list-style:none;display:grid}.stepper-item{grid-template-rows:auto;grid-template-columns:var(--bs-stepper-size) auto;gap:var(--bs-stepper-text-gap);align-items:var(--bs-stepper-align-items,center);text-decoration:none;display:grid;position:relative}.stepper-item:before{z-index:1;width:var(--bs-stepper-size);height:var(--bs-stepper-size);font-size:var(--bs-stepper-font-size);text-align:center;content:counter(stepper);counter-increment:stepper;background-color:var(--bs-stepper-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;font-weight:600;line-height:1;display:flex;position:relative}.stepper-item:after{width:var(--bs-stepper-track-size);height:calc(100% + var(--bs-stepper-gap));content:"";background-color:var(--bs-stepper-bg);position:absolute;inset-block:50% 100%;inset-inline-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5)}.stepper-item:last-child:after{display:none}.stepper-item.active:before,.stepper-item.active:after{color:var(--bs-theme-contrast,var(--bs-stepper-active-color));background-color:var(--bs-theme-bg,var(--bs-stepper-active-bg))}.stepper-item.active:not(:has(+.stepper-item.active)):after{background-color:var(--bs-stepper-bg)}.stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.stepper-horizontal .stepper-item:last-child:after{right:100%}@container (width>=576px){.stepper-horizontal-sm{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.stepper-horizontal-sm .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.stepper-horizontal-sm .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.stepper-horizontal-sm .stepper-item:last-child:after{right:100%}}@container (width>=768px){.stepper-horizontal-md{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.stepper-horizontal-md .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.stepper-horizontal-md .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.stepper-horizontal-md .stepper-item:last-child:after{right:100%}}@container (width>=1024px){.stepper-horizontal-lg{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.stepper-horizontal-lg .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.stepper-horizontal-lg .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.stepper-horizontal-lg .stepper-item:last-child:after{right:100%}}@container (width>=1280px){.stepper-horizontal-xl{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.stepper-horizontal-xl .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.stepper-horizontal-xl .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.stepper-horizontal-xl .stepper-item:last-child:after{right:100%}}@container (width>=1536px){.stepper-horizontal-2xl{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.stepper-horizontal-2xl .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.stepper-horizontal-2xl .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.stepper-horizontal-2xl .stepper-item:last-child:after{right:100%}}.stepper-overflow{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-x:auto;container-type:inline-size}.stepper-overflow>.stepper{width:max-content;min-width:100%}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), .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-fg-3);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), .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);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);background-clip:padding-box}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;z-index:var(--bs-toast-zindex);pointer-events:none;width:max-content;max-width:100%;position:absolute}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);border-block-end:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);background-clip:padding-box;border-start-start-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-start-end-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));align-items:center;display:flex}.toast-header .btn-close{margin-inline-start:var(--bs-toast-padding-x);margin-inline-end:calc(-.5 * var(--bs-toast-padding-x))}.toast-translucent{-webkit-backdrop-filter:blur(5px)saturate(180%);backdrop-filter:blur(5px)saturate(180%)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}}@layer custom;@layer helpers{.focus-ring:focus-visible{outline:var(--bs-focus-ring)}.icon-link{-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity,.5));text-underline-offset:.25em;backface-visibility:hidden;align-items:center;gap:.375rem;display:inline-flex}.icon-link>.bi{fill:currentColor;flex-shrink:0;width:1em;height:1em;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em, 0, 0))}.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em, 0, 0))}.fixed-top{z-index:1030;position:fixed;inset:0 0 auto}.fixed-bottom{z-index:1030;position:fixed;inset:auto 0 0}.sticky-top{z-index:1020;position:sticky;top:0}.sticky-bottom{z-index:1020;position:sticky;bottom:0}@media (min-width:576px){.sticky-sm-top{z-index:1020;position:sticky;top:0}.sticky-sm-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:768px){.sticky-md-top{z-index:1020;position:sticky;top:0}.sticky-md-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1024px){.sticky-lg-top{z-index:1020;position:sticky;top:0}.sticky-lg-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1280px){.sticky-xl-top{z-index:1020;position:sticky;top:0}.sticky-xl-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1536px){.sticky-2xl-top{z-index:1020;position:sticky;top:0}.sticky-2xl-bottom{z-index:1020;position:sticky;bottom:0}}.stack-container{container-type:inline-size}[class*=hstack],[class*=vstack]{flex:var(--bs-stack-flex,1 1 auto);flex-direction:var(--bs-stack-direction,row);align-items:var(--bs-stack-align-items,center);align-self:var(--bs-stack-align-self,stretch);display:flex}.vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}@container (width>=576px){.vstack-sm{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack-sm{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=768px){.vstack-md{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack-md{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1024px){.vstack-lg{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack-lg{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1280px){.vstack-xl{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack-xl{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1536px){.vstack-2xl{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack-2xl{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important}.visually-hidden-focusable:not(:focus):not(:focus-within){clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important}.visually-hidden:not(caption){position:absolute!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.visually-hidden *{overflow:hidden!important}.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link:after{z-index:1;content:"";position:absolute;inset:0}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vr{width:var(--bs-vr-border-width,var(--bs-border-width));background-color:var(--bs-border-color);align-self:stretch;min-height:1em;display:inline-block}}@layer utilities{.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-bottom{vertical-align:text-bottom}.align-text-top{vertical-align:text-top}[class*=ratio-]{aspect-ratio:var(--bs-ratio)}.ratio-auto{--bs-ratio:auto}.ratio-1x1{--bs-ratio:1 / 1}.ratio-4x3{--bs-ratio:4 / 3}.ratio-16x9{--bs-ratio:16 / 9}.ratio-21x9{--bs-ratio:21 / 9}.float-start{float:inline-start}.float-end{float:inline-end}.float-none{float:none}.object-fit-contain{-o-object-fit:contain;object-fit:contain}.object-fit-cover{-o-object-fit:cover;object-fit:cover}.object-fit-fill{-o-object-fit:fill;object-fit:fill}.object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-none{-o-object-fit:none;object-fit:none}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.contains-inline{container-type:inline-size}.contains-size{container-type:size}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.shadow{box-shadow:var(--bs-box-shadow)}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)}.shadow-none{box-shadow:none}.focus-ring-primary{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)))}.focus-ring-accent{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)))}.focus-ring-success{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)))}.focus-ring-danger{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)))}.focus-ring-warning{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)))}.focus-ring-info{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)))}.focus-ring-inverse{--bs-focus-ring-color:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-100)) 50%, var(--bs-bg-body))}.focus-ring-secondary{--bs-focus-ring-color:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-300)) 50%, var(--bs-bg-body))}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.top-0{top:0}.top-50{top:50%}.top-100{top:100%}.bottom-0{bottom:0}.bottom-50{bottom:50%}.bottom-100{bottom:100%}.start-0{left:0}.start-50{left:50%}.start-100{left:100%}.end-0{right:0}.end-50{right:50%}.end-100{right:100%}.translate-middle{transform:translate(-50%,-50%)}.translate-middle-x{transform:translate(-50%)}.translate-middle-y{transform:translateY(-50%)}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-0{border:0}.border-top{border-block-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-top-0{border-block-start:0}.border-end{border-inline-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-end-0{border-inline-end:0}.border-bottom{border-block-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-bottom-0{border-block-end:0}.border-start{border-inline-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-start-0{border-inline-start:0}.border-block{border-block:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-block-0{border-block:0}.border-inline{border-inline:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-inline-0{border-inline:0}.border-primary{--bs-border-color:var(--bs-blue-500);border-color:var(--bs-border-color)}.border-accent{--bs-border-color:var(--bs-indigo-500);border-color:var(--bs-border-color)}.border-success{--bs-border-color:var(--bs-green-500);border-color:var(--bs-border-color)}.border-danger{--bs-border-color:var(--bs-red-500);border-color:var(--bs-border-color)}.border-warning{--bs-border-color:var(--bs-yellow-500);border-color:var(--bs-border-color)}.border-info{--bs-border-color:var(--bs-cyan-500);border-color:var(--bs-border-color)}.border-inverse{--bs-border-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));border-color:var(--bs-border-color)}.border-secondary{--bs-border-color:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-bg{--bs-border-color:var(--bs-bg-body);border-color:var(--bs-border-color)}.border-body{--bs-border-color:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-800));border-color:var(--bs-border-color)}.border-muted{--bs-border-color:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-800));border-color:var(--bs-border-color)}.border-subtle{--bs-border-color:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));border-color:var(--bs-border-color)}.border-emphasized{--bs-border-color:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-white{--bs-border-color:var(--bs-white);border-color:var(--bs-border-color)}.border-black{--bs-border-color:var(--bs-black);border-color:var(--bs-border-color)}.border-subtle-primary{--bs-border-color:var(--lightningcss-light,var(--bs-blue-300))var(--lightningcss-dark,var(--bs-blue-600));border-color:var(--bs-border-color)}.border-subtle-accent{--bs-border-color:var(--lightningcss-light,var(--bs-indigo-300))var(--lightningcss-dark,var(--bs-indigo-600));border-color:var(--bs-border-color)}.border-subtle-success{--bs-border-color:var(--lightningcss-light,var(--bs-green-300))var(--lightningcss-dark,var(--bs-green-600));border-color:var(--bs-border-color)}.border-subtle-danger{--bs-border-color:var(--lightningcss-light,var(--bs-red-300))var(--lightningcss-dark,var(--bs-red-600));border-color:var(--bs-border-color)}.border-subtle-warning{--bs-border-color:var(--lightningcss-light,var(--bs-yellow-300))var(--lightningcss-dark,var(--bs-yellow-600));border-color:var(--bs-border-color)}.border-subtle-info{--bs-border-color:var(--lightningcss-light,var(--bs-cyan-300))var(--lightningcss-dark,var(--bs-cyan-600));border-color:var(--bs-border-color)}.border-subtle-inverse{--bs-border-color:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-100));border-color:var(--bs-border-color)}.border-subtle-secondary{--bs-border-color:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-1{border-width:1px}.border-2{border-width:2px}.border-3{border-width:3px}.border-4{border-width:4px}.border-5{border-width:5px}.border-10{border-color:color-mix(in oklch, var(--bs-border-color) 10%, transparent)}.border-20{border-color:color-mix(in oklch, var(--bs-border-color) 20%, transparent)}.border-30{border-color:color-mix(in oklch, var(--bs-border-color) 30%, transparent)}.border-40{border-color:color-mix(in oklch, var(--bs-border-color) 40%, transparent)}.border-50{border-color:color-mix(in oklch, var(--bs-border-color) 50%, transparent)}.border-60{border-color:color-mix(in oklch, var(--bs-border-color) 60%, transparent)}.border-70{border-color:color-mix(in oklch, var(--bs-border-color) 70%, transparent)}.border-80{border-color:color-mix(in oklch, var(--bs-border-color) 80%, transparent)}.border-90{border-color:color-mix(in oklch, var(--bs-border-color) 90%, transparent)}.border-100{border-color:var(--bs-border-color)}.w-1{width:1rem}.w-2{width:2rem}.w-3{width:3rem}.w-4{width:4rem}.w-5{width:5rem}.w-6{width:6rem}.w-7{width:7rem}.w-8{width:8rem}.w-9{width:9rem}.w-10{width:10rem}.w-11{width:11rem}.w-12{width:12rem}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.w-min{width:min-content}.w-max{width:max-content}.w-fit{width:fit-content}.max-w-100{max-width:100%}.min-w-0{min-width:0}.min-w-100{min-width:100%}.vw-100{width:100vw}.min-vw-100{min-width:100vw}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.h-min{height:min-content}.h-max{height:max-content}.h-fit{height:fit-content}.max-h-100{max-height:100%}.min-h-0{min-height:0}.min-h-100{min-height:100%}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.flex-fill{flex:auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.justify-self-start{justify-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-center{justify-self:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch stretch}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:.25rem}.mx-2{margin-inline:.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:.25rem}.my-2{margin-block:.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:.25rem}.mt-2{margin-block-start:.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:.25rem}.mb-2{margin-block-end:.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms--1{margin-inline-start:-.25rem}.ms--2{margin-inline-start:-.5rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:.25rem}.px-2{padding-inline:.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:.25rem}.py-2{padding-block:.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:.25rem}.pt-2{padding-block-start:.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:.25rem}.pb-2{padding-block-end:.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:1rem}.row-gap-4{row-gap:1.5rem}.row-gap-5{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.font-monospace{font-family:var(--bs-font-mono)}.font-body{font-family:var(--bs-body-font-family)}.fs-xs{font-size:.75rem}.fs-sm{font-size:.875rem}.fs-md{font-size:1rem}.fs-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem)}.fs-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem)}.fs-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem)}.fs-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem)}.fs-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem)}.fs-5xl{font-size:clamp(3rem,2rem + 5vw,4rem)}.fs-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem)}.text-xs{font-size:.75rem;line-height:1.25}.text-sm{font-size:.875rem;line-height:1.5}.text-md{font-size:1rem;line-height:1.5}.text-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem);line-height:1.5}.text-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem);line-height:1.42857}.text-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem);line-height:1.33333}.text-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem);line-height:1.2}.text-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem);line-height:1.1}.text-5xl{font-size:clamp(3rem,2rem + 5vw,4rem);line-height:1.1}.text-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem);line-height:1}.fst-italic{font-style:italic}.fst-normal{font-style:normal}.fw-lighter{font-weight:lighter}.fw-light{font-weight:300}.fw-normal{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.fw-bolder{font-weight:bolder}.lh-1{line-height:1}.lh-sm{line-height:1.25}.lh-base{line-height:1.5}.lh-lg{line-height:2}.text-start{text-align:start}.text-end{text-align:end}.text-center{text-align:center}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-decoration-line-through{text-decoration:line-through}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-wrap{white-space:wrap}.text-nowrap{white-space:nowrap}.text-balance{white-space:balance}.text-pretty{white-space:pretty}.text-break{word-wrap:break-word;word-break:break-word}.fg-primary{--bs-fg:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));color:var(--bs-fg)}.fg-accent{--bs-fg:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));color:var(--bs-fg)}.fg-success{--bs-fg:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));color:var(--bs-fg)}.fg-danger{--bs-fg:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));color:var(--bs-fg)}.fg-warning{--bs-fg:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));color:var(--bs-fg)}.fg-info{--bs-fg:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));color:var(--bs-fg)}.fg-inverse{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));color:var(--bs-fg)}.fg-body{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-050));color:var(--bs-fg)}.fg-1{--bs-fg:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-2{--bs-fg:var(--lightningcss-light,var(--bs-gray-700))var(--lightningcss-dark,var(--bs-gray-300));color:var(--bs-fg)}.fg-3{--bs-fg:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-500));color:var(--bs-fg)}.fg-4{--bs-fg:var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-600));color:var(--bs-fg)}.fg-white{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-black{--bs-fg:var(--bs-black);color:var(--bs-fg)}.fg-inherit{--bs-fg:inherit;color:var(--bs-fg)}.fg-emphasis-primary{--bs-fg:var(--lightningcss-light,var(--bs-blue-800))var(--lightningcss-dark,var(--bs-blue-200));color:var(--bs-fg)}.fg-emphasis-accent{--bs-fg:var(--lightningcss-light,var(--bs-indigo-800))var(--lightningcss-dark,var(--bs-indigo-300));color:var(--bs-fg)}.fg-emphasis-success{--bs-fg:var(--lightningcss-light,var(--bs-green-800))var(--lightningcss-dark,var(--bs-green-300));color:var(--bs-fg)}.fg-emphasis-danger{--bs-fg:var(--lightningcss-light,var(--bs-red-800))var(--lightningcss-dark,var(--bs-red-300));color:var(--bs-fg)}.fg-emphasis-warning{--bs-fg:var(--lightningcss-light,var(--bs-yellow-800))var(--lightningcss-dark,var(--bs-yellow-300));color:var(--bs-fg)}.fg-emphasis-info{--bs-fg:var(--lightningcss-light,var(--bs-cyan-800))var(--lightningcss-dark,var(--bs-cyan-300));color:var(--bs-fg)}.fg-emphasis-inverse{--bs-fg:var(--lightningcss-light,var(--bs-gray-975))var(--lightningcss-dark,var(--bs-white));color:var(--bs-fg)}.fg-emphasis-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-contrast-primary,.fg-contrast-accent,.fg-contrast-success,.fg-contrast-danger{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-warning,.fg-contrast-info{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-inverse{--bs-fg:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-900));color:var(--bs-fg)}.fg-contrast-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));color:var(--bs-fg)}.fg-10{color:color-mix(in oklch, var(--bs-fg) 10%, transparent)}.fg-20{color:color-mix(in oklch, var(--bs-fg) 20%, transparent)}.fg-30{color:color-mix(in oklch, var(--bs-fg) 30%, transparent)}.fg-40{color:color-mix(in oklch, var(--bs-fg) 40%, transparent)}.fg-50{color:color-mix(in oklch, var(--bs-fg) 50%, transparent)}.fg-60{color:color-mix(in oklch, var(--bs-fg) 60%, transparent)}.fg-70{color:color-mix(in oklch, var(--bs-fg) 70%, transparent)}.fg-80{color:color-mix(in oklch, var(--bs-fg) 80%, transparent)}.fg-90{color:color-mix(in oklch, var(--bs-fg) 90%, transparent)}.fg-100{color:var(--bs-fg)}.link-10,.link-10-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.link-20,.link-20-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.link-30,.link-30-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.link-40,.link-40-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.link-50,.link-50-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.link-60,.link-60-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.link-70,.link-70-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.link-80,.link-80-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.link-90,.link-90-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.link-100,.link-100-hover:hover{color:var(--bs-link-color)}.underline-offset-1,.underline-offset-1-hover:hover{text-underline-offset:.125em}.underline-offset-2,.underline-offset-2-hover:hover{text-underline-offset:.25em}.underline-offset-3,.underline-offset-3-hover:hover{text-underline-offset:.375em}.underline-primary{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));text-decoration-color:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400))}.underline-accent{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));text-decoration-color:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)))}.underline-success{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));text-decoration-color:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400))}.underline-danger{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));text-decoration-color:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400))}.underline-warning{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));text-decoration-color:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400))}.underline-info{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));text-decoration-color:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400))}.underline-inverse{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));text-decoration-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200))}.underline-secondary{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));text-decoration-color:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400))}.underline-10,.underline-10-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 10%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.underline-20,.underline-20-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 20%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.underline-30,.underline-30-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 30%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.underline-40,.underline-40-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 40%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.underline-50,.underline-50-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 50%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.underline-60,.underline-60-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 60%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.underline-70,.underline-70-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 70%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.underline-80,.underline-80-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 80%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.underline-90,.underline-90-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 90%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.underline-100,.underline-100-hover:hover{-webkit-text-decoration-color:var(--bs-link-color);text-decoration-color:var(--bs-link-color)}.underline-thickness-1,.underline-thickness-1-hover:hover{text-decoration-thickness:1px}.underline-thickness-2,.underline-thickness-2-hover:hover{text-decoration-thickness:2px}.underline-thickness-3,.underline-thickness-3-hover:hover{text-decoration-thickness:3px}.underline-thickness-4,.underline-thickness-4-hover:hover{text-decoration-thickness:4px}.underline-thickness-5,.underline-thickness-5-hover:hover{text-decoration-thickness:5px}.bg-primary{--bs-bg:var(--bs-blue-500);background-color:var(--bs-bg)}.bg-accent{--bs-bg:var(--bs-indigo-500);background-color:var(--bs-bg)}.bg-success{--bs-bg:var(--bs-green-500);background-color:var(--bs-bg)}.bg-danger{--bs-bg:var(--bs-red-500);background-color:var(--bs-bg)}.bg-warning{--bs-bg:var(--bs-yellow-500);background-color:var(--bs-bg)}.bg-info{--bs-bg:var(--bs-cyan-500);background-color:var(--bs-bg)}.bg-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));background-color:var(--bs-bg)}.bg-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));background-color:var(--bs-bg)}.bg-body{--bs-bg:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-975));background-color:var(--bs-bg)}.bg-1{--bs-bg:var(--lightningcss-light,var(--bs-gray-025))var(--lightningcss-dark,var(--bs-gray-950));background-color:var(--bs-bg)}.bg-2{--bs-bg:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-900));background-color:var(--bs-bg)}.bg-3{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-800));background-color:var(--bs-bg)}.bg-4{--bs-bg:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-700));background-color:var(--bs-bg)}.bg-white{--bs-bg:var(--bs-white);background-color:var(--bs-bg)}.bg-black{--bs-bg:var(--bs-black);background-color:var(--bs-bg)}.bg-transparent{--bs-bg:transparent;background-color:var(--bs-bg)}.bg-inherit{--bs-bg:inherit;background-color:var(--bs-bg)}.bg-subtle-primary{--bs-bg:var(--lightningcss-light,var(--bs-blue-100))var(--lightningcss-dark,var(--bs-blue-900));background-color:var(--bs-bg)}.bg-subtle-accent{--bs-bg:var(--lightningcss-light,var(--bs-indigo-100))var(--lightningcss-dark,var(--bs-indigo-900));background-color:var(--bs-bg)}.bg-subtle-success{--bs-bg:var(--lightningcss-light,var(--bs-green-100))var(--lightningcss-dark,var(--bs-green-900));background-color:var(--bs-bg)}.bg-subtle-danger{--bs-bg:var(--lightningcss-light,var(--bs-red-100))var(--lightningcss-dark,var(--bs-red-900));background-color:var(--bs-bg)}.bg-subtle-warning{--bs-bg:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));background-color:var(--bs-bg)}.bg-subtle-info{--bs-bg:var(--lightningcss-light,var(--bs-cyan-100))var(--lightningcss-dark,var(--bs-cyan-900));background-color:var(--bs-bg)}.bg-subtle-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));background-color:var(--bs-bg)}.bg-subtle-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-800));background-color:var(--bs-bg)}.bg-muted-primary{--bs-bg:var(--lightningcss-light,var(--bs-blue-200))var(--lightningcss-dark,var(--bs-blue-800));background-color:var(--bs-bg)}.bg-muted-accent{--bs-bg:var(--lightningcss-light,var(--bs-indigo-200))var(--lightningcss-dark,var(--bs-indigo-800));background-color:var(--bs-bg)}.bg-muted-success{--bs-bg:var(--lightningcss-light,var(--bs-green-200))var(--lightningcss-dark,var(--bs-green-800));background-color:var(--bs-bg)}.bg-muted-danger{--bs-bg:var(--lightningcss-light,var(--bs-red-200))var(--lightningcss-dark,var(--bs-red-800));background-color:var(--bs-bg)}.bg-muted-warning{--bs-bg:var(--lightningcss-light,var(--bs-yellow-200))var(--lightningcss-dark,var(--bs-yellow-800));background-color:var(--bs-bg)}.bg-muted-info{--bs-bg:var(--lightningcss-light,var(--bs-cyan-200))var(--lightningcss-dark,var(--bs-cyan-800));background-color:var(--bs-bg)}.bg-muted-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-300));background-color:var(--bs-bg)}.bg-muted-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-700));background-color:var(--bs-bg)}.bg-10{background-color:color-mix(in oklch, var(--bs-bg) 10%, transparent)}.bg-20{background-color:color-mix(in oklch, var(--bs-bg) 20%, transparent)}.bg-30{background-color:color-mix(in oklch, var(--bs-bg) 30%, transparent)}.bg-40{background-color:color-mix(in oklch, var(--bs-bg) 40%, transparent)}.bg-50{background-color:color-mix(in oklch, var(--bs-bg) 50%, transparent)}.bg-60{background-color:color-mix(in oklch, var(--bs-bg) 60%, transparent)}.bg-70{background-color:color-mix(in oklch, var(--bs-bg) 70%, transparent)}.bg-80{background-color:color-mix(in oklch, var(--bs-bg) 80%, transparent)}.bg-90{background-color:color-mix(in oklch, var(--bs-bg) 90%, transparent)}.bg-100{background-color:var(--bs-bg)}.theme-contrast{background-color:var(--bs-theme-bg);color:var(--bs-theme-contrast)}.theme-subtle{background-color:var(--bs-theme-bg-subtle);color:var(--bs-theme-text)}.theme-muted{background-color:var(--bs-theme-bg-muted);color:var(--bs-theme-text-emphasis)}.theme-border{border:var(--bs-border-width) solid var(--bs-theme-border)}.bg-gradient{background-image:var(--bs-gradient)}.user-select-all{-webkit-user-select:all;user-select:all}.user-select-auto{-webkit-user-select:auto;user-select:auto}.user-select-text{-webkit-user-select:text;user-select:text}.user-select-none{-webkit-user-select:none;user-select:none}.pe-none{pointer-events:none}.pe-auto{pointer-events:auto}.rounded{border-radius:var(--bs-border-radius)}.rounded-0{border-radius:0}.rounded-1{border-radius:var(--bs-border-radius-sm)}.rounded-2{border-radius:var(--bs-border-radius)}.rounded-3{border-radius:var(--bs-border-radius-lg)}.rounded-4{border-radius:var(--bs-border-radius-xl)}.rounded-5{border-radius:var(--bs-border-radius-2xl)}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:var(--bs-border-radius-pill)}.rounded-top{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-top-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-top-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-top-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-top-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-top-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-top-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.rounded-end{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-end-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-end-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-end-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-end-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-end-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-end-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-bottom{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-bottom-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-bottom-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-bottom-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-bottom-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-bottom-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-bottom-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-start{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-start-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-start-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-start-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-start-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-start-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-start-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.visible{visibility:visible}.invisible{visibility:hidden}.z-n1{z-index:-1}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}@media (min-width:576px){.float-sm-start{float:inline-start}.float-sm-end{float:inline-end}.float-sm-none{float:none}.object-fit-sm-contain{-o-object-fit:contain;object-fit:contain}.object-fit-sm-cover{-o-object-fit:cover;object-fit:cover}.object-fit-sm-fill{-o-object-fit:fill;object-fit:fill}.object-fit-sm-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-sm-none{-o-object-fit:none;object-fit:none}.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-block{display:block}.d-sm-grid{display:grid}.d-sm-inline-grid{display:inline-grid}.d-sm-table{display:table}.d-sm-table-row{display:table-row}.d-sm-table-cell{display:table-cell}.d-sm-flex{display:flex}.d-sm-inline-flex{display:inline-flex}.d-sm-contents{display:contents}.d-sm-flow-root{display:flow-root}.d-sm-none{display:none}.flex-sm-fill{flex:auto}.flex-sm-row{flex-direction:row}.flex-sm-column{flex-direction:column}.flex-sm-row-reverse{flex-direction:row-reverse}.flex-sm-column-reverse{flex-direction:column-reverse}.flex-sm-grow-0{flex-grow:0}.flex-sm-grow-1{flex-grow:1}.flex-sm-shrink-0{flex-shrink:0}.flex-sm-shrink-1{flex-shrink:1}.flex-sm-wrap{flex-wrap:wrap}.flex-sm-nowrap{flex-wrap:nowrap}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-sm-start{justify-content:flex-start}.justify-content-sm-end{justify-content:flex-end}.justify-content-sm-center{justify-content:center}.justify-content-sm-between{justify-content:space-between}.justify-content-sm-around{justify-content:space-around}.justify-content-sm-evenly{justify-content:space-evenly}.justify-items-sm-start{justify-items:start}.justify-items-sm-end{justify-items:end}.justify-items-sm-center{justify-items:center}.justify-items-sm-stretch{justify-items:stretch}.justify-self-sm-start{justify-self:flex-start}.justify-self-sm-end{justify-self:flex-end}.justify-self-sm-center{justify-self:center}.align-items-sm-start{align-items:flex-start}.align-items-sm-end{align-items:flex-end}.align-items-sm-center{align-items:center}.align-items-sm-baseline{align-items:baseline}.align-items-sm-stretch{align-items:stretch}.align-content-sm-start{align-content:flex-start}.align-content-sm-end{align-content:flex-end}.align-content-sm-center{align-content:center}.align-content-sm-between{align-content:space-between}.align-content-sm-around{align-content:space-around}.align-content-sm-stretch{align-content:stretch}.align-self-sm-auto{align-self:auto}.align-self-sm-start{align-self:flex-start}.align-self-sm-end{align-self:flex-end}.align-self-sm-center{align-self:center}.align-self-sm-baseline{align-self:baseline}.align-self-sm-stretch{align-self:stretch}.place-items-sm-start{place-items:start}.place-items-sm-end{place-items:end}.place-items-sm-center{place-items:center}.place-items-sm-stretch{place-items:stretch stretch}.grid-cols-sm-2{grid-template-columns:repeat(2,1fr)}.grid-cols-sm-3{grid-template-columns:repeat(3,1fr)}.grid-cols-sm-4{grid-template-columns:repeat(4,1fr)}.grid-cols-sm-6{grid-template-columns:repeat(6,1fr)}.grid-cols-sm-fill{grid-column:1/-1}.grid-auto-flow-sm-row{grid-auto-flow:row}.grid-auto-flow-sm-column{grid-auto-flow:column}.grid-auto-flow-sm-dense{grid-auto-flow:dense}.order-sm-first{order:-1}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-last{order:6}.m-sm-0{margin:0}.m-sm-1{margin:.25rem}.m-sm-2{margin:.5rem}.m-sm-3{margin:1rem}.m-sm-4{margin:1.5rem}.m-sm-5{margin:3rem}.m-sm-auto{margin:auto}.mx-sm-0{margin-inline:0}.mx-sm-1{margin-inline:.25rem}.mx-sm-2{margin-inline:.5rem}.mx-sm-3{margin-inline:1rem}.mx-sm-4{margin-inline:1.5rem}.mx-sm-5{margin-inline:3rem}.mx-sm-auto{margin-inline:auto}.my-sm-0{margin-block:0}.my-sm-1{margin-block:.25rem}.my-sm-2{margin-block:.5rem}.my-sm-3{margin-block:1rem}.my-sm-4{margin-block:1.5rem}.my-sm-5{margin-block:3rem}.my-sm-auto{margin-block:auto}.mt-sm-0{margin-block-start:0}.mt-sm-1{margin-block-start:.25rem}.mt-sm-2{margin-block-start:.5rem}.mt-sm-3{margin-block-start:1rem}.mt-sm-4{margin-block-start:1.5rem}.mt-sm-5{margin-block-start:3rem}.mt-sm-auto{margin-block-start:auto}.me-sm-0{margin-inline-end:0}.me-sm-1{margin-inline-end:.25rem}.me-sm-2{margin-inline-end:.5rem}.me-sm-3{margin-inline-end:1rem}.me-sm-4{margin-inline-end:1.5rem}.me-sm-5{margin-inline-end:3rem}.me-sm-auto{margin-inline-end:auto}.mb-sm-0{margin-block-end:0}.mb-sm-1{margin-block-end:.25rem}.mb-sm-2{margin-block-end:.5rem}.mb-sm-3{margin-block-end:1rem}.mb-sm-4{margin-block-end:1.5rem}.mb-sm-5{margin-block-end:3rem}.mb-sm-auto{margin-block-end:auto}.ms-sm-0{margin-inline-start:0}.ms-sm-1{margin-inline-start:.25rem}.ms-sm-2{margin-inline-start:.5rem}.ms-sm-3{margin-inline-start:1rem}.ms-sm-4{margin-inline-start:1.5rem}.ms-sm-5{margin-inline-start:3rem}.ms-sm--1{margin-inline-start:-.25rem}.ms-sm--2{margin-inline-start:-.5rem}.ms-sm-auto{margin-inline-start:auto}.p-sm-0{padding:0}.p-sm-1{padding:.25rem}.p-sm-2{padding:.5rem}.p-sm-3{padding:1rem}.p-sm-4{padding:1.5rem}.p-sm-5{padding:3rem}.px-sm-0{padding-inline:0}.px-sm-1{padding-inline:.25rem}.px-sm-2{padding-inline:.5rem}.px-sm-3{padding-inline:1rem}.px-sm-4{padding-inline:1.5rem}.px-sm-5{padding-inline:3rem}.py-sm-0{padding-block:0}.py-sm-1{padding-block:.25rem}.py-sm-2{padding-block:.5rem}.py-sm-3{padding-block:1rem}.py-sm-4{padding-block:1.5rem}.py-sm-5{padding-block:3rem}.pt-sm-0{padding-block-start:0}.pt-sm-1{padding-block-start:.25rem}.pt-sm-2{padding-block-start:.5rem}.pt-sm-3{padding-block-start:1rem}.pt-sm-4{padding-block-start:1.5rem}.pt-sm-5{padding-block-start:3rem}.pe-sm-0{padding-inline-end:0}.pe-sm-1{padding-inline-end:.25rem}.pe-sm-2{padding-inline-end:.5rem}.pe-sm-3{padding-inline-end:1rem}.pe-sm-4{padding-inline-end:1.5rem}.pe-sm-5{padding-inline-end:3rem}.pb-sm-0{padding-block-end:0}.pb-sm-1{padding-block-end:.25rem}.pb-sm-2{padding-block-end:.5rem}.pb-sm-3{padding-block-end:1rem}.pb-sm-4{padding-block-end:1.5rem}.pb-sm-5{padding-block-end:3rem}.ps-sm-0{padding-inline-start:0}.ps-sm-1{padding-inline-start:.25rem}.ps-sm-2{padding-inline-start:.5rem}.ps-sm-3{padding-inline-start:1rem}.ps-sm-4{padding-inline-start:1.5rem}.ps-sm-5{padding-inline-start:3rem}.gap-sm-0{gap:0}.gap-sm-1{gap:.25rem}.gap-sm-2{gap:.5rem}.gap-sm-3{gap:1rem}.gap-sm-4{gap:1.5rem}.gap-sm-5{gap:3rem}.row-gap-sm-0{row-gap:0}.row-gap-sm-1{row-gap:.25rem}.row-gap-sm-2{row-gap:.5rem}.row-gap-sm-3{row-gap:1rem}.row-gap-sm-4{row-gap:1.5rem}.row-gap-sm-5{row-gap:3rem}.column-gap-sm-0{-moz-column-gap:0;column-gap:0}.column-gap-sm-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-sm-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-sm-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-sm-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-sm-5{-moz-column-gap:3rem;column-gap:3rem}.text-sm-start{text-align:start}.text-sm-end{text-align:end}.text-sm-center{text-align:center}}@media (min-width:768px){.float-md-start{float:inline-start}.float-md-end{float:inline-end}.float-md-none{float:none}.object-fit-md-contain{-o-object-fit:contain;object-fit:contain}.object-fit-md-cover{-o-object-fit:cover;object-fit:cover}.object-fit-md-fill{-o-object-fit:fill;object-fit:fill}.object-fit-md-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-md-none{-o-object-fit:none;object-fit:none}.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-block{display:block}.d-md-grid{display:grid}.d-md-inline-grid{display:inline-grid}.d-md-table{display:table}.d-md-table-row{display:table-row}.d-md-table-cell{display:table-cell}.d-md-flex{display:flex}.d-md-inline-flex{display:inline-flex}.d-md-contents{display:contents}.d-md-flow-root{display:flow-root}.d-md-none{display:none}.flex-md-fill{flex:auto}.flex-md-row{flex-direction:row}.flex-md-column{flex-direction:column}.flex-md-row-reverse{flex-direction:row-reverse}.flex-md-column-reverse{flex-direction:column-reverse}.flex-md-grow-0{flex-grow:0}.flex-md-grow-1{flex-grow:1}.flex-md-shrink-0{flex-shrink:0}.flex-md-shrink-1{flex-shrink:1}.flex-md-wrap{flex-wrap:wrap}.flex-md-nowrap{flex-wrap:nowrap}.flex-md-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-md-start{justify-content:flex-start}.justify-content-md-end{justify-content:flex-end}.justify-content-md-center{justify-content:center}.justify-content-md-between{justify-content:space-between}.justify-content-md-around{justify-content:space-around}.justify-content-md-evenly{justify-content:space-evenly}.justify-items-md-start{justify-items:start}.justify-items-md-end{justify-items:end}.justify-items-md-center{justify-items:center}.justify-items-md-stretch{justify-items:stretch}.justify-self-md-start{justify-self:flex-start}.justify-self-md-end{justify-self:flex-end}.justify-self-md-center{justify-self:center}.align-items-md-start{align-items:flex-start}.align-items-md-end{align-items:flex-end}.align-items-md-center{align-items:center}.align-items-md-baseline{align-items:baseline}.align-items-md-stretch{align-items:stretch}.align-content-md-start{align-content:flex-start}.align-content-md-end{align-content:flex-end}.align-content-md-center{align-content:center}.align-content-md-between{align-content:space-between}.align-content-md-around{align-content:space-around}.align-content-md-stretch{align-content:stretch}.align-self-md-auto{align-self:auto}.align-self-md-start{align-self:flex-start}.align-self-md-end{align-self:flex-end}.align-self-md-center{align-self:center}.align-self-md-baseline{align-self:baseline}.align-self-md-stretch{align-self:stretch}.place-items-md-start{place-items:start}.place-items-md-end{place-items:end}.place-items-md-center{place-items:center}.place-items-md-stretch{place-items:stretch stretch}.grid-cols-md-2{grid-template-columns:repeat(2,1fr)}.grid-cols-md-3{grid-template-columns:repeat(3,1fr)}.grid-cols-md-4{grid-template-columns:repeat(4,1fr)}.grid-cols-md-6{grid-template-columns:repeat(6,1fr)}.grid-cols-md-fill{grid-column:1/-1}.grid-auto-flow-md-row{grid-auto-flow:row}.grid-auto-flow-md-column{grid-auto-flow:column}.grid-auto-flow-md-dense{grid-auto-flow:dense}.order-md-first{order:-1}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-last{order:6}.m-md-0{margin:0}.m-md-1{margin:.25rem}.m-md-2{margin:.5rem}.m-md-3{margin:1rem}.m-md-4{margin:1.5rem}.m-md-5{margin:3rem}.m-md-auto{margin:auto}.mx-md-0{margin-inline:0}.mx-md-1{margin-inline:.25rem}.mx-md-2{margin-inline:.5rem}.mx-md-3{margin-inline:1rem}.mx-md-4{margin-inline:1.5rem}.mx-md-5{margin-inline:3rem}.mx-md-auto{margin-inline:auto}.my-md-0{margin-block:0}.my-md-1{margin-block:.25rem}.my-md-2{margin-block:.5rem}.my-md-3{margin-block:1rem}.my-md-4{margin-block:1.5rem}.my-md-5{margin-block:3rem}.my-md-auto{margin-block:auto}.mt-md-0{margin-block-start:0}.mt-md-1{margin-block-start:.25rem}.mt-md-2{margin-block-start:.5rem}.mt-md-3{margin-block-start:1rem}.mt-md-4{margin-block-start:1.5rem}.mt-md-5{margin-block-start:3rem}.mt-md-auto{margin-block-start:auto}.me-md-0{margin-inline-end:0}.me-md-1{margin-inline-end:.25rem}.me-md-2{margin-inline-end:.5rem}.me-md-3{margin-inline-end:1rem}.me-md-4{margin-inline-end:1.5rem}.me-md-5{margin-inline-end:3rem}.me-md-auto{margin-inline-end:auto}.mb-md-0{margin-block-end:0}.mb-md-1{margin-block-end:.25rem}.mb-md-2{margin-block-end:.5rem}.mb-md-3{margin-block-end:1rem}.mb-md-4{margin-block-end:1.5rem}.mb-md-5{margin-block-end:3rem}.mb-md-auto{margin-block-end:auto}.ms-md-0{margin-inline-start:0}.ms-md-1{margin-inline-start:.25rem}.ms-md-2{margin-inline-start:.5rem}.ms-md-3{margin-inline-start:1rem}.ms-md-4{margin-inline-start:1.5rem}.ms-md-5{margin-inline-start:3rem}.ms-md--1{margin-inline-start:-.25rem}.ms-md--2{margin-inline-start:-.5rem}.ms-md-auto{margin-inline-start:auto}.p-md-0{padding:0}.p-md-1{padding:.25rem}.p-md-2{padding:.5rem}.p-md-3{padding:1rem}.p-md-4{padding:1.5rem}.p-md-5{padding:3rem}.px-md-0{padding-inline:0}.px-md-1{padding-inline:.25rem}.px-md-2{padding-inline:.5rem}.px-md-3{padding-inline:1rem}.px-md-4{padding-inline:1.5rem}.px-md-5{padding-inline:3rem}.py-md-0{padding-block:0}.py-md-1{padding-block:.25rem}.py-md-2{padding-block:.5rem}.py-md-3{padding-block:1rem}.py-md-4{padding-block:1.5rem}.py-md-5{padding-block:3rem}.pt-md-0{padding-block-start:0}.pt-md-1{padding-block-start:.25rem}.pt-md-2{padding-block-start:.5rem}.pt-md-3{padding-block-start:1rem}.pt-md-4{padding-block-start:1.5rem}.pt-md-5{padding-block-start:3rem}.pe-md-0{padding-inline-end:0}.pe-md-1{padding-inline-end:.25rem}.pe-md-2{padding-inline-end:.5rem}.pe-md-3{padding-inline-end:1rem}.pe-md-4{padding-inline-end:1.5rem}.pe-md-5{padding-inline-end:3rem}.pb-md-0{padding-block-end:0}.pb-md-1{padding-block-end:.25rem}.pb-md-2{padding-block-end:.5rem}.pb-md-3{padding-block-end:1rem}.pb-md-4{padding-block-end:1.5rem}.pb-md-5{padding-block-end:3rem}.ps-md-0{padding-inline-start:0}.ps-md-1{padding-inline-start:.25rem}.ps-md-2{padding-inline-start:.5rem}.ps-md-3{padding-inline-start:1rem}.ps-md-4{padding-inline-start:1.5rem}.ps-md-5{padding-inline-start:3rem}.gap-md-0{gap:0}.gap-md-1{gap:.25rem}.gap-md-2{gap:.5rem}.gap-md-3{gap:1rem}.gap-md-4{gap:1.5rem}.gap-md-5{gap:3rem}.row-gap-md-0{row-gap:0}.row-gap-md-1{row-gap:.25rem}.row-gap-md-2{row-gap:.5rem}.row-gap-md-3{row-gap:1rem}.row-gap-md-4{row-gap:1.5rem}.row-gap-md-5{row-gap:3rem}.column-gap-md-0{-moz-column-gap:0;column-gap:0}.column-gap-md-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-md-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-md-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-md-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-md-5{-moz-column-gap:3rem;column-gap:3rem}.text-md-start{text-align:start}.text-md-end{text-align:end}.text-md-center{text-align:center}}@media (min-width:1024px){.float-lg-start{float:inline-start}.float-lg-end{float:inline-end}.float-lg-none{float:none}.object-fit-lg-contain{-o-object-fit:contain;object-fit:contain}.object-fit-lg-cover{-o-object-fit:cover;object-fit:cover}.object-fit-lg-fill{-o-object-fit:fill;object-fit:fill}.object-fit-lg-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-lg-none{-o-object-fit:none;object-fit:none}.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-block{display:block}.d-lg-grid{display:grid}.d-lg-inline-grid{display:inline-grid}.d-lg-table{display:table}.d-lg-table-row{display:table-row}.d-lg-table-cell{display:table-cell}.d-lg-flex{display:flex}.d-lg-inline-flex{display:inline-flex}.d-lg-contents{display:contents}.d-lg-flow-root{display:flow-root}.d-lg-none{display:none}.flex-lg-fill{flex:auto}.flex-lg-row{flex-direction:row}.flex-lg-column{flex-direction:column}.flex-lg-row-reverse{flex-direction:row-reverse}.flex-lg-column-reverse{flex-direction:column-reverse}.flex-lg-grow-0{flex-grow:0}.flex-lg-grow-1{flex-grow:1}.flex-lg-shrink-0{flex-shrink:0}.flex-lg-shrink-1{flex-shrink:1}.flex-lg-wrap{flex-wrap:wrap}.flex-lg-nowrap{flex-wrap:nowrap}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-lg-start{justify-content:flex-start}.justify-content-lg-end{justify-content:flex-end}.justify-content-lg-center{justify-content:center}.justify-content-lg-between{justify-content:space-between}.justify-content-lg-around{justify-content:space-around}.justify-content-lg-evenly{justify-content:space-evenly}.justify-items-lg-start{justify-items:start}.justify-items-lg-end{justify-items:end}.justify-items-lg-center{justify-items:center}.justify-items-lg-stretch{justify-items:stretch}.justify-self-lg-start{justify-self:flex-start}.justify-self-lg-end{justify-self:flex-end}.justify-self-lg-center{justify-self:center}.align-items-lg-start{align-items:flex-start}.align-items-lg-end{align-items:flex-end}.align-items-lg-center{align-items:center}.align-items-lg-baseline{align-items:baseline}.align-items-lg-stretch{align-items:stretch}.align-content-lg-start{align-content:flex-start}.align-content-lg-end{align-content:flex-end}.align-content-lg-center{align-content:center}.align-content-lg-between{align-content:space-between}.align-content-lg-around{align-content:space-around}.align-content-lg-stretch{align-content:stretch}.align-self-lg-auto{align-self:auto}.align-self-lg-start{align-self:flex-start}.align-self-lg-end{align-self:flex-end}.align-self-lg-center{align-self:center}.align-self-lg-baseline{align-self:baseline}.align-self-lg-stretch{align-self:stretch}.place-items-lg-start{place-items:start}.place-items-lg-end{place-items:end}.place-items-lg-center{place-items:center}.place-items-lg-stretch{place-items:stretch stretch}.grid-cols-lg-2{grid-template-columns:repeat(2,1fr)}.grid-cols-lg-3{grid-template-columns:repeat(3,1fr)}.grid-cols-lg-4{grid-template-columns:repeat(4,1fr)}.grid-cols-lg-6{grid-template-columns:repeat(6,1fr)}.grid-cols-lg-fill{grid-column:1/-1}.grid-auto-flow-lg-row{grid-auto-flow:row}.grid-auto-flow-lg-column{grid-auto-flow:column}.grid-auto-flow-lg-dense{grid-auto-flow:dense}.order-lg-first{order:-1}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-last{order:6}.m-lg-0{margin:0}.m-lg-1{margin:.25rem}.m-lg-2{margin:.5rem}.m-lg-3{margin:1rem}.m-lg-4{margin:1.5rem}.m-lg-5{margin:3rem}.m-lg-auto{margin:auto}.mx-lg-0{margin-inline:0}.mx-lg-1{margin-inline:.25rem}.mx-lg-2{margin-inline:.5rem}.mx-lg-3{margin-inline:1rem}.mx-lg-4{margin-inline:1.5rem}.mx-lg-5{margin-inline:3rem}.mx-lg-auto{margin-inline:auto}.my-lg-0{margin-block:0}.my-lg-1{margin-block:.25rem}.my-lg-2{margin-block:.5rem}.my-lg-3{margin-block:1rem}.my-lg-4{margin-block:1.5rem}.my-lg-5{margin-block:3rem}.my-lg-auto{margin-block:auto}.mt-lg-0{margin-block-start:0}.mt-lg-1{margin-block-start:.25rem}.mt-lg-2{margin-block-start:.5rem}.mt-lg-3{margin-block-start:1rem}.mt-lg-4{margin-block-start:1.5rem}.mt-lg-5{margin-block-start:3rem}.mt-lg-auto{margin-block-start:auto}.me-lg-0{margin-inline-end:0}.me-lg-1{margin-inline-end:.25rem}.me-lg-2{margin-inline-end:.5rem}.me-lg-3{margin-inline-end:1rem}.me-lg-4{margin-inline-end:1.5rem}.me-lg-5{margin-inline-end:3rem}.me-lg-auto{margin-inline-end:auto}.mb-lg-0{margin-block-end:0}.mb-lg-1{margin-block-end:.25rem}.mb-lg-2{margin-block-end:.5rem}.mb-lg-3{margin-block-end:1rem}.mb-lg-4{margin-block-end:1.5rem}.mb-lg-5{margin-block-end:3rem}.mb-lg-auto{margin-block-end:auto}.ms-lg-0{margin-inline-start:0}.ms-lg-1{margin-inline-start:.25rem}.ms-lg-2{margin-inline-start:.5rem}.ms-lg-3{margin-inline-start:1rem}.ms-lg-4{margin-inline-start:1.5rem}.ms-lg-5{margin-inline-start:3rem}.ms-lg--1{margin-inline-start:-.25rem}.ms-lg--2{margin-inline-start:-.5rem}.ms-lg-auto{margin-inline-start:auto}.p-lg-0{padding:0}.p-lg-1{padding:.25rem}.p-lg-2{padding:.5rem}.p-lg-3{padding:1rem}.p-lg-4{padding:1.5rem}.p-lg-5{padding:3rem}.px-lg-0{padding-inline:0}.px-lg-1{padding-inline:.25rem}.px-lg-2{padding-inline:.5rem}.px-lg-3{padding-inline:1rem}.px-lg-4{padding-inline:1.5rem}.px-lg-5{padding-inline:3rem}.py-lg-0{padding-block:0}.py-lg-1{padding-block:.25rem}.py-lg-2{padding-block:.5rem}.py-lg-3{padding-block:1rem}.py-lg-4{padding-block:1.5rem}.py-lg-5{padding-block:3rem}.pt-lg-0{padding-block-start:0}.pt-lg-1{padding-block-start:.25rem}.pt-lg-2{padding-block-start:.5rem}.pt-lg-3{padding-block-start:1rem}.pt-lg-4{padding-block-start:1.5rem}.pt-lg-5{padding-block-start:3rem}.pe-lg-0{padding-inline-end:0}.pe-lg-1{padding-inline-end:.25rem}.pe-lg-2{padding-inline-end:.5rem}.pe-lg-3{padding-inline-end:1rem}.pe-lg-4{padding-inline-end:1.5rem}.pe-lg-5{padding-inline-end:3rem}.pb-lg-0{padding-block-end:0}.pb-lg-1{padding-block-end:.25rem}.pb-lg-2{padding-block-end:.5rem}.pb-lg-3{padding-block-end:1rem}.pb-lg-4{padding-block-end:1.5rem}.pb-lg-5{padding-block-end:3rem}.ps-lg-0{padding-inline-start:0}.ps-lg-1{padding-inline-start:.25rem}.ps-lg-2{padding-inline-start:.5rem}.ps-lg-3{padding-inline-start:1rem}.ps-lg-4{padding-inline-start:1.5rem}.ps-lg-5{padding-inline-start:3rem}.gap-lg-0{gap:0}.gap-lg-1{gap:.25rem}.gap-lg-2{gap:.5rem}.gap-lg-3{gap:1rem}.gap-lg-4{gap:1.5rem}.gap-lg-5{gap:3rem}.row-gap-lg-0{row-gap:0}.row-gap-lg-1{row-gap:.25rem}.row-gap-lg-2{row-gap:.5rem}.row-gap-lg-3{row-gap:1rem}.row-gap-lg-4{row-gap:1.5rem}.row-gap-lg-5{row-gap:3rem}.column-gap-lg-0{-moz-column-gap:0;column-gap:0}.column-gap-lg-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-lg-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-lg-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-lg-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-lg-5{-moz-column-gap:3rem;column-gap:3rem}.text-lg-start{text-align:start}.text-lg-end{text-align:end}.text-lg-center{text-align:center}}@media (min-width:1280px){.float-xl-start{float:inline-start}.float-xl-end{float:inline-end}.float-xl-none{float:none}.object-fit-xl-contain{-o-object-fit:contain;object-fit:contain}.object-fit-xl-cover{-o-object-fit:cover;object-fit:cover}.object-fit-xl-fill{-o-object-fit:fill;object-fit:fill}.object-fit-xl-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-xl-none{-o-object-fit:none;object-fit:none}.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-block{display:block}.d-xl-grid{display:grid}.d-xl-inline-grid{display:inline-grid}.d-xl-table{display:table}.d-xl-table-row{display:table-row}.d-xl-table-cell{display:table-cell}.d-xl-flex{display:flex}.d-xl-inline-flex{display:inline-flex}.d-xl-contents{display:contents}.d-xl-flow-root{display:flow-root}.d-xl-none{display:none}.flex-xl-fill{flex:auto}.flex-xl-row{flex-direction:row}.flex-xl-column{flex-direction:column}.flex-xl-row-reverse{flex-direction:row-reverse}.flex-xl-column-reverse{flex-direction:column-reverse}.flex-xl-grow-0{flex-grow:0}.flex-xl-grow-1{flex-grow:1}.flex-xl-shrink-0{flex-shrink:0}.flex-xl-shrink-1{flex-shrink:1}.flex-xl-wrap{flex-wrap:wrap}.flex-xl-nowrap{flex-wrap:nowrap}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-xl-start{justify-content:flex-start}.justify-content-xl-end{justify-content:flex-end}.justify-content-xl-center{justify-content:center}.justify-content-xl-between{justify-content:space-between}.justify-content-xl-around{justify-content:space-around}.justify-content-xl-evenly{justify-content:space-evenly}.justify-items-xl-start{justify-items:start}.justify-items-xl-end{justify-items:end}.justify-items-xl-center{justify-items:center}.justify-items-xl-stretch{justify-items:stretch}.justify-self-xl-start{justify-self:flex-start}.justify-self-xl-end{justify-self:flex-end}.justify-self-xl-center{justify-self:center}.align-items-xl-start{align-items:flex-start}.align-items-xl-end{align-items:flex-end}.align-items-xl-center{align-items:center}.align-items-xl-baseline{align-items:baseline}.align-items-xl-stretch{align-items:stretch}.align-content-xl-start{align-content:flex-start}.align-content-xl-end{align-content:flex-end}.align-content-xl-center{align-content:center}.align-content-xl-between{align-content:space-between}.align-content-xl-around{align-content:space-around}.align-content-xl-stretch{align-content:stretch}.align-self-xl-auto{align-self:auto}.align-self-xl-start{align-self:flex-start}.align-self-xl-end{align-self:flex-end}.align-self-xl-center{align-self:center}.align-self-xl-baseline{align-self:baseline}.align-self-xl-stretch{align-self:stretch}.place-items-xl-start{place-items:start}.place-items-xl-end{place-items:end}.place-items-xl-center{place-items:center}.place-items-xl-stretch{place-items:stretch stretch}.grid-cols-xl-2{grid-template-columns:repeat(2,1fr)}.grid-cols-xl-3{grid-template-columns:repeat(3,1fr)}.grid-cols-xl-4{grid-template-columns:repeat(4,1fr)}.grid-cols-xl-6{grid-template-columns:repeat(6,1fr)}.grid-cols-xl-fill{grid-column:1/-1}.grid-auto-flow-xl-row{grid-auto-flow:row}.grid-auto-flow-xl-column{grid-auto-flow:column}.grid-auto-flow-xl-dense{grid-auto-flow:dense}.order-xl-first{order:-1}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-last{order:6}.m-xl-0{margin:0}.m-xl-1{margin:.25rem}.m-xl-2{margin:.5rem}.m-xl-3{margin:1rem}.m-xl-4{margin:1.5rem}.m-xl-5{margin:3rem}.m-xl-auto{margin:auto}.mx-xl-0{margin-inline:0}.mx-xl-1{margin-inline:.25rem}.mx-xl-2{margin-inline:.5rem}.mx-xl-3{margin-inline:1rem}.mx-xl-4{margin-inline:1.5rem}.mx-xl-5{margin-inline:3rem}.mx-xl-auto{margin-inline:auto}.my-xl-0{margin-block:0}.my-xl-1{margin-block:.25rem}.my-xl-2{margin-block:.5rem}.my-xl-3{margin-block:1rem}.my-xl-4{margin-block:1.5rem}.my-xl-5{margin-block:3rem}.my-xl-auto{margin-block:auto}.mt-xl-0{margin-block-start:0}.mt-xl-1{margin-block-start:.25rem}.mt-xl-2{margin-block-start:.5rem}.mt-xl-3{margin-block-start:1rem}.mt-xl-4{margin-block-start:1.5rem}.mt-xl-5{margin-block-start:3rem}.mt-xl-auto{margin-block-start:auto}.me-xl-0{margin-inline-end:0}.me-xl-1{margin-inline-end:.25rem}.me-xl-2{margin-inline-end:.5rem}.me-xl-3{margin-inline-end:1rem}.me-xl-4{margin-inline-end:1.5rem}.me-xl-5{margin-inline-end:3rem}.me-xl-auto{margin-inline-end:auto}.mb-xl-0{margin-block-end:0}.mb-xl-1{margin-block-end:.25rem}.mb-xl-2{margin-block-end:.5rem}.mb-xl-3{margin-block-end:1rem}.mb-xl-4{margin-block-end:1.5rem}.mb-xl-5{margin-block-end:3rem}.mb-xl-auto{margin-block-end:auto}.ms-xl-0{margin-inline-start:0}.ms-xl-1{margin-inline-start:.25rem}.ms-xl-2{margin-inline-start:.5rem}.ms-xl-3{margin-inline-start:1rem}.ms-xl-4{margin-inline-start:1.5rem}.ms-xl-5{margin-inline-start:3rem}.ms-xl--1{margin-inline-start:-.25rem}.ms-xl--2{margin-inline-start:-.5rem}.ms-xl-auto{margin-inline-start:auto}.p-xl-0{padding:0}.p-xl-1{padding:.25rem}.p-xl-2{padding:.5rem}.p-xl-3{padding:1rem}.p-xl-4{padding:1.5rem}.p-xl-5{padding:3rem}.px-xl-0{padding-inline:0}.px-xl-1{padding-inline:.25rem}.px-xl-2{padding-inline:.5rem}.px-xl-3{padding-inline:1rem}.px-xl-4{padding-inline:1.5rem}.px-xl-5{padding-inline:3rem}.py-xl-0{padding-block:0}.py-xl-1{padding-block:.25rem}.py-xl-2{padding-block:.5rem}.py-xl-3{padding-block:1rem}.py-xl-4{padding-block:1.5rem}.py-xl-5{padding-block:3rem}.pt-xl-0{padding-block-start:0}.pt-xl-1{padding-block-start:.25rem}.pt-xl-2{padding-block-start:.5rem}.pt-xl-3{padding-block-start:1rem}.pt-xl-4{padding-block-start:1.5rem}.pt-xl-5{padding-block-start:3rem}.pe-xl-0{padding-inline-end:0}.pe-xl-1{padding-inline-end:.25rem}.pe-xl-2{padding-inline-end:.5rem}.pe-xl-3{padding-inline-end:1rem}.pe-xl-4{padding-inline-end:1.5rem}.pe-xl-5{padding-inline-end:3rem}.pb-xl-0{padding-block-end:0}.pb-xl-1{padding-block-end:.25rem}.pb-xl-2{padding-block-end:.5rem}.pb-xl-3{padding-block-end:1rem}.pb-xl-4{padding-block-end:1.5rem}.pb-xl-5{padding-block-end:3rem}.ps-xl-0{padding-inline-start:0}.ps-xl-1{padding-inline-start:.25rem}.ps-xl-2{padding-inline-start:.5rem}.ps-xl-3{padding-inline-start:1rem}.ps-xl-4{padding-inline-start:1.5rem}.ps-xl-5{padding-inline-start:3rem}.gap-xl-0{gap:0}.gap-xl-1{gap:.25rem}.gap-xl-2{gap:.5rem}.gap-xl-3{gap:1rem}.gap-xl-4{gap:1.5rem}.gap-xl-5{gap:3rem}.row-gap-xl-0{row-gap:0}.row-gap-xl-1{row-gap:.25rem}.row-gap-xl-2{row-gap:.5rem}.row-gap-xl-3{row-gap:1rem}.row-gap-xl-4{row-gap:1.5rem}.row-gap-xl-5{row-gap:3rem}.column-gap-xl-0{-moz-column-gap:0;column-gap:0}.column-gap-xl-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-xl-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-xl-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-xl-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-xl-5{-moz-column-gap:3rem;column-gap:3rem}.text-xl-start{text-align:start}.text-xl-end{text-align:end}.text-xl-center{text-align:center}}@media (min-width:1536px){.float-2xl-start{float:inline-start}.float-2xl-end{float:inline-end}.float-2xl-none{float:none}.object-fit-2xl-contain{-o-object-fit:contain;object-fit:contain}.object-fit-2xl-cover{-o-object-fit:cover;object-fit:cover}.object-fit-2xl-fill{-o-object-fit:fill;object-fit:fill}.object-fit-2xl-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-2xl-none{-o-object-fit:none;object-fit:none}.d-2xl-inline{display:inline}.d-2xl-inline-block{display:inline-block}.d-2xl-block{display:block}.d-2xl-grid{display:grid}.d-2xl-inline-grid{display:inline-grid}.d-2xl-table{display:table}.d-2xl-table-row{display:table-row}.d-2xl-table-cell{display:table-cell}.d-2xl-flex{display:flex}.d-2xl-inline-flex{display:inline-flex}.d-2xl-contents{display:contents}.d-2xl-flow-root{display:flow-root}.d-2xl-none{display:none}.flex-2xl-fill{flex:auto}.flex-2xl-row{flex-direction:row}.flex-2xl-column{flex-direction:column}.flex-2xl-row-reverse{flex-direction:row-reverse}.flex-2xl-column-reverse{flex-direction:column-reverse}.flex-2xl-grow-0{flex-grow:0}.flex-2xl-grow-1{flex-grow:1}.flex-2xl-shrink-0{flex-shrink:0}.flex-2xl-shrink-1{flex-shrink:1}.flex-2xl-wrap{flex-wrap:wrap}.flex-2xl-nowrap{flex-wrap:nowrap}.flex-2xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-2xl-start{justify-content:flex-start}.justify-content-2xl-end{justify-content:flex-end}.justify-content-2xl-center{justify-content:center}.justify-content-2xl-between{justify-content:space-between}.justify-content-2xl-around{justify-content:space-around}.justify-content-2xl-evenly{justify-content:space-evenly}.justify-items-2xl-start{justify-items:start}.justify-items-2xl-end{justify-items:end}.justify-items-2xl-center{justify-items:center}.justify-items-2xl-stretch{justify-items:stretch}.justify-self-2xl-start{justify-self:flex-start}.justify-self-2xl-end{justify-self:flex-end}.justify-self-2xl-center{justify-self:center}.align-items-2xl-start{align-items:flex-start}.align-items-2xl-end{align-items:flex-end}.align-items-2xl-center{align-items:center}.align-items-2xl-baseline{align-items:baseline}.align-items-2xl-stretch{align-items:stretch}.align-content-2xl-start{align-content:flex-start}.align-content-2xl-end{align-content:flex-end}.align-content-2xl-center{align-content:center}.align-content-2xl-between{align-content:space-between}.align-content-2xl-around{align-content:space-around}.align-content-2xl-stretch{align-content:stretch}.align-self-2xl-auto{align-self:auto}.align-self-2xl-start{align-self:flex-start}.align-self-2xl-end{align-self:flex-end}.align-self-2xl-center{align-self:center}.align-self-2xl-baseline{align-self:baseline}.align-self-2xl-stretch{align-self:stretch}.place-items-2xl-start{place-items:start}.place-items-2xl-end{place-items:end}.place-items-2xl-center{place-items:center}.place-items-2xl-stretch{place-items:stretch stretch}.grid-cols-2xl-2{grid-template-columns:repeat(2,1fr)}.grid-cols-2xl-3{grid-template-columns:repeat(3,1fr)}.grid-cols-2xl-4{grid-template-columns:repeat(4,1fr)}.grid-cols-2xl-6{grid-template-columns:repeat(6,1fr)}.grid-cols-2xl-fill{grid-column:1/-1}.grid-auto-flow-2xl-row{grid-auto-flow:row}.grid-auto-flow-2xl-column{grid-auto-flow:column}.grid-auto-flow-2xl-dense{grid-auto-flow:dense}.order-2xl-first{order:-1}.order-2xl-0{order:0}.order-2xl-1{order:1}.order-2xl-2{order:2}.order-2xl-3{order:3}.order-2xl-4{order:4}.order-2xl-5{order:5}.order-2xl-last{order:6}.m-2xl-0{margin:0}.m-2xl-1{margin:.25rem}.m-2xl-2{margin:.5rem}.m-2xl-3{margin:1rem}.m-2xl-4{margin:1.5rem}.m-2xl-5{margin:3rem}.m-2xl-auto{margin:auto}.mx-2xl-0{margin-inline:0}.mx-2xl-1{margin-inline:.25rem}.mx-2xl-2{margin-inline:.5rem}.mx-2xl-3{margin-inline:1rem}.mx-2xl-4{margin-inline:1.5rem}.mx-2xl-5{margin-inline:3rem}.mx-2xl-auto{margin-inline:auto}.my-2xl-0{margin-block:0}.my-2xl-1{margin-block:.25rem}.my-2xl-2{margin-block:.5rem}.my-2xl-3{margin-block:1rem}.my-2xl-4{margin-block:1.5rem}.my-2xl-5{margin-block:3rem}.my-2xl-auto{margin-block:auto}.mt-2xl-0{margin-block-start:0}.mt-2xl-1{margin-block-start:.25rem}.mt-2xl-2{margin-block-start:.5rem}.mt-2xl-3{margin-block-start:1rem}.mt-2xl-4{margin-block-start:1.5rem}.mt-2xl-5{margin-block-start:3rem}.mt-2xl-auto{margin-block-start:auto}.me-2xl-0{margin-inline-end:0}.me-2xl-1{margin-inline-end:.25rem}.me-2xl-2{margin-inline-end:.5rem}.me-2xl-3{margin-inline-end:1rem}.me-2xl-4{margin-inline-end:1.5rem}.me-2xl-5{margin-inline-end:3rem}.me-2xl-auto{margin-inline-end:auto}.mb-2xl-0{margin-block-end:0}.mb-2xl-1{margin-block-end:.25rem}.mb-2xl-2{margin-block-end:.5rem}.mb-2xl-3{margin-block-end:1rem}.mb-2xl-4{margin-block-end:1.5rem}.mb-2xl-5{margin-block-end:3rem}.mb-2xl-auto{margin-block-end:auto}.ms-2xl-0{margin-inline-start:0}.ms-2xl-1{margin-inline-start:.25rem}.ms-2xl-2{margin-inline-start:.5rem}.ms-2xl-3{margin-inline-start:1rem}.ms-2xl-4{margin-inline-start:1.5rem}.ms-2xl-5{margin-inline-start:3rem}.ms-2xl--1{margin-inline-start:-.25rem}.ms-2xl--2{margin-inline-start:-.5rem}.ms-2xl-auto{margin-inline-start:auto}.p-2xl-0{padding:0}.p-2xl-1{padding:.25rem}.p-2xl-2{padding:.5rem}.p-2xl-3{padding:1rem}.p-2xl-4{padding:1.5rem}.p-2xl-5{padding:3rem}.px-2xl-0{padding-inline:0}.px-2xl-1{padding-inline:.25rem}.px-2xl-2{padding-inline:.5rem}.px-2xl-3{padding-inline:1rem}.px-2xl-4{padding-inline:1.5rem}.px-2xl-5{padding-inline:3rem}.py-2xl-0{padding-block:0}.py-2xl-1{padding-block:.25rem}.py-2xl-2{padding-block:.5rem}.py-2xl-3{padding-block:1rem}.py-2xl-4{padding-block:1.5rem}.py-2xl-5{padding-block:3rem}.pt-2xl-0{padding-block-start:0}.pt-2xl-1{padding-block-start:.25rem}.pt-2xl-2{padding-block-start:.5rem}.pt-2xl-3{padding-block-start:1rem}.pt-2xl-4{padding-block-start:1.5rem}.pt-2xl-5{padding-block-start:3rem}.pe-2xl-0{padding-inline-end:0}.pe-2xl-1{padding-inline-end:.25rem}.pe-2xl-2{padding-inline-end:.5rem}.pe-2xl-3{padding-inline-end:1rem}.pe-2xl-4{padding-inline-end:1.5rem}.pe-2xl-5{padding-inline-end:3rem}.pb-2xl-0{padding-block-end:0}.pb-2xl-1{padding-block-end:.25rem}.pb-2xl-2{padding-block-end:.5rem}.pb-2xl-3{padding-block-end:1rem}.pb-2xl-4{padding-block-end:1.5rem}.pb-2xl-5{padding-block-end:3rem}.ps-2xl-0{padding-inline-start:0}.ps-2xl-1{padding-inline-start:.25rem}.ps-2xl-2{padding-inline-start:.5rem}.ps-2xl-3{padding-inline-start:1rem}.ps-2xl-4{padding-inline-start:1.5rem}.ps-2xl-5{padding-inline-start:3rem}.gap-2xl-0{gap:0}.gap-2xl-1{gap:.25rem}.gap-2xl-2{gap:.5rem}.gap-2xl-3{gap:1rem}.gap-2xl-4{gap:1.5rem}.gap-2xl-5{gap:3rem}.row-gap-2xl-0{row-gap:0}.row-gap-2xl-1{row-gap:.25rem}.row-gap-2xl-2{row-gap:.5rem}.row-gap-2xl-3{row-gap:1rem}.row-gap-2xl-4{row-gap:1.5rem}.row-gap-2xl-5{row-gap:3rem}.column-gap-2xl-0{-moz-column-gap:0;column-gap:0}.column-gap-2xl-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-2xl-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-2xl-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-2xl-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-2xl-5{-moz-column-gap:3rem;column-gap:3rem}.text-2xl-start{text-align:start}.text-2xl-end{text-align:end}.text-2xl-center{text-align:center}}}:root{--bs-black:#000;--bs-white:#fff;--bs-gradient:linear-gradient(180deg, color-mix(var(--bs-white) 15%, transparent), color-mix(var(--bs-white) 0%, transparent));--bs-font-weight-lighter:lighter;--bs-font-weight-light:300;--bs-font-weight-normal:400;--bs-font-weight-medium:500;--bs-font-weight-semibold:600;--bs-font-weight-bold:700;--bs-font-weight-bolder:bolder;--bs-body-font-family:system-ui;--bs-body-font-size:var(--bs-font-size-base);--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-heading-color:inherit;--bs-hr-border-color:var(--bs-border-color);--bs-link-color:var(--lightningcss-light,var(--bs-primary-base))var(--lightningcss-dark,var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-font-mono:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-code-font-size:95%;--bs-code-color:var(--bs-fg-2);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200)))var(--lightningcss-dark,var(--bs-gray-700));--bs-border-color-translucent:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-border-radius:.5rem;--bs-border-radius-xs:.375rem;--bs-border-radius-sm:.5rem;--bs-border-radius-lg:.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0,0,0,.15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0,0,0,.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0,0,0,.176);--bs-box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);--bs-spacer:1rem;--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-control-checked-bg:var(--bs-primary-base);--bs-control-checked-border-color:var(--bs-control-checked-bg);--bs-control-active-bg:var(--bs-primary-base);--bs-control-active-border-color:var(--bs-control-active-bg);--bs-control-disabled-bg:var(--bs-bg-3);--bs-control-disabled-opacity:.65;--bs-btn-input-fg:var(--bs-fg-body);--bs-btn-input-bg:var(--bs-bg-body);--bs-btn-input-min-height:2.375rem;--bs-btn-input-padding-y:.375rem;--bs-btn-input-padding-x:.75rem;--bs-btn-input-font-size:var(--bs-font-size-base);--bs-btn-input-line-height:var(--bs-line-height-base);--bs-btn-input-border-radius:var(--bs-border-radius);--bs-btn-input-xs-min-height:1.5rem;--bs-btn-input-xs-padding-y:.125rem;--bs-btn-input-xs-padding-x:.5rem;--bs-btn-input-xs-font-size:var(--bs-font-size-xs);--bs-btn-input-xs-line-height:1.125;--bs-btn-input-xs-border-radius:var(--bs-border-radius-xs);--bs-btn-input-sm-min-height:2rem;--bs-btn-input-sm-padding-y:.25rem;--bs-btn-input-sm-padding-x:.625rem;--bs-btn-input-sm-font-size:var(--bs-font-size-sm);--bs-btn-input-sm-line-height:var(--bs-line-height-sm);--bs-btn-input-sm-border-radius:var(--bs-border-radius-sm);--bs-btn-input-lg-min-height:2.75rem;--bs-btn-input-lg-padding-y:.5rem;--bs-btn-input-lg-padding-x:1rem;--bs-btn-input-lg-font-size:var(--bs-font-size-md);--bs-btn-input-lg-line-height:var(--bs-line-height-md);--bs-btn-input-lg-border-radius:var(--bs-border-radius-lg);--bs-form-valid-color:var(--bs-success-text);--bs-form-valid-border-color:var(--bs-success-text);--bs-form-invalid-color:var(--bs-danger-text);--bs-form-invalid-border-color:var(--bs-danger-text);--bs-font-size-xs:.75rem;--bs-line-height-xs:1.25;--bs-font-size-sm:.875rem;--bs-line-height-sm:1.5;--bs-font-size-md:1rem;--bs-line-height-md:1.5;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-line-height-lg:1.5;--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-line-height-xl:1.42857;--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-line-height-2xl:1.33333;--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-line-height-3xl:1.2;--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-line-height-4xl:1.1;--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-line-height-5xl:1.1;--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-6xl:1;--bs-primary-base:var(--bs-blue-500);--bs-primary-text:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));--bs-primary-text-emphasis:var(--lightningcss-light,var(--bs-blue-800))var(--lightningcss-dark,var(--bs-blue-200));--bs-primary-bg:var(--bs-blue-500);--bs-primary-bg-subtle:var(--lightningcss-light,var(--bs-blue-100))var(--lightningcss-dark,var(--bs-blue-900));--bs-primary-bg-muted:var(--lightningcss-light,var(--bs-blue-200))var(--lightningcss-dark,var(--bs-blue-800));--bs-primary-border:var(--lightningcss-light,var(--bs-blue-300))var(--lightningcss-dark,var(--bs-blue-600));--bs-primary-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)));--bs-primary-contrast:var(--bs-white);--bs-accent-base:var(--bs-indigo-500);--bs-accent-text:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));--bs-accent-text-emphasis:var(--lightningcss-light,var(--bs-indigo-800))var(--lightningcss-dark,var(--bs-indigo-300));--bs-accent-bg:var(--bs-indigo-500);--bs-accent-bg-subtle:var(--lightningcss-light,var(--bs-indigo-100))var(--lightningcss-dark,var(--bs-indigo-900));--bs-accent-bg-muted:var(--lightningcss-light,var(--bs-indigo-200))var(--lightningcss-dark,var(--bs-indigo-800));--bs-accent-border:var(--lightningcss-light,var(--bs-indigo-300))var(--lightningcss-dark,var(--bs-indigo-600));--bs-accent-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)));--bs-accent-contrast:var(--bs-white);--bs-success-base:var(--bs-green-500);--bs-success-text:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));--bs-success-text-emphasis:var(--lightningcss-light,var(--bs-green-800))var(--lightningcss-dark,var(--bs-green-300));--bs-success-bg:var(--bs-green-500);--bs-success-bg-subtle:var(--lightningcss-light,var(--bs-green-100))var(--lightningcss-dark,var(--bs-green-900));--bs-success-bg-muted:var(--lightningcss-light,var(--bs-green-200))var(--lightningcss-dark,var(--bs-green-800));--bs-success-border:var(--lightningcss-light,var(--bs-green-300))var(--lightningcss-dark,var(--bs-green-600));--bs-success-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)));--bs-success-contrast:var(--bs-white);--bs-danger-base:var(--bs-red-500);--bs-danger-text:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));--bs-danger-text-emphasis:var(--lightningcss-light,var(--bs-red-800))var(--lightningcss-dark,var(--bs-red-300));--bs-danger-bg:var(--bs-red-500);--bs-danger-bg-subtle:var(--lightningcss-light,var(--bs-red-100))var(--lightningcss-dark,var(--bs-red-900));--bs-danger-bg-muted:var(--lightningcss-light,var(--bs-red-200))var(--lightningcss-dark,var(--bs-red-800));--bs-danger-border:var(--lightningcss-light,var(--bs-red-300))var(--lightningcss-dark,var(--bs-red-600));--bs-danger-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)));--bs-danger-contrast:var(--bs-white);--bs-warning-base:var(--bs-yellow-500);--bs-warning-text:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));--bs-warning-text-emphasis:var(--lightningcss-light,var(--bs-yellow-800))var(--lightningcss-dark,var(--bs-yellow-300));--bs-warning-bg:var(--bs-yellow-500);--bs-warning-bg-subtle:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));--bs-warning-bg-muted:var(--lightningcss-light,var(--bs-yellow-200))var(--lightningcss-dark,var(--bs-yellow-800));--bs-warning-border:var(--lightningcss-light,var(--bs-yellow-300))var(--lightningcss-dark,var(--bs-yellow-600));--bs-warning-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)));--bs-warning-contrast:var(--bs-gray-900);--bs-info-base:var(--bs-cyan-500);--bs-info-text:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));--bs-info-text-emphasis:var(--lightningcss-light,var(--bs-cyan-800))var(--lightningcss-dark,var(--bs-cyan-300));--bs-info-bg:var(--bs-cyan-500);--bs-info-bg-subtle:var(--lightningcss-light,var(--bs-cyan-100))var(--lightningcss-dark,var(--bs-cyan-900));--bs-info-bg-muted:var(--lightningcss-light,var(--bs-cyan-200))var(--lightningcss-dark,var(--bs-cyan-800));--bs-info-border:var(--lightningcss-light,var(--bs-cyan-300))var(--lightningcss-dark,var(--bs-cyan-600));--bs-info-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)));--bs-info-contrast:var(--bs-gray-900);--bs-inverse-base:var(--bs-gray-900);--bs-inverse-text:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));--bs-inverse-text-emphasis:var(--lightningcss-light,var(--bs-gray-975))var(--lightningcss-dark,var(--bs-white));--bs-inverse-bg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));--bs-inverse-bg-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-inverse-bg-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-300));--bs-inverse-border:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-100));--bs-inverse-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-100)) 50%, var(--bs-bg-body));--bs-inverse-contrast:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-900));--bs-secondary-base:var(--bs-gray-200);--bs-secondary-text:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));--bs-secondary-text-emphasis:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-secondary-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-bg-subtle:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-800));--bs-secondary-bg-muted:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-700));--bs-secondary-border:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-300)) 50%, var(--bs-bg-body));--bs-secondary-contrast:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));--bs-bg-body:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-975));--bs-bg-1:var(--lightningcss-light,var(--bs-gray-025))var(--lightningcss-dark,var(--bs-gray-950));--bs-bg-2:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-900));--bs-bg-3:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-800));--bs-bg-4:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-700));--bs-bg-white:var(--bs-white);--bs-bg-black:var(--bs-black);--bs-bg-transparent:transparent;--bs-bg-inherit:inherit;--bs-fg-body:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-050));--bs-fg-1:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-fg-2:var(--lightningcss-light,var(--bs-gray-700))var(--lightningcss-dark,var(--bs-gray-300));--bs-fg-3:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-500));--bs-fg-4:var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-600));--bs-fg-white:var(--bs-white);--bs-fg-black:var(--bs-black);--bs-fg-inherit:inherit;--bs-border-bg:var(--bs-bg-body);--bs-border-body:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-border-emphasized:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-600));--bs-border-white:var(--bs-white);--bs-border-black:var(--bs-black);--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-bs-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-bs-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.offcanvas,.offcanvas-2xl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-inset:var(--bs-spacer);--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:var(--bs-spacer);--bs-offcanvas-padding-y:var(--bs-spacer);--bs-offcanvas-color:var(--bs-fg-body);--bs-offcanvas-bg:var(--bs-bg-body);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-border-radius:var(--bs-border-radius-lg);--bs-offcanvas-box-shadow:var(--bs-box-shadow-lg);--bs-offcanvas-transition:transform .3s ease-in-out;--bs-offcanvas-title-line-height:1.5}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;transition:height .35s;overflow:hidden}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}
+:root{--bs-blue-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .24 240));--bs-blue-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .24 240));--bs-blue-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .24 240));--bs-blue-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .24 240));--bs-blue-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .24 240));--bs-blue-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .24 240));--bs-blue-500:oklch(60% .24 240);--bs-blue-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .24 240));--bs-blue-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .24 240));--bs-blue-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .24 240));--bs-blue-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .24 240));--bs-blue-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .24 240));--bs-blue-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .24 240));--bs-indigo-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .26 288));--bs-indigo-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .26 288));--bs-indigo-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .26 288));--bs-indigo-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .26 288));--bs-indigo-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .26 288));--bs-indigo-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .26 288));--bs-indigo-500:oklch(56% .26 288);--bs-indigo-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .26 288));--bs-indigo-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .26 288));--bs-indigo-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .26 288));--bs-indigo-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .26 288));--bs-indigo-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .26 288));--bs-indigo-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .26 288));--bs-violet-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 300));--bs-violet-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 300));--bs-violet-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 300));--bs-violet-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 300));--bs-violet-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 300));--bs-violet-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 300));--bs-violet-500:oklch(56% .24 300);--bs-violet-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 300));--bs-violet-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 300));--bs-violet-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 300));--bs-violet-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 300));--bs-violet-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 300));--bs-violet-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 300));--bs-purple-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 320));--bs-purple-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 320));--bs-purple-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 320));--bs-purple-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 320));--bs-purple-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 320));--bs-purple-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 320));--bs-purple-500:oklch(56% .24 320);--bs-purple-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 320));--bs-purple-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 320));--bs-purple-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 320));--bs-purple-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 320));--bs-purple-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 320));--bs-purple-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 320));--bs-pink-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 4));--bs-pink-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 4));--bs-pink-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 4));--bs-pink-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 4));--bs-pink-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 4));--bs-pink-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 4));--bs-pink-500:oklch(60% .22 4);--bs-pink-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 4));--bs-pink-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 4));--bs-pink-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 4));--bs-pink-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 4));--bs-pink-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 4));--bs-pink-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 4));--bs-red-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 20));--bs-red-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 20));--bs-red-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 20));--bs-red-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 20));--bs-red-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 20));--bs-red-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 20));--bs-red-500:oklch(60% .22 20);--bs-red-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 20));--bs-red-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 20));--bs-red-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 20));--bs-red-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 20));--bs-red-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 20));--bs-red-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 20));--bs-orange-025:color-mix(in lab, var(--bs-white) 94%, oklch(70% .22 52));--bs-orange-050:color-mix(in lab, var(--bs-white) 90%, oklch(70% .22 52));--bs-orange-100:color-mix(in lab, var(--bs-white) 80%, oklch(70% .22 52));--bs-orange-200:color-mix(in lab, var(--bs-white) 60%, oklch(70% .22 52));--bs-orange-300:color-mix(in lab, var(--bs-white) 40%, oklch(70% .22 52));--bs-orange-400:color-mix(in lab, var(--bs-white) 20%, oklch(70% .22 52));--bs-orange-500:oklch(70% .22 52);--bs-orange-600:color-mix(in lab, var(--bs-black) 16%, oklch(70% .22 52));--bs-orange-700:color-mix(in lab, var(--bs-black) 32%, oklch(70% .22 52));--bs-orange-800:color-mix(in lab, var(--bs-black) 48%, oklch(70% .22 52));--bs-orange-900:color-mix(in lab, var(--bs-black) 64%, oklch(70% .22 52));--bs-orange-950:color-mix(in lab, var(--bs-black) 76%, oklch(70% .22 52));--bs-orange-975:color-mix(in lab, var(--bs-black) 88%, oklch(70% .22 52));--bs-amber-025:color-mix(in lab, var(--bs-white) 94%, oklch(79% .2 78));--bs-amber-050:color-mix(in lab, var(--bs-white) 90%, oklch(79% .2 78));--bs-amber-100:color-mix(in lab, var(--bs-white) 80%, oklch(79% .2 78));--bs-amber-200:color-mix(in lab, var(--bs-white) 60%, oklch(79% .2 78));--bs-amber-300:color-mix(in lab, var(--bs-white) 40%, oklch(79% .2 78));--bs-amber-400:color-mix(in lab, var(--bs-white) 20%, oklch(79% .2 78));--bs-amber-500:oklch(79% .2 78);--bs-amber-600:color-mix(in lab, var(--bs-black) 16%, oklch(79% .2 78));--bs-amber-700:color-mix(in lab, var(--bs-black) 32%, oklch(79% .2 78));--bs-amber-800:color-mix(in lab, var(--bs-black) 48%, oklch(79% .2 78));--bs-amber-900:color-mix(in lab, var(--bs-black) 64%, oklch(79% .2 78));--bs-amber-950:color-mix(in lab, var(--bs-black) 76%, oklch(79% .2 78));--bs-amber-975:color-mix(in lab, var(--bs-black) 88%, oklch(79% .2 78));--bs-yellow-025:color-mix(in lab, var(--bs-white) 94%, oklch(88% .24 88));--bs-yellow-050:color-mix(in lab, var(--bs-white) 90%, oklch(88% .24 88));--bs-yellow-100:color-mix(in lab, var(--bs-white) 80%, oklch(88% .24 88));--bs-yellow-200:color-mix(in lab, var(--bs-white) 60%, oklch(88% .24 88));--bs-yellow-300:color-mix(in lab, var(--bs-white) 40%, oklch(88% .24 88));--bs-yellow-400:color-mix(in lab, var(--bs-white) 20%, oklch(88% .24 88));--bs-yellow-500:oklch(88% .24 88);--bs-yellow-600:color-mix(in lab, var(--bs-black) 16%, oklch(88% .24 88));--bs-yellow-700:color-mix(in lab, var(--bs-black) 32%, oklch(88% .24 88));--bs-yellow-800:color-mix(in lab, var(--bs-black) 48%, oklch(88% .24 88));--bs-yellow-900:color-mix(in lab, var(--bs-black) 64%, oklch(88% .24 88));--bs-yellow-950:color-mix(in lab, var(--bs-black) 76%, oklch(88% .24 88));--bs-yellow-975:color-mix(in lab, var(--bs-black) 88%, oklch(88% .24 88));--bs-lime-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .24 135));--bs-lime-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .24 135));--bs-lime-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .24 135));--bs-lime-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .24 135));--bs-lime-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .24 135));--bs-lime-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .24 135));--bs-lime-500:oklch(65% .24 135);--bs-lime-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .24 135));--bs-lime-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .24 135));--bs-lime-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .24 135));--bs-lime-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .24 135));--bs-lime-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .24 135));--bs-lime-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .24 135));--bs-green-025:color-mix(in lab, var(--bs-white) 94%, oklch(64% .22 160));--bs-green-050:color-mix(in lab, var(--bs-white) 90%, oklch(64% .22 160));--bs-green-100:color-mix(in lab, var(--bs-white) 80%, oklch(64% .22 160));--bs-green-200:color-mix(in lab, var(--bs-white) 60%, oklch(64% .22 160));--bs-green-300:color-mix(in lab, var(--bs-white) 40%, oklch(64% .22 160));--bs-green-400:color-mix(in lab, var(--bs-white) 20%, oklch(64% .22 160));--bs-green-500:oklch(64% .22 160);--bs-green-600:color-mix(in lab, var(--bs-black) 16%, oklch(64% .22 160));--bs-green-700:color-mix(in lab, var(--bs-black) 32%, oklch(64% .22 160));--bs-green-800:color-mix(in lab, var(--bs-black) 48%, oklch(64% .22 160));--bs-green-900:color-mix(in lab, var(--bs-black) 64%, oklch(64% .22 160));--bs-green-950:color-mix(in lab, var(--bs-black) 76%, oklch(64% .22 160));--bs-green-975:color-mix(in lab, var(--bs-black) 88%, oklch(64% .22 160));--bs-teal-025:color-mix(in lab, var(--bs-white) 94%, oklch(68% .22 190));--bs-teal-050:color-mix(in lab, var(--bs-white) 90%, oklch(68% .22 190));--bs-teal-100:color-mix(in lab, var(--bs-white) 80%, oklch(68% .22 190));--bs-teal-200:color-mix(in lab, var(--bs-white) 60%, oklch(68% .22 190));--bs-teal-300:color-mix(in lab, var(--bs-white) 40%, oklch(68% .22 190));--bs-teal-400:color-mix(in lab, var(--bs-white) 20%, oklch(68% .22 190));--bs-teal-500:oklch(68% .22 190);--bs-teal-600:color-mix(in lab, var(--bs-black) 16%, oklch(68% .22 190));--bs-teal-700:color-mix(in lab, var(--bs-black) 32%, oklch(68% .22 190));--bs-teal-800:color-mix(in lab, var(--bs-black) 48%, oklch(68% .22 190));--bs-teal-900:color-mix(in lab, var(--bs-black) 64%, oklch(68% .22 190));--bs-teal-950:color-mix(in lab, var(--bs-black) 76%, oklch(68% .22 190));--bs-teal-975:color-mix(in lab, var(--bs-black) 88%, oklch(68% .22 190));--bs-cyan-025:color-mix(in lab, var(--bs-white) 94%, oklch(69% .22 220));--bs-cyan-050:color-mix(in lab, var(--bs-white) 90%, oklch(69% .22 220));--bs-cyan-100:color-mix(in lab, var(--bs-white) 80%, oklch(69% .22 220));--bs-cyan-200:color-mix(in lab, var(--bs-white) 60%, oklch(69% .22 220));--bs-cyan-300:color-mix(in lab, var(--bs-white) 40%, oklch(69% .22 220));--bs-cyan-400:color-mix(in lab, var(--bs-white) 20%, oklch(69% .22 220));--bs-cyan-500:oklch(69% .22 220);--bs-cyan-600:color-mix(in lab, var(--bs-black) 16%, oklch(69% .22 220));--bs-cyan-700:color-mix(in lab, var(--bs-black) 32%, oklch(69% .22 220));--bs-cyan-800:color-mix(in lab, var(--bs-black) 48%, oklch(69% .22 220));--bs-cyan-900:color-mix(in lab, var(--bs-black) 64%, oklch(69% .22 220));--bs-cyan-950:color-mix(in lab, var(--bs-black) 76%, oklch(69% .22 220));--bs-cyan-975:color-mix(in lab, var(--bs-black) 88%, oklch(69% .22 220));--bs-brown-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .12 54));--bs-brown-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .12 54));--bs-brown-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .12 54));--bs-brown-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .12 54));--bs-brown-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .12 54));--bs-brown-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .12 54));--bs-brown-500:oklch(60% .12 54);--bs-brown-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .12 54));--bs-brown-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .12 54));--bs-brown-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .12 54));--bs-brown-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .12 54));--bs-brown-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .12 54));--bs-brown-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .12 54));--bs-gray-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .02 245));--bs-gray-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .02 245));--bs-gray-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .02 245));--bs-gray-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .02 245));--bs-gray-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .02 245));--bs-gray-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .02 245));--bs-gray-500:oklch(60% .02 245);--bs-gray-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .02 245));--bs-gray-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .02 245));--bs-gray-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .02 245));--bs-gray-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .02 245));--bs-gray-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .02 245));--bs-gray-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .02 245));--bs-pewter-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .01 290));--bs-pewter-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .01 290));--bs-pewter-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .01 290));--bs-pewter-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .01 290));--bs-pewter-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .01 290));--bs-pewter-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .01 290));--bs-pewter-500:oklch(65% .01 290);--bs-pewter-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .01 290));--bs-pewter-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .01 290));--bs-pewter-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .01 290));--bs-pewter-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .01 290));--bs-pewter-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .01 290));--bs-pewter-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .01 290))}@layer colors,theme,config,root;@layer reboot{*,:before,:after{box-sizing:border-box}:root{accent-color:var(--bs-primary-base)}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{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-fg-body);text-align:var(--bs-body-text-align);background-color:var(--bs-bg-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:#0000;margin:0}hr{margin:var(--bs-hr-margin-y,var(--bs-spacer)) 0;border:0;border-block-start:var(--bs-border-width) solid var(--bs-hr-border-color)}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{color:var(--bs-heading-color);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:var(--bs-font-size-3xl)}h2,.h2{font-size:var(--bs-font-size-2xl)}h3,.h3{font-size:var(--bs-font-size-xl)}h4,.h4{font-size:var(--bs-font-size-lg)}h5,.h5{font-size:var(--bs-font-size-md)}h6,.h6{font-size:var(--bs-font-size-sm)}p{margin-top:0;margin-bottom:1rem}abbr[title]{cursor:help;text-decoration-skip-ink:none;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-inline-start: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-inline-start:0;margin-bottom:.5rem}blockquote{margin:0 0 1rem}blockquote>*{margin-block:0}b,strong{font-weight:bolder}small,.small{font-size:var(--bs-small-font-size,87.5%)}mark,.mark{--bs-mark-padding:.1875em;--bs-mark-color:var(--bs-fg-body);--bs-mark-bg:light-dark(var(--bs-yellow-100),var(--bs-yellow-900));padding:var(--bs-mark-padding);color:var(--bs-mark-color);background-color:var(--bs-mark-bg)}sub,sup{font-size:var(--bs-sub-sup-font-size,.75em);vertical-align:baseline;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-theme-text,var(--bs-link-color));-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration);text-underline-offset:.2em}a:hover{color:var(--bs-theme-text-emphasis,var(--bs-link-hover-color));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration))}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-mono);font-size:1em}pre{font-size:var(--bs-code-font-size);color:var(--bs-code-color,inherit);margin-top:0;margin-bottom:1rem;display:block;overflow:auto}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:var(--bs-code-font-size);color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{--bs-kbd-padding-y:.125rem;--bs-kbd-padding-x:.25rem;--bs-kbd-font-size:var(--bs-font-size-xs);--bs-kbd-color:var(--bs-bg-body);--bs-kbd-bg:var(--bs-fg-2);--bs-kbd-border-radius:var(--bs-border-radius-sm);padding:var(--bs-kbd-padding-y) var(--bs-kbd-padding-x);font-size:var(--bs-kbd-font-size);color:var(--bs-kbd-color);background-color:var(--bs-kbd-bg);border-radius:var(--bs-kbd-border-radius)}kbd kbd{font-size:1em;font-weight:inherit;padding:0}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{color:var(--bs-fg-3);text-align:start;padding-block:.5rem}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{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}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{border-style:none;padding:0}textarea{resize:vertical}fieldset{border:0;min-width:0;margin:0;padding:0}legend{float:inline-start;width:100%;font-size:1.5rem;line-height:inherit;margin-bottom:.5rem;padding:0}legend+*{clear:inline-start}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-text{padding:0}::-webkit-datetime-edit-millisecond-field{padding:0}::-webkit-datetime-edit-second-field{padding:0}::-webkit-datetime-edit-minute-field{padding:0}::-webkit-datetime-edit-hour-field{padding:0}::-webkit-datetime-edit-ampm-field{padding:0}::-webkit-datetime-edit-day-field{padding:0}::-webkit-datetime-edit-week-field{padding:0}::-webkit-datetime-edit-month-field{padding:0}::-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()}[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{cursor:pointer;display:list-item}progress{vertical-align:baseline}[hidden]{display:none!important}}@layer layout{.container,.container-fluid,.\32 xl\:container,.xl\:container,.lg\:container,.md\:container,.sm\:container{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-inline:auto}@media (width>=576px){.sm\:container,.container{max-width:540px}}@media (width>=768px){.md\:container,.sm\:container,.container{max-width:720px}}@media (width>=1024px){.lg\:container,.md\:container,.sm\:container,.container{max-width:960px}}@media (width>=1280px){.xl\:container,.lg\:container,.md\:container,.sm\:container,.container{max-width:1200px}}@media (width>=1536px){.\32 xl\:container,.xl\:container,.lg\:container,.md\:container,.sm\:container,.container{max-width:1440px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-inline:calc(-.5 * var(--bs-gutter-x));margin-top:calc(-1 * var(--bs-gutter-y));flex-wrap:wrap;display:flex}.row>*{width:100%;max-width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y);flex-shrink:0}.col{flex:1 0 0}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.3333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.6667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333%}.col-2{flex:none;width:16.6667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.3333%}.col-5{flex:none;width:41.6667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.3333%}.col-8{flex:none;width:66.6667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.3333%}.col-11{flex:none;width:91.6667%}.col-12{flex:none;width:100%}.offset-1{margin-inline-start:8.33333%}.offset-2{margin-inline-start:16.6667%}.offset-3{margin-inline-start:25%}.offset-4{margin-inline-start:33.3333%}.offset-5{margin-inline-start:41.6667%}.offset-6{margin-inline-start:50%}.offset-7{margin-inline-start:58.3333%}.offset-8{margin-inline-start:66.6667%}.offset-9{margin-inline-start:75%}.offset-10{margin-inline-start:83.3333%}.offset-11{margin-inline-start:91.6667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.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 (width>=576px){.sm\:col{flex:1 0 0}.sm\:row-cols-auto>*{flex:none;width:auto}.sm\:row-cols-1>*{flex:none;width:100%}.sm\:row-cols-2>*{flex:none;width:50%}.sm\:row-cols-3>*{flex:none;width:33.3333%}.sm\:row-cols-4>*{flex:none;width:25%}.sm\:row-cols-5>*{flex:none;width:20%}.sm\:row-cols-6>*{flex:none;width:16.6667%}.sm\:col-auto{flex:none;width:auto}.sm\:col-1{flex:none;width:8.33333%}.sm\:col-2{flex:none;width:16.6667%}.sm\:col-3{flex:none;width:25%}.sm\:col-4{flex:none;width:33.3333%}.sm\:col-5{flex:none;width:41.6667%}.sm\:col-6{flex:none;width:50%}.sm\:col-7{flex:none;width:58.3333%}.sm\:col-8{flex:none;width:66.6667%}.sm\:col-9{flex:none;width:75%}.sm\:col-10{flex:none;width:83.3333%}.sm\:col-11{flex:none;width:91.6667%}.sm\:col-12{flex:none;width:100%}.sm\:offset-0{margin-inline-start:0}.sm\:offset-1{margin-inline-start:8.33333%}.sm\:offset-2{margin-inline-start:16.6667%}.sm\:offset-3{margin-inline-start:25%}.sm\:offset-4{margin-inline-start:33.3333%}.sm\:offset-5{margin-inline-start:41.6667%}.sm\:offset-6{margin-inline-start:50%}.sm\:offset-7{margin-inline-start:58.3333%}.sm\:offset-8{margin-inline-start:66.6667%}.sm\:offset-9{margin-inline-start:75%}.sm\:offset-10{margin-inline-start:83.3333%}.sm\:offset-11{margin-inline-start:91.6667%}.sm\:g-0,.sm\:gx-0{--bs-gutter-x:0}.sm\:g-0,.sm\:gy-0{--bs-gutter-y:0}.sm\:g-1,.sm\:gx-1{--bs-gutter-x:.25rem}.sm\:g-1,.sm\:gy-1{--bs-gutter-y:.25rem}.sm\:g-2,.sm\:gx-2{--bs-gutter-x:.5rem}.sm\:g-2,.sm\:gy-2{--bs-gutter-y:.5rem}.sm\:g-3,.sm\:gx-3{--bs-gutter-x:1rem}.sm\:g-3,.sm\:gy-3{--bs-gutter-y:1rem}.sm\:g-4,.sm\:gx-4{--bs-gutter-x:1.5rem}.sm\:g-4,.sm\:gy-4{--bs-gutter-y:1.5rem}.sm\:g-5,.sm\:gx-5{--bs-gutter-x:3rem}.sm\:g-5,.sm\:gy-5{--bs-gutter-y:3rem}}@media (width>=768px){.md\:col{flex:1 0 0}.md\:row-cols-auto>*{flex:none;width:auto}.md\:row-cols-1>*{flex:none;width:100%}.md\:row-cols-2>*{flex:none;width:50%}.md\:row-cols-3>*{flex:none;width:33.3333%}.md\:row-cols-4>*{flex:none;width:25%}.md\:row-cols-5>*{flex:none;width:20%}.md\:row-cols-6>*{flex:none;width:16.6667%}.md\:col-auto{flex:none;width:auto}.md\:col-1{flex:none;width:8.33333%}.md\:col-2{flex:none;width:16.6667%}.md\:col-3{flex:none;width:25%}.md\:col-4{flex:none;width:33.3333%}.md\:col-5{flex:none;width:41.6667%}.md\:col-6{flex:none;width:50%}.md\:col-7{flex:none;width:58.3333%}.md\:col-8{flex:none;width:66.6667%}.md\:col-9{flex:none;width:75%}.md\:col-10{flex:none;width:83.3333%}.md\:col-11{flex:none;width:91.6667%}.md\:col-12{flex:none;width:100%}.md\:offset-0{margin-inline-start:0}.md\:offset-1{margin-inline-start:8.33333%}.md\:offset-2{margin-inline-start:16.6667%}.md\:offset-3{margin-inline-start:25%}.md\:offset-4{margin-inline-start:33.3333%}.md\:offset-5{margin-inline-start:41.6667%}.md\:offset-6{margin-inline-start:50%}.md\:offset-7{margin-inline-start:58.3333%}.md\:offset-8{margin-inline-start:66.6667%}.md\:offset-9{margin-inline-start:75%}.md\:offset-10{margin-inline-start:83.3333%}.md\:offset-11{margin-inline-start:91.6667%}.md\:g-0,.md\:gx-0{--bs-gutter-x:0}.md\:g-0,.md\:gy-0{--bs-gutter-y:0}.md\:g-1,.md\:gx-1{--bs-gutter-x:.25rem}.md\:g-1,.md\:gy-1{--bs-gutter-y:.25rem}.md\:g-2,.md\:gx-2{--bs-gutter-x:.5rem}.md\:g-2,.md\:gy-2{--bs-gutter-y:.5rem}.md\:g-3,.md\:gx-3{--bs-gutter-x:1rem}.md\:g-3,.md\:gy-3{--bs-gutter-y:1rem}.md\:g-4,.md\:gx-4{--bs-gutter-x:1.5rem}.md\:g-4,.md\:gy-4{--bs-gutter-y:1.5rem}.md\:g-5,.md\:gx-5{--bs-gutter-x:3rem}.md\:g-5,.md\:gy-5{--bs-gutter-y:3rem}}@media (width>=1024px){.lg\:col{flex:1 0 0}.lg\:row-cols-auto>*{flex:none;width:auto}.lg\:row-cols-1>*{flex:none;width:100%}.lg\:row-cols-2>*{flex:none;width:50%}.lg\:row-cols-3>*{flex:none;width:33.3333%}.lg\:row-cols-4>*{flex:none;width:25%}.lg\:row-cols-5>*{flex:none;width:20%}.lg\:row-cols-6>*{flex:none;width:16.6667%}.lg\:col-auto{flex:none;width:auto}.lg\:col-1{flex:none;width:8.33333%}.lg\:col-2{flex:none;width:16.6667%}.lg\:col-3{flex:none;width:25%}.lg\:col-4{flex:none;width:33.3333%}.lg\:col-5{flex:none;width:41.6667%}.lg\:col-6{flex:none;width:50%}.lg\:col-7{flex:none;width:58.3333%}.lg\:col-8{flex:none;width:66.6667%}.lg\:col-9{flex:none;width:75%}.lg\:col-10{flex:none;width:83.3333%}.lg\:col-11{flex:none;width:91.6667%}.lg\:col-12{flex:none;width:100%}.lg\:offset-0{margin-inline-start:0}.lg\:offset-1{margin-inline-start:8.33333%}.lg\:offset-2{margin-inline-start:16.6667%}.lg\:offset-3{margin-inline-start:25%}.lg\:offset-4{margin-inline-start:33.3333%}.lg\:offset-5{margin-inline-start:41.6667%}.lg\:offset-6{margin-inline-start:50%}.lg\:offset-7{margin-inline-start:58.3333%}.lg\:offset-8{margin-inline-start:66.6667%}.lg\:offset-9{margin-inline-start:75%}.lg\:offset-10{margin-inline-start:83.3333%}.lg\:offset-11{margin-inline-start:91.6667%}.lg\:g-0,.lg\:gx-0{--bs-gutter-x:0}.lg\:g-0,.lg\:gy-0{--bs-gutter-y:0}.lg\:g-1,.lg\:gx-1{--bs-gutter-x:.25rem}.lg\:g-1,.lg\:gy-1{--bs-gutter-y:.25rem}.lg\:g-2,.lg\:gx-2{--bs-gutter-x:.5rem}.lg\:g-2,.lg\:gy-2{--bs-gutter-y:.5rem}.lg\:g-3,.lg\:gx-3{--bs-gutter-x:1rem}.lg\:g-3,.lg\:gy-3{--bs-gutter-y:1rem}.lg\:g-4,.lg\:gx-4{--bs-gutter-x:1.5rem}.lg\:g-4,.lg\:gy-4{--bs-gutter-y:1.5rem}.lg\:g-5,.lg\:gx-5{--bs-gutter-x:3rem}.lg\:g-5,.lg\:gy-5{--bs-gutter-y:3rem}}@media (width>=1280px){.xl\:col{flex:1 0 0}.xl\:row-cols-auto>*{flex:none;width:auto}.xl\:row-cols-1>*{flex:none;width:100%}.xl\:row-cols-2>*{flex:none;width:50%}.xl\:row-cols-3>*{flex:none;width:33.3333%}.xl\:row-cols-4>*{flex:none;width:25%}.xl\:row-cols-5>*{flex:none;width:20%}.xl\:row-cols-6>*{flex:none;width:16.6667%}.xl\:col-auto{flex:none;width:auto}.xl\:col-1{flex:none;width:8.33333%}.xl\:col-2{flex:none;width:16.6667%}.xl\:col-3{flex:none;width:25%}.xl\:col-4{flex:none;width:33.3333%}.xl\:col-5{flex:none;width:41.6667%}.xl\:col-6{flex:none;width:50%}.xl\:col-7{flex:none;width:58.3333%}.xl\:col-8{flex:none;width:66.6667%}.xl\:col-9{flex:none;width:75%}.xl\:col-10{flex:none;width:83.3333%}.xl\:col-11{flex:none;width:91.6667%}.xl\:col-12{flex:none;width:100%}.xl\:offset-0{margin-inline-start:0}.xl\:offset-1{margin-inline-start:8.33333%}.xl\:offset-2{margin-inline-start:16.6667%}.xl\:offset-3{margin-inline-start:25%}.xl\:offset-4{margin-inline-start:33.3333%}.xl\:offset-5{margin-inline-start:41.6667%}.xl\:offset-6{margin-inline-start:50%}.xl\:offset-7{margin-inline-start:58.3333%}.xl\:offset-8{margin-inline-start:66.6667%}.xl\:offset-9{margin-inline-start:75%}.xl\:offset-10{margin-inline-start:83.3333%}.xl\:offset-11{margin-inline-start:91.6667%}.xl\:g-0,.xl\:gx-0{--bs-gutter-x:0}.xl\:g-0,.xl\:gy-0{--bs-gutter-y:0}.xl\:g-1,.xl\:gx-1{--bs-gutter-x:.25rem}.xl\:g-1,.xl\:gy-1{--bs-gutter-y:.25rem}.xl\:g-2,.xl\:gx-2{--bs-gutter-x:.5rem}.xl\:g-2,.xl\:gy-2{--bs-gutter-y:.5rem}.xl\:g-3,.xl\:gx-3{--bs-gutter-x:1rem}.xl\:g-3,.xl\:gy-3{--bs-gutter-y:1rem}.xl\:g-4,.xl\:gx-4{--bs-gutter-x:1.5rem}.xl\:g-4,.xl\:gy-4{--bs-gutter-y:1.5rem}.xl\:g-5,.xl\:gx-5{--bs-gutter-x:3rem}.xl\:g-5,.xl\:gy-5{--bs-gutter-y:3rem}}@media (width>=1536px){.\32 xl\:col{flex:1 0 0}.\32 xl\:row-cols-auto>*{flex:none;width:auto}.\32 xl\:row-cols-1>*{flex:none;width:100%}.\32 xl\:row-cols-2>*{flex:none;width:50%}.\32 xl\:row-cols-3>*{flex:none;width:33.3333%}.\32 xl\:row-cols-4>*{flex:none;width:25%}.\32 xl\:row-cols-5>*{flex:none;width:20%}.\32 xl\:row-cols-6>*{flex:none;width:16.6667%}.\32 xl\:col-auto{flex:none;width:auto}.\32 xl\:col-1{flex:none;width:8.33333%}.\32 xl\:col-2{flex:none;width:16.6667%}.\32 xl\:col-3{flex:none;width:25%}.\32 xl\:col-4{flex:none;width:33.3333%}.\32 xl\:col-5{flex:none;width:41.6667%}.\32 xl\:col-6{flex:none;width:50%}.\32 xl\:col-7{flex:none;width:58.3333%}.\32 xl\:col-8{flex:none;width:66.6667%}.\32 xl\:col-9{flex:none;width:75%}.\32 xl\:col-10{flex:none;width:83.3333%}.\32 xl\:col-11{flex:none;width:91.6667%}.\32 xl\:col-12{flex:none;width:100%}.\32 xl\:offset-0{margin-inline-start:0}.\32 xl\:offset-1{margin-inline-start:8.33333%}.\32 xl\:offset-2{margin-inline-start:16.6667%}.\32 xl\:offset-3{margin-inline-start:25%}.\32 xl\:offset-4{margin-inline-start:33.3333%}.\32 xl\:offset-5{margin-inline-start:41.6667%}.\32 xl\:offset-6{margin-inline-start:50%}.\32 xl\:offset-7{margin-inline-start:58.3333%}.\32 xl\:offset-8{margin-inline-start:66.6667%}.\32 xl\:offset-9{margin-inline-start:75%}.\32 xl\:offset-10{margin-inline-start:83.3333%}.\32 xl\:offset-11{margin-inline-start:91.6667%}.\32 xl\:g-0,.\32 xl\:gx-0{--bs-gutter-x:0}.\32 xl\:g-0,.\32 xl\:gy-0{--bs-gutter-y:0}.\32 xl\:g-1,.\32 xl\:gx-1{--bs-gutter-x:.25rem}.\32 xl\:g-1,.\32 xl\:gy-1{--bs-gutter-y:.25rem}.\32 xl\:g-2,.\32 xl\:gx-2{--bs-gutter-x:.5rem}.\32 xl\:g-2,.\32 xl\:gy-2{--bs-gutter-y:.5rem}.\32 xl\:g-3,.\32 xl\:gx-3{--bs-gutter-x:1rem}.\32 xl\:g-3,.\32 xl\:gy-3{--bs-gutter-y:1rem}.\32 xl\:g-4,.\32 xl\:gx-4{--bs-gutter-x:1.5rem}.\32 xl\:g-4,.\32 xl\:gy-4{--bs-gutter-y:1.5rem}.\32 xl\:g-5,.\32 xl\:gx-5{--bs-gutter-x:3rem}.\32 xl\:g-5,.\32 xl\:gy-5{--bs-gutter-y:3rem}}.grid{--bs-columns:12;--bs-rows:1;--bs-gap:1.5rem;grid-template-rows:repeat(var(--bs-rows), 1fr);grid-template-columns:repeat(var(--bs-columns), 1fr);gap:var(--bs-gap);display:grid}.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 (width>=576px){.sm\:g-col-1{grid-column:auto/span 1}.sm\:g-col-2{grid-column:auto/span 2}.sm\:g-col-3{grid-column:auto/span 3}.sm\:g-col-4{grid-column:auto/span 4}.sm\:g-col-5{grid-column:auto/span 5}.sm\:g-col-6{grid-column:auto/span 6}.sm\:g-col-7{grid-column:auto/span 7}.sm\:g-col-8{grid-column:auto/span 8}.sm\:g-col-9{grid-column:auto/span 9}.sm\:g-col-10{grid-column:auto/span 10}.sm\:g-col-11{grid-column:auto/span 11}.sm\:g-col-12{grid-column:auto/span 12}.sm\:g-start-1{grid-column-start:1}.sm\:g-start-2{grid-column-start:2}.sm\:g-start-3{grid-column-start:3}.sm\:g-start-4{grid-column-start:4}.sm\:g-start-5{grid-column-start:5}.sm\:g-start-6{grid-column-start:6}.sm\:g-start-7{grid-column-start:7}.sm\:g-start-8{grid-column-start:8}.sm\:g-start-9{grid-column-start:9}.sm\:g-start-10{grid-column-start:10}.sm\:g-start-11{grid-column-start:11}}@media (width>=768px){.md\:g-col-1{grid-column:auto/span 1}.md\:g-col-2{grid-column:auto/span 2}.md\:g-col-3{grid-column:auto/span 3}.md\:g-col-4{grid-column:auto/span 4}.md\:g-col-5{grid-column:auto/span 5}.md\:g-col-6{grid-column:auto/span 6}.md\:g-col-7{grid-column:auto/span 7}.md\:g-col-8{grid-column:auto/span 8}.md\:g-col-9{grid-column:auto/span 9}.md\:g-col-10{grid-column:auto/span 10}.md\:g-col-11{grid-column:auto/span 11}.md\:g-col-12{grid-column:auto/span 12}.md\:g-start-1{grid-column-start:1}.md\:g-start-2{grid-column-start:2}.md\:g-start-3{grid-column-start:3}.md\:g-start-4{grid-column-start:4}.md\:g-start-5{grid-column-start:5}.md\:g-start-6{grid-column-start:6}.md\:g-start-7{grid-column-start:7}.md\:g-start-8{grid-column-start:8}.md\:g-start-9{grid-column-start:9}.md\:g-start-10{grid-column-start:10}.md\:g-start-11{grid-column-start:11}}@media (width>=1024px){.lg\:g-col-1{grid-column:auto/span 1}.lg\:g-col-2{grid-column:auto/span 2}.lg\:g-col-3{grid-column:auto/span 3}.lg\:g-col-4{grid-column:auto/span 4}.lg\:g-col-5{grid-column:auto/span 5}.lg\:g-col-6{grid-column:auto/span 6}.lg\:g-col-7{grid-column:auto/span 7}.lg\:g-col-8{grid-column:auto/span 8}.lg\:g-col-9{grid-column:auto/span 9}.lg\:g-col-10{grid-column:auto/span 10}.lg\:g-col-11{grid-column:auto/span 11}.lg\:g-col-12{grid-column:auto/span 12}.lg\:g-start-1{grid-column-start:1}.lg\:g-start-2{grid-column-start:2}.lg\:g-start-3{grid-column-start:3}.lg\:g-start-4{grid-column-start:4}.lg\:g-start-5{grid-column-start:5}.lg\:g-start-6{grid-column-start:6}.lg\:g-start-7{grid-column-start:7}.lg\:g-start-8{grid-column-start:8}.lg\:g-start-9{grid-column-start:9}.lg\:g-start-10{grid-column-start:10}.lg\:g-start-11{grid-column-start:11}}@media (width>=1280px){.xl\:g-col-1{grid-column:auto/span 1}.xl\:g-col-2{grid-column:auto/span 2}.xl\:g-col-3{grid-column:auto/span 3}.xl\:g-col-4{grid-column:auto/span 4}.xl\:g-col-5{grid-column:auto/span 5}.xl\:g-col-6{grid-column:auto/span 6}.xl\:g-col-7{grid-column:auto/span 7}.xl\:g-col-8{grid-column:auto/span 8}.xl\:g-col-9{grid-column:auto/span 9}.xl\:g-col-10{grid-column:auto/span 10}.xl\:g-col-11{grid-column:auto/span 11}.xl\:g-col-12{grid-column:auto/span 12}.xl\:g-start-1{grid-column-start:1}.xl\:g-start-2{grid-column-start:2}.xl\:g-start-3{grid-column-start:3}.xl\:g-start-4{grid-column-start:4}.xl\:g-start-5{grid-column-start:5}.xl\:g-start-6{grid-column-start:6}.xl\:g-start-7{grid-column-start:7}.xl\:g-start-8{grid-column-start:8}.xl\:g-start-9{grid-column-start:9}.xl\:g-start-10{grid-column-start:10}.xl\:g-start-11{grid-column-start:11}}@media (width>=1536px){.\32 xl\:g-col-1{grid-column:auto/span 1}.\32 xl\:g-col-2{grid-column:auto/span 2}.\32 xl\:g-col-3{grid-column:auto/span 3}.\32 xl\:g-col-4{grid-column:auto/span 4}.\32 xl\:g-col-5{grid-column:auto/span 5}.\32 xl\:g-col-6{grid-column:auto/span 6}.\32 xl\:g-col-7{grid-column:auto/span 7}.\32 xl\:g-col-8{grid-column:auto/span 8}.\32 xl\:g-col-9{grid-column:auto/span 9}.\32 xl\:g-col-10{grid-column:auto/span 10}.\32 xl\:g-col-11{grid-column:auto/span 11}.\32 xl\:g-col-12{grid-column:auto/span 12}.\32 xl\:g-start-1{grid-column-start:1}.\32 xl\:g-start-2{grid-column-start:2}.\32 xl\:g-start-3{grid-column-start:3}.\32 xl\:g-start-4{grid-column-start:4}.\32 xl\:g-start-5{grid-column-start:5}.\32 xl\:g-start-6{grid-column-start:6}.\32 xl\:g-start-7{grid-column-start:7}.\32 xl\:g-start-8{grid-column-start:8}.\32 xl\:g-start-9{grid-column-start:9}.\32 xl\:g-start-10{grid-column-start:10}.\32 xl\:g-start-11{grid-column-start:11}}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-fill{--bs-gap:1.5rem;gap:var(--bs-gap);grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:row;display:grid}}@layer content{.list-unstyled,.list-inline{padding-inline-start:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-inline-end:var(--bs-list-inline-padding,var(--bs-spacer)/2)}.initialism{font-size:var(--bs-initialism-font-size,var(--bs-font-size-xs));text-transform:uppercase}.blockquote{--bs-blockquote-gap:calc(var(--bs-spacer) / 2);--bs-blockquote-padding-x:var(--bs-spacer);--bs-blockquote-margin-y:1rem;--bs-blockquote-font-size:var(--bs-font-size-md);--bs-blockquote-border-width:.25rem;--bs-blockquote-border-color:var(--bs-border-color);--bs-blockquote-footer-font-size:var(--bs-font-size-sm);--bs-blockquote-footer-color:var(--bs-fg-3);gap:var(--bs-blockquote-gap);margin-bottom:var(--bs-blockquote-margin-y);font-size:var(--bs-blockquote-font-size);border-inline-start:var(--bs-blockquote-border-width) solid var(--bs-blockquote-border-color);flex-direction:column;padding-inline-start:var(--bs-blockquote-padding-x);display:flex}.blockquote>*,figure.blockquote blockquote{margin-bottom:0}.blockquote-footer{font-size:var(--bs-blockquote-footer-font-size);color:var(--bs-blockquote-footer-color)}.blockquote-footer:before{content:"— "}.table{--bs-table-cell-padding-y:.5rem;--bs-table-cell-padding-x:.5rem;--bs-table-cell-vertical-align:top;--bs-table-color:var(--bs-fg-body);--bs-table-bg:var(--bs-bg-body);--bs-table-accent-bg:transparent;--bs-table-border-width:var(--bs-border-width);--bs-table-border-color:var(--bs-border-color);--bs-table-group-separator-color:currentcolor;--bs-table-striped-color:var(--bs-table-color);--bs-table-striped-bg-factor:.05;--bs-table-striped-bg:color-mix(in srgb, var(--bs-table-color) var(--bs-table-striped-bg-factor), transparent);--bs-table-active-color:var(--bs-table-color);--bs-table-active-bg-factor:.1;--bs-table-active-bg:color-mix(in srgb, var(--bs-table-color) var(--bs-table-active-bg-factor), transparent);--bs-table-hover-color:var(--bs-table-color);--bs-table-hover-bg-factor:.075;--bs-table-hover-bg:color-mix(in srgb, var(--bs-table-color) var(--bs-table-hover-bg-factor), transparent);--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;width:100%;vertical-align:var(--bs-table-cell-vertical-align);border-color:var(--bs-theme-border,var(--bs-table-border-color));margin-bottom:1rem}.table>:not(caption)>*>*{padding:var(--bs-table-cell-padding-y) var(--bs-table-cell-padding-x);color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-theme-text,var(--bs-table-color))));background-color:var(--bs-theme-bg-subtle,var(--bs-table-bg));border-block-end-width:var(--bs-table-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-theme-bg-subtle,var(--bs-table-accent-bg))))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-block-start:calc(var(--bs-table-border-width) * 2) solid var(--bs-table-group-separator-color)}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{--bs-table-cell-padding-y:.25rem;--bs-table-cell-padding-x:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-table-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-table-border-width)}.table-borderless>:not(caption)>*>*{border-block-end-width:0}.table-borderless>:not(:first-child){border-block-start-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*,.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-theme-text,var(--bs-table-striped-color));--bs-table-bg-type:color-mix(in srgb, var(--bs-theme-text,var(--bs-table-color)) var(--bs-table-striped-bg-factor), transparent)}.table-active{--bs-table-color-state:var(--bs-theme-text,var(--bs-table-active-color));--bs-table-bg-state:color-mix(in srgb, var(--bs-theme-text,var(--bs-table-color)) var(--bs-table-active-bg-factor), transparent)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-theme-text,var(--bs-table-hover-color));--bs-table-bg-state:color-mix(in srgb, var(--bs-theme-text,var(--bs-table-color)) var(--bs-table-hover-bg-factor), transparent)}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (width<576px){.sm\:table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (width<768px){.md\:table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (width<1024px){.lg\:table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (width<1280px){.xl\:table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (width<1536px){.\32 xl\:table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}.img-fluid{max-width:100%;height:auto}.img-thumbnail{--bs-thumbnail-padding:.25rem;--bs-thumbnail-bg:var(--bs-bg-body);--bs-thumbnail-border-width:var(--bs-border-width);--bs-thumbnail-border-color:var(--bs-border-color);--bs-thumbnail-border-radius:var(--bs-border-radius);--bs-thumbnail-box-shadow:var(--bs-box-shadow-sm);padding:var(--bs-thumbnail-padding);background-color:var(--bs-thumbnail-bg);border:var(--bs-thumbnail-border-width) solid var(--bs-thumbnail-border-color);border-radius:var(--bs-thumbnail-border-radius);box-shadow:var(--bs-thumbnail-box-shadow);max-width:100%;height:auto}.figure{--bs-figure-gap:calc(var(--bs-spacer) * .5);--bs-figure-caption-font-size:var(--bs-font-size-sm);--bs-figure-caption-color:var(--bs-fg-3);gap:var(--bs-figure-gap);flex-direction:column;display:flex}.figure-caption{font-size:var(--bs-figure-caption-font-size);color:var(--bs-figure-caption-color)}.prose{--bs-content-font-size:1rem;--bs-content-gap:20px;--bs-heading-color:light-dark(var(--bs-gray-900),var(--bs-white));gap:var(--bs-content-gap);max-width:1000px;font-size:var(--bs-content-font-size);flex-direction:column;margin-inline:auto;line-height:1.5;display:flex;position:relative}@media (width>=1024px){.prose{--bs-content-font-size:var(--bs-font-size-md);--bs-content-gap:24px}}.prose :where(p,ul,ol,dl,pre,table,blockquote):not(:where(.not-prose,.not-prose *)){margin-block:0}.prose :where(ul,ol):not([class]):not(:where(.not-prose,.not-prose *)) li:not(:last-child){margin-bottom:calc(var(--bs-content-gap) / 4)}.prose :where(li ul,li ol):not(:where(.not-prose,.not-prose *)){margin-top:calc(var(--bs-content-gap) / 4)}.prose :where(hr):not(:where(.not-prose,.not-prose *)){margin:calc(var(--bs-content-gap) * 1.5) 0;border:0;border-block-start:var(--bs-border-width) solid var(--bs-hr-border-color)}.prose :where(h1,h2,h3,h4,h5,h6):not([class]):not(:where(.not-prose,.not-prose *)){margin-top:0;margin-bottom:calc(var(--bs-content-gap) / -2);font-weight:500;line-height:1.25}.prose :where(h1,h2,h3,h4,h5,h6):not([class]):not(:where(.not-prose,.not-prose *)) code{color:inherit;font-weight:600}.prose :where(h1,h2):not(:first-child):not(:where(.not-prose,.not-prose *)){margin-top:calc(var(--bs-content-gap) * .75)}.prose :where(h3,h4,h5,h6):not(:first-child):not(:where(.not-prose,.not-prose *)){margin-top:calc(var(--bs-content-gap) * .5)}.prose :where(h1):not(:where(.not-prose,.not-prose *)){font-size:2.25em;line-height:1.1}.prose :where(h2):not(:where(.not-prose,.not-prose *)){font-size:1.75em}.prose :where(h3):not(:where(.not-prose,.not-prose *)){font-size:1.5em}.prose :where(h4):not(:where(.not-prose,.not-prose *)){font-size:1.25em}.prose :where(h5):not(:where(.not-prose,.not-prose *)){font-size:1.125em}.prose :where(h6):not(:where(.not-prose,.not-prose *)){font-size:1em}.prose :where(a:not([class])):not(:where(.not-prose,.not-prose *)){color:var(--bs-link-color);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--bs-link-color) 25%, transparent);text-underline-offset:4px;transition:text-decoration-color .1s ease-in-out}@media (prefers-reduced-motion:reduce){.prose :where(a:not([class])):not(:where(.not-prose,.not-prose *)){transition:none}}.prose :where(a:not([class])):not(:where(.not-prose,.not-prose *)):hover{text-decoration-color:var(--bs-link-hover-color)}.prose :where(img):not(:where(.not-prose,.not-prose *)){max-width:100%}.prose :where(blockquote):not(:where(.not-prose,.not-prose *)){border-inline-start:4px solid var(--bs-border-color);margin:0;padding-inline-start:calc(var(--bs-content-gap) / 2)}.prose :where(table):not(:where(.not-prose,.not-prose *)){border-spacing:0;border-collapse:collapse;width:100%}.prose :where(table:not([class])):not(:where(.not-prose,.not-prose *)) td,.prose :where(table:not([class])):not(:where(.not-prose,.not-prose *)) th{text-align:inherit;border:1px solid var(--bs-border-color);padding:6px 12px}.prose :where(dt):not(:where(.not-prose,.not-prose *)){font-weight:500}.prose :where(video,img):not(:where(.not-prose,.not-prose *)){max-width:100%}}@layer forms{.form-label,.col-form-label{font-size:var(--bs-label-font-size,var(--bs-font-size-sm));font-style:var(--bs-label-font-style,inherit);font-weight:var(--bs-label-font-weight,inherit);color:var(--bs-label-color,var(--bs-fg-body))}.form-label{margin-bottom:var(--bs-label-margin-bottom,calc(var(--bs-spacer) / 2))}.col-form-label{--bs-label-padding-y:calc(var(--bs-btn-input-padding-y) + var(--bs-border-width));padding-block:var(--bs-label-padding-y);margin-bottom:0}.col-form-label-lg{--bs-label-padding-y:calc(var(--bs-btn-input-lg-padding-y) + var(--bs-border-width));font-size:var(--bs-btn-input-lg-font-size)}.col-form-label-sm{--bs-label-padding-y:calc(var(--bs-btn-input-sm-padding-y) + var(--bs-border-width));font-size:var(--bs-btn-input-sm-font-size)}.form-text{--bs-form-text-margin-top:.25rem;--bs-form-text-font-size:var(--bs-font-size-sm);--bs-form-text-color:var(--bs-fg-3);margin-top:var(--bs-form-text-margin-top);font-size:var(--bs-form-text-font-size);font-style:var(--bs-form-text-font-style);font-weight:var(--bs-form-text-font-weight);color:var(--bs-form-text-color)}.form-control{--bs-control-min-height:var(--bs-btn-input-min-height);--bs-control-padding-y:var(--bs-btn-input-padding-y);--bs-control-padding-x:var(--bs-btn-input-padding-x);--bs-control-font-size:var(--bs-btn-input-font-size);--bs-control-line-height:var(--bs-btn-input-line-height);--bs-control-fg:var(--bs-btn-input-fg);--bs-control-bg:var(--bs-btn-input-bg);--bs-control-border-width:var(--bs-border-width);--bs-control-border-color:var(--bs-border-color);--bs-control-border-radius:var(--bs-border-radius);--bs-control-box-shadow:var(--bs-box-shadow-inset);--bs-control-action-bg:var(--bs-bg-1);--bs-control-action-hover-bg:var(--bs-bg-2);--bs-control-transition-property:border-color, box-shadow;--bs-control-transition-timing:.15s ease-in-out;--bs-control-transition:var(--bs-control-transition-property) var(--bs-control-transition-timing);--bs-control-placeholder-color:var(--bs-fg-3);--bs-control-disabled-color:var(--bs-control-fg);--bs-control-disabled-bg:var(--bs-bg-2);--bs-control-disabled-border-color:var(--bs-control-border-color);--bs-control-select-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-control-select-bg-position:right .75rem center;--bs-control-select-bg-size:16px 12px;--bs-control-select-bg-dark:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");width:100%;min-height:var(--bs-control-min-height);padding:var(--bs-control-padding-y) var(--bs-control-padding-x);font-size:var(--bs-control-font-size);line-height:var(--bs-control-line-height);color:var(--bs-control-fg);appearance:none;background-color:var(--bs-control-bg);border:var(--bs-control-border-width) solid var(--bs-control-border-color);border-radius:var(--bs-control-border-radius);box-shadow:var(--bs-control-box-shadow);transition:var(--bs-control-transition);background-clip:padding-box;display:flex}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control:focus-visible{--bs-focus-ring-offset:-1px;outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.form-control::placeholder{color:var(--bs-control-placeholder-color);opacity:1}.form-control:disabled{color:var(--bs-control-disabled-color);background-color:var(--bs-control-disabled-bg);border-color:var(--bs-control-disabled-border-color);opacity:1}.form-control::-webkit-datetime-edit{height:1.5rem;margin-bottom:-.125rem;padding:0;display:block}.form-control::-webkit-datetime-edit-fields-wrapper{height:1.5rem}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control::file-selector-button{min-height:var(--bs-control-min-height);padding:var(--bs-control-padding-y) var(--bs-control-padding-x);margin:calc(var(--bs-control-padding-y) * -1) calc(var(--bs-control-padding-x) * -1);color:var(--bs-control-fg);background-color:var(--bs-control-action-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-control-border-width);transition:var(--bs-control-transition);border-radius:0;margin-inline-end:var(--bs-control-padding-x)}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-control-action-hover-bg)}.form-control-plaintext{width:100%;padding:var(--bs-control-padding-y) 0;line-height:var(--bs-control-line-height);color:var(--bs-control-fg);border:solid #0000;border-width:var(--bs-control-border-width) 0;background-color:#0000;margin-bottom:0;display:block}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-inline:0}select.form-control{background-image:var(--bs-control-select-bg);background-repeat:no-repeat;background-position:var(--bs-control-select-bg-position);background-size:var(--bs-control-select-bg-size);padding-inline-end:calc(var(--bs-control-padding-x) * 3)}select.form-control[multiple],select.form-control[size]:not([size="1"]){background-image:none;padding-inline-end:var(--bs-control-padding-x)}@media (prefers-color-scheme:dark){select.form-control{background-image:var(--bs-control-select-bg-dark)}}.form-control-sm{--bs-control-min-height:var(--bs-btn-input-sm-min-height);--bs-control-padding-y:var(--bs-btn-input-sm-padding-y);--bs-control-padding-x:var(--bs-btn-input-sm-padding-x);--bs-control-font-size:var(--bs-btn-input-sm-font-size);--bs-control-line-height:var(--bs-btn-input-sm-line-height);--bs-control-border-radius:var(--bs-btn-input-sm-border-radius)}.form-control-lg{--bs-control-min-height:var(--bs-btn-input-lg-min-height);--bs-control-padding-y:var(--bs-btn-input-lg-padding-y);--bs-control-padding-x:var(--bs-btn-input-lg-padding-x);--bs-control-font-size:var(--bs-btn-input-lg-font-size);--bs-control-line-height:var(--bs-btn-input-lg-line-height);--bs-control-border-radius:var(--bs-btn-input-lg-border-radius)}.form-control-color{width:var(--bs-control-min-height);padding:var(--bs-control-padding-y)}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border-radius:var(--bs-border-radius-sm);border:0!important}.form-control-color::-webkit-color-swatch{border-radius:var(--bs-border-radius-sm);border:0!important}.form-ghost{width:100%;font:inherit;color:inherit;appearance:none;background:0 0;border:0;padding:0;display:block}.form-ghost:focus{outline:0}.form-ghost::placeholder{color:var(--bs-fg-3);opacity:1}.form-ghost:disabled{color:var(--bs-fg-4);cursor:not-allowed}.checkgroup{gap:var(--bs-gap,.5rem);align-items:var(--bs-align-items,start);display:flex}.checkgroup .description{color:var(--bs-fg-3)}.check{--bs-check-size:1.25rem;--bs-check-margin-block:.125rem;--bs-check-bg:transparent;--bs-check-border-color:var(--bs-border-color);--bs-check-border-radius:.375rem;--bs-check-checked-bg:var(--bs-control-checked-bg);--bs-check-checked-border-color:var(--bs-control-checked-border-color);--bs-check-indeterminate-bg:var(--bs-control-checked-bg);--bs-check-indeterminate-border-color:var(--bs-control-checked-border-color);--bs-check-active-bg:var(--bs-control-active-bg);--bs-check-active-border-color:var(--bs-control-active-border-color);--bs-check-disabled-bg:var(--bs-control-disabled-bg);--bs-check-disabled-opacity:var(--bs-control-disabled-opacity);margin-block:var(--bs-check-margin-block);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}.check :where(svg,input){width:var(--bs-check-size);height:var(--bs-check-size);flex-shrink:0;grid-row-start:1;grid-column-start:1}.check :where(input){appearance:none;background-color:var(--bs-theme-bg,var(--bs-check-bg));border:1px solid var(--bs-theme-bg,var(--bs-check-border-color));border-radius:.3em}.check :where(input:checked,input:indeterminate){background-color:var(--bs-theme-bg,var(--bs-check-checked-bg));border-color:var(--bs-theme-bg,var(--bs-check-checked-border-color))}.check :where(input:focus-visible){outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.check:has(input:checked) .checked,.check:has(input:indeterminate) .indeterminate{color:var(--bs-theme-contrast,var(--bs-primary-contrast));stroke:currentColor;display:block}.check:has(input:disabled){--bs-check-bg:var(--bs-check-disabled-bg)}.check:has(input:disabled)~label{color:var(--bs-fg-3);cursor:default}.check:has(input:disabled:checked){opacity:var(--bs-check-disabled-opacity)}.check :where(svg){pointer-events:none}.check :where(svg path){display:none}.check-sm{--bs-check-size:1rem}.check-lg{--bs-check-size:1.5rem;--bs-check-margin-block:0}.radiogroup{gap:var(--bs-gap,.5rem);align-items:var(--bs-align-items,start);display:flex}.radiogroup .description{color:var(--bs-fg-3)}.radio{--bs-radio-size:1.25rem;--bs-radio-margin-block:.125rem;--bs-radio-bg:transparent;--bs-radio-border-color:var(--bs-border-color);--bs-radio-checked-bg:var(--bs-control-checked-bg);--bs-radio-checked-border-color:var(--bs-control-checked-border-color);--bs-radio-disabled-bg:var(--bs-control-disabled-bg);--bs-radio-disabled-opacity:var(--bs-control-disabled-opacity);width:var(--bs-radio-size);height:var(--bs-radio-size);margin-block:var(--bs-radio-margin-block);appearance:none;background-color:var(--bs-theme-bg,var(--bs-radio-bg));border:1px solid var(--bs-theme-bg,var(--bs-radio-border-color));border-radius:50%;flex-shrink:0;position:relative}.radio:checked{color:var(--bs-theme-contrast,var(--bs-primary-contrast));background-color:var(--bs-theme-bg,var(--bs-radio-checked-bg));border-color:var(--bs-theme-bg,var(--bs-radio-checked-border-color))}.radio:checked:before{content:"";background-color:currentColor;border-radius:50%;position:absolute;inset:.25rem}.radio:disabled{--bs-radio-bg:var(--bs-radio-disabled-bg)}.radio:disabled~label{color:var(--bs-secondary-text);cursor:default}.radio:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.radio-sm{--bs-radio-size:1rem}.radio-lg{--bs-radio-size:1.5rem;--bs-radio-margin-block:0}.switch{--bs-switch-height:1.25rem;--bs-switch-width:calc(var(--bs-switch-height) * 1.5);--bs-switch-padding:.0625rem;--bs-switch-margin-block:.125rem;--bs-switch-bg:var(--bs-bg-3);--bs-switch-border-width:var(--bs-border-width);--bs-switch-border-color:var(--bs-border-color);--bs-switch-indicator-bg:var(--bs-white);--bs-switch-checked-bg:var(--bs-control-checked-bg);--bs-switch-checked-border-color:var(--bs-switch-checked-bg);--bs-switch-checked-indicator-bg:var(--bs-white);--bs-switch-disabled-bg:var(--bs-control-disabled-bg);--bs-switch-disabled-indicator-bg:var(--bs-fg-3);width:var(--bs-switch-width);height:var(--bs-switch-height);padding:var(--bs-switch-padding);margin-block:var(--bs-switch-margin-block);background-color:var(--bs-switch-bg);border:var(--bs-switch-border-width) solid var(--bs-switch-border-color);border-radius:10rem;flex-shrink:0;justify-content:flex-start;align-items:stretch;transition:padding-inline-start .15s ease-in-out,background-color .15s ease-in-out;display:flex;position:relative;box-shadow:inset 0 1px 2px #0000000d}.switch:before{width:calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);height:calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);content:"";background-color:var(--bs-theme-contrast,var(--bs-switch-indicator-bg));border-radius:50%;flex-shrink:0;box-shadow:0 1px 2px #0000001a}.switch input{appearance:none;background-color:#0000;outline:0;position:absolute;inset:0}.switch:focus-within{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.switch:has(input:checked){background-color:var(--bs-theme-bg,var(--bs-switch-checked-bg));border-color:var(--bs-theme-bg,var(--bs-switch-checked-border-color));padding-inline-start:calc(var(--bs-switch-height) / 2 + var(--bs-switch-padding))}.switch:has(input:disabled){--bs-switch-bg:var(--bs-switch-disabled-bg);--bs-switch-indicator-bg:var(--bs-switch-disabled-indicator-bg)}.switch:has(input:disabled):before{opacity:.4}.switch:has(input:disabled)~label{color:var(--bs-secondary-text);cursor:default}.switch-sm{--bs-switch-height:1rem}.switch-lg{--bs-switch-height:1.5rem;--bs-switch-margin-block:0}.form-range{--bs-range-track-width:100%;--bs-range-track-height:.5rem;--bs-range-track-cursor:pointer;--bs-range-track-bg:var(--bs-bg-3);--bs-range-track-border-radius:1rem;--bs-range-track-box-shadow:var(--bs-box-shadow-inset);--bs-range-thumb-width:1rem;--bs-range-thumb-height:var(--bs-range-thumb-width);--bs-range-thumb-bg:var(--bs-primary-base);--bs-range-thumb-border:0;--bs-range-thumb-border-radius:1rem;--bs-range-thumb-box-shadow:0 .1rem .25rem #0000001a;--bs-range-thumb-active-bg:color-mix(in oklch, var(--bs-primary-base) 70%, var(--bs-bg-body));--bs-range-thumb-disabled-bg:var(--bs-fg-3);--bs-range-thumb-transition-property:background-color, border-color, box-shadow;--bs-range-thumb-transition-timing:.15s ease-in-out;--bs-range-thumb-transition:var(--bs-range-thumb-transition-property) var(--bs-range-thumb-transition-timing);width:100%;height:calc(var(--bs-range-thumb-height) + var(--bs-focus-ring-width) * 2);appearance:none;background-color:#0000;padding:0}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.form-range:focus::-moz-range-thumb{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:var(--bs-range-thumb-width);height:var(--bs-range-thumb-height);appearance:none;background-color:var(--bs-range-thumb-bg);border:var(--bs-range-thumb-border);border-radius:var(--bs-range-thumb-border-radius);box-shadow:var(--bs-range-thumb-box-shadow);-webkit-transition:var(--bs-range-thumb-transition);transition:var(--bs-range-thumb-transition)}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:var(--bs-range-thumb-active-bg)}.form-range::-webkit-slider-thumb{margin-top:calc((var(--bs-range-track-height) - var(--bs-range-thumb-height)) * .5)}.form-range::-moz-range-thumb{width:var(--bs-range-thumb-width);height:var(--bs-range-thumb-height);appearance:none;background-color:var(--bs-range-thumb-bg);border:var(--bs-range-thumb-border);border-radius:var(--bs-range-thumb-border-radius);box-shadow:var(--bs-range-thumb-box-shadow);-moz-transition:var(--bs-range-thumb-transition);transition:var(--bs-range-thumb-transition)}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:var(--bs-range-thumb-active-bg)}.form-range::-webkit-slider-runnable-track{width:var(--bs-range-track-width);height:var(--bs-range-track-height);color:#0000;cursor:var(--bs-range-track-cursor);background-color:var(--bs-range-track-bg);border-radius:var(--bs-range-track-border-radius);box-shadow:var(--bs-range-track-box-shadow);border-color:#0000}.form-range::-moz-range-track{width:var(--bs-range-track-width);height:var(--bs-range-track-height);color:#0000;cursor:var(--bs-range-track-cursor);background-color:var(--bs-range-track-bg);border-radius:var(--bs-range-track-border-radius);box-shadow:var(--bs-range-track-box-shadow);border-color:#0000}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-range-thumb-disabled-bg)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-range-thumb-disabled-bg)}.form-floating{--bs-form-floating-height:calc(3.5rem + var(--bs-border-width) * 2);--bs-form-floating-line-height:1.25;--bs-form-floating-padding-x:var(--bs-btn-input-padding-x);--bs-form-floating-padding-y:1rem;--bs-form-floating-input-padding-t:1.625rem;--bs-form-floating-input-padding-b:.625rem;--bs-form-floating-label-height:1.5em;--bs-form-floating-label-opacity:.65;--bs-form-floating-label-transform:scale(.85) translateY(-.5rem) translateX(.15rem);--bs-form-floating-label-disabled-color:var(--bs-fg-3);--bs-form-floating-transition-property:opacity, transform;--bs-form-floating-transition-timing:.1s ease-in-out;--bs-form-floating-transition:var(--bs-form-floating-transition-property) var(--bs-form-floating-transition-timing);position:relative}.form-floating>label{z-index:2;max-width:100%;height:100%;padding:var(--bs-form-floating-padding-y) var(--bs-form-floating-padding-x);color:color-mix(in oklch, var(--bs-fg-body) var(--bs-form-floating-label-opacity), transparent);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-input-btn-border-width) solid transparent;transform-origin:0 0;transition:var(--bs-form-floating-transition);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-start:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{height:var(--bs-form-floating-height);min-height:var(--bs-form-floating-height);padding:var(--bs-form-floating-padding-y) var(--bs-form-floating-padding-x);line-height:var(--bs-form-floating-line-height)}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:#0000}.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),:-webkit-any(.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill){padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.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),:is(.form-floating>.form-control:autofill,.form-floating>.form-control-plaintext:autofill){padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label{transform:var(--bs-form-floating-label-transform)}.form-floating>.form-control:-webkit-autofill~label{transform:var(--bs-form-floating-label-transform)}.form-floating>textarea:focus~label:after,.form-floating>textarea:not(:placeholder-shown)~label:after{inset:var(--bs-form-floating-padding-y) calc(var(--bs-form-floating-padding-x) * .5);z-index:-1;height:var(--bs-form-floating-label-height);content:"";background-color:var(--bs-control-bg);border-radius:var(--bs-btn-input-border-radius);position:absolute}.form-floating>textarea:disabled~label:after{background-color:var(--bs-control-disabled-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-control-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:var(--bs-form-floating-label-disabled-color)}.strength{--bs-strength-height:.375rem;--bs-strength-gap:.25rem;--bs-strength-margin-top:.25rem;--bs-strength-border-radius:var(--bs-border-radius-pill);--bs-strength-bg:var(--bs-bg-2);--bs-strength-color:var(--bs-bg-2);--bs-strength-weak-color:var(--bs-danger-bg);--bs-strength-fair-color:var(--bs-warning-bg);--bs-strength-good-color:var(--bs-info-bg);--bs-strength-strong-color:var(--bs-success-bg);gap:var(--bs-strength-gap);width:100%;margin-top:var(--bs-strength-margin-top);display:flex}.strength-segment{height:var(--bs-strength-height);background-color:var(--bs-strength-bg);border-radius:var(--bs-strength-border-radius);flex:1;transition:background-color .2s ease-in-out,width .3s ease-in-out}@media (prefers-reduced-motion:reduce){.strength-segment{transition:none}}.strength-segment.active{background-color:var(--bs-strength-color)}.strength[data-bs-strength=weak]{--bs-strength-color:var(--bs-strength-weak-color)}.strength[data-bs-strength=fair]{--bs-strength-color:var(--bs-strength-fair-color)}.strength[data-bs-strength=good]{--bs-strength-color:var(--bs-strength-good-color)}.strength[data-bs-strength=strong]{--bs-strength-color:var(--bs-strength-strong-color)}.strength-text{margin-top:var(--bs-strength-margin-top);font-size:var(--bs-font-size-xs);color:var(--bs-strength-color,var(--bs-fg-3));transition:color .2s ease-in-out;display:block}@media (prefers-reduced-motion:reduce){.strength-text{transition:none}}.strength-text:empty{display:none}.strength-bar{--bs-strength-height:.375rem;--bs-strength-gap:.25rem;--bs-strength-margin-top:.25rem;--bs-strength-border-radius:var(--bs-border-radius-pill);--bs-strength-bg:var(--bs-bg-2);--bs-strength-color:transparent;--bs-strength-weak-color:var(--bs-danger-bg);--bs-strength-fair-color:var(--bs-warning-bg);--bs-strength-good-color:var(--bs-info-bg);--bs-strength-strong-color:var(--bs-success-bg);--bs-strength-width:0%;width:100%;height:var(--bs-strength-height);margin-top:var(--bs-strength-margin-top);background-color:var(--bs-strength-bg);border-radius:var(--bs-strength-border-radius);overflow:hidden}.strength-bar:after{width:var(--bs-strength-width);content:"";background-color:var(--bs-strength-color);border-radius:var(--bs-strength-border-radius);height:100%;transition:background-color .2s ease-in-out,width .3s ease-in-out;display:block}@media (prefers-reduced-motion:reduce){.strength-bar:after{transition:none}}.strength-bar[data-bs-strength=weak]{--bs-strength-color:var(--bs-strength-weak-color);--bs-strength-width:25%}.strength-bar[data-bs-strength=fair]{--bs-strength-color:var(--bs-strength-fair-color);--bs-strength-width:50%}.strength-bar[data-bs-strength=good]{--bs-strength-color:var(--bs-strength-good-color);--bs-strength-width:75%}.strength-bar[data-bs-strength=strong]{--bs-strength-color:var(--bs-strength-strong-color);--bs-strength-width:100%}.form-adorn{--bs-form-adorn-gap:.375rem;--bs-form-adorn-icon-size:1rem;--bs-form-adorn-icon-color:var(--bs-fg-2);gap:var(--bs-form-adorn-gap);align-items:center}.form-adorn:focus-visible{outline:0}.form-adorn:focus-within{--bs-focus-ring-offset:-1px;border-color:var(--bs-focus-ring-color);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.form-adorn>.form-ghost{flex:1;min-width:0}.form-adorn.form-adorn-end>.form-ghost{order:-1}.form-adorn-icon{color:var(--bs-form-adorn-icon-color);pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.form-adorn-icon>svg{width:var(--bs-form-adorn-icon-size);height:var(--bs-form-adorn-icon-size)}.form-adorn-text{color:var(--bs-form-adorn-icon-color);pointer-events:none;user-select:none;flex-shrink:0}.chip-input{--bs-chip-input-padding-y:.75rem;--bs-chip-input-padding-x:.75rem;--bs-chip-input-gap:.375rem;--bs-chip-input-ghost-min-width:5rem;--bs-control-fg:var(--bs-btn-input-fg);--bs-control-bg:var(--bs-btn-input-bg);--bs-control-border-width:var(--bs-border-width);--bs-control-border-color:var(--bs-border-color);--bs-control-border-radius:var(--bs-border-radius);gap:var(--bs-chip-input-gap);padding:var(--bs-chip-input-padding-y) var(--bs-chip-input-padding-x);color:var(--bs-control-fg);background-color:var(--bs-control-bg);border:var(--bs-control-border-width) solid var(--bs-control-border-color);border-radius:var(--bs-control-border-radius);flex-wrap:wrap;align-items:center;display:flex}.chip-input:focus-within{--bs-focus-ring-offset:-1px;border-color:var(--bs-focus-ring-color);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.chip-input>.form-ghost{min-width:var(--bs-chip-input-ghost-min-width);flex:1 1 0;min-height:1.75rem}.chip-input.disabled,.chip-input:has(.form-ghost:disabled){background-color:var(--bs-bg-2);opacity:1}.chip-input.disabled>.chip,.chip-input:has(.form-ghost:disabled)>.chip{opacity:var(--bs-control-disabled-opacity)}.chip-input.disabled>.chip .chip-dismiss,.chip-input:has(.form-ghost:disabled)>.chip .chip-dismiss{pointer-events:none}.chip-input.disabled>.form-ghost,.chip-input:has(.form-ghost:disabled)>.form-ghost{cursor:not-allowed}}@layer components{.input-group{--bs-input-group-addon-padding-y:var(--bs-btn-input-padding-y);--bs-input-group-addon-padding-x:var(--bs-btn-input-padding-x);--bs-input-group-addon-font-size:var(--bs-btn-input-font-size);--bs-input-group-addon-line-height:var(--bs-btn-input-line-height);--bs-input-group-addon-color:var(--bs-fg-body);--bs-input-group-addon-bg:var(--bs-bg-2);--bs-input-group-addon-border-color:var(--bs-border-color);flex-wrap:wrap;align-items:stretch;width:100%;display:flex;position:relative}.input-group>.form-control,.input-group>.form-floating{flex:auto;width:1%;min-width:0;position:relative}.input-group>.form-control:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group>.input-group-btn{z-index:2;position:relative}.input-group>.input-group-btn:focus{z-index:5}.input-group-text{padding:var(--bs-input-group-addon-padding-y) var(--bs-input-group-addon-padding-x);font-size:var(--bs-input-group-addon-font-size);line-height:var(--bs-input-group-addon-line-height);color:var(--bs-input-group-addon-color);text-align:center;white-space:nowrap;background-color:var(--bs-input-group-addon-bg);border:var(--bs-border-width) solid var(--bs-input-group-addon-border-color);border-radius:var(--bs-btn-input-border-radius);align-items:center;display:flex}.input-group-sm>.form-control,.input-group-sm>.input-group-text,.input-group-sm>.btn{min-height:var(--bs-btn-input-sm-min-height);padding:var(--bs-btn-input-sm-padding-y) var(--bs-btn-input-sm-padding-x);font-size:var(--bs-btn-input-sm-font-size);border-radius:var(--bs-btn-input-sm-border-radius)}.input-group-lg>.form-control,.input-group-lg>.input-group-text,.input-group-lg>.btn{min-height:var(--bs-btn-input-lg-min-height);padding:var(--bs-btn-input-lg-padding-y) var(--bs-btn-input-lg-padding-x);font-size:var(--bs-btn-input-lg-font-size);border-radius:var(--bs-btn-input-lg-border-radius)}.input-group:not(.has-validation)>:not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),.input-group:not(.has-validation)>.menu-toggle-split: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,.input-group.has-validation>:nth-last-child(n+3):not(.menu-toggle-split):not(.menu):not(.form-floating),.input-group.has-validation>.menu-toggle-split: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-start-end-radius:0;border-end-end-radius:0}.input-group>:not(:first-child):not(.menu){border-start-start-radius:0;border-end-start-radius:0;margin-inline-start:calc(-1 * var(--bs-border-width))}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-start-start-radius:0;border-end-start-radius:0}.otp{--bs-otp-size:var(--bs-btn-input-lg-min-height);--bs-otp-font-size:var(--bs-btn-input-font-size);--bs-otp-gap:.5rem;gap:var(--bs-otp-gap);display:inline-flex}.otp .form-control{width:var(--bs-otp-size);min-height:var(--bs-otp-size);font-size:var(--bs-otp-font-size);text-align:center;border-radius:var(--bs-otp-border-radius,var(--bs-btn-input-border-radius));padding:0;font-weight:500;line-height:1}.otp .form-control::-webkit-outer-spin-button{appearance:none;margin:0}.otp .form-control::-webkit-inner-spin-button{appearance:none;margin:0}.otp .form-control[type=number]{appearance:textfield}.otp .form-control:focus,.otp .form-control:focus-visible{z-index:1}.otp.is-valid .form-control,.was-validated .otp:valid .form-control{border-color:var(--bs-form-valid-border-color)}.otp.is-valid .form-control:focus,.was-validated .otp:valid .form-control:focus{--bs-focus-ring-color:rgba(var(--bs-success-rgb), .25);border-color:var(--bs-form-valid-border-color)}.otp.is-invalid .form-control,.was-validated .otp:invalid .form-control{border-color:var(--bs-form-invalid-border-color)}.otp.is-invalid .form-control:focus,.was-validated .otp:invalid .form-control:focus{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), .25);border-color:var(--bs-form-invalid-border-color)}.otp.input-group{gap:0;width:auto}.otp.input-group .form-control{flex:none}.otp-separator{padding-inline:var(--bs-otp-gap);font-size:var(--bs-otp-font-size);color:var(--bs-fg-4);user-select:none;align-items:center;display:flex}.otp-sm{--bs-otp-size:var(--bs-btn-input-sm-min-height);--bs-otp-font-size:var(--bs-btn-input-sm-font-size);--bs-otp-border-radius:var(--bs-btn-input-sm-border-radius)}.otp-lg{--bs-otp-size:var(--bs-btn-input-lg-min-height);--bs-otp-font-size:var(--bs-btn-input-lg-font-size);--bs-otp-border-radius:var(--bs-btn-input-lg-border-radius)}.combobox-toggle{width:100%;text-align:start;cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;padding-inline-end:var(--bs-control-padding-x);display:inline-flex}.combobox-toggle.show{background-color:var(--bs-bg-1)}.combobox-toggle:disabled,.combobox-toggle.disabled{cursor:not-allowed;opacity:.65}.combobox-value{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:.5rem;display:flex;overflow:hidden}.combobox-placeholder{color:color-mix(in oklch, currentcolor 65%, transparent)}.combobox-caret{flex-shrink:0;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.combobox-caret{transition:none}}.show>.combobox-caret{transform:rotate(180deg)}.combobox-toggle+.menu{--bs-menu-max-height:300px;--bs-menu-overflow-y:auto}.combobox-search{z-index:1;padding:var(--bs-menu-padding-x,.25rem);background-color:var(--bs-menu-bg,var(--bs-bg-body));position:sticky;top:0}.combobox-search-input{width:100%}.combobox-no-results{font-size:var(--bs-font-size-sm);color:var(--bs-fg-3);text-align:center;padding:1rem}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.75rem;--bs-tooltip-padding-y:.375rem;--bs-tooltip-font-size:var(--bs-font-size-sm);--bs-tooltip-color:var(--bs-bg-body);--bs-tooltip-bg:var(--bs-fg-body);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:.95;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;z-index:var(--bs-tooltip-zindex);font-family:var(--bs-body-font-family);font-style:normal;font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);text-align:start;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;text-decoration:none;display:block}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height);display:block}.tooltip .tooltip-arrow:before{content:"";border-style:solid;border-color:#0000;position:absolute}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow:before{border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-block-start-color:var(--bs-tooltip-bg);top:-1px}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-bs-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-bs-placement^=right] .tooltip-arrow:before{border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-inline-end-color:var(--bs-tooltip-bg);right:-1px}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow:before{border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-block-end-color:var(--bs-tooltip-bg);bottom:-1px}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-bs-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-bs-placement^=left] .tooltip-arrow:before{border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-inline-start-color:var(--bs-tooltip-bg);left:-1px}.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)}.valid-feedback{width:100%;font-size:var(--bs-font-size-xs);color:var(--bs-form-valid-color);margin-top:.5rem;display:none}.valid-tooltip{z-index:5;max-width:100%;padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);font-size:var(--bs-tooltip-font-size);color:var(--bs-success-contrast);background-color:var(--bs-success-bg);border-radius:var(--bs-tooltip-border-radius);margin-top:.1rem;display:none;position:absolute;top:100%}.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-success-border);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a748' 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 var(--bs-control-padding-x) center;background-size:1rem;padding-inline-end:calc(var(--bs-control-padding-x) * 3.5)}.was-validated .form-control:valid:focus-visible,.form-control.is-valid:focus-visible{outline:var(--bs-focus-ring-width) solid var(--bs-success-focus-ring);outline-offset:var(--bs-focus-ring-offset);border-color:var(--bs-success-border)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{background-position:right var(--bs-control-padding-x) top var(--bs-control-padding-x)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-success-border)}.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~.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-inline-start:.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{width:100%;font-size:var(--bs-font-size-xs);color:var(--bs-form-invalid-color);margin-top:.5rem;display:none}.invalid-tooltip{z-index:5;max-width:100%;padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);font-size:var(--bs-tooltip-font-size);color:var(--bs-danger-contrast);background-color:var(--bs-danger-bg);border-radius:var(--bs-tooltip-border-radius);margin-top:.1rem;display:none;position:absolute;top:100%}.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-danger-border);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='%23dd0d37'%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='%23dd0d37' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--bs-control-padding-x) center;background-size:1rem;padding-inline-end:calc(var(--bs-control-padding-x) * 3.5)}.was-validated .form-control:invalid:focus-visible,.form-control.is-invalid:focus-visible{outline:var(--bs-focus-ring-width) solid var(--bs-danger-focus-ring);outline-offset:var(--bs-focus-ring-offset);border-color:var(--bs-danger-border)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{background-position:right var(--bs-control-padding-x) top var(--bs-control-padding-x)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-danger-border)}.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~.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-inline-start:.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,.btn-link,.btn-icon,.btn-solid,.btn-outline,.btn-subtle,.btn-text{--bs-btn-min-height:var(--bs-btn-input-min-height);--bs-btn-padding-x:var(--bs-btn-input-padding-x);--bs-btn-padding-y:var(--bs-btn-input-padding-y);--bs-btn-font-size:var(--bs-btn-input-font-size);--bs-btn-font-weight:var(--bs-btn-input-font-weight);--bs-btn-line-height:var(--bs-btn-input-line-height);--bs-btn-color:var(--bs-fg-body);--bs-btn-white-space:nowrap;--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-disabled-opacity:.65;--bs-btn-transition-timing:.15s ease-in-out;--bs-btn-transition-property:color, background-color, border-color, box-shadow;--bs-btn-transition:var(--bs-btn-transition-property) var(--bs-btn-transition-timing);gap:var(--bs-btn-gap,.25rem);min-height:var(--bs-btn-min-height);padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);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);white-space:var(--bs-btn-white-space);vertical-align:middle;cursor:pointer;user-select:none;background-color:var(--bs-btn-bg,var(--bs-bg-2));border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);transition:var(--bs-btn-transition);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (prefers-reduced-motion:reduce){.btn,.btn-link,.btn-icon,.btn-solid,.btn-outline,.btn-subtle,.btn-text{transition:none}}.btn:hover,.btn-link:hover,.btn-icon:hover,.btn-solid:hover,.btn-outline:hover,.btn-subtle:hover,.btn-text:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg,var(--bs-bg-3));border-color:var(--bs-btn-hover-border-color)}.btn:focus-visible,.btn-link:focus-visible,.btn-icon:focus-visible,.btn-solid:focus-visible,.btn-outline:focus-visible,.btn-subtle:focus-visible,.btn-text:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn.active,.btn.show,.btn-link.active,.btn-link.show,.btn-icon.active,.btn-icon.show,.btn-solid.active,.btn-solid.show,.btn-outline.active,.btn-outline.show,.btn-subtle.active,.btn-subtle.show,.btn-text.active,.btn-text.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg,var(--bs-bg-3));border-color:var(--bs-btn-active-border-color)}.btn.active:focus-visible,.btn.show:focus-visible,.btn-link.active:focus-visible,.btn-link.show:focus-visible,.btn-icon.active:focus-visible,.btn-icon.show:focus-visible,.btn-solid.active:focus-visible,.btn-solid.show:focus-visible,.btn-outline.active:focus-visible,.btn-outline.show:focus-visible,.btn-subtle.active:focus-visible,.btn-subtle.show:focus-visible,.btn-text.active:focus-visible,.btn-text.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn:disabled,.btn.disabled,fieldset:disabled .btn,.btn-link:disabled,.btn-link.disabled,fieldset:disabled .btn-link,.btn-icon:disabled,.btn-icon.disabled,fieldset:disabled .btn-icon,.btn-solid:disabled,.btn-solid.disabled,fieldset:disabled .btn-solid,.btn-outline:disabled,.btn-outline.disabled,fieldset:disabled .btn-outline,.btn-subtle:disabled,.btn-subtle.disabled,fieldset:disabled .btn-subtle,.btn-text:disabled,.btn-text.disabled,fieldset:disabled .btn-text{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg,var(--bs-bg-1));border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-solid{--bs-btn-bg:var(--bs-theme-bg);--bs-btn-color:var(--bs-theme-contrast);--bs-btn-border-color:var(--bs-theme-bg);--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:var(--bs-theme-bg);--bs-btn-disabled-color:var(--bs-theme-contrast);--bs-btn-disabled-border-color:var(--bs-theme-bg)}.btn-solid:hover{--bs-btn-hover-bg:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-border-color:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-color:oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h)}.btn-solid:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-solid:active,.btn-solid.active,.btn-solid.btn-check:has(input:checked){--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h)}.btn-solid:disabled,.btn-solid.disabled,.btn-solid.btn-check:has(input:disabled){--bs-btn-disabled-bg:var(--bs-theme-bg);--bs-btn-disabled-color:var(--bs-theme-contrast);--bs-btn-disabled-border-color:var(--bs-theme-bg)}.btn-outline{--bs-btn-bg:transparent;--bs-btn-color:var(--bs-theme-text);--bs-btn-border-color:var(--bs-theme-border);--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:var(--bs-theme-border)}.btn-outline:hover{--bs-btn-hover-bg:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-color:oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-border-color:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h)}.btn-outline:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-outline:active,.btn-outline.active,.btn-outline.btn-check:has(input:checked){--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h)}.btn-outline:disabled,.btn-outline.disabled,.btn-outline.btn-check:has(input:disabled){--bs-btn-disabled-bg:transparent;--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:var(--bs-theme-border)}.btn-subtle{--bs-btn-bg:var(--bs-theme-bg-subtle);--bs-btn-color:var(--bs-theme-text);--bs-btn-border-color:transparent;--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-active-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:transparent}.btn-subtle:hover{--bs-btn-hover-bg:color-mix(in oklch, var(--bs-theme-bg-muted) 50%, var(--bs-theme-bg-subtle));--bs-btn-hover-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .95) calc(c * 1.1) h)}.btn-subtle:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-subtle:active,.btn-subtle.active,.btn-subtle.btn-check:has(input:checked){--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-active-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h)}.btn-subtle:disabled,.btn-subtle.disabled,.btn-subtle.btn-check:has(input:disabled){--bs-btn-disabled-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:transparent}.btn-text{--bs-btn-color:var(--bs-theme-text);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-active-color:oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent}.btn-text:hover{--bs-btn-hover-color:oklch(from var(--bs-theme-text) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-bg:var(--bs-theme-bg-subtle)}.btn-text:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-text:active,.btn-text.active,.btn-text.btn-check:has(input:checked){--bs-btn-active-color:oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-bg:var(--bs-theme-bg-subtle)}.btn-text:disabled,.btn-text.disabled,.btn-text.btn-check:has(input:disabled){--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent}.btn-link{--bs-btn-font-weight:var(--bs-font-weight-normal);--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-bg:transparent;--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-bg:transparent;--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:var(--bs-fg-3);--bs-btn-disabled-border-color:transparent;color:var(--bs-theme-text,var(--bs-btn-color));-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration)}.btn-link:focus-visible{color:var(--bs-theme-text,var(--bs-btn-color))}.btn-link:hover{color:var(--bs-theme-text-emphasis,var(--bs-btn-hover-color))}.btn-xs,.btn-group-xs>[class*=btn-]{--bs-btn-min-height:var(--bs-btn-input-xs-min-height);--bs-btn-padding-y:var(--bs-btn-input-xs-padding-y);--bs-btn-padding-x:var(--bs-btn-input-xs-padding-x);--bs-btn-font-size:var(--bs-btn-input-xs-font-size);--bs-btn-line-height:var(--bs-btn-input-xs-line-height);--bs-btn-border-radius:var(--bs-btn-input-xs-border-radius)}.btn-sm,.btn-group-sm>[class*=btn-]{--bs-btn-min-height:var(--bs-btn-input-sm-min-height);--bs-btn-padding-y:var(--bs-btn-input-sm-padding-y);--bs-btn-padding-x:var(--bs-btn-input-sm-padding-x);--bs-btn-font-size:var(--bs-btn-input-sm-font-size);--bs-btn-line-height:var(--bs-btn-input-sm-line-height);--bs-btn-border-radius:var(--bs-btn-input-sm-border-radius)}.btn-lg,.btn-group-lg>[class*=btn-]{--bs-btn-min-height:var(--bs-btn-input-lg-min-height);--bs-btn-padding-y:var(--bs-btn-input-lg-padding-y);--bs-btn-padding-x:var(--bs-btn-input-lg-padding-x);--bs-btn-font-size:var(--bs-btn-input-lg-font-size);--bs-btn-line-height:var(--bs-btn-input-lg-line-height);--bs-btn-border-radius:var(--bs-btn-input-lg-border-radius)}.btn-icon{aspect-ratio:1;justify-content:center;align-items:center;padding:0}.btn-check>input{clip:rect(0, 0, 0, 0);pointer-events:none;position:absolute}.btn-check:has(input:checked){color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg,var(--bs-bg-3));border-color:var(--bs-btn-active-border-color);box-shadow:var(--bs-btn-active-shadow)}.btn-check:has(input:focus-visible){outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-check:has(input:disabled){color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg,var(--bs-bg-1));border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity);box-shadow:none}.btn-styled{--bs-btn-gradient-start:#ffffff20;--bs-btn-gradient-end:#00000013;--bs-btn-border-mix-color:#000;--bs-btn-border-mix-amount:10%;--bs-btn-border-hover-mix-amount:12.5%;--bs-btn-border-active-mix-amount:20%;--bs-btn-shadow:0 1px 2px #00000026, inset 0 1px 0 #ffffff1a;--bs-btn-active-shadow:inset 0 2px 4px #00000026;background-image:linear-gradient(to bottom, var(--bs-btn-gradient-start), var(--bs-btn-gradient-end));border-color:color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-mix-amount));box-shadow:var(--bs-btn-shadow)}.btn-styled:hover{background-image:linear-gradient(to bottom, var(--bs-btn-gradient-start), var(--bs-btn-gradient-end));border-color:color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-hover-mix-amount))}.btn-styled:active,.btn-styled.active{border-color:color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-active-mix-amount));box-shadow:var(--bs-btn-active-shadow);background-image:none}.btn-styled:disabled,.btn-styled.disabled{box-shadow:none;background-image:none}.btn-group,.btn-group-vertical{vertical-align:middle;display:inline-flex;position:relative}.btn-group>[class*=btn-],.btn-group-vertical>[class*=btn-]{flex:auto;position:relative}.btn-group>[class*=btn-]:hover,.btn-group-vertical>[class*=btn-]:hover{z-index:1}.btn-group>.btn-check:has(input:checked),.btn-group>[class*=btn-]:active,.btn-group>[class*=btn-].active,.btn-group-vertical>.btn-check:has(input:checked),.btn-group-vertical>[class*=btn-]:active,.btn-group-vertical>[class*=btn-].active{z-index:2}.btn-group>.btn-check:has(input:focus),.btn-group>[class*=btn-]:focus,.btn-group-vertical>.btn-check:has(input:focus),.btn-group-vertical>[class*=btn-]:focus{z-index:3}.btn-toolbar{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;display:flex}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-btn-border-radius)}.btn-group>[class*=btn-]:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-inline-start:calc(-1 * var(--bs-btn-border-width))}.btn-group>[class*=btn-]:not(:last-child):not(:has(+.menu)),.btn-group>.btn-group:not(:last-child)>[class*=btn-]{border-start-end-radius:0;border-end-end-radius:0}.btn-group>[class*=btn-]:not(:first-child),.btn-group>.btn-group:not(:first-child)>[class*=btn-]{border-start-start-radius:0;border-end-start-radius:0}.btn-group-vertical{flex-direction:column;justify-content:center;align-items:flex-start}.btn-group-vertical>[class*=btn-],.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>[class*=btn-]:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(-1 * var(--bs-btn-border-width))}.btn-group-vertical>[class*=btn-]:not(:last-child):not(:has(+.menu)),.btn-group-vertical>.btn-group:not(:last-child)>[class*=btn-]{border-end-end-radius:0;border-end-start-radius:0}.btn-group-vertical>[class*=btn-]:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>[class*=btn-]{border-start-start-radius:0;border-start-end-radius:0}.btn-close{--bs-btn-close-size:1.25rem;--bs-btn-close-color:var(--bs-fg-body);--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-opacity:.85;--bs-btn-close-disabled-opacity:.25;box-sizing:content-box;width:var(--bs-btn-close-size);height:var(--bs-btn-close-size);color:var(--bs-btn-close-color);border-radius:var(--bs-border-radius-sm);opacity:var(--bs-btn-close-opacity);background:0 0;border:0;padding:0}.btn-close>svg{fill:currentColor;width:100%;height:100%;display:block}.btn-close:hover{color:var(--bs-btn-close-color);opacity:var(--bs-btn-close-hover-opacity);text-decoration:none}.btn-close:focus-visible{opacity:var(--bs-btn-close-focus-opacity);outline:var(--bs-focus-ring)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.accordion{--bs-accordion-padding-x:1.25rem;--bs-accordion-padding-y:1rem;--bs-accordion-color:var(--bs-fg-body);--bs-accordion-bg:var(--bs-bg-body);--bs-accordion-transition-property:color, background-color, border-radius;--bs-accordion-transition-timing:.15s ease-in-out;--bs-accordion-transition:var(--bs-accordion-transition-property) var(--bs-accordion-timing);--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-accordion-radius,var(--bs-border-radius-lg));--bs-accordion-btn-color:var(--bs-fg-2);--bs-accordion-btn-bg:var(--bs-bg-body);--bs-accordion-btn-icon-width:1rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-active-color:var(--bs-fg);--bs-accordion-active-bg:var(--bs-bg-2)}.accordion-header{width:100%;padding:var(--bs-accordion-btn-padding-y,var(--bs-accordion-padding-y)) var(--bs-accordion-btn-padding-x,var(--bs-accordion-padding-x));font-size:var(--bs-accordion-font-size,var(--bs-font-size-base));color:var(--bs-accordion-btn-color);text-align:start;cursor:pointer;background-color:var(--bs-accordion-btn-bg);transition:var(--bs-accordion-transition);align-items:center;list-style:none;display:flex}@media (prefers-reduced-motion:reduce){.accordion-header{transition:none}}.accordion-header .accordion-icon{width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);color:currentColor;transition:var(--bs-accordion-btn-icon-transition);flex-shrink:0;margin-inline-start:auto}@media (prefers-reduced-motion:reduce){.accordion-header .accordion-icon{transition:none}}.accordion-header:hover{z-index:2}.accordion-header:focus-visible{z-index:3;outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);outline-offset:-1px;position:relative}.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-start-start-radius:var(--bs-accordion-border-radius);border-start-end-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header{border-start-start-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));border-start-end-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width))}.accordion-item:not(:first-of-type){border-block-start:0}.accordion-item:last-of-type{border-end-end-radius:var(--bs-accordion-border-radius);border-end-start-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header{border-end-end-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));border-end-start-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width))}.accordion-item:last-of-type>.accordion-body{border-end-end-radius:var(--bs-accordion-border-radius);border-end-start-radius:var(--bs-accordion-border-radius)}.accordion-item[open]{border-color:var(--bs-theme-border,var(--bs-accordion-border-color))}.accordion-item[open]>.accordion-header{color:var(--bs-theme-text,var(--bs-accordion-active-color));background-color:var(--bs-theme-bg-subtle,var(--bs-accordion-active-bg));box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-theme-border,var(--bs-accordion-border-color))}.accordion-item[open]>.accordion-header .accordion-icon{transform:var(--bs-accordion-btn-icon-transform)}.accordion-item[open]:last-of-type>.accordion-header{border-end-end-radius:0;border-end-start-radius:0}.accordion-body{padding:var(--bs-accordion-body-padding-y,var(--bs-accordion-padding-y)) var(--bs-accordion-body-padding-x,var(--bs-accordion-padding-x))}.accordion-flush>.accordion-item{border-inline:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-block-start:0}.accordion-flush>.accordion-item:last-child{border-block-end:0}.accordion-flush>.accordion-item>.accordion-header,.accordion-flush>.accordion-item>.accordion-body{border-radius:0}.alert{--bs-alert-gap:.75rem;--bs-alert-bg:var(--bs-theme-bg-subtle,var(--bs-bg-1));--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-color:var(--bs-theme-text,inherit);--bs-alert-border-color:var(--bs-theme-border,var(--bs-border-color));--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;--bs-hr-border-color:var(--bs-theme-border,var(--bs-border-color));gap:var(--bs-alert-gap);padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius);align-items:start;display:flex}.alert-heading{color:inherit}.alert-link{font-weight:var(--bs-font-weight-semibold);color:var(--bs-alert-link-color)}.avatar{--bs-avatar-size:2.5rem;--bs-avatar-border-radius:50%;--bs-avatar-border-width:2px;--bs-avatar-border-color:var(--bs-bg-body);--bs-avatar-bg:var(--bs-bg-2);--bs-avatar-color:var(--bs-fg-body);--bs-avatar-status-size:.75rem;--bs-avatar-status-border-width:2px;--bs-avatar-status-border-color:var(--bs-bg-body);--bs-avatar-stack-spacing:-.3;--bs-avatar-stack-transition:transform .2s ease-in-out;width:var(--bs-avatar-size);height:var(--bs-avatar-size);font-size:calc(var(--bs-avatar-size) * .4);font-weight:var(--bs-avatar-font-weight,var(--bs-font-weight-medium));color:var(--bs-theme-contrast,var(--bs-avatar-color));text-transform:uppercase;vertical-align:middle;background-color:var(--bs-theme-bg,var(--bs-avatar-bg));border-radius:var(--bs-avatar-border-radius);justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.avatar-subtle{color:var(--bs-theme-text,var(--bs-avatar-color));background-color:var(--bs-theme-bg-subtle,var(--bs-avatar-bg))}.avatar-img{-o-object-fit:cover;object-fit:cover;border-radius:inherit;width:100%;height:100%}.avatar-status{right:calc(var(--bs-avatar-status-border-width) * -1);bottom:calc(var(--bs-avatar-status-border-width) * -1);width:var(--bs-avatar-status-size);height:var(--bs-avatar-status-size);background-color:var(--bs-gray-400);border:var(--bs-avatar-status-border-width) solid var(--bs-avatar-status-border-color);border-radius:50%;position:absolute}.avatar-status.status-online{background-color:var(--bs-green-500)}.avatar-status.status-offline{background-color:var(--bs-gray-400);border-radius:20%}.avatar-status.status-busy{background-color:var(--bs-red-500);border-radius:20%}.avatar-status.status-away{background-color:var(--bs-yellow-500)}.avatar-stack{flex-direction:row-reverse;display:inline-flex}.avatar-stack .avatar{margin-left:calc(var(--bs-avatar-size) * var(--bs-avatar-stack-spacing));border:var(--bs-avatar-border-width) solid var(--bs-avatar-border-color);transition:var(--bs-avatar-stack-transition);mask-image:none}@media (prefers-reduced-motion:reduce){.avatar-stack .avatar{transition:none}}.avatar-stack .avatar:last-child{margin-left:0}.avatar-stack .avatar:hover{z-index:1;transform:translateY(-2px)}.avatar-xs,.avatar-stack-xs{--bs-avatar-size:1.5rem;--bs-avatar-status-size:.625rem}.avatar-sm,.avatar-stack-sm{--bs-avatar-size:2rem}.avatar-lg,.avatar-stack-lg{--bs-avatar-size:3rem;--bs-avatar-status-size:1rem}.avatar-xl,.avatar-stack-xl{--bs-avatar-size:4rem;--bs-avatar-status-size:1.25rem}.badge{--bs-badge-padding-x:.625em;--bs-badge-padding-y:.25em;--bs-badge-font-size:clamp(12px, .75em, .75em);--bs-badge-font-weight:var(--bs-font-weight-semibold);--bs-badge-color:inherit;--bs-badge-bg:var(--bs-bg-2);--bs-badge-border-width:var(--bs-border-width);--bs-badge-border-color:transparent;--bs-badge-border-radius:var(--bs-border-radius-lg);min-height:1.375rem;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);color:var(--bs-theme-contrast,var(--bs-badge-color));text-align:center;white-space:nowrap;vertical-align:baseline;background-color:var(--bs-theme-bg,var(--bs-badge-bg));border:var(--bs-badge-border-width) solid var(--bs-badge-border-color);border-radius:var(--bs-badge-border-radius);justify-content:center;align-items:center;line-height:1;display:inline-flex}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-subtle{--bs-badge-color:var(--bs-theme-text);--bs-badge-bg:var(--bs-theme-bg-subtle);--bs-badge-border-color:transparent;color:var(--bs-badge-color);background-color:var(--bs-badge-bg);border-color:var(--bs-badge-border-color)}.badge-outline{--bs-badge-color:var(--bs-theme-text);--bs-badge-bg:transparent;--bs-badge-border-color:var(--bs-theme-border);color:var(--bs-badge-color);background-color:var(--bs-badge-bg);border-color:var(--bs-badge-border-color)}.breadcrumb{--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-font-size:inherit;--bs-breadcrumb-bg:transparent;--bs-breadcrumb-border-radius:var(--bs-border-radius);--bs-breadcrumb-divider-color:var(--bs-fg-4);--bs-breadcrumb-link-padding-x:.75rem;--bs-breadcrumb-link-padding-y:.25rem;--bs-breadcrumb-link-color:var(--bs-fg-3);--bs-breadcrumb-link-hover-color:var(--bs-fg-2);--bs-breadcrumb-link-hover-bg:var(--bs-bg-1);--bs-breadcrumb-link-active-color:var(--bs-fg-1);--bs-breadcrumb-link-border-radius:var(--bs-border-radius-lg);padding:var(--bs-breadcrumb-padding-y,0) var(--bs-breadcrumb-padding-x,0);font-size:var(--bs-breadcrumb-font-size);background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius);flex-wrap:wrap;align-items:center;list-style:none;display:flex}.breadcrumb-item{display:flex}.breadcrumb-divider{margin-inline:calc(var(--bs-breadcrumb-link-padding-x) / 4);color:var(--bs-breadcrumb-divider-color)}.breadcrumb-link{min-height:2.25rem;padding:var(--bs-breadcrumb-link-padding-y) var(--bs-breadcrumb-link-padding-x);color:var(--bs-breadcrumb-link-color);border-radius:var(--bs-breadcrumb-link-border-radius);justify-content:center;align-items:center;text-decoration:none;transition:text-decoration-color .1s ease-in-out;display:flex;position:relative}@media (prefers-reduced-motion:reduce){.breadcrumb-link{transition:none}}.breadcrumb-link:hover{z-index:2;color:var(--bs-breadcrumb-link-hover-color);background-color:var(--bs-breadcrumb-link-hover-bg)}.breadcrumb-link.active{color:var(--bs-breadcrumb-link-active-color)}.chip{--bs-chip-height:1.75rem;--bs-chip-padding-x:.625rem;--bs-chip-gap:.3125rem;--bs-chip-border-radius:var(--bs-border-radius-pill);--bs-chip-img-size:1.25rem;--bs-chip-icon-size:1rem;--bs-chip-dismiss-size:1rem;--bs-chip-dismiss-opacity:.65;--bs-chip-dismiss-hover-opacity:1;--bs-chip-color:var(--bs-theme-text,var(--bs-fg-body));--bs-chip-bg:var(--bs-theme-bg-subtle,var(--bs-bg-2));--bs-chip-border-color:transparent;--bs-chip-selected-color:var(--bs-theme-contrast,var(--bs-primary-contrast));--bs-chip-selected-bg:var(--bs-theme-bg,var(--bs-primary-bg));--bs-chip-selected-border-color:var(--bs-theme-bg,var(--bs-primary-bg));gap:var(--bs-chip-gap);height:var(--bs-chip-height);padding-inline:var(--bs-chip-padding-x);font-size:var(--bs-chip-font-size,var(--bs-font-size-sm));font-weight:var(--bs-chip-font-weight,var(--bs-font-weight-base));line-height:var(--bs-chip-line-height,1.25rem);color:var(--bs-chip-color);white-space:nowrap;vertical-align:middle;cursor:pointer;background-color:var(--bs-chip-bg);border:var(--bs-border-width) solid var(--bs-chip-border-color);border-radius:var(--bs-chip-border-radius);align-items:center;text-decoration:none;display:inline-flex}.chip:hover{--bs-chip-bg:var(--bs-theme-bg-muted,var(--bs-bg-3))}.chip:focus-visible{outline:0}.chip.active{--bs-chip-color:var(--bs-chip-selected-color);--bs-chip-bg:var(--bs-chip-selected-bg);--bs-chip-border-color:var(--bs-chip-selected-border-color)}.chip.active:hover{--bs-chip-bg:var(--bs-chip-selected-bg);opacity:.9}.chip.disabled,.chip:disabled{pointer-events:none;opacity:.65}.chip-img{width:var(--bs-chip-img-size);height:var(--bs-chip-img-size);border-radius:50%}.chip-img:first-child{margin-inline-start:-.375rem}.chip-icon{flex-shrink:0;justify-content:center;align-items:center;margin-inline-start:calc(var(--bs-chip-gap) * -.25);display:flex}.chip-icon>svg{width:var(--bs-chip-icon-size);height:var(--bs-chip-icon-size);display:block}.chip-icon>img{width:var(--bs-chip-icon-size);height:var(--bs-chip-icon-size);-o-object-fit:cover;object-fit:cover;border-radius:50%}.chip-dismiss{width:var(--bs-chip-min-height);height:var(--bs-chip-min-height);color:inherit;cursor:pointer;opacity:var(--bs-chip-dismiss-opacity);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;margin-inline-end:calc(var(--bs-chip-padding-x) * -.25);padding:0;display:flex}.chip-dismiss:hover{opacity:var(--bs-chip-dismiss-hover-opacity)}.chip-dismiss:focus-visible{opacity:1;outline:0;outline:var(--bs-focus-ring)}.chip-dismiss>svg{width:var(--bs-chip-dismiss-size);height:var(--bs-chip-dismiss-size);display:block}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-subtitle-color:inherit;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius-lg);--bs-card-box-shadow:none;--bs-card-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-card-cap-padding-y:.75rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:var(--bs-bg-1);--bs-card-cap-color:inherit;--bs-card-height:auto;--bs-card-color:inherit;--bs-card-bg:var(--bs-bg-body);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;--bs-card-body-gap:.5rem;min-width:0;height:var(--bs-card-height);color:var(--bs-fg-body);word-wrap:break-word;background-color:var(--bs-card-bg);box-shadow:var(--bs-card-box-shadow);flex-direction:column;display:flex;position:relative}.card>hr{margin-inline:0}.card-body{gap:var(--bs-card-body-gap);padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color);border:solid var(--bs-theme-bg,var(--bs-card-border-color));border-width:0 var(--bs-card-border-width);flex-direction:column;flex:auto;align-items:flex-start;display:flex}.card-body>*{margin-block:0}.card-body,.card-list{border:solid var(--bs-theme-bg,var(--bs-card-border-color));border-width:0 var(--bs-card-border-width)}.card-body:first-child,.card-list:first-child{border-top-width:var(--bs-card-border-width);border-start-start-radius:var(--bs-card-border-radius);border-start-end-radius:var(--bs-card-border-radius)}.card-body:last-child,.card-list:last-child{border-bottom-width:var(--bs-card-border-width);border-end-end-radius:var(--bs-card-border-radius);border-end-start-radius:var(--bs-card-border-radius)}.card-body:not(:first-child):not(:last-child),.card-list:not(:first-child):not(:last-child){border-block-end-width:var(--bs-card-border-width)}.card-title,.card-subtitle,.card-text{align-self:stretch}.card-subtitle{margin-top:calc(var(--bs-card-body-gap) * -.5)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-theme-contrast,var(--bs-card-cap-color));background-color:var(--bs-theme-bg,var(--bs-card-cap-bg));border:var(--bs-card-border-width) solid var(--bs-theme-bg,var(--bs-card-border-color));margin-bottom:0}.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-theme-bg,var(--bs-card-cap-bg));border:var(--bs-card-border-width) solid var(--bs-theme-bg,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-translucent{background-color:color-mix(in oklch, var(--bs-card-bg) 80%, transparent);backdrop-filter:blur(5px)saturate(180%)}.card-translucent .card-header,.card-translucent .card-footer{background-color:color-mix(in oklch, var(--bs-card-cap-bg) 60%, transparent)}.card-subtle{border-color:var(--bs-theme-border,var(--bs-card-border-color))}.card-subtle .card-header,.card-subtle .card-footer{color:var(--bs-theme-text-emphasis,currentcolor);background-color:var(--bs-theme-bg-subtle,var(--bs-card-cap-bg));border-color:var(--bs-theme-border,var(--bs-card-border-color))}.card-subtle .card-body,.card-subtle .card-list{border-color:var(--bs-theme-border,var(--bs-card-border-color))}.nav.card-header-tabs{margin-inline:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));border-block-end:0}.nav.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-block-end-color:var(--bs-card-bg)}.card-img-overlay{padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius);position:absolute;inset:0}.card-img,.card-img-top,.card-img-bottom{outline:var(--bs-card-border-width) solid var(--bs-card-border-color);outline-offset:calc(var(--bs-card-border-width) * -1);width:100%}.card-img,.card-img-top{border-start-start-radius:var(--bs-card-inner-border-radius);border-start-end-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-end-end-radius:var(--bs-card-inner-border-radius);border-end-start-radius:var(--bs-card-inner-border-radius)}.card-row{flex-direction:row}.card-row .card-body,.card-row .card-list{border-width:var(--bs-card-border-width) 0;border-radius:0}.card-row .card-body:first-child,.card-row .card-list:first-child{border-inline-start-width:var(--bs-card-border-width);border-start-start-radius:var(--bs-card-inner-border-radius);border-end-start-radius:var(--bs-card-inner-border-radius)}.card-row .card-body:last-child,.card-row .card-list:last-child{border-inline-end-width:var(--bs-card-border-width);border-start-end-radius:var(--bs-card-inner-border-radius);border-end-end-radius:var(--bs-card-inner-border-radius)}.card-row .card-body:not(:first-child):not(:last-child),.card-row .card-list:not(:first-child):not(:last-child){border-inline-end-width:var(--bs-card-border-width)}.card-img-start{border-start-start-radius:var(--bs-card-inner-border-radius);border-end-start-radius:var(--bs-card-inner-border-radius)}.card-img-end{border-start-end-radius:var(--bs-card-inner-border-radius);border-end-end-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (width>=576px){.card-group{flex-flow:wrap;display:flex}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{border-inline-start:0;margin-inline-start:0}.card-group>.card:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.card-group>.card:not(:last-child)>.card-img-top,.card-group>.card:not(:last-child)>.card-header{border-start-end-radius:0}.card-group>.card:not(:last-child)>.card-img-bottom,.card-group>.card:not(:last-child)>.card-footer{border-end-end-radius:0}.card-group>.card:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.card-group>.card:not(:first-child)>.card-img-top,.card-group>.card:not(:first-child)>.card-header{border-start-start-radius:0}.card-group>.card:not(:first-child)>.card-img-bottom,.card-group>.card:not(:first-child)>.card-footer{border-end-start-radius:0}}.carousel{--bs-carousel-control-color:#fff;--bs-carousel-control-width:15%;--bs-carousel-control-opacity:.5;--bs-carousel-control-hover-opacity:.9;--bs-carousel-control-transition:opacity .15s ease;--bs-carousel-control-icon-filter:none;--bs-carousel-indicator-width:30px;--bs-carousel-indicator-height:3px;--bs-carousel-indicator-hit-area-height:10px;--bs-carousel-indicator-spacer:3px;--bs-carousel-indicator-opacity:.5;--bs-carousel-indicator-active-bg:var(--bs-white);--bs-carousel-indicator-active-opacity:1;--bs-carousel-indicator-transition:opacity .6s ease;--bs-carousel-caption-width:70%;--bs-carousel-caption-color:var(--bs-white);--bs-carousel-caption-padding-y:1.25rem;--bs-carousel-caption-spacer:1.25rem;--bs-carousel-control-icon-width:2rem;--bs-carousel-control-prev-icon-bg:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>");--bs-carousel-control-next-icon-bg:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>");--bs-carousel-transition-duration:.6s;--bs-carousel-transition:transform .6s ease-in-out;position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{width:100%;display:flow-root;position:relative;overflow:hidden}.carousel-item{float:inline-start;backface-visibility:hidden;width:100%;transition:var(--bs-carousel-transition);margin-inline-end:-100%;display:none;position:relative}@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:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-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 var(--bs-carousel-transition-duration)}@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{z-index:1;width:var(--bs-carousel-control-width);color:var(--bs-carousel-control-color);text-align:center;filter:var(--bs-carousel-control-icon-filter);opacity:var(--bs-carousel-control-opacity);transition:var(--bs-carousel-control-transition);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;inset-block:0}@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:var(--bs-carousel-control-color);opacity:var(--bs-carousel-control-hover-opacity);outline:0;text-decoration:none}.carousel-control-prev{inset-inline-start:0}.carousel-control-next{inset-inline-end:0}.carousel-control-prev-icon,.carousel-control-next-icon{width:var(--bs-carousel-control-icon-width);height:var(--bs-carousel-control-icon-width);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;display:inline-block}.carousel-control-prev-icon{background-image:var(--bs-carousel-control-prev-icon-bg)}[dir=rtl] .carousel-control-prev-icon,.carousel-control-next-icon{background-image:var(--bs-carousel-control-next-icon-bg)}[dir=rtl] .carousel-control-next-icon{background-image:var(--bs-carousel-control-prev-icon-bg)}.carousel-indicators{z-index:2;margin-inline:var(--bs-carousel-control-width);justify-content:center;margin-bottom:1rem;padding:0;display:flex;position:absolute;inset:auto 0 0}.carousel-indicators [data-bs-target]{box-sizing:content-box;width:var(--bs-carousel-indicator-width);height:var(--bs-carousel-indicator-height);margin-inline:var(--bs-carousel-indicator-spacer);text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);border:0;border-block:var(--bs-carousel-indicator-hit-area-height) solid transparent;opacity:var(--bs-carousel-indicator-opacity);transition:var(--bs-carousel-indicator-transition);background-clip:padding-box;flex:0 auto;padding:0}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:var(--bs-carousel-indicator-active-opacity)}.carousel-caption{right:calc((100% - var(--bs-carousel-caption-width)) * .5);bottom:var(--bs-carousel-caption-spacer);left:calc((100% - var(--bs-carousel-caption-width)) * .5);padding-top:var(--bs-carousel-caption-padding-y);padding-bottom:var(--bs-carousel-caption-padding-y);color:var(--bs-carousel-caption-color);text-align:center;position:absolute}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}@media (prefers-color-scheme:dark){:root{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}}[data-vc=calendar]{--bs-datepicker-padding:1rem;--bs-datepicker-bg:var(--bs-bg-body);--bs-datepicker-color:var(--bs-fg-body);--bs-datepicker-border-color:var(--bs-border-color-translucent);--bs-datepicker-border-width:var(--bs-border-width);--bs-datepicker-border-radius:var(--bs-border-radius-lg);--bs-datepicker-box-shadow:var(--bs-box-shadow);--bs-datepicker-font-size:var(--bs-font-size-sm);--bs-datepicker-min-width:280px;--bs-datepicker-zindex:1000;--bs-datepicker-header-font-weight:600;--bs-datepicker-weekday-color:var(--bs-fg-3);--bs-datepicker-day-hover-bg:var(--bs-bg-1);--bs-datepicker-day-selected-bg:var(--bs-primary-bg);--bs-datepicker-day-selected-color:var(--bs-primary-contrast);--bs-datepicker-day-today-bg:var(--bs-bg-2);--bs-datepicker-day-today-color:var(--bs-fg-1);--bs-datepicker-day-disabled-color:var(--bs-fg-4);z-index:var(--bs-datepicker-zindex);box-sizing:border-box;min-width:var(--bs-datepicker-min-width);padding:var(--bs-datepicker-padding);font-family:var(--bs-font-sans-serif);font-size:var(--bs-datepicker-font-size);color:var(--bs-datepicker-color);color-scheme:light dark;background-color:var(--bs-datepicker-bg);border:var(--bs-datepicker-border-width) solid var(--bs-datepicker-border-color);border-radius:var(--bs-datepicker-border-radius);box-shadow:var(--bs-datepicker-box-shadow);opacity:1;flex-direction:column;display:flex;position:absolute}[data-vc=calendar][data-bs-theme=light]{color-scheme:light}[data-vc=calendar][data-bs-theme=dark]{color-scheme:dark}[data-vc=calendar] button:focus-visible{z-index:1;outline:var(--bs-focus-ring);position:relative}[data-vc-calendar-hidden]{pointer-events:none;opacity:0}[data-vc=calendar]:not([data-vc-input]){width:fit-content;box-shadow:none;border:0;padding:0;position:relative}[data-vc-position=bottom]{margin-block-start:.25rem}[data-vc-position=top]{margin-block-end:-.25rem}[data-vc-arrow]{width:2rem;height:2rem;color:var(--bs-datepicker-color);pointer-events:auto;cursor:pointer;border-radius:var(--bs-border-radius);background-color:#0000;border:0;display:block;position:relative}[data-vc-arrow]:before{content:"";background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>");background-position:50%;background-repeat:no-repeat;position:absolute;inset:.25rem}[data-vc-arrow]:hover{background-color:var(--bs-datepicker-day-hover-bg)}[data-vc-arrow=prev]:before{transform:rotate(90deg)}[data-vc-arrow=next]:before{transform:rotate(-90deg)}[data-vc=controls]{z-index:20;pointer-events:none;justify-content:space-between;align-items:center;padding-top:1rem;padding-left:1rem;padding-right:1rem;display:flex;position:absolute;top:0;left:0;right:0}[data-vc=grid]{flex-wrap:wrap;flex-grow:1;gap:1.75rem;display:flex}[data-vc=column]{flex-direction:column;flex-grow:1;min-width:240px;display:flex}[data-vc=header]{align-items:center;margin-bottom:.75rem;display:flex;position:relative}[data-vc-header=content]{white-space:pre-wrap;flex-grow:1;justify-content:center;align-items:center;display:inline-flex}[data-vc=month],[data-vc=year]{font-size:1rem;font-weight:var(--bs-datepicker-header-font-weight);color:var(--bs-datepicker-color);border-radius:var(--bs-border-radius);background-color:#0000;border:0;margin-inline:-.125rem;padding:.25rem .5rem}[data-vc=month]:disabled,[data-vc=year]:disabled{color:var(--bs-datepicker-day-disabled-color);pointer-events:none}[data-vc=month]:hover:not(:disabled),[data-vc=year]:hover:not(:disabled){background-color:var(--bs-datepicker-day-hover-bg)}[data-vc=content]{flex-direction:column;flex-grow:1;display:flex}[data-vc=months],[data-vc=years]{grid-template-columns:repeat(var(--bs-vc-columns,4), minmax(0, 1fr));-moz-column-gap:.25rem;flex-grow:1;align-items:center;gap:1rem .25rem;display:grid}[data-vc=years]{--bs-vc-columns:5}[data-vc-months-month],[data-vc-years-year]{height:2.5rem;color:var(--bs-datepicker-weekday-color);text-align:center;word-break:break-all;cursor:pointer;border-radius:var(--bs-border-radius);background-color:#0000;border:0;justify-content:center;align-items:center;padding:.25rem;font-size:.75rem;font-weight:600;line-height:1rem;display:flex}[data-vc-months-month]:disabled,[data-vc-years-year]:disabled{color:var(--bs-datepicker-day-disabled-color);pointer-events:none}[data-vc-months-month]:hover:not(:disabled),[data-vc-years-year]:hover:not(:disabled){background-color:var(--bs-datepicker-day-hover-bg)}[data-vc-months-month][data-vc-months-month-selected],[data-vc-months-month][data-vc-years-year-selected],[data-vc-years-year][data-vc-months-month-selected],[data-vc-years-year][data-vc-years-year-selected],[data-vc-months-month][data-vc-months-month-selected]:hover,[data-vc-months-month][data-vc-years-year-selected]:hover,[data-vc-years-year][data-vc-months-month-selected]:hover,[data-vc-years-year][data-vc-years-year-selected]:hover{color:var(--bs-datepicker-day-selected-color);background-color:var(--bs-datepicker-day-selected-bg)}[data-vc=week]{grid-template-columns:repeat(7,1fr);justify-items:center;margin-bottom:.5rem;display:grid}[data-vc-week-day]{width:100%;min-width:1.875rem;color:var(--bs-datepicker-weekday-color);background-color:#0000;border:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:.75rem;font-weight:600;line-height:1rem;display:flex}button[data-vc-week-day]{cursor:pointer}[data-vc=dates]{pointer-events:none}[data-vc-dates=row]{grid-template-columns:repeat(7,1fr);place-items:center;width:100%;display:grid}[data-vc-date]{pointer-events:auto;justify-content:center;align-items:center;width:100%;padding-top:.125rem;padding-bottom:.125rem;display:flex;position:relative}[data-vc-date]:not(:has([data-vc-date-btn])),[data-vc-date][data-vc-date-disabled],[data-vc-date][data-vc-date-disabled] [data-vc-date-btn]{pointer-events:none}[data-vc-date-btn]{width:100%;min-width:1.875rem;height:100%;min-height:1.875rem;color:var(--bs-datepicker-color);cursor:pointer;border-radius:var(--bs-border-radius);background-color:#0000;border:0;justify-content:center;align-items:center;padding:0;font-size:.75rem;font-weight:400;line-height:1rem;display:flex}[data-vc-date-btn]:hover{background-color:var(--bs-datepicker-day-hover-bg)}[data-vc-date-today] [data-vc-date-btn]{color:var(--bs-datepicker-day-today-color);background-color:var(--bs-datepicker-day-today-bg);font-weight:600}[data-vc-date-month=next] [data-vc-date-btn],[data-vc-date-month=prev] [data-vc-date-btn]{opacity:.5}[data-vc-date-disabled] [data-vc-date-btn]{color:var(--bs-datepicker-day-disabled-color)}[data-vc-date-hover] [data-vc-date-btn]{background-color:var(--bs-datepicker-day-hover-bg);border-radius:0}[data-vc-date-hover=first] [data-vc-date-btn]{border-start-start-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}[data-vc-date-hover=last] [data-vc-date-btn]{border-start-end-radius:var(--bs-border-radius);border-end-end-radius:var(--bs-border-radius)}[data-vc-date-hover=first-and-last] [data-vc-date-btn]{border-radius:var(--bs-border-radius)}[data-vc-date-selected=middle] [data-vc-date-btn]{opacity:.8;border-radius:0}[data-vc-date-selected] [data-vc-date-btn]{color:var(--bs-datepicker-day-selected-color);background-color:var(--bs-datepicker-day-selected-bg)}[data-vc-date-selected=first] [data-vc-date-btn]{border-top-left-radius:var(--bs-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bs-border-radius)}[data-vc-date-selected=last] [data-vc-date-btn]{border-top-left-radius:0;border-top-right-radius:var(--bs-border-radius);border-bottom-right-radius:var(--bs-border-radius);border-bottom-left-radius:0}[data-vc-date-selected=first-and-last] [data-vc-date-btn]{border-radius:var(--bs-border-radius)}.dialog-open{scrollbar-gutter:stable;overflow:hidden}.dialog{--bs-dialog-padding:1rem;--bs-dialog-width:500px;--bs-dialog-margin:1.75rem;--bs-dialog-color:var(--bs-fg-body);--bs-dialog-bg:var(--bs-bg-body);--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-lg);--bs-dialog-backdrop-bg:#00000080;--bs-dialog-backdrop-blur:8px;--bs-dialog-header-padding:1rem;--bs-dialog-header-border-color:var(--bs-border-color);--bs-dialog-header-border-width:var(--bs-border-width);--bs-dialog-footer-padding:1rem;--bs-dialog-footer-border-color:var(--bs-border-color);--bs-dialog-footer-border-width:var(--bs-border-width);--bs-dialog-footer-gap:.5rem;max-width:var(--bs-dialog-width);max-height:calc(100% - var(--bs-dialog-margin) * 2);color:var(--bs-dialog-color);background-color:var(--bs-dialog-bg);border:var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);border-radius:var(--bs-dialog-border-radius);box-shadow:var(--bs-dialog-box-shadow);background-clip:padding-box;margin:auto;padding:0}.dialog::backdrop{background-color:var(--bs-dialog-backdrop-bg);backdrop-filter:blur(var(--bs-dialog-backdrop-blur))}.dialog.fade{opacity:0;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.dialog.fade{transition:none}}.dialog.fade::backdrop{opacity:0;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.dialog.fade::backdrop{transition:none}}.dialog.fade[open],.dialog.fade[open]::backdrop{opacity:1}.dialog.dialog-static{transform:scale(1.02)}.dialog.dialog-nonmodal{z-index:1055;margin-inline:0;position:fixed;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.dialog.dialog-overflow{width:100%;max-width:100%;height:100%;max-height:100%;padding:var(--bs-dialog-margin);overscroll-behavior:contain;box-shadow:none;background:0 0;border:0;margin:0;position:fixed;inset:0;overflow-y:auto}.dialog.dialog-overflow>.dialog-box{max-width:var(--bs-dialog-width);color:var(--bs-dialog-color);background-color:var(--bs-dialog-bg);border:var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);border-radius:var(--bs-dialog-border-radius);box-shadow:var(--bs-dialog-box-shadow);background-clip:padding-box;margin-block-end:var(--bs-dialog-margin);margin-inline:auto}.dialog.dialog-scrollable[open]{max-height:calc(100% - var(--bs-dialog-margin) * 2);flex-direction:column;display:flex}.dialog.dialog-scrollable[open] .dialog-body{overflow-y:auto}.dialog-sm{--bs-dialog-width:280px}.dialog-lg{--bs-dialog-width:800px}.dialog-xl{--bs-dialog-width:1140px}.dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}@media (width<576px){.sm-down\:dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media (width<768px){.md-down\:dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media (width<1024px){.lg-down\:dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media (width<1280px){.xl-down\:dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media (width<1536px){.\32 xl-down\:dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}.dialog-header{padding:var(--bs-dialog-header-padding);border-block-end:var(--bs-dialog-header-border-width) solid var(--bs-dialog-header-border-color);flex-shrink:0;align-items:center;display:flex}.dialog-header .btn-close{margin-inline-start:auto}.dialog-title{font-size:var(--bs-font-size-md);margin-bottom:0;line-height:1.5}.dialog-body{padding:var(--bs-dialog-padding);flex:auto;position:relative;overflow-y:auto}.dialog-footer{gap:var(--bs-dialog-footer-gap);padding:var(--bs-dialog-footer-padding);border-block-start:var(--bs-dialog-footer-border-width) solid var(--bs-dialog-footer-border-color);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.menu{--bs-menu-zindex:1000;--bs-menu-gap:.125rem;--bs-menu-min-width:10rem;--bs-menu-padding-x:.25rem;--bs-menu-padding-y:.25rem;--bs-menu-spacer:.125rem;--bs-menu-font-size:var(--bs-font-size-sm);--bs-menu-color:var(--bs-fg-body);--bs-menu-bg:var(--bs-bg-body);--bs-menu-box-shadow:var(--bs-box-shadow);--bs-menu-divider-bg:var(--bs-border-color-translucent);--bs-menu-divider-margin-y:.125rem;--bs-menu-divider-margin-x:.25rem;--bs-menu-item-color:var(--bs-menu-color,var(--bs-fg-body));--bs-menu-item-hover-color:var(--bs-menu-color,var(--bs-fg-body));--bs-menu-item-hover-bg:var(--bs-bg-1);--bs-menu-item-active-color:var(--bs-primary-contrast);--bs-menu-item-active-bg:var(--bs-primary-bg);--bs-menu-item-disabled-color:var(--bs-fg-3);--bs-menu-item-gap:.5rem;--bs-menu-item-padding-x:.75rem;--bs-menu-item-padding-y:.25rem;--bs-menu-item-border-radius:var(--bs-border-radius);--bs-menu-icon-size:1rem;--bs-menu-image-size:1.5rem;--bs-menu-description-font-size:var(--bs-font-size-xs);--bs-menu-check-color:currentcolor;--bs-menu-header-color:var(--bs-fg-3);--bs-menu-header-padding-x:.75rem;--bs-menu-header-padding-y:.25rem;z-index:var(--bs-menu-zindex);gap:var(--bs-menu-gap);min-width:var(--bs-menu-min-width);max-height:var(--bs-menu-max-height,none);padding:var(--bs-menu-padding-y) var(--bs-menu-padding-x);overflow-y:var(--bs-menu-overflow-y,initial);overscroll-behavior:contain;font-size:var(--bs-menu-font-size);color:var(--bs-menu-color);text-align:start;background-color:var(--bs-menu-bg);border:var(--bs-menu-border-width,var(--bs-border-width)) solid var(--bs-menu-border-color,var(--bs-border-color-translucent));border-radius:var(--bs-menu-border-radius,var(--bs-border-radius-lg));box-shadow:var(--bs-menu-box-shadow);background-clip:padding-box;flex-direction:column;margin:0;list-style:none;display:none;position:absolute}.menu.show{display:flex}.menu-scrollable{--bs-menu-max-height:80dvh;--bs-menu-overflow-y:auto}.menu-translucent{--bs-menu-item-hover-bg-light:color-mix(in oklch, var(--bs-bg-1) 90%, transparent);--bs-menu-item-hover-bg-dark:color-mix(in oklch, var(--bs-bg-1) 80%, transparent);--bs-menu-item-active-bg-light:color-mix(in oklch, var(--bs-primary-bg) 80%, transparent);--bs-menu-item-active-bg-dark:color-mix(in oklch, var(--bs-primary-bg) 70%, transparent);--bs-menu-item-active-bg:light-dark(var(--bs-menu-item-active-bg-light),var(--bs-menu-item-active-bg-dark));--bs-menu-item-hover-bg:light-dark(var(--bs-menu-item-hover-bg-light),var(--bs-menu-item-hover-bg-dark));background-color:color-mix(in oklch, var(--bs-menu-bg) 80%, transparent);backdrop-filter:blur(5px)saturate(180%)}.menu-divider{height:0;margin:var(--bs-menu-divider-margin-y) var(--bs-menu-divider-margin-x);border-block-start:1px solid var(--bs-menu-divider-bg);opacity:1;overflow:hidden}.menu-item{gap:var(--bs-menu-item-gap);width:100%;padding:var(--bs-menu-item-padding-y) var(--bs-menu-item-padding-x);font-weight:var(--bs-menu-item-font-weight,var(--bs-font-weight-normal));color:var(--bs-theme-text,var(--bs-menu-item-color));text-align:inherit;white-space:nowrap;cursor:pointer;border-radius:var(--bs-menu-item-border-radius,0);background-color:#0000;border:0;outline:0;align-items:center;text-decoration:none;display:flex}.menu-item:hover,.menu-item:focus{color:var(--bs-theme-text,var(--bs-menu-item-hover-color));background-color:var(--bs-theme-bg-subtle,var(--bs-menu-item-hover-bg))}.menu-item.active,.menu-item:active{color:var(--bs-theme-contrast,var(--bs-menu-item-active-color));background-color:var(--bs-theme-bg,var(--bs-menu-item-active-bg))}.menu-item.active .menu-item-icon,.menu-item:active .menu-item-icon{color:inherit!important}.menu-item.selected{font-weight:600}.menu-item.disabled,.menu-item:disabled{color:var(--bs-menu-item-disabled-color);pointer-events:none;background-color:#0000}.menu-item-icon{width:var(--bs-menu-icon-size);flex-shrink:0;align-self:flex-start;height:auto;margin-top:.125rem}.menu-image{width:var(--bs-menu-image-size);height:var(--bs-menu-image-size);-o-object-fit:cover;object-fit:cover;border-radius:var(--bs-border-radius-sm)}.menu-item-content{flex-direction:column;flex:1;min-width:fit-content;display:flex}.menu-item-description{font-size:var(--bs-menu-description-font-size);font-weight:var(--bs-font-weight-normal);color:color-mix(in oklch, currentcolor 65%, transparent)}.menu-item-check{color:var(--bs-menu-check-color);visibility:hidden;flex-shrink:0;align-self:flex-start;margin-block-start:.125rem;margin-inline-start:auto}.selected>.menu-item-check{visibility:visible}.menu-header{padding:var(--bs-menu-header-padding-y) var(--bs-menu-header-padding-x);font-size:var(--bs-font-size-sm);color:var(--bs-menu-header-color);white-space:nowrap;margin-bottom:0;display:block}.menu-text{padding:var(--bs-menu-item-padding-y) var(--bs-menu-item-padding-x);color:var(--bs-fg-2);display:block}.submenu{position:relative}.submenu>.menu-item{justify-content:space-between;align-items:center;display:flex}.submenu>.menu-item:after{content:"";border:.125em solid;border-width:0 .125em .125em 0;flex-shrink:0;width:.375em;height:.375em;margin-inline-start:auto;display:inline-block;transform:rotate(-45deg)}[dir=rtl] .submenu>.menu-item:after{transform:rotate(135deg)}.submenu>.menu{margin-top:calc(-1 * var(--bs-menu-padding-y));top:0}.submenu:hover>.menu-item,.submenu:focus-within>.menu-item,.submenu.show>.menu-item{color:var(--bs-menu-item-hover-color);background-color:var(--bs-menu-item-hover-bg)}@media (width<=575.98px){.submenu:has(.submenu-stacked){position:static}.submenu-stacked{z-index:1;gap:var(--bs-menu-gap);min-width:0;padding:var(--bs-menu-padding-y) var(--bs-menu-padding-x);background-color:var(--bs-menu-bg);box-shadow:none;border:0;border-radius:0;flex-direction:column;display:flex;position:absolute;inset:0}.submenu-back{gap:var(--bs-menu-item-gap);padding:var(--bs-menu-item-padding-y) var(--bs-menu-item-padding-x);font-weight:var(--bs-font-weight-semibold,600);color:var(--bs-menu-item-color);align-items:center;display:flex}.submenu-back:before{content:"";border:0 solid;border-width:.125em 0 0 .125em;flex-shrink:0;width:.375em;height:.375em;display:inline-block;transform:rotate(-45deg)}[dir=rtl] .submenu-back:before{border-width:0 .125em .125em 0}.submenu-dimmed{pointer-events:none;filter:blur(2px);opacity:.3}}.list-group{--bs-list-group-color:var(--bs-fg-body);--bs-list-group-bg:var(--bs-bg-body);--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:.5rem;--bs-list-group-action-color:var(--bs-fg-2);--bs-list-group-action-hover-color:var(--bs-fg-1);--bs-list-group-action-hover-bg:var(--bs-bg-1);--bs-list-group-action-active-color:var(--bs-fg-body);--bs-list-group-action-active-bg:var(--bs-bg-2);--bs-list-group-disabled-color:var(--bs-fg-3);--bs-list-group-disabled-bg:var(--bs-bg-body);--bs-list-group-active-color:var(--bs-primary-contrast);--bs-list-group-active-bg:var(--bs-primary-bg);--bs-list-group-active-border-color:var(--bs-primary-bg);border-radius:var(--bs-list-group-border-radius);flex-direction:column;margin-bottom:0;padding-inline-start:0;display:flex}.list-group-numbered{counter-reset:section;list-style-type:none}.list-group-numbered>.list-group-item:before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-theme-text,var(--bs-list-group-color));background-color:var(--bs-theme-bg-subtle,var(--bs-list-group-bg));border:var(--bs-list-group-border-width) solid var(--bs-theme-border,var(--bs-list-group-border-color));display:block;position:relative}.list-group-item:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.list-group-item:last-child{border-end-end-radius:inherit;border-end-start-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-block-start-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-block-start-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-theme-text,var(--bs-list-group-action-color));text-align:inherit;text-decoration:none}.list-group-item-action:not(.active):hover,.list-group-item-action:not(.active):focus{z-index:1;color:var(--bs-theme-text-emphasis,var(--bs-list-group-action-hover-color));background-color:var(--bs-theme-bg-muted,var(--bs-list-group-action-hover-bg));text-decoration:none}.list-group-item-action:not(.active):active{color:var(--bs-theme-text-emphasis,var(--bs-list-group-action-active-color));background-color:var(--bs-theme-bg-muted,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-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}@media (width>=576px){.sm\:list-group-horizontal{flex-direction:row}.sm\:list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.sm\:list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.sm\:list-group-horizontal>.list-group-item.active{margin-top:0}.sm\:list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.sm\:list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}@media (width>=768px){.md\:list-group-horizontal{flex-direction:row}.md\:list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.md\:list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.md\:list-group-horizontal>.list-group-item.active{margin-top:0}.md\:list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.md\:list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}@media (width>=1024px){.lg\:list-group-horizontal{flex-direction:row}.lg\:list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.lg\:list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.lg\:list-group-horizontal>.list-group-item.active{margin-top:0}.lg\:list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.lg\:list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}@media (width>=1280px){.xl\:list-group-horizontal{flex-direction:row}.xl\:list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.xl\:list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.xl\:list-group-horizontal>.list-group-item.active{margin-top:0}.xl\:list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.xl\:list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}@media (width>=1536px){.\32 xl\:list-group-horizontal{flex-direction:row}.\32 xl\:list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.\32 xl\:list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.\32 xl\:list-group-horizontal>.list-group-item.active{margin-top:0}.\32 xl\:list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.\32 xl\:list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * 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-block-end-width:0}.nav{--bs-nav-gap:.125rem;--bs-nav-link-gap:.5rem;--bs-nav-link-align:center;--bs-nav-link-justify:center;--bs-nav-link-padding-x:.75rem;--bs-nav-link-padding-y:.375rem;--bs-nav-link-color:var(--bs-fg-2);--bs-nav-link-hover-color:var(--bs-fg-1);--bs-nav-link-hover-bg:var(--bs-bg-1);--bs-nav-link-active-color:var(--bs-fg-body);--bs-nav-link-active-bg:var(--bs-bg-2);--bs-nav-link-disabled-color:var(--bs-fg-4);--bs-nav-link-border-width:var(--bs-border-width);--bs-nav-link-transition-property:color, background-color, border-color;--bs-nav-link-transition-timing:.15s ease-in-out;--bs-nav-link-transition:var(--bs-nav-link-transition-property) var(--bs-nav-link-transition-timing);gap:var(--bs-nav-gap);flex-wrap:wrap;margin-bottom:0;padding-inline-start:0;list-style:none;display:flex}.nav-item{display:flex}.nav-link{gap:var(--bs-nav-link-gap);align-items:var(--bs-nav-link-align);justify-content:var(--bs-nav-link-justify);padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);white-space:nowrap;border:var(--bs-nav-link-border-width) solid transparent;border-radius:var(--bs-border-radius);transition:var(--bs-nav-link-transition);background:0 0;text-decoration:none;display:flex}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color);background-color:var(--bs-nav-link-hover-bg)}.nav-link:focus-visible{--bs-focus-ring-offset:1px;color:var(--bs-nav-link-hover-color);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.nav-link.active,.nav-link:active{color:var(--bs-nav-link-active-color);background-color:var(--bs-nav-link-active-bg)}.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-border-subtle);--bs-nav-tabs-link-active-color:var(--bs-fg-color);--bs-nav-tabs-link-active-bg:var(--bs-bg-body);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-bg-body);box-shadow:inset 0 calc(-1 * var(--bs-nav-tabs-border-width)) 0 var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{border:var(--bs-nav-tabs-border-width) solid transparent;border-bottom-color:var(--bs-nav-tabs-border-color);border-end-end-radius:0;border-end-start-radius:0}.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color);border-bottom-color:var(--bs-nav-tabs-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);border-bottom-color:var(--bs-nav-tabs-link-active-bg)}.nav-tabs .menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-start-start-radius:0;border-start-end-radius:0}.nav-pills{--bs-nav-pills-link-active-color:var(--bs-primary-contrast);--bs-nav-pills-link-active-bg:var(--bs-primary-bg)}.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-gap:1rem;--bs-nav-link-active-bg:transparent;--bs-nav-underline-border-width:.125rem;--bs-nav-underline-link-active-color:var(--bs-fg-color)}.nav-underline .nav-link{border:0;border-block-end:var(--bs-nav-underline-border-width) solid transparent;border-radius:0;padding-inline:0}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-block-end-color:currentColor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{color:var(--bs-nav-underline-link-active-color);border-block-end-color:currentColor;font-weight:700}.nav-fill>.nav-link,.nav-fill .nav-item{text-align:center;flex:auto}.nav-justified>.nav-link,.nav-justified .nav-item{text-align:center;flex-grow:1;flex-basis:0}.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}.nav-overflow{flex-wrap:nowrap;min-width:0}.nav-overflow-item{flex-shrink:0;margin-inline-start:auto}.nav-overflow [data-bs-nav-overflow=true]{display:none}.nav-overflow-keep{flex-shrink:0}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:var(--bs-fg-2);--bs-navbar-hover-color:var(--bs-fg-1);--bs-navbar-disabled-color:var(--bs-fg-3);--bs-navbar-active-color:var(--bs-fg-body);--bs-navbar-brand-padding-y:.75rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:var(--bs-font-size-md);--bs-navbar-brand-font-weight:var(--bs-font-weight-medium);--bs-navbar-brand-color:var(--bs-fg-body);--bs-navbar-brand-hover-color:var(--bs-fg-body);--bs-navbar-nav-link-padding-x:.75rem;--bs-navbar-toggler-width:2rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:var(--bs-font-size-lg);--bs-navbar-toggler-border-color:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);color:var(--bs-navbar-color,var(--bs-fg-body));background-color:var(--bs-navbar-bg,var(--bs-bg-body));flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex;position:relative;container-type:inline-size}.navbar>.\32 xl\:container,.navbar>.xl\:container,.navbar>.lg\:container,.navbar>.md\:container,.navbar>.sm\:container,.navbar>.container,.navbar>.container-fluid{flex-wrap:inherit;justify-content:space-between;align-items:center;display:flex}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);font-size:var(--bs-navbar-brand-font-size);font-weight:var(--bs-navbar-brand-font-weight);color:var(--bs-navbar-brand-color);white-space:nowrap;margin-inline-end:var(--bs-navbar-brand-margin-end);text-decoration:none}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-gap:.25rem;--bs-nav-link-gap:.5rem;--bs-nav-link-padding-x:.5rem;--bs-nav-link-padding-y:.375rem;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-border-width:var(--bs-border-width);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-hover-bg:transparent;--bs-nav-link-active-color:var(--bs-navbar-active-color);--bs-nav-link-active-bg:transparent;--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);gap:var(--bs-nav-gap);flex-direction:column;margin-bottom:0;padding-inline-start:0;list-style:none;display:flex}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color);border:var(--bs-nav-link-border-width) solid var(--bs-nav-link-border-color,transparent)}.navbar-text{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-toggler{--bs-btn-bg:transparent;--bs-btn-hover-bg:var(--bs-bg-2)}.navbar-expand>.container,.navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand .navbar-toggler{display:none!important}.navbar-expand .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:#0000!important;border:0!important;width:auto!important;height:auto!important;transform:none!important}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}@container (width>=576px){.sm\:navbar-expand>.container,.sm\:navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.sm\:navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.sm\:navbar-expand .navbar-toggler{display:none!important}.sm\:navbar-expand .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:#0000!important;border:0!important;width:auto!important;height:auto!important;transform:none!important}.sm\:navbar-expand .offcanvas .offcanvas-header{display:none}.sm\:navbar-expand .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=768px){.md\:navbar-expand>.container,.md\:navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.md\:navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.md\:navbar-expand .navbar-toggler{display:none!important}.md\:navbar-expand .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:#0000!important;border:0!important;width:auto!important;height:auto!important;transform:none!important}.md\:navbar-expand .offcanvas .offcanvas-header{display:none}.md\:navbar-expand .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=1024px){.lg\:navbar-expand>.container,.lg\:navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.lg\:navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.lg\:navbar-expand .navbar-toggler{display:none!important}.lg\:navbar-expand .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:#0000!important;border:0!important;width:auto!important;height:auto!important;transform:none!important}.lg\:navbar-expand .offcanvas .offcanvas-header{display:none}.lg\:navbar-expand .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=1280px){.xl\:navbar-expand>.container,.xl\:navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.xl\:navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.xl\:navbar-expand .navbar-toggler{display:none!important}.xl\:navbar-expand .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:#0000!important;border:0!important;width:auto!important;height:auto!important;transform:none!important}.xl\:navbar-expand .offcanvas .offcanvas-header{display:none}.xl\:navbar-expand .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=1536px){.\32 xl\:navbar-expand>.container,.\32 xl\:navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.\32 xl\:navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.\32 xl\:navbar-expand .navbar-toggler{display:none!important}.\32 xl\:navbar-expand .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:#0000!important;border:0!important;width:auto!important;height:auto!important;transform:none!important}.\32 xl\:navbar-expand .offcanvas .offcanvas-header{display:none}.\32 xl\:navbar-expand .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}}.navbar-translucent{background-color:#0000;position:relative}.navbar-translucent:before{z-index:-1;content:"";background-color:color-mix(in oklch, var(--bs-navbar-bg,var(--bs-bg-body)) 80%, transparent);backdrop-filter:blur(5px)saturate(180%);background-image:none;position:absolute;inset:0}.navbar[data-bs-theme=dark]{--bs-navbar-color:color-mix(in oklch, var(--bs-white) .55, transparent);--bs-navbar-hover-color:color-mix(in oklch, var(--bs-white) .75, transparent);--bs-navbar-disabled-color:color-mix(in oklch, var(--bs-white) .25, transparent);--bs-navbar-active-color:var(--bs-white);--bs-navbar-brand-color:var(--bs-white);--bs-navbar-brand-hover-color:var(--bs-white);--bs-navbar-toggler-border-color:color-mix(in oklch, var(--bs-white) .1, transparent)}@media (width<576px){.sm\:offcanvas{z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition);background-clip:padding-box;outline:0;flex-direction:column;display:flex;position:fixed}}@media (width<576px) and (prefers-reduced-motion:reduce){.sm\:offcanvas{transition:none}}@media (width<576px){.sm\:offcanvas:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-start:var(--bs-offcanvas-inset);transform:translate(-100%)}:root:dir(rtl) .sm\:offcanvas:where(.offcanvas-start){transform:translate(100%)}.sm\:offcanvas:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-end:var(--bs-offcanvas-inset);transform:translate(100%)}:root:dir(rtl) .sm\:offcanvas:where(.offcanvas-end){transform:translate(-100%)}.sm\:offcanvas:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(-100%)}.sm\:offcanvas:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(100%)}.sm\:offcanvas:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;transform:translateY(100%)}.sm\:offcanvas.showing,.sm\:offcanvas.show:not(.hiding){transform:none}.sm\:offcanvas.showing,.sm\:offcanvas.hiding,.sm\:offcanvas.show{visibility:visible}}@media (width>=576px){.sm\:offcanvas{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:#0000!important}.sm\:offcanvas .offcanvas-header{display:none}.sm\:offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;padding:0;overflow-y:visible;background-color:#0000!important}}@media (width<768px){.md\:offcanvas{z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition);background-clip:padding-box;outline:0;flex-direction:column;display:flex;position:fixed}}@media (width<768px) and (prefers-reduced-motion:reduce){.md\:offcanvas{transition:none}}@media (width<768px){.md\:offcanvas:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-start:var(--bs-offcanvas-inset);transform:translate(-100%)}:root:dir(rtl) .md\:offcanvas:where(.offcanvas-start){transform:translate(100%)}.md\:offcanvas:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-end:var(--bs-offcanvas-inset);transform:translate(100%)}:root:dir(rtl) .md\:offcanvas:where(.offcanvas-end){transform:translate(-100%)}.md\:offcanvas:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(-100%)}.md\:offcanvas:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(100%)}.md\:offcanvas:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;transform:translateY(100%)}.md\:offcanvas.showing,.md\:offcanvas.show:not(.hiding){transform:none}.md\:offcanvas.showing,.md\:offcanvas.hiding,.md\:offcanvas.show{visibility:visible}}@media (width>=768px){.md\:offcanvas{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:#0000!important}.md\:offcanvas .offcanvas-header{display:none}.md\:offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;padding:0;overflow-y:visible;background-color:#0000!important}}@media (width<1024px){.lg\:offcanvas{z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition);background-clip:padding-box;outline:0;flex-direction:column;display:flex;position:fixed}}@media (width<1024px) and (prefers-reduced-motion:reduce){.lg\:offcanvas{transition:none}}@media (width<1024px){.lg\:offcanvas:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-start:var(--bs-offcanvas-inset);transform:translate(-100%)}:root:dir(rtl) .lg\:offcanvas:where(.offcanvas-start){transform:translate(100%)}.lg\:offcanvas:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-end:var(--bs-offcanvas-inset);transform:translate(100%)}:root:dir(rtl) .lg\:offcanvas:where(.offcanvas-end){transform:translate(-100%)}.lg\:offcanvas:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(-100%)}.lg\:offcanvas:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(100%)}.lg\:offcanvas:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;transform:translateY(100%)}.lg\:offcanvas.showing,.lg\:offcanvas.show:not(.hiding){transform:none}.lg\:offcanvas.showing,.lg\:offcanvas.hiding,.lg\:offcanvas.show{visibility:visible}}@media (width>=1024px){.lg\:offcanvas{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:#0000!important}.lg\:offcanvas .offcanvas-header{display:none}.lg\:offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;padding:0;overflow-y:visible;background-color:#0000!important}}@media (width<1280px){.xl\:offcanvas{z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition);background-clip:padding-box;outline:0;flex-direction:column;display:flex;position:fixed}}@media (width<1280px) and (prefers-reduced-motion:reduce){.xl\:offcanvas{transition:none}}@media (width<1280px){.xl\:offcanvas:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-start:var(--bs-offcanvas-inset);transform:translate(-100%)}:root:dir(rtl) .xl\:offcanvas:where(.offcanvas-start){transform:translate(100%)}.xl\:offcanvas:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-end:var(--bs-offcanvas-inset);transform:translate(100%)}:root:dir(rtl) .xl\:offcanvas:where(.offcanvas-end){transform:translate(-100%)}.xl\:offcanvas:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(-100%)}.xl\:offcanvas:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(100%)}.xl\:offcanvas:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;transform:translateY(100%)}.xl\:offcanvas.showing,.xl\:offcanvas.show:not(.hiding){transform:none}.xl\:offcanvas.showing,.xl\:offcanvas.hiding,.xl\:offcanvas.show{visibility:visible}}@media (width>=1280px){.xl\:offcanvas{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:#0000!important}.xl\:offcanvas .offcanvas-header{display:none}.xl\:offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;padding:0;overflow-y:visible;background-color:#0000!important}}@media (width<1536px){.\32 xl\:offcanvas{z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition);background-clip:padding-box;outline:0;flex-direction:column;display:flex;position:fixed}}@media (width<1536px) and (prefers-reduced-motion:reduce){.\32 xl\:offcanvas{transition:none}}@media (width<1536px){.\32 xl\:offcanvas:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-start:var(--bs-offcanvas-inset);transform:translate(-100%)}:root:dir(rtl) .\32 xl\:offcanvas:where(.offcanvas-start){transform:translate(100%)}.\32 xl\:offcanvas:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-end:var(--bs-offcanvas-inset);transform:translate(100%)}:root:dir(rtl) .\32 xl\:offcanvas:where(.offcanvas-end){transform:translate(-100%)}.\32 xl\:offcanvas:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(-100%)}.\32 xl\:offcanvas:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(100%)}.\32 xl\:offcanvas:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;transform:translateY(100%)}.\32 xl\:offcanvas.showing,.\32 xl\:offcanvas.show:not(.hiding){transform:none}.\32 xl\:offcanvas.showing,.\32 xl\:offcanvas.hiding,.\32 xl\:offcanvas.show{visibility:visible}}@media (width>=1536px){.\32 xl\:offcanvas{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:#0000!important}.\32 xl\:offcanvas .offcanvas-header{display:none}.\32 xl\:offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;padding:0;overflow-y:visible;background-color:#0000!important}}.offcanvas{z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:var(--bs-offcanvas-transition);background-clip:padding-box;outline:0;flex-direction:column;display:flex;position:fixed}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-start:var(--bs-offcanvas-inset);transform:translate(-100%)}:root:dir(rtl) .offcanvas:where(.offcanvas-start){transform:translate(100%)}.offcanvas:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);inset-inline-end:var(--bs-offcanvas-inset);transform:translate(100%)}:root:dir(rtl) .offcanvas:where(.offcanvas-end){transform:translate(-100%)}.offcanvas:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(-100%)}.offcanvas:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(100%)}.offcanvas:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{--bs-offcanvas-backdrop-bg:var(--bs-bg-body);--bs-offcanvas-backdrop-opacity:25%;--bs-offcanvas-backdrop-blur:8px;z-index:1040;background-color:color-mix(in oklch, var(--bs-offcanvas-backdrop-bg) var(--bs-offcanvas-backdrop-opacity), transparent);backdrop-filter:blur(var(--bs-offcanvas-backdrop-blur));position:fixed;inset:0}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:1}.offcanvas-translucent{background-color:color-mix(in oklch, var(--bs-offcanvas-bg) 80%, transparent);backdrop-filter:blur(5px)saturate(180%)}.offcanvas-header{padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);align-items:center;display:flex}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-inline-start:auto;margin-inline-end:calc(-.5 * var(--bs-offcanvas-padding-x));margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{line-height:var(--bs-offcanvas-title-line-height);margin-bottom:0}.offcanvas-body{gap:var(--bs-offcanvas-padding-y);padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);flex-direction:column;flex-grow:1;display:flex;overflow-y:auto}.offcanvas-footer{padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);border-block-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.offcanvas-fit-content{inset-block-end:auto}.pagination{--bs-pagination-min-height:var(--bs-btn-input-min-height);--bs-pagination-padding-x:var(--bs-btn-input-padding-x);--bs-pagination-padding-y:var(--bs-btn-input-padding-y);--bs-pagination-font-size:var(--bs-btn-input-font-size);--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-bg-body);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-btn-input-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-bg-1);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-bg-2);--bs-pagination-active-color:var(--bs-primary-contrast);--bs-pagination-active-bg:var(--bs-primary-bg);--bs-pagination-active-border-color:var(--bs-primary-bg);--bs-pagination-disabled-color:var(--bs-fg-3);--bs-pagination-disabled-bg:var(--bs-bg-2);--bs-pagination-disabled-border-color:var(--bs-border-color);padding-inline-start:0;list-style:none;display:flex}.page-link{min-height:var(--bs-pagination-min-height);padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);justify-content:center;align-items:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:flex;position:relative}@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-visible{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.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-inline-start:calc(-1 * var(--bs-pagination-border-width))}.page-item:first-child .page-link{border-start-start-radius:var(--bs-pagination-border-radius);border-end-start-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-start-end-radius:var(--bs-pagination-border-radius);border-end-end-radius:var(--bs-pagination-border-radius)}.pagination-sm{--bs-pagination-min-height:var(--bs-btn-input-sm-min-height);--bs-pagination-padding-y:var(--bs-btn-input-sm-padding-y);--bs-pagination-padding-x:var(--bs-btn-input-sm-padding-x);--bs-pagination-font-size:var(--bs-btn-input-sm-font-size);--bs-pagination-border-radius:var(--bs-btn-input-sm-border-radius)}.pagination-lg{--bs-pagination-min-height:var(--bs-btn-input-lg-min-height);--bs-pagination-padding-y:var(--bs-btn-input-lg-padding-y);--bs-pagination-padding-x:var(--bs-btn-input-lg-padding-x);--bs-pagination-font-size:var(--bs-btn-input-lg-font-size);--bs-pagination-border-radius:var(--bs-btn-input-lg-border-radius)}.placeholder{--bs-placeholder-opacity-max:.5;--bs-placeholder-opacity-min:.2;vertical-align:middle;cursor:wait;min-height:1em;opacity:var(--bs-placeholder-opacity-max);background-color:currentColor;display:inline-block}.placeholder.btn:before{content:"";display:inline-block}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:2s ease-in-out infinite placeholder-glow}@keyframes placeholder-glow{50%{opacity:var(--bs-placeholder-opacity-min)}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--bs-placeholder-opacity-min))) 75%, #000 95%);mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--bs-placeholder-opacity-min))) 75%, #000 95%);animation:2s linear infinite placeholder-wave;mask-size:200% 100%}@keyframes placeholder-wave{to{mask-position:-200% 0}}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:280px;--bs-popover-font-size:var(--bs-font-size-sm);--bs-popover-bg:var(--bs-bg-body);--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:.75rem;--bs-popover-header-font-size:var(--bs-font-size-sm);--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-bg-1);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:.75rem;--bs-popover-body-color:var(--bs-fg-body);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);max-width:var(--bs-popover-max-width);font-family:var(--bs-body-font-family);font-style:normal;font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);text-align:start;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);border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius);box-shadow:var(--bs-popover-box-shadow);background-clip:padding-box;text-decoration:none;display:block}.popover .popover-arrow{width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height);display:block}.popover .popover-arrow:before,.popover .popover-arrow:after{content:"";border:0 solid #0000;display:block;position:absolute}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-bs-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-bs-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow:before{border-block-start-color:var(--bs-popover-arrow-border);bottom:0}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-block-start-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-bs-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-bs-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow:before{border-inline-end-color:var(--bs-popover-arrow-border);left:0}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-inline-end-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-bs-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-bs-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow:before{border-block-end-color:var(--bs-popover-arrow-border);top:0}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-block-end-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-bs-placement^=bottom] .popover-header:before{width:var(--bs-popover-arrow-width);content:"";border-block-end:var(--bs-popover-border-width) solid var(--bs-popover-header-bg);margin-inline-start:calc(-.5 * var(--bs-popover-arrow-width));display:block;position:absolute;top:0;left:50%}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-bs-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-bs-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow:before{border-inline-start-color:var(--bs-popover-arrow-border);right:0}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-inline-start-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-block-end:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-start-start-radius:var(--bs-popover-inner-border-radius);border-start-end-radius:var(--bs-popover-inner-border-radius);margin-bottom:0}.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)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:var(--bs-font-size-sm);--bs-progress-bg:var(--bs-bg-2);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:var(--bs-white);--bs-progress-bar-bg:var(--bs-primary-bg);--bs-progress-bar-transition:width .6s ease;--bs-progress-bar-animation:progress-bar-stripes 1s linear infinite;height:var(--bs-progress-height);font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius);box-shadow:var(--bs-progress-box-shadow);display:flex;overflow:hidden}.progress-bar{color:var(--bs-theme-contrast,var(--bs-progress-bar-color));text-align:center;white-space:nowrap;background-color:var(--bs-theme-bg,var(--bs-progress-bar-bg));transition:var(--bs-progress-bar-transition);flex-direction:column;justify-content:center;display:flex;overflow:hidden}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,#ffffff26 25%,#0000 25% 50%,#ffffff26 50% 75%,#0000 75%,#0000);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:var(--bs-progress-bar-animation)}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.spinner-grow,.spinner-border{width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);border-radius:50%;flex-shrink:0;display:inline-block}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-inline-end-color:#0000}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.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:-.125em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-grow;opacity:0;background-color:currentColor}.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}}.stepper{--bs-stepper-size:2rem;--bs-stepper-gap:1rem;--bs-stepper-font-size:var(--bs-font-size-sm);--bs-stepper-text-gap:.5rem;--bs-stepper-track-size:.125rem;--bs-stepper-bg:var(--bs-bg-2);--bs-stepper-active-color:var(--bs-primary-contrast);--bs-stepper-active-bg:var(--bs-primary-bg);gap:var(--bs-stepper-gap);counter-reset:stepper;grid-auto-rows:1fr;grid-auto-flow:row;padding-inline-start:0;list-style:none;display:grid}.stepper-item{grid-template-rows:auto;grid-template-columns:var(--bs-stepper-size) auto;gap:var(--bs-stepper-text-gap);align-items:var(--bs-stepper-align-items,center);text-decoration:none;display:grid;position:relative}.stepper-item:before{z-index:1;width:var(--bs-stepper-size);height:var(--bs-stepper-size);font-size:var(--bs-stepper-font-size);text-align:center;content:counter(stepper);counter-increment:stepper;background-color:var(--bs-stepper-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;font-weight:600;line-height:1;display:flex;position:relative}.stepper-item:after{width:var(--bs-stepper-track-size);height:calc(100% + var(--bs-stepper-gap));content:"";background-color:var(--bs-stepper-bg);position:absolute;inset-block:50% 100%;inset-inline-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5)}.stepper-item:last-child:after{display:none}.stepper-item.active:before,.stepper-item.active:after{color:var(--bs-theme-contrast,var(--bs-stepper-active-color));background-color:var(--bs-theme-bg,var(--bs-stepper-active-bg))}.stepper-item.active:not(:has(+.stepper-item.active)):after{background-color:var(--bs-stepper-bg)}.stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.stepper-horizontal .stepper-item:last-child:after{right:100%}@container (width>=576px){.sm\:stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.sm\:stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.sm\:stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.sm\:stepper-horizontal .stepper-item:last-child:after{right:100%}}@container (width>=768px){.md\:stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.md\:stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.md\:stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.md\:stepper-horizontal .stepper-item:last-child:after{right:100%}}@container (width>=1024px){.lg\:stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.lg\:stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.lg\:stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.lg\:stepper-horizontal .stepper-item:last-child:after{right:100%}}@container (width>=1280px){.xl\:stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.xl\:stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.xl\:stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.xl\:stepper-horizontal .stepper-item:last-child:after{right:100%}}@container (width>=1536px){.\32 xl\:stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.\32 xl\:stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.\32 xl\:stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.\32 xl\:stepper-horizontal .stepper-item:last-child:after{right:100%}}.stepper-overflow{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-x:auto;container-type:inline-size}.stepper-overflow>.stepper{width:max-content;min-width:100%}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), .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-fg-3);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), .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);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);background-clip:padding-box}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;z-index:var(--bs-toast-zindex);pointer-events:none;width:max-content;max-width:100%;position:absolute}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);border-block-end:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);background-clip:padding-box;border-start-start-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-start-end-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));align-items:center;display:flex}.toast-header .btn-close{margin-inline-start:var(--bs-toast-padding-x);margin-inline-end:calc(-.5 * var(--bs-toast-padding-x))}.toast-translucent{backdrop-filter:blur(5px)saturate(180%)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}}@layer custom;@layer helpers{.focus-ring:focus-visible{outline:var(--bs-focus-ring)}.icon-link{text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity,.5));text-underline-offset:.25em;backface-visibility:hidden;align-items:center;gap:.375rem;display:inline-flex}.icon-link>.bi{fill:currentColor;flex-shrink:0;width:1em;height:1em;transition:transform .2s ease-in-out}@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(.25em, 0, 0))}.fixed-top{z-index:1030;position:fixed;inset:0 0 auto}.fixed-bottom{z-index:1030;position:fixed;inset:auto 0 0}.sticky-top{z-index:1020;position:sticky;top:0}.sticky-bottom{z-index:1020;position:sticky;bottom:0}@media (width>=576px){.sm\:sticky-top{z-index:1020;position:sticky;top:0}.sm\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (width>=768px){.md\:sticky-top{z-index:1020;position:sticky;top:0}.md\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (width>=1024px){.lg\:sticky-top{z-index:1020;position:sticky;top:0}.lg\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (width>=1280px){.xl\:sticky-top{z-index:1020;position:sticky;top:0}.xl\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (width>=1536px){.\32 xl\:sticky-top{z-index:1020;position:sticky;top:0}.\32 xl\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}.stack-container{container-type:inline-size}[class*=hstack],[class*=vstack]{flex:var(--bs-stack-flex,1 1 auto);flex-direction:var(--bs-stack-direction,row);align-items:var(--bs-stack-align-items,center);align-self:var(--bs-stack-align-self,stretch);display:flex}.vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}@container (width>=576px){.sm\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.sm\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=768px){.md\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.md\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1024px){.lg\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.lg\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1280px){.xl\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.xl\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1536px){.\32 xl\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.\32 xl\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!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{z-index:1;content:"";position:absolute;inset:0}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vr{width:var(--bs-vr-border-width,var(--bs-border-width));background-color:var(--bs-border-color);align-self:stretch;min-height:1em;display:inline-block}}@layer utilities{.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-bottom{vertical-align:text-bottom}.align-text-top{vertical-align:text-top}[class*=ratio-]{aspect-ratio:var(--bs-ratio)}.ratio-auto{--bs-ratio:auto}.ratio-1x1{--bs-ratio:1 / 1}.ratio-4x3{--bs-ratio:4 / 3}.ratio-16x9{--bs-ratio:16 / 9}.ratio-21x9{--bs-ratio:21 / 9}.float-start{float:inline-start}.float-end{float:inline-end}.float-none{float:none}.object-fit-contain{-o-object-fit:contain;object-fit:contain}.object-fit-cover{-o-object-fit:cover;object-fit:cover}.object-fit-fill{-o-object-fit:fill;object-fit:fill}.object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-none{-o-object-fit:none;object-fit:none}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.contains-inline{container-type:inline-size}.contains-size{container-type:size}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.shadow{box-shadow:var(--bs-box-shadow)}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)}.shadow-none{box-shadow:none}.focus-ring-primary{--bs-focus-ring-color:light-dark(color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)))}.focus-ring-accent{--bs-focus-ring-color:light-dark(color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)))}.focus-ring-success{--bs-focus-ring-color:light-dark(color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)))}.focus-ring-danger{--bs-focus-ring-color:light-dark(color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)))}.focus-ring-warning{--bs-focus-ring-color:light-dark(color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)))}.focus-ring-info{--bs-focus-ring-color:light-dark(color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)))}.focus-ring-inverse{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-gray-900),var(--bs-gray-100)) 50%, var(--bs-bg-body))}.focus-ring-secondary{--bs-focus-ring-color:color-mix(in oklch, light-dark(var(--bs-gray-500),var(--bs-gray-300)) 50%, var(--bs-bg-body))}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.top-0{top:0}.top-50{top:50%}.top-100{top:100%}.bottom-0{bottom:0}.bottom-50{bottom:50%}.bottom-100{bottom:100%}.start-0{left:0}.start-50{left:50%}.start-100{left:100%}.end-0{right:0}.end-50{right:50%}.end-100{right:100%}.translate-middle{transform:translate(-50%,-50%)}.translate-middle-x{transform:translate(-50%)}.translate-middle-y{transform:translateY(-50%)}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-0{border:0}.border-top{border-block-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-top-0{border-block-start:0}.border-end{border-inline-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-end-0{border-inline-end:0}.border-bottom{border-block-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-bottom-0{border-block-end:0}.border-start{border-inline-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-start-0{border-inline-start:0}.border-block{border-block:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-block-0{border-block:0}.border-inline{border-inline:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-inline-0{border-inline:0}.border-primary{--bs-border-color:var(--bs-blue-500);border-color:var(--bs-border-color)}.border-accent{--bs-border-color:var(--bs-indigo-500);border-color:var(--bs-border-color)}.border-success{--bs-border-color:var(--bs-green-500);border-color:var(--bs-border-color)}.border-danger{--bs-border-color:var(--bs-red-500);border-color:var(--bs-border-color)}.border-warning{--bs-border-color:var(--bs-yellow-500);border-color:var(--bs-border-color)}.border-info{--bs-border-color:var(--bs-cyan-500);border-color:var(--bs-border-color)}.border-inverse{--bs-border-color:light-dark(var(--bs-gray-900),var(--bs-gray-025));border-color:var(--bs-border-color)}.border-secondary{--bs-border-color:light-dark(var(--bs-gray-100),var(--bs-gray-600));border-color:var(--bs-border-color)}.border-bg{--bs-border-color:var(--bs-bg-body);border-color:var(--bs-border-color)}.border-body{--bs-border-color:light-dark(var(--bs-gray-300),var(--bs-gray-800));border-color:var(--bs-border-color)}.border-muted{--bs-border-color:light-dark(var(--bs-gray-200),var(--bs-gray-800));border-color:var(--bs-border-color)}.border-subtle{--bs-border-color:light-dark(var(--bs-gray-100),var(--bs-gray-900));border-color:var(--bs-border-color)}.border-emphasized{--bs-border-color:light-dark(var(--bs-gray-400),var(--bs-gray-600));border-color:var(--bs-border-color)}.border-white{--bs-border-color:var(--bs-white);border-color:var(--bs-border-color)}.border-black{--bs-border-color:var(--bs-black);border-color:var(--bs-border-color)}.border-subtle-primary{--bs-border-color:light-dark(var(--bs-blue-300),var(--bs-blue-600));border-color:var(--bs-border-color)}.border-subtle-accent{--bs-border-color:light-dark(var(--bs-indigo-300),var(--bs-indigo-600));border-color:var(--bs-border-color)}.border-subtle-success{--bs-border-color:light-dark(var(--bs-green-300),var(--bs-green-600));border-color:var(--bs-border-color)}.border-subtle-danger{--bs-border-color:light-dark(var(--bs-red-300),var(--bs-red-600));border-color:var(--bs-border-color)}.border-subtle-warning{--bs-border-color:light-dark(var(--bs-yellow-300),var(--bs-yellow-600));border-color:var(--bs-border-color)}.border-subtle-info{--bs-border-color:light-dark(var(--bs-cyan-300),var(--bs-cyan-600));border-color:var(--bs-border-color)}.border-subtle-inverse{--bs-border-color:light-dark(var(--bs-gray-400),var(--bs-gray-100));border-color:var(--bs-border-color)}.border-subtle-secondary{--bs-border-color:light-dark(var(--bs-gray-300),var(--bs-gray-600));border-color:var(--bs-border-color)}.border-1{border-width:1px}.border-2{border-width:2px}.border-3{border-width:3px}.border-4{border-width:4px}.border-5{border-width:5px}.border-10{border-color:color-mix(in oklch, var(--bs-border-color) 10%, transparent)}.border-20{border-color:color-mix(in oklch, var(--bs-border-color) 20%, transparent)}.border-30{border-color:color-mix(in oklch, var(--bs-border-color) 30%, transparent)}.border-40{border-color:color-mix(in oklch, var(--bs-border-color) 40%, transparent)}.border-50{border-color:color-mix(in oklch, var(--bs-border-color) 50%, transparent)}.border-60{border-color:color-mix(in oklch, var(--bs-border-color) 60%, transparent)}.border-70{border-color:color-mix(in oklch, var(--bs-border-color) 70%, transparent)}.border-80{border-color:color-mix(in oklch, var(--bs-border-color) 80%, transparent)}.border-90{border-color:color-mix(in oklch, var(--bs-border-color) 90%, transparent)}.border-100{border-color:var(--bs-border-color)}.w-1{width:1rem}.w-2{width:2rem}.w-3{width:3rem}.w-4{width:4rem}.w-5{width:5rem}.w-6{width:6rem}.w-7{width:7rem}.w-8{width:8rem}.w-9{width:9rem}.w-10{width:10rem}.w-11{width:11rem}.w-12{width:12rem}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.w-min{width:min-content}.w-max{width:max-content}.w-fit{width:fit-content}.max-w-100{max-width:100%}.min-w-0{min-width:0}.min-w-100{min-width:100%}.vw-100{width:100vw}.min-vw-100{min-width:100vw}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.h-min{height:min-content}.h-max{height:max-content}.h-fit{height:fit-content}.max-h-100{max-height:100%}.min-h-0{min-height:0}.min-h-100{min-height:100%}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.flex-fill{flex:auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.justify-self-start{justify-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-center{justify-self:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch stretch}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:.25rem}.mx-2{margin-inline:.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:.25rem}.my-2{margin-block:.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:.25rem}.mt-2{margin-block-start:.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:.25rem}.mb-2{margin-block-end:.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms--1{margin-inline-start:-.25rem}.ms--2{margin-inline-start:-.5rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:.25rem}.px-2{padding-inline:.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:.25rem}.py-2{padding-block:.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:.25rem}.pt-2{padding-block-start:.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:.25rem}.pb-2{padding-block-end:.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:1rem}.row-gap-4{row-gap:1.5rem}.row-gap-5{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.font-monospace{font-family:var(--bs-font-mono)}.font-body{font-family:var(--bs-body-font-family)}.fs-xs{font-size:.75rem}.fs-sm{font-size:.875rem}.fs-md{font-size:1rem}.fs-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem)}.fs-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem)}.fs-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem)}.fs-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem)}.fs-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem)}.fs-5xl{font-size:clamp(3rem,2rem + 5vw,4rem)}.fs-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem)}.text-xs{font-size:.75rem;line-height:1.25}.text-sm{font-size:.875rem;line-height:1.5}.text-md{font-size:1rem;line-height:1.5}.text-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem);line-height:1.5}.text-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem);line-height:1.42857}.text-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem);line-height:1.33333}.text-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem);line-height:1.2}.text-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem);line-height:1.1}.text-5xl{font-size:clamp(3rem,2rem + 5vw,4rem);line-height:1.1}.text-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem);line-height:1}.fst-italic{font-style:italic}.fst-normal{font-style:normal}.fw-lighter{font-weight:lighter}.fw-light{font-weight:300}.fw-normal{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.fw-bolder{font-weight:bolder}.lh-1{line-height:1}.lh-sm{line-height:1.25}.lh-base{line-height:1.5}.lh-lg{line-height:2}.text-start{text-align:start}.text-end{text-align:end}.text-center{text-align:center}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-decoration-line-through{text-decoration:line-through}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-wrap{white-space:wrap}.text-nowrap{white-space:nowrap}.text-balance{white-space:balance}.text-pretty{white-space:pretty}.text-break{word-wrap:break-word;word-break:break-word}.fg-primary{--bs-fg:light-dark(var(--bs-blue-600),var(--bs-blue-400));color:var(--bs-fg)}.fg-accent{--bs-fg:light-dark(var(--bs-indigo-600),color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));color:var(--bs-fg)}.fg-success{--bs-fg:light-dark(var(--bs-green-600),var(--bs-green-400));color:var(--bs-fg)}.fg-danger{--bs-fg:light-dark(var(--bs-red-600),var(--bs-red-400));color:var(--bs-fg)}.fg-warning{--bs-fg:light-dark(var(--bs-yellow-700),var(--bs-yellow-400));color:var(--bs-fg)}.fg-info{--bs-fg:light-dark(var(--bs-cyan-600),var(--bs-cyan-400));color:var(--bs-fg)}.fg-inverse{--bs-fg:light-dark(var(--bs-gray-900),var(--bs-gray-200));color:var(--bs-fg)}.fg-secondary{--bs-fg:light-dark(var(--bs-gray-600),var(--bs-gray-400));color:var(--bs-fg)}.fg-body{--bs-fg:light-dark(var(--bs-gray-900),var(--bs-gray-050));color:var(--bs-fg)}.fg-1{--bs-fg:light-dark(var(--bs-gray-800),var(--bs-gray-200));color:var(--bs-fg)}.fg-2{--bs-fg:light-dark(var(--bs-gray-700),var(--bs-gray-300));color:var(--bs-fg)}.fg-3{--bs-fg:light-dark(var(--bs-gray-600),var(--bs-gray-500));color:var(--bs-fg)}.fg-4{--bs-fg:light-dark(var(--bs-gray-500),var(--bs-gray-600));color:var(--bs-fg)}.fg-white{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-black{--bs-fg:var(--bs-black);color:var(--bs-fg)}.fg-inherit{--bs-fg:inherit;color:var(--bs-fg)}.fg-emphasis-primary{--bs-fg:light-dark(var(--bs-blue-800),var(--bs-blue-200));color:var(--bs-fg)}.fg-emphasis-accent{--bs-fg:light-dark(var(--bs-indigo-800),var(--bs-indigo-300));color:var(--bs-fg)}.fg-emphasis-success{--bs-fg:light-dark(var(--bs-green-800),var(--bs-green-300));color:var(--bs-fg)}.fg-emphasis-danger{--bs-fg:light-dark(var(--bs-red-800),var(--bs-red-300));color:var(--bs-fg)}.fg-emphasis-warning{--bs-fg:light-dark(var(--bs-yellow-800),var(--bs-yellow-300));color:var(--bs-fg)}.fg-emphasis-info{--bs-fg:light-dark(var(--bs-cyan-800),var(--bs-cyan-300));color:var(--bs-fg)}.fg-emphasis-inverse{--bs-fg:light-dark(var(--bs-gray-975),var(--bs-white));color:var(--bs-fg)}.fg-emphasis-secondary{--bs-fg:light-dark(var(--bs-gray-800),var(--bs-gray-200));color:var(--bs-fg)}.fg-contrast-primary,.fg-contrast-accent,.fg-contrast-success,.fg-contrast-danger{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-warning,.fg-contrast-info{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-inverse{--bs-fg:light-dark(var(--bs-white),var(--bs-gray-900));color:var(--bs-fg)}.fg-contrast-secondary{--bs-fg:light-dark(var(--bs-gray-900),var(--bs-white));color:var(--bs-fg)}.fg-10{color:color-mix(in oklch, var(--bs-fg) 10%, transparent)}.fg-20{color:color-mix(in oklch, var(--bs-fg) 20%, transparent)}.fg-30{color:color-mix(in oklch, var(--bs-fg) 30%, transparent)}.fg-40{color:color-mix(in oklch, var(--bs-fg) 40%, transparent)}.fg-50{color:color-mix(in oklch, var(--bs-fg) 50%, transparent)}.fg-60{color:color-mix(in oklch, var(--bs-fg) 60%, transparent)}.fg-70{color:color-mix(in oklch, var(--bs-fg) 70%, transparent)}.fg-80{color:color-mix(in oklch, var(--bs-fg) 80%, transparent)}.fg-90{color:color-mix(in oklch, var(--bs-fg) 90%, transparent)}.fg-100{color:var(--bs-fg)}.link-10,.link-10-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.link-20,.link-20-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.link-30,.link-30-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.link-40,.link-40-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.link-50,.link-50-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.link-60,.link-60-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.link-70,.link-70-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.link-80,.link-80-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.link-90,.link-90-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.link-100,.link-100-hover:hover{color:var(--bs-link-color)}.underline-offset-1,.underline-offset-1-hover:hover{text-underline-offset:.125em}.underline-offset-2,.underline-offset-2-hover:hover{text-underline-offset:.25em}.underline-offset-3,.underline-offset-3-hover:hover{text-underline-offset:.375em}.underline-primary{text-decoration-color:light-dark(var(--bs-blue-600),var(--bs-blue-400))}.underline-accent{text-decoration-color:light-dark(var(--bs-indigo-600),color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)))}.underline-success{text-decoration-color:light-dark(var(--bs-green-600),var(--bs-green-400))}.underline-danger{text-decoration-color:light-dark(var(--bs-red-600),var(--bs-red-400))}.underline-warning{text-decoration-color:light-dark(var(--bs-yellow-700),var(--bs-yellow-400))}.underline-info{text-decoration-color:light-dark(var(--bs-cyan-600),var(--bs-cyan-400))}.underline-inverse{text-decoration-color:light-dark(var(--bs-gray-900),var(--bs-gray-200))}.underline-secondary{text-decoration-color:light-dark(var(--bs-gray-600),var(--bs-gray-400))}.underline-10,.underline-10-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.underline-20,.underline-20-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.underline-30,.underline-30-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.underline-40,.underline-40-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.underline-50,.underline-50-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.underline-60,.underline-60-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.underline-70,.underline-70-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.underline-80,.underline-80-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.underline-90,.underline-90-hover:hover{text-decoration-color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.underline-100,.underline-100-hover:hover{text-decoration-color:var(--bs-link-color)}.underline-thickness-1,.underline-thickness-1-hover:hover{text-decoration-thickness:1px}.underline-thickness-2,.underline-thickness-2-hover:hover{text-decoration-thickness:2px}.underline-thickness-3,.underline-thickness-3-hover:hover{text-decoration-thickness:3px}.underline-thickness-4,.underline-thickness-4-hover:hover{text-decoration-thickness:4px}.underline-thickness-5,.underline-thickness-5-hover:hover{text-decoration-thickness:5px}.bg-primary{--bs-bg:var(--bs-blue-500);background-color:var(--bs-bg)}.bg-accent{--bs-bg:var(--bs-indigo-500);background-color:var(--bs-bg)}.bg-success{--bs-bg:var(--bs-green-500);background-color:var(--bs-bg)}.bg-danger{--bs-bg:var(--bs-red-500);background-color:var(--bs-bg)}.bg-warning{--bs-bg:var(--bs-yellow-500);background-color:var(--bs-bg)}.bg-info{--bs-bg:var(--bs-cyan-500);background-color:var(--bs-bg)}.bg-inverse{--bs-bg:light-dark(var(--bs-gray-900),var(--bs-gray-025));background-color:var(--bs-bg)}.bg-secondary{--bs-bg:light-dark(var(--bs-gray-100),var(--bs-gray-600));background-color:var(--bs-bg)}.bg-body{--bs-bg:light-dark(var(--bs-white),var(--bs-gray-975));background-color:var(--bs-bg)}.bg-1{--bs-bg:light-dark(var(--bs-gray-025),var(--bs-gray-950));background-color:var(--bs-bg)}.bg-2{--bs-bg:light-dark(var(--bs-gray-050),var(--bs-gray-900));background-color:var(--bs-bg)}.bg-3{--bs-bg:light-dark(var(--bs-gray-100),var(--bs-gray-800));background-color:var(--bs-bg)}.bg-4{--bs-bg:light-dark(var(--bs-gray-200),var(--bs-gray-700));background-color:var(--bs-bg)}.bg-white{--bs-bg:var(--bs-white);background-color:var(--bs-bg)}.bg-black{--bs-bg:var(--bs-black);background-color:var(--bs-bg)}.bg-transparent{--bs-bg:transparent;background-color:var(--bs-bg)}.bg-inherit{--bs-bg:inherit;background-color:var(--bs-bg)}.bg-subtle-primary{--bs-bg:light-dark(var(--bs-blue-100),var(--bs-blue-900));background-color:var(--bs-bg)}.bg-subtle-accent{--bs-bg:light-dark(var(--bs-indigo-100),var(--bs-indigo-900));background-color:var(--bs-bg)}.bg-subtle-success{--bs-bg:light-dark(var(--bs-green-100),var(--bs-green-900));background-color:var(--bs-bg)}.bg-subtle-danger{--bs-bg:light-dark(var(--bs-red-100),var(--bs-red-900));background-color:var(--bs-bg)}.bg-subtle-warning{--bs-bg:light-dark(var(--bs-yellow-100),var(--bs-yellow-900));background-color:var(--bs-bg)}.bg-subtle-info{--bs-bg:light-dark(var(--bs-cyan-100),var(--bs-cyan-900));background-color:var(--bs-bg)}.bg-subtle-inverse{--bs-bg:light-dark(var(--bs-gray-100),var(--bs-gray-900));background-color:var(--bs-bg)}.bg-subtle-secondary{--bs-bg:light-dark(var(--bs-gray-050),var(--bs-gray-800));background-color:var(--bs-bg)}.bg-muted-primary{--bs-bg:light-dark(var(--bs-blue-200),var(--bs-blue-800));background-color:var(--bs-bg)}.bg-muted-accent{--bs-bg:light-dark(var(--bs-indigo-200),var(--bs-indigo-800));background-color:var(--bs-bg)}.bg-muted-success{--bs-bg:light-dark(var(--bs-green-200),var(--bs-green-800));background-color:var(--bs-bg)}.bg-muted-danger{--bs-bg:light-dark(var(--bs-red-200),var(--bs-red-800));background-color:var(--bs-bg)}.bg-muted-warning{--bs-bg:light-dark(var(--bs-yellow-200),var(--bs-yellow-800));background-color:var(--bs-bg)}.bg-muted-info{--bs-bg:light-dark(var(--bs-cyan-200),var(--bs-cyan-800));background-color:var(--bs-bg)}.bg-muted-inverse{--bs-bg:light-dark(var(--bs-gray-200),var(--bs-gray-300));background-color:var(--bs-bg)}.bg-muted-secondary{--bs-bg:light-dark(var(--bs-gray-100),var(--bs-gray-700));background-color:var(--bs-bg)}.bg-10{background-color:color-mix(in oklch, var(--bs-bg) 10%, transparent)}.bg-20{background-color:color-mix(in oklch, var(--bs-bg) 20%, transparent)}.bg-30{background-color:color-mix(in oklch, var(--bs-bg) 30%, transparent)}.bg-40{background-color:color-mix(in oklch, var(--bs-bg) 40%, transparent)}.bg-50{background-color:color-mix(in oklch, var(--bs-bg) 50%, transparent)}.bg-60{background-color:color-mix(in oklch, var(--bs-bg) 60%, transparent)}.bg-70{background-color:color-mix(in oklch, var(--bs-bg) 70%, transparent)}.bg-80{background-color:color-mix(in oklch, var(--bs-bg) 80%, transparent)}.bg-90{background-color:color-mix(in oklch, var(--bs-bg) 90%, transparent)}.bg-100{background-color:var(--bs-bg)}.theme-contrast{background-color:var(--bs-theme-bg);color:var(--bs-theme-contrast)}.theme-subtle{background-color:var(--bs-theme-bg-subtle);color:var(--bs-theme-text)}.theme-muted{background-color:var(--bs-theme-bg-muted);color:var(--bs-theme-text-emphasis)}.theme-border{border:var(--bs-border-width) solid var(--bs-theme-border)}.bg-gradient{background-image:var(--bs-gradient)}.user-select-all{user-select:all}.user-select-auto{user-select:auto}.user-select-text{user-select:text}.user-select-none{user-select:none}.pe-none{pointer-events:none}.pe-auto{pointer-events:auto}.rounded{border-radius:var(--bs-border-radius)}.rounded-0{border-radius:0}.rounded-1{border-radius:var(--bs-border-radius-sm)}.rounded-2{border-radius:var(--bs-border-radius)}.rounded-3{border-radius:var(--bs-border-radius-lg)}.rounded-4{border-radius:var(--bs-border-radius-xl)}.rounded-5{border-radius:var(--bs-border-radius-2xl)}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:var(--bs-border-radius-pill)}.rounded-top{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-top-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-top-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-top-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-top-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-top-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-top-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.rounded-end{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-end-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-end-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-end-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-end-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-end-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-end-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-bottom{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-bottom-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-bottom-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-bottom-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-bottom-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-bottom-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-bottom-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-start{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-start-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-start-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-start-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-start-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-start-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-start-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.visible{visibility:visible}.invisible{visibility:hidden}.z-n1{z-index:-1}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}@media (width>=576px){.sm\:float-start{float:inline-start}.sm\:float-end{float:inline-end}.sm\:float-none{float:none}.sm\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.sm\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.sm\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.sm\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.sm\:object-fit-none{-o-object-fit:none;object-fit:none}.sm\:d-inline{display:inline}.sm\:d-inline-block{display:inline-block}.sm\:d-block{display:block}.sm\:d-grid{display:grid}.sm\:d-inline-grid{display:inline-grid}.sm\:d-table{display:table}.sm\:d-table-row{display:table-row}.sm\:d-table-cell{display:table-cell}.sm\:d-flex{display:flex}.sm\:d-inline-flex{display:inline-flex}.sm\:d-contents{display:contents}.sm\:d-flow-root{display:flow-root}.sm\:d-none{display:none}.sm\:flex-fill{flex:auto}.sm\:flex-row{flex-direction:row}.sm\:flex-column{flex-direction:column}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-column-reverse{flex-direction:column-reverse}.sm\:flex-grow-0{flex-grow:0}.sm\:flex-grow-1{flex-grow:1}.sm\:flex-shrink-0{flex-shrink:0}.sm\:flex-shrink-1{flex-shrink:1}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\:justify-content-start{justify-content:flex-start}.sm\:justify-content-end{justify-content:flex-end}.sm\:justify-content-center{justify-content:center}.sm\:justify-content-between{justify-content:space-between}.sm\:justify-content-around{justify-content:space-around}.sm\:justify-content-evenly{justify-content:space-evenly}.sm\:justify-items-start{justify-items:start}.sm\:justify-items-end{justify-items:end}.sm\:justify-items-center{justify-items:center}.sm\:justify-items-stretch{justify-items:stretch}.sm\:justify-self-start{justify-self:flex-start}.sm\:justify-self-end{justify-self:flex-end}.sm\:justify-self-center{justify-self:center}.sm\:align-items-start{align-items:flex-start}.sm\:align-items-end{align-items:flex-end}.sm\:align-items-center{align-items:center}.sm\:align-items-baseline{align-items:baseline}.sm\:align-items-stretch{align-items:stretch}.sm\:align-content-start{align-content:flex-start}.sm\:align-content-end{align-content:flex-end}.sm\:align-content-center{align-content:center}.sm\:align-content-between{align-content:space-between}.sm\:align-content-around{align-content:space-around}.sm\:align-content-stretch{align-content:stretch}.sm\:align-self-auto{align-self:auto}.sm\:align-self-start{align-self:flex-start}.sm\:align-self-end{align-self:flex-end}.sm\:align-self-center{align-self:center}.sm\:align-self-baseline{align-self:baseline}.sm\:align-self-stretch{align-self:stretch}.sm\:place-items-start{place-items:start}.sm\:place-items-end{place-items:end}.sm\:place-items-center{place-items:center}.sm\:place-items-stretch{place-items:stretch stretch}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.sm\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.sm\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.sm\:grid-cols-fill{grid-column:1/-1}.sm\:grid-auto-flow-row{grid-auto-flow:row}.sm\:grid-auto-flow-column{grid-auto-flow:column}.sm\:grid-auto-flow-dense{grid-auto-flow:dense}.sm\:order-first{order:-1}.sm\:order-0{order:0}.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:order-3{order:3}.sm\:order-4{order:4}.sm\:order-5{order:5}.sm\:order-last{order:6}.sm\:m-0{margin:0}.sm\:m-1{margin:.25rem}.sm\:m-2{margin:.5rem}.sm\:m-3{margin:1rem}.sm\:m-4{margin:1.5rem}.sm\:m-5{margin:3rem}.sm\:m-auto{margin:auto}.sm\:mx-0{margin-inline:0}.sm\:mx-1{margin-inline:.25rem}.sm\:mx-2{margin-inline:.5rem}.sm\:mx-3{margin-inline:1rem}.sm\:mx-4{margin-inline:1.5rem}.sm\:mx-5{margin-inline:3rem}.sm\:mx-auto{margin-inline:auto}.sm\:my-0{margin-block:0}.sm\:my-1{margin-block:.25rem}.sm\:my-2{margin-block:.5rem}.sm\:my-3{margin-block:1rem}.sm\:my-4{margin-block:1.5rem}.sm\:my-5{margin-block:3rem}.sm\:my-auto{margin-block:auto}.sm\:mt-0{margin-block-start:0}.sm\:mt-1{margin-block-start:.25rem}.sm\:mt-2{margin-block-start:.5rem}.sm\:mt-3{margin-block-start:1rem}.sm\:mt-4{margin-block-start:1.5rem}.sm\:mt-5{margin-block-start:3rem}.sm\:mt-auto{margin-block-start:auto}.sm\:me-0{margin-inline-end:0}.sm\:me-1{margin-inline-end:.25rem}.sm\:me-2{margin-inline-end:.5rem}.sm\:me-3{margin-inline-end:1rem}.sm\:me-4{margin-inline-end:1.5rem}.sm\:me-5{margin-inline-end:3rem}.sm\:me-auto{margin-inline-end:auto}.sm\:mb-0{margin-block-end:0}.sm\:mb-1{margin-block-end:.25rem}.sm\:mb-2{margin-block-end:.5rem}.sm\:mb-3{margin-block-end:1rem}.sm\:mb-4{margin-block-end:1.5rem}.sm\:mb-5{margin-block-end:3rem}.sm\:mb-auto{margin-block-end:auto}.sm\:ms-0{margin-inline-start:0}.sm\:ms-1{margin-inline-start:.25rem}.sm\:ms-2{margin-inline-start:.5rem}.sm\:ms-3{margin-inline-start:1rem}.sm\:ms-4{margin-inline-start:1.5rem}.sm\:ms-5{margin-inline-start:3rem}.sm\:ms--1{margin-inline-start:-.25rem}.sm\:ms--2{margin-inline-start:-.5rem}.sm\:ms-auto{margin-inline-start:auto}.sm\:p-0{padding:0}.sm\:p-1{padding:.25rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:1rem}.sm\:p-4{padding:1.5rem}.sm\:p-5{padding:3rem}.sm\:px-0{padding-inline:0}.sm\:px-1{padding-inline:.25rem}.sm\:px-2{padding-inline:.5rem}.sm\:px-3{padding-inline:1rem}.sm\:px-4{padding-inline:1.5rem}.sm\:px-5{padding-inline:3rem}.sm\:py-0{padding-block:0}.sm\:py-1{padding-block:.25rem}.sm\:py-2{padding-block:.5rem}.sm\:py-3{padding-block:1rem}.sm\:py-4{padding-block:1.5rem}.sm\:py-5{padding-block:3rem}.sm\:pt-0{padding-block-start:0}.sm\:pt-1{padding-block-start:.25rem}.sm\:pt-2{padding-block-start:.5rem}.sm\:pt-3{padding-block-start:1rem}.sm\:pt-4{padding-block-start:1.5rem}.sm\:pt-5{padding-block-start:3rem}.sm\:pe-0{padding-inline-end:0}.sm\:pe-1{padding-inline-end:.25rem}.sm\:pe-2{padding-inline-end:.5rem}.sm\:pe-3{padding-inline-end:1rem}.sm\:pe-4{padding-inline-end:1.5rem}.sm\:pe-5{padding-inline-end:3rem}.sm\:pb-0{padding-block-end:0}.sm\:pb-1{padding-block-end:.25rem}.sm\:pb-2{padding-block-end:.5rem}.sm\:pb-3{padding-block-end:1rem}.sm\:pb-4{padding-block-end:1.5rem}.sm\:pb-5{padding-block-end:3rem}.sm\:ps-0{padding-inline-start:0}.sm\:ps-1{padding-inline-start:.25rem}.sm\:ps-2{padding-inline-start:.5rem}.sm\:ps-3{padding-inline-start:1rem}.sm\:ps-4{padding-inline-start:1.5rem}.sm\:ps-5{padding-inline-start:3rem}.sm\:gap-0{gap:0}.sm\:gap-1{gap:.25rem}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:1rem}.sm\:gap-4{gap:1.5rem}.sm\:gap-5{gap:3rem}.sm\:row-gap-0{row-gap:0}.sm\:row-gap-1{row-gap:.25rem}.sm\:row-gap-2{row-gap:.5rem}.sm\:row-gap-3{row-gap:1rem}.sm\:row-gap-4{row-gap:1.5rem}.sm\:row-gap-5{row-gap:3rem}.sm\:column-gap-0{-moz-column-gap:0;column-gap:0}.sm\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.sm\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.sm\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.sm\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.sm\:text-start{text-align:start}.sm\:text-end{text-align:end}.sm\:text-center{text-align:center}}@media (width>=768px){.md\:float-start{float:inline-start}.md\:float-end{float:inline-end}.md\:float-none{float:none}.md\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.md\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.md\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.md\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.md\:object-fit-none{-o-object-fit:none;object-fit:none}.md\:d-inline{display:inline}.md\:d-inline-block{display:inline-block}.md\:d-block{display:block}.md\:d-grid{display:grid}.md\:d-inline-grid{display:inline-grid}.md\:d-table{display:table}.md\:d-table-row{display:table-row}.md\:d-table-cell{display:table-cell}.md\:d-flex{display:flex}.md\:d-inline-flex{display:inline-flex}.md\:d-contents{display:contents}.md\:d-flow-root{display:flow-root}.md\:d-none{display:none}.md\:flex-fill{flex:auto}.md\:flex-row{flex-direction:row}.md\:flex-column{flex-direction:column}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-column-reverse{flex-direction:column-reverse}.md\:flex-grow-0{flex-grow:0}.md\:flex-grow-1{flex-grow:1}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-shrink-1{flex-shrink:1}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-nowrap{flex-wrap:nowrap}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\:justify-content-start{justify-content:flex-start}.md\:justify-content-end{justify-content:flex-end}.md\:justify-content-center{justify-content:center}.md\:justify-content-between{justify-content:space-between}.md\:justify-content-around{justify-content:space-around}.md\:justify-content-evenly{justify-content:space-evenly}.md\:justify-items-start{justify-items:start}.md\:justify-items-end{justify-items:end}.md\:justify-items-center{justify-items:center}.md\:justify-items-stretch{justify-items:stretch}.md\:justify-self-start{justify-self:flex-start}.md\:justify-self-end{justify-self:flex-end}.md\:justify-self-center{justify-self:center}.md\:align-items-start{align-items:flex-start}.md\:align-items-end{align-items:flex-end}.md\:align-items-center{align-items:center}.md\:align-items-baseline{align-items:baseline}.md\:align-items-stretch{align-items:stretch}.md\:align-content-start{align-content:flex-start}.md\:align-content-end{align-content:flex-end}.md\:align-content-center{align-content:center}.md\:align-content-between{align-content:space-between}.md\:align-content-around{align-content:space-around}.md\:align-content-stretch{align-content:stretch}.md\:align-self-auto{align-self:auto}.md\:align-self-start{align-self:flex-start}.md\:align-self-end{align-self:flex-end}.md\:align-self-center{align-self:center}.md\:align-self-baseline{align-self:baseline}.md\:align-self-stretch{align-self:stretch}.md\:place-items-start{place-items:start}.md\:place-items-end{place-items:end}.md\:place-items-center{place-items:center}.md\:place-items-stretch{place-items:stretch stretch}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.md\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.md\:grid-cols-fill{grid-column:1/-1}.md\:grid-auto-flow-row{grid-auto-flow:row}.md\:grid-auto-flow-column{grid-auto-flow:column}.md\:grid-auto-flow-dense{grid-auto-flow:dense}.md\:order-first{order:-1}.md\:order-0{order:0}.md\:order-1{order:1}.md\:order-2{order:2}.md\:order-3{order:3}.md\:order-4{order:4}.md\:order-5{order:5}.md\:order-last{order:6}.md\:m-0{margin:0}.md\:m-1{margin:.25rem}.md\:m-2{margin:.5rem}.md\:m-3{margin:1rem}.md\:m-4{margin:1.5rem}.md\:m-5{margin:3rem}.md\:m-auto{margin:auto}.md\:mx-0{margin-inline:0}.md\:mx-1{margin-inline:.25rem}.md\:mx-2{margin-inline:.5rem}.md\:mx-3{margin-inline:1rem}.md\:mx-4{margin-inline:1.5rem}.md\:mx-5{margin-inline:3rem}.md\:mx-auto{margin-inline:auto}.md\:my-0{margin-block:0}.md\:my-1{margin-block:.25rem}.md\:my-2{margin-block:.5rem}.md\:my-3{margin-block:1rem}.md\:my-4{margin-block:1.5rem}.md\:my-5{margin-block:3rem}.md\:my-auto{margin-block:auto}.md\:mt-0{margin-block-start:0}.md\:mt-1{margin-block-start:.25rem}.md\:mt-2{margin-block-start:.5rem}.md\:mt-3{margin-block-start:1rem}.md\:mt-4{margin-block-start:1.5rem}.md\:mt-5{margin-block-start:3rem}.md\:mt-auto{margin-block-start:auto}.md\:me-0{margin-inline-end:0}.md\:me-1{margin-inline-end:.25rem}.md\:me-2{margin-inline-end:.5rem}.md\:me-3{margin-inline-end:1rem}.md\:me-4{margin-inline-end:1.5rem}.md\:me-5{margin-inline-end:3rem}.md\:me-auto{margin-inline-end:auto}.md\:mb-0{margin-block-end:0}.md\:mb-1{margin-block-end:.25rem}.md\:mb-2{margin-block-end:.5rem}.md\:mb-3{margin-block-end:1rem}.md\:mb-4{margin-block-end:1.5rem}.md\:mb-5{margin-block-end:3rem}.md\:mb-auto{margin-block-end:auto}.md\:ms-0{margin-inline-start:0}.md\:ms-1{margin-inline-start:.25rem}.md\:ms-2{margin-inline-start:.5rem}.md\:ms-3{margin-inline-start:1rem}.md\:ms-4{margin-inline-start:1.5rem}.md\:ms-5{margin-inline-start:3rem}.md\:ms--1{margin-inline-start:-.25rem}.md\:ms--2{margin-inline-start:-.5rem}.md\:ms-auto{margin-inline-start:auto}.md\:p-0{padding:0}.md\:p-1{padding:.25rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:1rem}.md\:p-4{padding:1.5rem}.md\:p-5{padding:3rem}.md\:px-0{padding-inline:0}.md\:px-1{padding-inline:.25rem}.md\:px-2{padding-inline:.5rem}.md\:px-3{padding-inline:1rem}.md\:px-4{padding-inline:1.5rem}.md\:px-5{padding-inline:3rem}.md\:py-0{padding-block:0}.md\:py-1{padding-block:.25rem}.md\:py-2{padding-block:.5rem}.md\:py-3{padding-block:1rem}.md\:py-4{padding-block:1.5rem}.md\:py-5{padding-block:3rem}.md\:pt-0{padding-block-start:0}.md\:pt-1{padding-block-start:.25rem}.md\:pt-2{padding-block-start:.5rem}.md\:pt-3{padding-block-start:1rem}.md\:pt-4{padding-block-start:1.5rem}.md\:pt-5{padding-block-start:3rem}.md\:pe-0{padding-inline-end:0}.md\:pe-1{padding-inline-end:.25rem}.md\:pe-2{padding-inline-end:.5rem}.md\:pe-3{padding-inline-end:1rem}.md\:pe-4{padding-inline-end:1.5rem}.md\:pe-5{padding-inline-end:3rem}.md\:pb-0{padding-block-end:0}.md\:pb-1{padding-block-end:.25rem}.md\:pb-2{padding-block-end:.5rem}.md\:pb-3{padding-block-end:1rem}.md\:pb-4{padding-block-end:1.5rem}.md\:pb-5{padding-block-end:3rem}.md\:ps-0{padding-inline-start:0}.md\:ps-1{padding-inline-start:.25rem}.md\:ps-2{padding-inline-start:.5rem}.md\:ps-3{padding-inline-start:1rem}.md\:ps-4{padding-inline-start:1.5rem}.md\:ps-5{padding-inline-start:3rem}.md\:gap-0{gap:0}.md\:gap-1{gap:.25rem}.md\:gap-2{gap:.5rem}.md\:gap-3{gap:1rem}.md\:gap-4{gap:1.5rem}.md\:gap-5{gap:3rem}.md\:row-gap-0{row-gap:0}.md\:row-gap-1{row-gap:.25rem}.md\:row-gap-2{row-gap:.5rem}.md\:row-gap-3{row-gap:1rem}.md\:row-gap-4{row-gap:1.5rem}.md\:row-gap-5{row-gap:3rem}.md\:column-gap-0{-moz-column-gap:0;column-gap:0}.md\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.md\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.md\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.md\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.md\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.md\:text-start{text-align:start}.md\:text-end{text-align:end}.md\:text-center{text-align:center}}@media (width>=1024px){.lg\:float-start{float:inline-start}.lg\:float-end{float:inline-end}.lg\:float-none{float:none}.lg\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.lg\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.lg\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.lg\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.lg\:object-fit-none{-o-object-fit:none;object-fit:none}.lg\:d-inline{display:inline}.lg\:d-inline-block{display:inline-block}.lg\:d-block{display:block}.lg\:d-grid{display:grid}.lg\:d-inline-grid{display:inline-grid}.lg\:d-table{display:table}.lg\:d-table-row{display:table-row}.lg\:d-table-cell{display:table-cell}.lg\:d-flex{display:flex}.lg\:d-inline-flex{display:inline-flex}.lg\:d-contents{display:contents}.lg\:d-flow-root{display:flow-root}.lg\:d-none{display:none}.lg\:flex-fill{flex:auto}.lg\:flex-row{flex-direction:row}.lg\:flex-column{flex-direction:column}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-column-reverse{flex-direction:column-reverse}.lg\:flex-grow-0{flex-grow:0}.lg\:flex-grow-1{flex-grow:1}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-shrink-1{flex-shrink:1}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\:justify-content-start{justify-content:flex-start}.lg\:justify-content-end{justify-content:flex-end}.lg\:justify-content-center{justify-content:center}.lg\:justify-content-between{justify-content:space-between}.lg\:justify-content-around{justify-content:space-around}.lg\:justify-content-evenly{justify-content:space-evenly}.lg\:justify-items-start{justify-items:start}.lg\:justify-items-end{justify-items:end}.lg\:justify-items-center{justify-items:center}.lg\:justify-items-stretch{justify-items:stretch}.lg\:justify-self-start{justify-self:flex-start}.lg\:justify-self-end{justify-self:flex-end}.lg\:justify-self-center{justify-self:center}.lg\:align-items-start{align-items:flex-start}.lg\:align-items-end{align-items:flex-end}.lg\:align-items-center{align-items:center}.lg\:align-items-baseline{align-items:baseline}.lg\:align-items-stretch{align-items:stretch}.lg\:align-content-start{align-content:flex-start}.lg\:align-content-end{align-content:flex-end}.lg\:align-content-center{align-content:center}.lg\:align-content-between{align-content:space-between}.lg\:align-content-around{align-content:space-around}.lg\:align-content-stretch{align-content:stretch}.lg\:align-self-auto{align-self:auto}.lg\:align-self-start{align-self:flex-start}.lg\:align-self-end{align-self:flex-end}.lg\:align-self-center{align-self:center}.lg\:align-self-baseline{align-self:baseline}.lg\:align-self-stretch{align-self:stretch}.lg\:place-items-start{place-items:start}.lg\:place-items-end{place-items:end}.lg\:place-items-center{place-items:center}.lg\:place-items-stretch{place-items:stretch stretch}.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.lg\:grid-cols-fill{grid-column:1/-1}.lg\:grid-auto-flow-row{grid-auto-flow:row}.lg\:grid-auto-flow-column{grid-auto-flow:column}.lg\:grid-auto-flow-dense{grid-auto-flow:dense}.lg\:order-first{order:-1}.lg\:order-0{order:0}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:order-3{order:3}.lg\:order-4{order:4}.lg\:order-5{order:5}.lg\:order-last{order:6}.lg\:m-0{margin:0}.lg\:m-1{margin:.25rem}.lg\:m-2{margin:.5rem}.lg\:m-3{margin:1rem}.lg\:m-4{margin:1.5rem}.lg\:m-5{margin:3rem}.lg\:m-auto{margin:auto}.lg\:mx-0{margin-inline:0}.lg\:mx-1{margin-inline:.25rem}.lg\:mx-2{margin-inline:.5rem}.lg\:mx-3{margin-inline:1rem}.lg\:mx-4{margin-inline:1.5rem}.lg\:mx-5{margin-inline:3rem}.lg\:mx-auto{margin-inline:auto}.lg\:my-0{margin-block:0}.lg\:my-1{margin-block:.25rem}.lg\:my-2{margin-block:.5rem}.lg\:my-3{margin-block:1rem}.lg\:my-4{margin-block:1.5rem}.lg\:my-5{margin-block:3rem}.lg\:my-auto{margin-block:auto}.lg\:mt-0{margin-block-start:0}.lg\:mt-1{margin-block-start:.25rem}.lg\:mt-2{margin-block-start:.5rem}.lg\:mt-3{margin-block-start:1rem}.lg\:mt-4{margin-block-start:1.5rem}.lg\:mt-5{margin-block-start:3rem}.lg\:mt-auto{margin-block-start:auto}.lg\:me-0{margin-inline-end:0}.lg\:me-1{margin-inline-end:.25rem}.lg\:me-2{margin-inline-end:.5rem}.lg\:me-3{margin-inline-end:1rem}.lg\:me-4{margin-inline-end:1.5rem}.lg\:me-5{margin-inline-end:3rem}.lg\:me-auto{margin-inline-end:auto}.lg\:mb-0{margin-block-end:0}.lg\:mb-1{margin-block-end:.25rem}.lg\:mb-2{margin-block-end:.5rem}.lg\:mb-3{margin-block-end:1rem}.lg\:mb-4{margin-block-end:1.5rem}.lg\:mb-5{margin-block-end:3rem}.lg\:mb-auto{margin-block-end:auto}.lg\:ms-0{margin-inline-start:0}.lg\:ms-1{margin-inline-start:.25rem}.lg\:ms-2{margin-inline-start:.5rem}.lg\:ms-3{margin-inline-start:1rem}.lg\:ms-4{margin-inline-start:1.5rem}.lg\:ms-5{margin-inline-start:3rem}.lg\:ms--1{margin-inline-start:-.25rem}.lg\:ms--2{margin-inline-start:-.5rem}.lg\:ms-auto{margin-inline-start:auto}.lg\:p-0{padding:0}.lg\:p-1{padding:.25rem}.lg\:p-2{padding:.5rem}.lg\:p-3{padding:1rem}.lg\:p-4{padding:1.5rem}.lg\:p-5{padding:3rem}.lg\:px-0{padding-inline:0}.lg\:px-1{padding-inline:.25rem}.lg\:px-2{padding-inline:.5rem}.lg\:px-3{padding-inline:1rem}.lg\:px-4{padding-inline:1.5rem}.lg\:px-5{padding-inline:3rem}.lg\:py-0{padding-block:0}.lg\:py-1{padding-block:.25rem}.lg\:py-2{padding-block:.5rem}.lg\:py-3{padding-block:1rem}.lg\:py-4{padding-block:1.5rem}.lg\:py-5{padding-block:3rem}.lg\:pt-0{padding-block-start:0}.lg\:pt-1{padding-block-start:.25rem}.lg\:pt-2{padding-block-start:.5rem}.lg\:pt-3{padding-block-start:1rem}.lg\:pt-4{padding-block-start:1.5rem}.lg\:pt-5{padding-block-start:3rem}.lg\:pe-0{padding-inline-end:0}.lg\:pe-1{padding-inline-end:.25rem}.lg\:pe-2{padding-inline-end:.5rem}.lg\:pe-3{padding-inline-end:1rem}.lg\:pe-4{padding-inline-end:1.5rem}.lg\:pe-5{padding-inline-end:3rem}.lg\:pb-0{padding-block-end:0}.lg\:pb-1{padding-block-end:.25rem}.lg\:pb-2{padding-block-end:.5rem}.lg\:pb-3{padding-block-end:1rem}.lg\:pb-4{padding-block-end:1.5rem}.lg\:pb-5{padding-block-end:3rem}.lg\:ps-0{padding-inline-start:0}.lg\:ps-1{padding-inline-start:.25rem}.lg\:ps-2{padding-inline-start:.5rem}.lg\:ps-3{padding-inline-start:1rem}.lg\:ps-4{padding-inline-start:1.5rem}.lg\:ps-5{padding-inline-start:3rem}.lg\:gap-0{gap:0}.lg\:gap-1{gap:.25rem}.lg\:gap-2{gap:.5rem}.lg\:gap-3{gap:1rem}.lg\:gap-4{gap:1.5rem}.lg\:gap-5{gap:3rem}.lg\:row-gap-0{row-gap:0}.lg\:row-gap-1{row-gap:.25rem}.lg\:row-gap-2{row-gap:.5rem}.lg\:row-gap-3{row-gap:1rem}.lg\:row-gap-4{row-gap:1.5rem}.lg\:row-gap-5{row-gap:3rem}.lg\:column-gap-0{-moz-column-gap:0;column-gap:0}.lg\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.lg\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.lg\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.lg\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.lg\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.lg\:text-start{text-align:start}.lg\:text-end{text-align:end}.lg\:text-center{text-align:center}}@media (width>=1280px){.xl\:float-start{float:inline-start}.xl\:float-end{float:inline-end}.xl\:float-none{float:none}.xl\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.xl\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.xl\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.xl\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.xl\:object-fit-none{-o-object-fit:none;object-fit:none}.xl\:d-inline{display:inline}.xl\:d-inline-block{display:inline-block}.xl\:d-block{display:block}.xl\:d-grid{display:grid}.xl\:d-inline-grid{display:inline-grid}.xl\:d-table{display:table}.xl\:d-table-row{display:table-row}.xl\:d-table-cell{display:table-cell}.xl\:d-flex{display:flex}.xl\:d-inline-flex{display:inline-flex}.xl\:d-contents{display:contents}.xl\:d-flow-root{display:flow-root}.xl\:d-none{display:none}.xl\:flex-fill{flex:auto}.xl\:flex-row{flex-direction:row}.xl\:flex-column{flex-direction:column}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-column-reverse{flex-direction:column-reverse}.xl\:flex-grow-0{flex-grow:0}.xl\:flex-grow-1{flex-grow:1}.xl\:flex-shrink-0{flex-shrink:0}.xl\:flex-shrink-1{flex-shrink:1}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-nowrap{flex-wrap:nowrap}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\:justify-content-start{justify-content:flex-start}.xl\:justify-content-end{justify-content:flex-end}.xl\:justify-content-center{justify-content:center}.xl\:justify-content-between{justify-content:space-between}.xl\:justify-content-around{justify-content:space-around}.xl\:justify-content-evenly{justify-content:space-evenly}.xl\:justify-items-start{justify-items:start}.xl\:justify-items-end{justify-items:end}.xl\:justify-items-center{justify-items:center}.xl\:justify-items-stretch{justify-items:stretch}.xl\:justify-self-start{justify-self:flex-start}.xl\:justify-self-end{justify-self:flex-end}.xl\:justify-self-center{justify-self:center}.xl\:align-items-start{align-items:flex-start}.xl\:align-items-end{align-items:flex-end}.xl\:align-items-center{align-items:center}.xl\:align-items-baseline{align-items:baseline}.xl\:align-items-stretch{align-items:stretch}.xl\:align-content-start{align-content:flex-start}.xl\:align-content-end{align-content:flex-end}.xl\:align-content-center{align-content:center}.xl\:align-content-between{align-content:space-between}.xl\:align-content-around{align-content:space-around}.xl\:align-content-stretch{align-content:stretch}.xl\:align-self-auto{align-self:auto}.xl\:align-self-start{align-self:flex-start}.xl\:align-self-end{align-self:flex-end}.xl\:align-self-center{align-self:center}.xl\:align-self-baseline{align-self:baseline}.xl\:align-self-stretch{align-self:stretch}.xl\:place-items-start{place-items:start}.xl\:place-items-end{place-items:end}.xl\:place-items-center{place-items:center}.xl\:place-items-stretch{place-items:stretch stretch}.xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.xl\:grid-cols-fill{grid-column:1/-1}.xl\:grid-auto-flow-row{grid-auto-flow:row}.xl\:grid-auto-flow-column{grid-auto-flow:column}.xl\:grid-auto-flow-dense{grid-auto-flow:dense}.xl\:order-first{order:-1}.xl\:order-0{order:0}.xl\:order-1{order:1}.xl\:order-2{order:2}.xl\:order-3{order:3}.xl\:order-4{order:4}.xl\:order-5{order:5}.xl\:order-last{order:6}.xl\:m-0{margin:0}.xl\:m-1{margin:.25rem}.xl\:m-2{margin:.5rem}.xl\:m-3{margin:1rem}.xl\:m-4{margin:1.5rem}.xl\:m-5{margin:3rem}.xl\:m-auto{margin:auto}.xl\:mx-0{margin-inline:0}.xl\:mx-1{margin-inline:.25rem}.xl\:mx-2{margin-inline:.5rem}.xl\:mx-3{margin-inline:1rem}.xl\:mx-4{margin-inline:1.5rem}.xl\:mx-5{margin-inline:3rem}.xl\:mx-auto{margin-inline:auto}.xl\:my-0{margin-block:0}.xl\:my-1{margin-block:.25rem}.xl\:my-2{margin-block:.5rem}.xl\:my-3{margin-block:1rem}.xl\:my-4{margin-block:1.5rem}.xl\:my-5{margin-block:3rem}.xl\:my-auto{margin-block:auto}.xl\:mt-0{margin-block-start:0}.xl\:mt-1{margin-block-start:.25rem}.xl\:mt-2{margin-block-start:.5rem}.xl\:mt-3{margin-block-start:1rem}.xl\:mt-4{margin-block-start:1.5rem}.xl\:mt-5{margin-block-start:3rem}.xl\:mt-auto{margin-block-start:auto}.xl\:me-0{margin-inline-end:0}.xl\:me-1{margin-inline-end:.25rem}.xl\:me-2{margin-inline-end:.5rem}.xl\:me-3{margin-inline-end:1rem}.xl\:me-4{margin-inline-end:1.5rem}.xl\:me-5{margin-inline-end:3rem}.xl\:me-auto{margin-inline-end:auto}.xl\:mb-0{margin-block-end:0}.xl\:mb-1{margin-block-end:.25rem}.xl\:mb-2{margin-block-end:.5rem}.xl\:mb-3{margin-block-end:1rem}.xl\:mb-4{margin-block-end:1.5rem}.xl\:mb-5{margin-block-end:3rem}.xl\:mb-auto{margin-block-end:auto}.xl\:ms-0{margin-inline-start:0}.xl\:ms-1{margin-inline-start:.25rem}.xl\:ms-2{margin-inline-start:.5rem}.xl\:ms-3{margin-inline-start:1rem}.xl\:ms-4{margin-inline-start:1.5rem}.xl\:ms-5{margin-inline-start:3rem}.xl\:ms--1{margin-inline-start:-.25rem}.xl\:ms--2{margin-inline-start:-.5rem}.xl\:ms-auto{margin-inline-start:auto}.xl\:p-0{padding:0}.xl\:p-1{padding:.25rem}.xl\:p-2{padding:.5rem}.xl\:p-3{padding:1rem}.xl\:p-4{padding:1.5rem}.xl\:p-5{padding:3rem}.xl\:px-0{padding-inline:0}.xl\:px-1{padding-inline:.25rem}.xl\:px-2{padding-inline:.5rem}.xl\:px-3{padding-inline:1rem}.xl\:px-4{padding-inline:1.5rem}.xl\:px-5{padding-inline:3rem}.xl\:py-0{padding-block:0}.xl\:py-1{padding-block:.25rem}.xl\:py-2{padding-block:.5rem}.xl\:py-3{padding-block:1rem}.xl\:py-4{padding-block:1.5rem}.xl\:py-5{padding-block:3rem}.xl\:pt-0{padding-block-start:0}.xl\:pt-1{padding-block-start:.25rem}.xl\:pt-2{padding-block-start:.5rem}.xl\:pt-3{padding-block-start:1rem}.xl\:pt-4{padding-block-start:1.5rem}.xl\:pt-5{padding-block-start:3rem}.xl\:pe-0{padding-inline-end:0}.xl\:pe-1{padding-inline-end:.25rem}.xl\:pe-2{padding-inline-end:.5rem}.xl\:pe-3{padding-inline-end:1rem}.xl\:pe-4{padding-inline-end:1.5rem}.xl\:pe-5{padding-inline-end:3rem}.xl\:pb-0{padding-block-end:0}.xl\:pb-1{padding-block-end:.25rem}.xl\:pb-2{padding-block-end:.5rem}.xl\:pb-3{padding-block-end:1rem}.xl\:pb-4{padding-block-end:1.5rem}.xl\:pb-5{padding-block-end:3rem}.xl\:ps-0{padding-inline-start:0}.xl\:ps-1{padding-inline-start:.25rem}.xl\:ps-2{padding-inline-start:.5rem}.xl\:ps-3{padding-inline-start:1rem}.xl\:ps-4{padding-inline-start:1.5rem}.xl\:ps-5{padding-inline-start:3rem}.xl\:gap-0{gap:0}.xl\:gap-1{gap:.25rem}.xl\:gap-2{gap:.5rem}.xl\:gap-3{gap:1rem}.xl\:gap-4{gap:1.5rem}.xl\:gap-5{gap:3rem}.xl\:row-gap-0{row-gap:0}.xl\:row-gap-1{row-gap:.25rem}.xl\:row-gap-2{row-gap:.5rem}.xl\:row-gap-3{row-gap:1rem}.xl\:row-gap-4{row-gap:1.5rem}.xl\:row-gap-5{row-gap:3rem}.xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.xl\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.xl\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.xl\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.xl\:text-start{text-align:start}.xl\:text-end{text-align:end}.xl\:text-center{text-align:center}}@media (width>=1536px){.\32 xl\:float-start{float:inline-start}.\32 xl\:float-end{float:inline-end}.\32 xl\:float-none{float:none}.\32 xl\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.\32 xl\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.\32 xl\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.\32 xl\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.\32 xl\:object-fit-none{-o-object-fit:none;object-fit:none}.\32 xl\:d-inline{display:inline}.\32 xl\:d-inline-block{display:inline-block}.\32 xl\:d-block{display:block}.\32 xl\:d-grid{display:grid}.\32 xl\:d-inline-grid{display:inline-grid}.\32 xl\:d-table{display:table}.\32 xl\:d-table-row{display:table-row}.\32 xl\:d-table-cell{display:table-cell}.\32 xl\:d-flex{display:flex}.\32 xl\:d-inline-flex{display:inline-flex}.\32 xl\:d-contents{display:contents}.\32 xl\:d-flow-root{display:flow-root}.\32 xl\:d-none{display:none}.\32 xl\:flex-fill{flex:auto}.\32 xl\:flex-row{flex-direction:row}.\32 xl\:flex-column{flex-direction:column}.\32 xl\:flex-row-reverse{flex-direction:row-reverse}.\32 xl\:flex-column-reverse{flex-direction:column-reverse}.\32 xl\:flex-grow-0{flex-grow:0}.\32 xl\:flex-grow-1{flex-grow:1}.\32 xl\:flex-shrink-0{flex-shrink:0}.\32 xl\:flex-shrink-1{flex-shrink:1}.\32 xl\:flex-wrap{flex-wrap:wrap}.\32 xl\:flex-nowrap{flex-wrap:nowrap}.\32 xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.\32 xl\:justify-content-start{justify-content:flex-start}.\32 xl\:justify-content-end{justify-content:flex-end}.\32 xl\:justify-content-center{justify-content:center}.\32 xl\:justify-content-between{justify-content:space-between}.\32 xl\:justify-content-around{justify-content:space-around}.\32 xl\:justify-content-evenly{justify-content:space-evenly}.\32 xl\:justify-items-start{justify-items:start}.\32 xl\:justify-items-end{justify-items:end}.\32 xl\:justify-items-center{justify-items:center}.\32 xl\:justify-items-stretch{justify-items:stretch}.\32 xl\:justify-self-start{justify-self:flex-start}.\32 xl\:justify-self-end{justify-self:flex-end}.\32 xl\:justify-self-center{justify-self:center}.\32 xl\:align-items-start{align-items:flex-start}.\32 xl\:align-items-end{align-items:flex-end}.\32 xl\:align-items-center{align-items:center}.\32 xl\:align-items-baseline{align-items:baseline}.\32 xl\:align-items-stretch{align-items:stretch}.\32 xl\:align-content-start{align-content:flex-start}.\32 xl\:align-content-end{align-content:flex-end}.\32 xl\:align-content-center{align-content:center}.\32 xl\:align-content-between{align-content:space-between}.\32 xl\:align-content-around{align-content:space-around}.\32 xl\:align-content-stretch{align-content:stretch}.\32 xl\:align-self-auto{align-self:auto}.\32 xl\:align-self-start{align-self:flex-start}.\32 xl\:align-self-end{align-self:flex-end}.\32 xl\:align-self-center{align-self:center}.\32 xl\:align-self-baseline{align-self:baseline}.\32 xl\:align-self-stretch{align-self:stretch}.\32 xl\:place-items-start{place-items:start}.\32 xl\:place-items-end{place-items:end}.\32 xl\:place-items-center{place-items:center}.\32 xl\:place-items-stretch{place-items:stretch stretch}.\32 xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.\32 xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.\32 xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.\32 xl\:grid-cols-fill{grid-column:1/-1}.\32 xl\:grid-auto-flow-row{grid-auto-flow:row}.\32 xl\:grid-auto-flow-column{grid-auto-flow:column}.\32 xl\:grid-auto-flow-dense{grid-auto-flow:dense}.\32 xl\:order-first{order:-1}.\32 xl\:order-0{order:0}.\32 xl\:order-1{order:1}.\32 xl\:order-2{order:2}.\32 xl\:order-3{order:3}.\32 xl\:order-4{order:4}.\32 xl\:order-5{order:5}.\32 xl\:order-last{order:6}.\32 xl\:m-0{margin:0}.\32 xl\:m-1{margin:.25rem}.\32 xl\:m-2{margin:.5rem}.\32 xl\:m-3{margin:1rem}.\32 xl\:m-4{margin:1.5rem}.\32 xl\:m-5{margin:3rem}.\32 xl\:m-auto{margin:auto}.\32 xl\:mx-0{margin-inline:0}.\32 xl\:mx-1{margin-inline:.25rem}.\32 xl\:mx-2{margin-inline:.5rem}.\32 xl\:mx-3{margin-inline:1rem}.\32 xl\:mx-4{margin-inline:1.5rem}.\32 xl\:mx-5{margin-inline:3rem}.\32 xl\:mx-auto{margin-inline:auto}.\32 xl\:my-0{margin-block:0}.\32 xl\:my-1{margin-block:.25rem}.\32 xl\:my-2{margin-block:.5rem}.\32 xl\:my-3{margin-block:1rem}.\32 xl\:my-4{margin-block:1.5rem}.\32 xl\:my-5{margin-block:3rem}.\32 xl\:my-auto{margin-block:auto}.\32 xl\:mt-0{margin-block-start:0}.\32 xl\:mt-1{margin-block-start:.25rem}.\32 xl\:mt-2{margin-block-start:.5rem}.\32 xl\:mt-3{margin-block-start:1rem}.\32 xl\:mt-4{margin-block-start:1.5rem}.\32 xl\:mt-5{margin-block-start:3rem}.\32 xl\:mt-auto{margin-block-start:auto}.\32 xl\:me-0{margin-inline-end:0}.\32 xl\:me-1{margin-inline-end:.25rem}.\32 xl\:me-2{margin-inline-end:.5rem}.\32 xl\:me-3{margin-inline-end:1rem}.\32 xl\:me-4{margin-inline-end:1.5rem}.\32 xl\:me-5{margin-inline-end:3rem}.\32 xl\:me-auto{margin-inline-end:auto}.\32 xl\:mb-0{margin-block-end:0}.\32 xl\:mb-1{margin-block-end:.25rem}.\32 xl\:mb-2{margin-block-end:.5rem}.\32 xl\:mb-3{margin-block-end:1rem}.\32 xl\:mb-4{margin-block-end:1.5rem}.\32 xl\:mb-5{margin-block-end:3rem}.\32 xl\:mb-auto{margin-block-end:auto}.\32 xl\:ms-0{margin-inline-start:0}.\32 xl\:ms-1{margin-inline-start:.25rem}.\32 xl\:ms-2{margin-inline-start:.5rem}.\32 xl\:ms-3{margin-inline-start:1rem}.\32 xl\:ms-4{margin-inline-start:1.5rem}.\32 xl\:ms-5{margin-inline-start:3rem}.\32 xl\:ms--1{margin-inline-start:-.25rem}.\32 xl\:ms--2{margin-inline-start:-.5rem}.\32 xl\:ms-auto{margin-inline-start:auto}.\32 xl\:p-0{padding:0}.\32 xl\:p-1{padding:.25rem}.\32 xl\:p-2{padding:.5rem}.\32 xl\:p-3{padding:1rem}.\32 xl\:p-4{padding:1.5rem}.\32 xl\:p-5{padding:3rem}.\32 xl\:px-0{padding-inline:0}.\32 xl\:px-1{padding-inline:.25rem}.\32 xl\:px-2{padding-inline:.5rem}.\32 xl\:px-3{padding-inline:1rem}.\32 xl\:px-4{padding-inline:1.5rem}.\32 xl\:px-5{padding-inline:3rem}.\32 xl\:py-0{padding-block:0}.\32 xl\:py-1{padding-block:.25rem}.\32 xl\:py-2{padding-block:.5rem}.\32 xl\:py-3{padding-block:1rem}.\32 xl\:py-4{padding-block:1.5rem}.\32 xl\:py-5{padding-block:3rem}.\32 xl\:pt-0{padding-block-start:0}.\32 xl\:pt-1{padding-block-start:.25rem}.\32 xl\:pt-2{padding-block-start:.5rem}.\32 xl\:pt-3{padding-block-start:1rem}.\32 xl\:pt-4{padding-block-start:1.5rem}.\32 xl\:pt-5{padding-block-start:3rem}.\32 xl\:pe-0{padding-inline-end:0}.\32 xl\:pe-1{padding-inline-end:.25rem}.\32 xl\:pe-2{padding-inline-end:.5rem}.\32 xl\:pe-3{padding-inline-end:1rem}.\32 xl\:pe-4{padding-inline-end:1.5rem}.\32 xl\:pe-5{padding-inline-end:3rem}.\32 xl\:pb-0{padding-block-end:0}.\32 xl\:pb-1{padding-block-end:.25rem}.\32 xl\:pb-2{padding-block-end:.5rem}.\32 xl\:pb-3{padding-block-end:1rem}.\32 xl\:pb-4{padding-block-end:1.5rem}.\32 xl\:pb-5{padding-block-end:3rem}.\32 xl\:ps-0{padding-inline-start:0}.\32 xl\:ps-1{padding-inline-start:.25rem}.\32 xl\:ps-2{padding-inline-start:.5rem}.\32 xl\:ps-3{padding-inline-start:1rem}.\32 xl\:ps-4{padding-inline-start:1.5rem}.\32 xl\:ps-5{padding-inline-start:3rem}.\32 xl\:gap-0{gap:0}.\32 xl\:gap-1{gap:.25rem}.\32 xl\:gap-2{gap:.5rem}.\32 xl\:gap-3{gap:1rem}.\32 xl\:gap-4{gap:1.5rem}.\32 xl\:gap-5{gap:3rem}.\32 xl\:row-gap-0{row-gap:0}.\32 xl\:row-gap-1{row-gap:.25rem}.\32 xl\:row-gap-2{row-gap:.5rem}.\32 xl\:row-gap-3{row-gap:1rem}.\32 xl\:row-gap-4{row-gap:1.5rem}.\32 xl\:row-gap-5{row-gap:3rem}.\32 xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.\32 xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.\32 xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.\32 xl\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.\32 xl\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.\32 xl\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.\32 xl\:text-start{text-align:start}.\32 xl\:text-end{text-align:end}.\32 xl\:text-center{text-align:center}}}:root{--bs-black:#000;--bs-white:#fff;--bs-gradient:linear-gradient(180deg, color-mix(var(--bs-white) 15%, transparent), color-mix(var(--bs-white) 0%, transparent));--bs-font-weight-lighter:lighter;--bs-font-weight-light:300;--bs-font-weight-normal:400;--bs-font-weight-medium:500;--bs-font-weight-semibold:600;--bs-font-weight-bold:700;--bs-font-weight-bolder:bolder;--bs-body-font-family:system-ui;--bs-body-font-size:var(--bs-font-size-base);--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-heading-color:inherit;--bs-hr-border-color:var(--bs-border-color);--bs-link-color:light-dark(var(--bs-primary-base),var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-font-mono:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-code-font-size:95%;--bs-code-color:var(--bs-fg-2);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:light-dark(color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200)),var(--bs-gray-700));--bs-border-color-translucent:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-border-radius:.5rem;--bs-border-radius-xs:.375rem;--bs-border-radius-sm:.5rem;--bs-border-radius-lg:.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem #00000026;--bs-box-shadow-sm:0 .125rem .25rem #00000013;--bs-box-shadow-lg:0 1rem 3rem #0000002d;--bs-box-shadow-inset:inset 0 1px 2px #00000013;--bs-spacer:1rem;--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-control-checked-bg:var(--bs-primary-base);--bs-control-checked-border-color:var(--bs-control-checked-bg);--bs-control-active-bg:var(--bs-primary-base);--bs-control-active-border-color:var(--bs-control-active-bg);--bs-control-disabled-bg:var(--bs-bg-3);--bs-control-disabled-opacity:.65;--bs-btn-input-fg:var(--bs-fg-body);--bs-btn-input-bg:var(--bs-bg-body);--bs-btn-input-min-height:2.375rem;--bs-btn-input-padding-y:.375rem;--bs-btn-input-padding-x:.75rem;--bs-btn-input-font-size:var(--bs-font-size-base);--bs-btn-input-line-height:var(--bs-line-height-base);--bs-btn-input-border-radius:var(--bs-border-radius);--bs-btn-input-xs-min-height:1.5rem;--bs-btn-input-xs-padding-y:.125rem;--bs-btn-input-xs-padding-x:.5rem;--bs-btn-input-xs-font-size:var(--bs-font-size-xs);--bs-btn-input-xs-line-height:1.125;--bs-btn-input-xs-border-radius:var(--bs-border-radius-xs);--bs-btn-input-sm-min-height:2rem;--bs-btn-input-sm-padding-y:.25rem;--bs-btn-input-sm-padding-x:.625rem;--bs-btn-input-sm-font-size:var(--bs-font-size-sm);--bs-btn-input-sm-line-height:var(--bs-line-height-sm);--bs-btn-input-sm-border-radius:var(--bs-border-radius-sm);--bs-btn-input-lg-min-height:2.75rem;--bs-btn-input-lg-padding-y:.5rem;--bs-btn-input-lg-padding-x:1rem;--bs-btn-input-lg-font-size:var(--bs-font-size-md);--bs-btn-input-lg-line-height:var(--bs-line-height-md);--bs-btn-input-lg-border-radius:var(--bs-border-radius-lg);--bs-form-valid-color:var(--bs-success-text);--bs-form-valid-border-color:var(--bs-success-text);--bs-form-invalid-color:var(--bs-danger-text);--bs-form-invalid-border-color:var(--bs-danger-text);--bs-font-size-xs:.75rem;--bs-line-height-xs:1.25;--bs-font-size-sm:.875rem;--bs-line-height-sm:1.5;--bs-font-size-md:1rem;--bs-line-height-md:1.5;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-line-height-lg:1.5;--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-line-height-xl:1.42857;--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-line-height-2xl:1.33333;--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-line-height-3xl:1.2;--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-line-height-4xl:1.1;--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-line-height-5xl:1.1;--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-6xl:1;--bs-primary-base:var(--bs-blue-500);--bs-primary-text:light-dark(var(--bs-blue-600),var(--bs-blue-400));--bs-primary-text-emphasis:light-dark(var(--bs-blue-800),var(--bs-blue-200));--bs-primary-bg: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:light-dark(color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)));--bs-primary-contrast:var(--bs-white);--bs-accent-base:var(--bs-indigo-500);--bs-accent-text:light-dark(var(--bs-indigo-600),color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));--bs-accent-text-emphasis:light-dark(var(--bs-indigo-800),var(--bs-indigo-300));--bs-accent-bg: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:light-dark(color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)));--bs-accent-contrast:var(--bs-white);--bs-success-base:var(--bs-green-500);--bs-success-text:light-dark(var(--bs-green-600),var(--bs-green-400));--bs-success-text-emphasis:light-dark(var(--bs-green-800),var(--bs-green-300));--bs-success-bg: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:light-dark(color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)));--bs-success-contrast:var(--bs-white);--bs-danger-base:var(--bs-red-500);--bs-danger-text:light-dark(var(--bs-red-600),var(--bs-red-400));--bs-danger-text-emphasis:light-dark(var(--bs-red-800),var(--bs-red-300));--bs-danger-bg: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:light-dark(color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)));--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-400));--bs-warning-text-emphasis:light-dark(var(--bs-yellow-800),var(--bs-yellow-300));--bs-warning-bg: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:light-dark(color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)));--bs-warning-contrast:var(--bs-gray-900);--bs-info-base:var(--bs-cyan-500);--bs-info-text:light-dark(var(--bs-cyan-600),var(--bs-cyan-400));--bs-info-text-emphasis:light-dark(var(--bs-cyan-800),var(--bs-cyan-300));--bs-info-bg: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:light-dark(color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)),color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)));--bs-info-contrast:var(--bs-gray-900);--bs-inverse-base:var(--bs-gray-900);--bs-inverse-text:light-dark(var(--bs-gray-900),var(--bs-gray-200));--bs-inverse-text-emphasis:light-dark(var(--bs-gray-975),var(--bs-white));--bs-inverse-bg:light-dark(var(--bs-gray-900),var(--bs-gray-025));--bs-inverse-bg-subtle:light-dark(var(--bs-gray-100),var(--bs-gray-900));--bs-inverse-bg-muted:light-dark(var(--bs-gray-200),var(--bs-gray-300));--bs-inverse-border:light-dark(var(--bs-gray-400),var(--bs-gray-100));--bs-inverse-focus-ring:color-mix(in oklch, light-dark(var(--bs-gray-900),var(--bs-gray-100)) 50%, var(--bs-bg-body));--bs-inverse-contrast:light-dark(var(--bs-white),var(--bs-gray-900));--bs-secondary-base:var(--bs-gray-200);--bs-secondary-text:light-dark(var(--bs-gray-600),var(--bs-gray-400));--bs-secondary-text-emphasis:light-dark(var(--bs-gray-800),var(--bs-gray-200));--bs-secondary-bg:light-dark(var(--bs-gray-100),var(--bs-gray-600));--bs-secondary-bg-subtle:light-dark(var(--bs-gray-050),var(--bs-gray-800));--bs-secondary-bg-muted:light-dark(var(--bs-gray-100),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, light-dark(var(--bs-gray-500),var(--bs-gray-300)) 50%, var(--bs-bg-body));--bs-secondary-contrast:light-dark(var(--bs-gray-900),var(--bs-white));--bs-bg-body:light-dark(var(--bs-white),var(--bs-gray-975));--bs-bg-1:light-dark(var(--bs-gray-025),var(--bs-gray-950));--bs-bg-2:light-dark(var(--bs-gray-050),var(--bs-gray-900));--bs-bg-3:light-dark(var(--bs-gray-100),var(--bs-gray-800));--bs-bg-4:light-dark(var(--bs-gray-200),var(--bs-gray-700));--bs-bg-white:var(--bs-white);--bs-bg-black:var(--bs-black);--bs-bg-transparent:transparent;--bs-bg-inherit:inherit;--bs-fg-body:light-dark(var(--bs-gray-900),var(--bs-gray-050));--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-500));--bs-fg-4:light-dark(var(--bs-gray-500),var(--bs-gray-600));--bs-fg-white:var(--bs-white);--bs-fg-black:var(--bs-black);--bs-fg-inherit:inherit;--bs-border-bg:var(--bs-bg-body);--bs-border-body:light-dark(var(--bs-gray-300),var(--bs-gray-800));--bs-border-muted:light-dark(var(--bs-gray-200),var(--bs-gray-800));--bs-border-subtle:light-dark(var(--bs-gray-100),var(--bs-gray-900));--bs-border-emphasized:light-dark(var(--bs-gray-400),var(--bs-gray-600));--bs-border-white:var(--bs-white);--bs-border-black:var(--bs-black);--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px;color-scheme:light dark}[data-bs-theme=dark]{color-scheme:dark}[data-bs-theme=light]{color-scheme:light}.offcanvas,.\32 xl\:offcanvas,.xl\:offcanvas,.lg\:offcanvas,.md\:offcanvas,.sm\:offcanvas{--bs-offcanvas-inset:var(--bs-spacer);--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:var(--bs-spacer);--bs-offcanvas-padding-y:var(--bs-spacer);--bs-offcanvas-color:var(--bs-fg-body);--bs-offcanvas-bg:var(--bs-bg-body);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-border-radius:var(--bs-border-radius-lg);--bs-offcanvas-box-shadow:var(--bs-box-shadow-lg);--bs-offcanvas-transition:transform .3s ease-in-out;--bs-offcanvas-title-line-height:1.5}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;transition:height .35s;overflow:hidden}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}
/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
-{"version":3,"sourceRoot":null,"mappings":"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","sources":["bootstrap.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_config.scss","../../scss/mixins/_border-radius.scss","../../scss/content/_type.scss","../../scss/mixins/_lists.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/content/_prose.scss","../../scss/mixins/_transition.scss","../../scss/layout/_containers.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_focus-ring.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_check.scss","../../scss/forms/_radio.scss","../../scss/forms/_switch.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/forms/_strength.scss","../../scss/forms/_otp-input.scss","../../scss/forms/_form-adorn.scss","../../scss/forms/_chip-input.scss","../../scss/forms/_combobox.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/forms/_validation.scss","../../scss/forms/_form-variables.scss","../../scss/buttons/_button.scss","../../scss/buttons/_button-group.scss","../../scss/buttons/_close.scss","../../scss/_accordion.scss","../../scss/_alert.scss","../../scss/_avatar.scss","../../scss/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_chip.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/mixins/_color-mode.scss","../../scss/_datepicker.scss","../../scss/_dialog.scss","../../scss/_menu.scss","../../scss/_list-group.scss","../../scss/_nav.scss","../../scss/_nav-overflow.scss","../../scss/_navbar.scss","../../scss/_offcanvas.scss","../../scss/mixins/_backdrop.scss","../../scss/_pagination.scss","../../scss/_placeholder.scss","../../scss/_popover.scss","../../scss/_progress.scss","../../scss/_spinner.scss","../../scss/_stepper.scss","../../scss/_toasts.scss","../../scss/_transitions.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"sourcesContent":["@charset \"UTF-8\";\n/*!\n * Bootstrap v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n --blue-500: oklch(60% 0.24 240deg);\n --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n --indigo-500: oklch(56% 0.26 288deg);\n --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n --violet-500: oklch(56% 0.24 300deg);\n --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n --purple-500: oklch(56% 0.24 320deg);\n --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n --pink-500: oklch(60% 0.22 4deg);\n --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n --red-500: oklch(60% 0.22 20deg);\n --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n --orange-500: oklch(70% 0.22 52deg);\n --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n --amber-500: oklch(79% 0.2 78deg);\n --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n --yellow-500: oklch(88% 0.24 88deg);\n --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n --lime-500: oklch(65% 0.24 135deg);\n --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n --green-500: oklch(64% 0.22 160deg);\n --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n --teal-500: oklch(68% 0.22 190deg);\n --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n --cyan-500: oklch(69% 0.22 220deg);\n --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n --brown-500: oklch(60% 0.12 54deg);\n --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n --gray-500: oklch(60% 0.02 245deg);\n --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n --pewter-500: oklch(65% 0.01 290deg);\n --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n --black: #000;\n --white: #fff;\n --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n --font-weight-lighter: lighter;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-bolder: bolder;\n --body-font-family: system-ui;\n --body-font-size: var(--font-size-base);\n --body-font-weight: 400;\n --body-line-height: 1.5;\n --heading-color: inherit;\n --hr-border-color: var(--border-color);\n --link-color: light-dark(var(--primary-base), var(--primary-text));\n --link-decoration: underline;\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --code-font-size: 95%;\n --code-color: var(--fg-2);\n --border-width: 1px;\n --border-style: solid;\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --border-radius: 0.5rem;\n --border-radius-xs: 0.375rem;\n --border-radius-sm: 0.5rem;\n --border-radius-lg: 0.75rem;\n --border-radius-xl: 1rem;\n --border-radius-2xl: 2rem;\n --border-radius-pill: 50rem;\n --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --spacer: 1rem;\n --focus-ring-width: 3px;\n --focus-ring-offset: 1px;\n --focus-ring-color: var(--primary-focus-ring);\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n --control-checked-bg: var(--primary-base);\n --control-checked-border-color: var(--control-checked-bg);\n --control-active-bg: var(--primary-base);\n --control-active-border-color: var(--control-active-bg);\n --control-disabled-bg: var(--bg-3);\n --control-disabled-opacity: 0.65;\n --btn-input-fg: var(--fg-body);\n --btn-input-bg: var(--bg-body);\n --btn-input-min-height: 2.375rem;\n --btn-input-padding-y: 0.375rem;\n --btn-input-padding-x: 0.75rem;\n --btn-input-font-size: var(--font-size-base);\n --btn-input-line-height: var(--line-height-base);\n --btn-input-border-radius: var(--border-radius);\n --btn-input-xs-min-height: 1.5rem;\n --btn-input-xs-padding-y: 0.125rem;\n --btn-input-xs-padding-x: 0.5rem;\n --btn-input-xs-font-size: var(--font-size-xs);\n --btn-input-xs-line-height: 1.125;\n --btn-input-xs-border-radius: var(--border-radius-xs);\n --btn-input-sm-min-height: 2rem;\n --btn-input-sm-padding-y: 0.25rem;\n --btn-input-sm-padding-x: 0.625rem;\n --btn-input-sm-font-size: var(--font-size-sm);\n --btn-input-sm-line-height: var(--line-height-sm);\n --btn-input-sm-border-radius: var(--border-radius-sm);\n --btn-input-lg-min-height: 2.75rem;\n --btn-input-lg-padding-y: 0.5rem;\n --btn-input-lg-padding-x: 1rem;\n --btn-input-lg-font-size: var(--font-size-md);\n --btn-input-lg-line-height: var(--line-height-md);\n --btn-input-lg-border-radius: var(--border-radius-lg);\n --form-valid-color: var(--success-text);\n --form-valid-border-color: var(--success-text);\n --form-invalid-color: var(--danger-text);\n --form-invalid-border-color: var(--danger-text);\n --font-size-xs: 0.75rem;\n --line-height-xs: 1.25;\n --font-size-sm: 0.875rem;\n --line-height-sm: 1.5;\n --font-size-md: 1rem;\n --line-height-md: 1.5;\n --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n --line-height-lg: 1.5;\n --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n --line-height-xl: 1.4285714286;\n --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n --line-height-2xl: 1.3333333333;\n --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n --line-height-3xl: 1.2;\n --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n --line-height-4xl: 1.1;\n --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n --line-height-5xl: 1.1;\n --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n --line-height-6xl: 1;\n --primary-base: var(--blue-500);\n --primary-text: light-dark(var(--blue-600), var(--blue-400));\n --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n --primary-bg: var(--blue-500);\n --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n --primary-border: light-dark(var(--blue-300), var(--blue-600));\n --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n --primary-contrast: var(--white);\n --accent-base: var(--indigo-500);\n --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n --accent-bg: var(--indigo-500);\n --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n --accent-contrast: var(--white);\n --success-base: var(--green-500);\n --success-text: light-dark(var(--green-600), var(--green-400));\n --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n --success-bg: var(--green-500);\n --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n --success-border: light-dark(var(--green-300), var(--green-600));\n --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n --success-contrast: var(--white);\n --danger-base: var(--red-500);\n --danger-text: light-dark(var(--red-600), var(--red-400));\n --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n --danger-bg: var(--red-500);\n --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n --danger-border: light-dark(var(--red-300), var(--red-600));\n --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n --danger-contrast: var(--white);\n --warning-base: var(--yellow-500);\n --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n --warning-bg: var(--yellow-500);\n --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n --warning-contrast: var(--gray-900);\n --info-base: var(--cyan-500);\n --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n --info-bg: var(--cyan-500);\n --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n --info-contrast: var(--gray-900);\n --inverse-base: var(--gray-900);\n --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n --inverse-contrast: light-dark(var(--white), var(--gray-900));\n --secondary-base: var(--gray-200);\n --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n --secondary-contrast: light-dark(var(--gray-900), var(--white));\n --bg-body: light-dark(var(--white), var(--gray-975));\n --bg-1: light-dark(var(--gray-025), var(--gray-950));\n --bg-2: light-dark(var(--gray-050), var(--gray-900));\n --bg-3: light-dark(var(--gray-100), var(--gray-800));\n --bg-4: light-dark(var(--gray-200), var(--gray-700));\n --bg-white: var(--white);\n --bg-black: var(--black);\n --bg-transparent: transparent;\n --bg-inherit: inherit;\n --fg-body: light-dark(var(--gray-900), var(--gray-050));\n --fg-1: light-dark(var(--gray-800), var(--gray-200));\n --fg-2: light-dark(var(--gray-700), var(--gray-300));\n --fg-3: light-dark(var(--gray-600), var(--gray-500));\n --fg-4: light-dark(var(--gray-500), var(--gray-600));\n --fg-white: var(--white);\n --fg-black: var(--black);\n --fg-inherit: inherit;\n --border-bg: var(--bg-body);\n --border-body: light-dark(var(--gray-300), var(--gray-800));\n --border-muted: light-dark(var(--gray-200), var(--gray-800));\n --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n --border-white: var(--white);\n --border-black: var(--black);\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n color-scheme: light;\n}\n\n@layer reboot {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n :root {\n accent-color: var(--primary-base);\n }\n @media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n }\n body {\n margin: 0;\n font-family: var(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n h6,\n .h6, h5,\n .h5, h4,\n .h4, h3,\n .h3, h2,\n .h2, h1,\n .h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n color: var(--heading-color);\n }\n h1,\n .h1 {\n font-size: var(--font-size-3xl);\n }\n h2,\n .h2 {\n font-size: var(--font-size-2xl);\n }\n h3,\n .h3 {\n font-size: var(--font-size-xl);\n }\n h4,\n .h4 {\n font-size: var(--font-size-lg);\n }\n h5,\n .h5 {\n font-size: var(--font-size-md);\n }\n h6,\n .h6 {\n font-size: var(--font-size-sm);\n }\n p {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n abbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n }\n address {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n }\n ol,\n ul {\n padding-inline-start: 2rem;\n }\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n dt {\n font-weight: 700;\n }\n dd {\n margin-inline-start: 0;\n margin-bottom: 0.5rem;\n }\n blockquote {\n margin: 0 0 1rem;\n }\n blockquote > * {\n margin-block: 0;\n }\n b,\n strong {\n font-weight: bolder;\n }\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n mark,\n .mark {\n --mark-padding: 0.1875em;\n --mark-color: var(--fg-body);\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, 0.75em);\n line-height: 0;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n a {\n color: var(--theme-text, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: 0.2em;\n }\n a:hover {\n color: var(--theme-text-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-decoration));\n }\n a:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n }\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em;\n }\n pre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n }\n pre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n code {\n font-size: var(--code-font-size);\n color: var(--code-color);\n word-wrap: break-word;\n }\n a > code {\n color: inherit;\n }\n kbd {\n --kbd-padding-y: 0.125rem;\n --kbd-padding-x: 0.25rem;\n --kbd-font-size: var(--font-size-xs);\n --kbd-color: var(--bg-body);\n --kbd-bg: var(--fg-2);\n --kbd-border-radius: var(--border-radius-sm);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n border-radius: var(--kbd-border-radius);\n }\n kbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: inherit;\n }\n figure {\n margin: 0 0 1rem;\n }\n img,\n svg {\n vertical-align: middle;\n }\n table {\n caption-side: bottom;\n border-collapse: collapse;\n }\n caption {\n padding-block: 0.5rem;\n color: var(--fg-3);\n text-align: start;\n }\n th {\n text-align: inherit;\n text-align: -webkit-match-parent;\n }\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n label {\n display: inline-block;\n }\n button {\n border-radius: 0;\n }\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n button,\n select {\n text-transform: none;\n }\n [role=button] {\n cursor: pointer;\n }\n select {\n word-wrap: normal;\n }\n select:disabled {\n opacity: 1;\n }\n [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n }\n button,\n [type=button],\n [type=reset],\n [type=submit] {\n -webkit-appearance: button;\n }\n button:not(:disabled),\n [type=button]:not(:disabled),\n [type=reset]:not(:disabled),\n [type=submit]:not(:disabled) {\n cursor: pointer;\n }\n ::-moz-focus-inner {\n padding: 0;\n border-style: none;\n }\n textarea {\n resize: vertical;\n }\n fieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n }\n legend {\n float: inline-start;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n }\n legend + * {\n clear: inline-start;\n }\n ::-webkit-datetime-edit-fields-wrapper,\n ::-webkit-datetime-edit-text,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-ampm-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-week-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-year-field {\n padding: 0;\n }\n ::-webkit-inner-spin-button {\n height: auto;\n }\n [type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n [type=search]::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n }\n [type=tel],\n [type=url],\n [type=email],\n [type=number] {\n direction: ltr;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n ::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n }\n output {\n display: inline-block;\n }\n iframe {\n border: 0;\n }\n summary {\n display: list-item;\n cursor: pointer;\n }\n progress {\n vertical-align: baseline;\n }\n [hidden] {\n display: none !important;\n }\n}\n@layer content {\n .list-unstyled {\n padding-inline-start: 0;\n list-style: none;\n }\n .list-inline {\n padding-inline-start: 0;\n list-style: none;\n }\n .list-inline-item {\n display: inline-block;\n }\n .list-inline-item:not(:last-child) {\n margin-inline-end: var(--list-inline-padding, var(--spacer)/2);\n }\n .initialism {\n font-size: var(--initialism-font-size, var(--font-size-xs));\n text-transform: uppercase;\n }\n .blockquote {\n --blockquote-gap: calc(var(--spacer) / 2);\n --blockquote-padding-x: var(--spacer);\n --blockquote-margin-y: 1rem;\n --blockquote-font-size: var(--font-size-md);\n --blockquote-border-width: 0.25rem;\n --blockquote-border-color: var(--border-color);\n --blockquote-footer-font-size: var(--font-size-sm);\n --blockquote-footer-color: var(--fg-3);\n display: flex;\n flex-direction: column;\n gap: var(--blockquote-gap);\n padding-inline-start: var(--blockquote-padding-x);\n margin-bottom: var(--blockquote-margin-y);\n font-size: var(--blockquote-font-size);\n border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n }\n .blockquote > * {\n margin-bottom: 0;\n }\n figure.blockquote blockquote {\n margin-bottom: 0;\n }\n .blockquote-footer {\n font-size: var(--blockquote-footer-font-size);\n color: var(--blockquote-footer-color);\n }\n .blockquote-footer::before {\n content: \"— \";\n }\n}\n@layer content {\n .table {\n --table-cell-padding-y: 0.5rem;\n --table-cell-padding-x: 0.5rem;\n --table-cell-vertical-align: top;\n --table-color: var(--fg-body);\n --table-bg: var(--bg-body);\n --table-accent-bg: transparent;\n --table-border-width: var(--border-width);\n --table-border-color: var(--border-color);\n --table-group-separator-color: currentcolor;\n --table-striped-color: var(--table-color);\n --table-striped-bg-factor: 0.05;\n --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent);\n --table-active-color: var(--table-color);\n --table-active-bg-factor: 0.1;\n --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent);\n --table-hover-color: var(--table-color);\n --table-hover-bg-factor: 0.075;\n --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent);\n --table-color-type: initial;\n --table-bg-type: initial;\n --table-color-state: initial;\n --table-bg-state: initial;\n width: 100%;\n margin-bottom: 1rem;\n vertical-align: var(--table-cell-vertical-align);\n border-color: var(--theme-border, var(--table-border-color));\n }\n .table > :not(caption) > * > * {\n padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n background-color: var(--theme-bg-subtle, var(--table-bg));\n border-block-end-width: var(--table-border-width);\n box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n }\n .table > tbody {\n vertical-align: inherit;\n }\n .table > thead {\n vertical-align: bottom;\n }\n .table-group-divider {\n border-block-start: calc(var(--table-border-width) * 2) solid var(--table-group-separator-color);\n }\n .caption-top {\n caption-side: top;\n }\n .table-sm > :not(caption) > * > * {\n --table-cell-padding-y: .25rem;\n --table-cell-padding-x: .25rem;\n }\n .table-bordered > :not(caption) > * {\n border-width: var(--table-border-width) 0;\n }\n .table-bordered > :not(caption) > * > * {\n border-width: 0 var(--table-border-width);\n }\n .table-borderless > :not(caption) > * > * {\n border-block-end-width: 0;\n }\n .table-borderless > :not(:first-child) {\n border-block-start-width: 0;\n }\n .table-striped > tbody > tr:nth-of-type(odd) > * {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n .table-striped-columns > :not(caption) > tr > :nth-child(even) {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n .table-active {\n --table-color-state: var(--theme-text, var(--table-active-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n }\n .table-hover > tbody > tr:hover > * {\n --table-color-state: var(--theme-text, var(--table-hover-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n }\n .table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n @media (width < 576px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 768px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 1024px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 1280px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 1536px) {\n .table-responsive-2xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n@layer content {\n .img-fluid {\n max-width: 100%;\n height: auto;\n }\n .img-thumbnail {\n --thumbnail-padding: 0.25rem;\n --thumbnail-bg: var(--bg-body);\n --thumbnail-border-width: var(--border-width);\n --thumbnail-border-color: var(--border-color);\n --thumbnail-border-radius: var(--border-radius);\n --thumbnail-box-shadow: var(--box-shadow-sm);\n padding: var(--thumbnail-padding);\n background-color: var(--thumbnail-bg);\n border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n border-radius: var(--thumbnail-border-radius);\n box-shadow: var(--thumbnail-box-shadow);\n max-width: 100%;\n height: auto;\n }\n .figure {\n --figure-gap: calc(var(--spacer) * 0.5);\n --figure-caption-font-size: var(--font-size-sm);\n --figure-caption-color: var(--fg-3);\n display: flex;\n flex-direction: column;\n gap: var(--figure-gap);\n }\n .figure-caption {\n font-size: var(--figure-caption-font-size);\n color: var(--figure-caption-color);\n }\n}\n@layer content {\n .prose {\n --content-font-size: 1rem;\n --content-gap: 20px;\n --heading-color: light-dark(var(--gray-900), var(--white));\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--content-gap);\n max-width: 1000px;\n margin-inline: auto;\n font-size: var(--content-font-size);\n line-height: 1.5;\n }\n @media (width >= 1024px) {\n .prose {\n --content-font-size: var(--font-size-md);\n --content-gap: 24px;\n }\n }\n .prose :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n margin-block: 0;\n }\n .prose :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n margin-bottom: calc(var(--content-gap) / 4);\n }\n .prose :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) / 4);\n }\n .prose :where(hr):not(:where(.not-prose, .not-prose *)) {\n margin: calc(var(--content-gap) * 1.5) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n margin-top: 0;\n margin-bottom: calc(var(--content-gap) / -2);\n font-weight: 500;\n line-height: 1.25;\n }\n .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) code {\n font-weight: 600;\n color: inherit;\n }\n .prose :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * 0.75);\n }\n .prose :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * 0.5);\n }\n .prose :where(h1):not(:where(.not-prose, .not-prose *)) {\n font-size: 2.25em;\n line-height: 1.1;\n }\n .prose :where(h2):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.75em;\n }\n .prose :where(h3):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.5em;\n }\n .prose :where(h4):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.25em;\n }\n .prose :where(h5):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.125em;\n }\n .prose :where(h6):not(:where(.not-prose, .not-prose *)) {\n font-size: 1em;\n }\n .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n color: var(--link-color);\n text-decoration: underline;\n text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n text-underline-offset: 4px;\n transition: 0.1s text-decoration-color ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n transition: none;\n }\n }\n .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)):hover {\n text-decoration-color: var(--link-hover-color);\n }\n .prose :where(img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n .prose :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n padding-inline-start: calc(var(--content-gap) / 2);\n margin: 0;\n border-inline-start: 4px solid var(--border-color);\n }\n .prose :where(table):not(:where(.not-prose, .not-prose *)) {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n }\n .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) td,\n .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) th {\n padding: 6px 12px;\n text-align: inherit;\n border: 1px solid var(--border-color);\n }\n .prose :where(dt):not(:where(.not-prose, .not-prose *)) {\n font-weight: 500;\n }\n .prose :where(video, img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n}\n@layer layout {\n .container,\n .container-fluid,\n .container-2xl,\n .container-xl,\n .container-lg,\n .container-md,\n .container-sm {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-inline: auto;\n }\n @media (width >= 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n }\n @media (width >= 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n }\n @media (width >= 1024px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n }\n @media (width >= 1280px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1200px;\n }\n }\n @media (width >= 1536px) {\n .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1440px;\n }\n }\n}\n@layer layout {\n .row {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-inline: calc(-0.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n }\n .row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-top: var(--gutter-y);\n }\n .col {\n flex: 1 0 0;\n }\n .row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-3 {\n margin-inline-start: 25%;\n }\n .offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-6 {\n margin-inline-start: 50%;\n }\n .offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-9 {\n margin-inline-start: 75%;\n }\n .offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-0,\n .gx-0 {\n --gutter-x: 0;\n }\n .g-0,\n .gy-0 {\n --gutter-y: 0;\n }\n .g-1,\n .gx-1 {\n --gutter-x: 0.25rem;\n }\n .g-1,\n .gy-1 {\n --gutter-y: 0.25rem;\n }\n .g-2,\n .gx-2 {\n --gutter-x: 0.5rem;\n }\n .g-2,\n .gy-2 {\n --gutter-y: 0.5rem;\n }\n .g-3,\n .gx-3 {\n --gutter-x: 1rem;\n }\n .g-3,\n .gy-3 {\n --gutter-y: 1rem;\n }\n .g-4,\n .gx-4 {\n --gutter-x: 1.5rem;\n }\n .g-4,\n .gy-4 {\n --gutter-y: 1.5rem;\n }\n .g-5,\n .gx-5 {\n --gutter-x: 3rem;\n }\n .g-5,\n .gy-5 {\n --gutter-y: 3rem;\n }\n @media (width >= 576px) {\n .col-sm {\n flex: 1 0 0;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-inline-start: 0;\n }\n .offset-sm-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-sm-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-sm-3 {\n margin-inline-start: 25%;\n }\n .offset-sm-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-sm-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-sm-6 {\n margin-inline-start: 50%;\n }\n .offset-sm-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-sm-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-sm-9 {\n margin-inline-start: 75%;\n }\n .offset-sm-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-sm-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 768px) {\n .col-md {\n flex: 1 0 0;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-inline-start: 0;\n }\n .offset-md-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-md-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-md-3 {\n margin-inline-start: 25%;\n }\n .offset-md-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-md-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-md-6 {\n margin-inline-start: 50%;\n }\n .offset-md-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-md-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-md-9 {\n margin-inline-start: 75%;\n }\n .offset-md-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-md-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1024px) {\n .col-lg {\n flex: 1 0 0;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-inline-start: 0;\n }\n .offset-lg-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-lg-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-lg-3 {\n margin-inline-start: 25%;\n }\n .offset-lg-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-lg-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-lg-6 {\n margin-inline-start: 50%;\n }\n .offset-lg-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-lg-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-lg-9 {\n margin-inline-start: 75%;\n }\n .offset-lg-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-lg-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1280px) {\n .col-xl {\n flex: 1 0 0;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-inline-start: 0;\n }\n .offset-xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-xl-3 {\n margin-inline-start: 25%;\n }\n .offset-xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-xl-6 {\n margin-inline-start: 50%;\n }\n .offset-xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-xl-9 {\n margin-inline-start: 75%;\n }\n .offset-xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1536px) {\n .col-2xl {\n flex: 1 0 0;\n }\n .row-cols-2xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-2xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-2xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-2xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-2xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-2xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-2xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-2xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-2xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-2xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-2xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-2xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-2xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-2xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-2xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-2xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-2xl-0 {\n margin-inline-start: 0;\n }\n .offset-2xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-2xl-3 {\n margin-inline-start: 25%;\n }\n .offset-2xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-2xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-2xl-6 {\n margin-inline-start: 50%;\n }\n .offset-2xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-2xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-2xl-9 {\n margin-inline-start: 75%;\n }\n .offset-2xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-2xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-2xl-0,\n .gx-2xl-0 {\n --gutter-x: 0;\n }\n .g-2xl-0,\n .gy-2xl-0 {\n --gutter-y: 0;\n }\n .g-2xl-1,\n .gx-2xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-2xl-1,\n .gy-2xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-2xl-2,\n .gx-2xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-2xl-2,\n .gy-2xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-2xl-3,\n .gx-2xl-3 {\n --gutter-x: 1rem;\n }\n .g-2xl-3,\n .gy-2xl-3 {\n --gutter-y: 1rem;\n }\n .g-2xl-4,\n .gx-2xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-2xl-4,\n .gy-2xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-2xl-5,\n .gx-2xl-5 {\n --gutter-x: 3rem;\n }\n .g-2xl-5,\n .gy-2xl-5 {\n --gutter-y: 3rem;\n }\n }\n .grid {\n --columns: 12;\n --rows: 1;\n --gap: 1.5rem;\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n }\n .g-col-1 {\n grid-column: auto/span 1;\n }\n .g-col-2 {\n grid-column: auto/span 2;\n }\n .g-col-3 {\n grid-column: auto/span 3;\n }\n .g-col-4 {\n grid-column: auto/span 4;\n }\n .g-col-5 {\n grid-column: auto/span 5;\n }\n .g-col-6 {\n grid-column: auto/span 6;\n }\n .g-col-7 {\n grid-column: auto/span 7;\n }\n .g-col-8 {\n grid-column: auto/span 8;\n }\n .g-col-9 {\n grid-column: auto/span 9;\n }\n .g-col-10 {\n grid-column: auto/span 10;\n }\n .g-col-11 {\n grid-column: auto/span 11;\n }\n .g-col-12 {\n grid-column: auto/span 12;\n }\n .g-start-1 {\n grid-column-start: 1;\n }\n .g-start-2 {\n grid-column-start: 2;\n }\n .g-start-3 {\n grid-column-start: 3;\n }\n .g-start-4 {\n grid-column-start: 4;\n }\n .g-start-5 {\n grid-column-start: 5;\n }\n .g-start-6 {\n grid-column-start: 6;\n }\n .g-start-7 {\n grid-column-start: 7;\n }\n .g-start-8 {\n grid-column-start: 8;\n }\n .g-start-9 {\n grid-column-start: 9;\n }\n .g-start-10 {\n grid-column-start: 10;\n }\n .g-start-11 {\n grid-column-start: 11;\n }\n @media (width >= 576px) {\n .g-col-sm-1 {\n grid-column: auto/span 1;\n }\n .g-col-sm-2 {\n grid-column: auto/span 2;\n }\n .g-col-sm-3 {\n grid-column: auto/span 3;\n }\n .g-col-sm-4 {\n grid-column: auto/span 4;\n }\n .g-col-sm-5 {\n grid-column: auto/span 5;\n }\n .g-col-sm-6 {\n grid-column: auto/span 6;\n }\n .g-col-sm-7 {\n grid-column: auto/span 7;\n }\n .g-col-sm-8 {\n grid-column: auto/span 8;\n }\n .g-col-sm-9 {\n grid-column: auto/span 9;\n }\n .g-col-sm-10 {\n grid-column: auto/span 10;\n }\n .g-col-sm-11 {\n grid-column: auto/span 11;\n }\n .g-col-sm-12 {\n grid-column: auto/span 12;\n }\n .g-start-sm-1 {\n grid-column-start: 1;\n }\n .g-start-sm-2 {\n grid-column-start: 2;\n }\n .g-start-sm-3 {\n grid-column-start: 3;\n }\n .g-start-sm-4 {\n grid-column-start: 4;\n }\n .g-start-sm-5 {\n grid-column-start: 5;\n }\n .g-start-sm-6 {\n grid-column-start: 6;\n }\n .g-start-sm-7 {\n grid-column-start: 7;\n }\n .g-start-sm-8 {\n grid-column-start: 8;\n }\n .g-start-sm-9 {\n grid-column-start: 9;\n }\n .g-start-sm-10 {\n grid-column-start: 10;\n }\n .g-start-sm-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 768px) {\n .g-col-md-1 {\n grid-column: auto/span 1;\n }\n .g-col-md-2 {\n grid-column: auto/span 2;\n }\n .g-col-md-3 {\n grid-column: auto/span 3;\n }\n .g-col-md-4 {\n grid-column: auto/span 4;\n }\n .g-col-md-5 {\n grid-column: auto/span 5;\n }\n .g-col-md-6 {\n grid-column: auto/span 6;\n }\n .g-col-md-7 {\n grid-column: auto/span 7;\n }\n .g-col-md-8 {\n grid-column: auto/span 8;\n }\n .g-col-md-9 {\n grid-column: auto/span 9;\n }\n .g-col-md-10 {\n grid-column: auto/span 10;\n }\n .g-col-md-11 {\n grid-column: auto/span 11;\n }\n .g-col-md-12 {\n grid-column: auto/span 12;\n }\n .g-start-md-1 {\n grid-column-start: 1;\n }\n .g-start-md-2 {\n grid-column-start: 2;\n }\n .g-start-md-3 {\n grid-column-start: 3;\n }\n .g-start-md-4 {\n grid-column-start: 4;\n }\n .g-start-md-5 {\n grid-column-start: 5;\n }\n .g-start-md-6 {\n grid-column-start: 6;\n }\n .g-start-md-7 {\n grid-column-start: 7;\n }\n .g-start-md-8 {\n grid-column-start: 8;\n }\n .g-start-md-9 {\n grid-column-start: 9;\n }\n .g-start-md-10 {\n grid-column-start: 10;\n }\n .g-start-md-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1024px) {\n .g-col-lg-1 {\n grid-column: auto/span 1;\n }\n .g-col-lg-2 {\n grid-column: auto/span 2;\n }\n .g-col-lg-3 {\n grid-column: auto/span 3;\n }\n .g-col-lg-4 {\n grid-column: auto/span 4;\n }\n .g-col-lg-5 {\n grid-column: auto/span 5;\n }\n .g-col-lg-6 {\n grid-column: auto/span 6;\n }\n .g-col-lg-7 {\n grid-column: auto/span 7;\n }\n .g-col-lg-8 {\n grid-column: auto/span 8;\n }\n .g-col-lg-9 {\n grid-column: auto/span 9;\n }\n .g-col-lg-10 {\n grid-column: auto/span 10;\n }\n .g-col-lg-11 {\n grid-column: auto/span 11;\n }\n .g-col-lg-12 {\n grid-column: auto/span 12;\n }\n .g-start-lg-1 {\n grid-column-start: 1;\n }\n .g-start-lg-2 {\n grid-column-start: 2;\n }\n .g-start-lg-3 {\n grid-column-start: 3;\n }\n .g-start-lg-4 {\n grid-column-start: 4;\n }\n .g-start-lg-5 {\n grid-column-start: 5;\n }\n .g-start-lg-6 {\n grid-column-start: 6;\n }\n .g-start-lg-7 {\n grid-column-start: 7;\n }\n .g-start-lg-8 {\n grid-column-start: 8;\n }\n .g-start-lg-9 {\n grid-column-start: 9;\n }\n .g-start-lg-10 {\n grid-column-start: 10;\n }\n .g-start-lg-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1280px) {\n .g-col-xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-xl-1 {\n grid-column-start: 1;\n }\n .g-start-xl-2 {\n grid-column-start: 2;\n }\n .g-start-xl-3 {\n grid-column-start: 3;\n }\n .g-start-xl-4 {\n grid-column-start: 4;\n }\n .g-start-xl-5 {\n grid-column-start: 5;\n }\n .g-start-xl-6 {\n grid-column-start: 6;\n }\n .g-start-xl-7 {\n grid-column-start: 7;\n }\n .g-start-xl-8 {\n grid-column-start: 8;\n }\n .g-start-xl-9 {\n grid-column-start: 9;\n }\n .g-start-xl-10 {\n grid-column-start: 10;\n }\n .g-start-xl-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1536px) {\n .g-col-2xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-2xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-2xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-2xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-2xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-2xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-2xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-2xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-2xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-2xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-2xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-2xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-2xl-1 {\n grid-column-start: 1;\n }\n .g-start-2xl-2 {\n grid-column-start: 2;\n }\n .g-start-2xl-3 {\n grid-column-start: 3;\n }\n .g-start-2xl-4 {\n grid-column-start: 4;\n }\n .g-start-2xl-5 {\n grid-column-start: 5;\n }\n .g-start-2xl-6 {\n grid-column-start: 6;\n }\n .g-start-2xl-7 {\n grid-column-start: 7;\n }\n .g-start-2xl-8 {\n grid-column-start: 8;\n }\n .g-start-2xl-9 {\n grid-column-start: 9;\n }\n .g-start-2xl-10 {\n grid-column-start: 10;\n }\n .g-start-2xl-11 {\n grid-column-start: 11;\n }\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-fill {\n --gap: 1.5rem;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n}\n@layer forms {\n .form-label,\n .col-form-label {\n font-size: var(--label-font-size, var(--font-size-sm));\n font-style: var(--label-font-style, inherit);\n font-weight: var(--label-font-weight, inherit);\n color: var(--label-color, var(--fg-body));\n }\n .form-label {\n margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\n }\n .col-form-label {\n --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n padding-block: var(--label-padding-y);\n margin-bottom: 0;\n }\n .col-form-label-lg {\n --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n font-size: var(--btn-input-lg-font-size);\n }\n .col-form-label-sm {\n --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n font-size: var(--btn-input-sm-font-size);\n }\n}\n@layer forms {\n .form-text {\n --form-text-margin-top: 0.25rem;\n --form-text-font-size: var(--font-size-sm);\n --form-text-color: var(--fg-3);\n margin-top: var(--form-text-margin-top);\n font-size: var(--form-text-font-size);\n font-style: var(--form-text-font-style);\n font-weight: var(--form-text-font-weight);\n color: var(--form-text-color);\n }\n}\n@layer forms {\n .form-control {\n --control-min-height: var(--btn-input-min-height);\n --control-padding-y: var(--btn-input-padding-y);\n --control-padding-x: var(--btn-input-padding-x);\n --control-font-size: var(--btn-input-font-size);\n --control-line-height: var(--btn-input-line-height);\n --control-fg: var(--btn-input-fg);\n --control-bg: var(--btn-input-bg);\n --control-border-width: var(--border-width);\n --control-border-color: var(--border-color);\n --control-border-radius: var(--border-radius);\n --control-box-shadow: var(--box-shadow-inset);\n --control-action-bg: var(--bg-1);\n --control-action-hover-bg: var(--bg-2);\n --control-transition-property: border-color, box-shadow;\n --control-transition-timing: 0.15s ease-in-out;\n --control-transition: var(--control-transition-property) var(--control-transition-timing);\n --control-placeholder-color: var(--fg-3);\n --control-disabled-color: var(--control-fg);\n --control-disabled-bg: var(--bg-2);\n --control-disabled-border-color: var(--control-border-color);\n --control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n --control-select-bg-position: right 0.75rem center;\n --control-select-bg-size: 16px 12px;\n --control-select-bg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n display: flex;\n width: 100%;\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n font-size: var(--control-font-size);\n line-height: var(--control-line-height);\n color: var(--control-fg);\n appearance: none;\n background-color: var(--control-bg);\n background-clip: padding-box;\n border: var(--control-border-width) solid var(--control-border-color);\n border-radius: var(--control-border-radius);\n box-shadow: var(--control-box-shadow);\n transition: var(--control-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n }\n .form-control:focus-visible {\n --focus-ring-offset: -1px;\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-control::placeholder {\n color: var(--control-placeholder-color);\n opacity: 1;\n }\n .form-control:disabled {\n color: var(--control-disabled-color);\n background-color: var(--control-disabled-bg);\n border-color: var(--control-disabled-border-color);\n opacity: 1;\n }\n .form-control::-webkit-datetime-edit {\n display: block;\n height: 1.5rem;\n padding: 0;\n margin-bottom: -0.125rem;\n }\n .form-control::-webkit-datetime-edit-fields-wrapper {\n height: 1.5rem;\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::file-selector-button {\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n margin-inline-end: var(--control-padding-x);\n color: var(--control-fg);\n background-color: var(--control-action-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--control-border-width);\n border-radius: 0;\n transition: var(--control-transition);\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(--control-action-hover-bg);\n }\n .form-control-plaintext {\n display: block;\n width: 100%;\n padding: var(--control-padding-y) 0;\n margin-bottom: 0;\n line-height: var(--control-line-height);\n color: var(--control-fg);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--control-border-width) 0;\n }\n .form-control-plaintext:focus {\n outline: 0;\n }\n .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-inline: 0;\n }\n select.form-control {\n padding-inline-end: calc(var(--control-padding-x) * 3);\n background-image: var(--control-select-bg);\n background-repeat: no-repeat;\n background-position: var(--control-select-bg-position);\n background-size: var(--control-select-bg-size);\n }\n select.form-control[multiple], select.form-control[size]:not([size=\"1\"]) {\n padding-inline-end: var(--control-padding-x);\n background-image: none;\n }\n @media (prefers-color-scheme: dark) {\n select.form-control {\n background-image: var(--control-select-bg-dark);\n }\n }\n .form-control-sm {\n --control-min-height: var(--btn-input-sm-min-height);\n --control-padding-y: var(--btn-input-sm-padding-y);\n --control-padding-x: var(--btn-input-sm-padding-x);\n --control-font-size: var(--btn-input-sm-font-size);\n --control-line-height: var(--btn-input-sm-line-height);\n --control-border-radius: var(--btn-input-sm-border-radius);\n }\n .form-control-lg {\n --control-min-height: var(--btn-input-lg-min-height);\n --control-padding-y: var(--btn-input-lg-padding-y);\n --control-padding-x: var(--btn-input-lg-padding-x);\n --control-font-size: var(--btn-input-lg-font-size);\n --control-line-height: var(--btn-input-lg-line-height);\n --control-border-radius: var(--btn-input-lg-border-radius);\n }\n .form-control-color {\n width: var(--control-min-height);\n padding: var(--control-padding-y);\n }\n .form-control-color:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n .form-control-color::-moz-color-swatch {\n border: 0 !important;\n border-radius: var(--border-radius-sm);\n }\n .form-control-color::-webkit-color-swatch {\n border: 0 !important;\n border-radius: var(--border-radius-sm);\n }\n .form-ghost {\n display: block;\n width: 100%;\n padding: 0;\n font: inherit;\n color: inherit;\n appearance: none;\n background: transparent;\n border: 0;\n }\n .form-ghost:focus {\n outline: 0;\n }\n .form-ghost::placeholder {\n color: var(--fg-3);\n opacity: 1;\n }\n .form-ghost:disabled {\n color: var(--fg-4);\n cursor: not-allowed;\n }\n}\n@layer forms {\n .checkgroup {\n display: flex;\n gap: var(--gap, 0.5rem);\n align-items: var(--align-items, start);\n }\n .checkgroup .description {\n color: var(--fg-3);\n }\n .check {\n --check-size: 1.25rem;\n --check-margin-block: 0.125rem;\n --check-bg: transparent;\n --check-border-color: var(--border-color);\n --check-border-radius: 0.375rem;\n --check-checked-bg: var(--control-checked-bg);\n --check-checked-border-color: var(--control-checked-border-color);\n --check-indeterminate-bg: var(--control-checked-bg);\n --check-indeterminate-border-color: var(--control-checked-border-color);\n --check-active-bg: var(--control-active-bg);\n --check-active-border-color: var(--control-active-border-color);\n --check-disabled-bg: var(--control-disabled-bg);\n --check-disabled-opacity: var(--control-disabled-opacity);\n display: grid;\n grid-template-columns: repeat(1, minmax(0, 1fr));\n margin-block: var(--check-margin-block);\n }\n .check :where(svg, input) {\n flex-shrink: 0;\n grid-row-start: 1;\n grid-column-start: 1;\n width: var(--check-size);\n height: var(--check-size);\n }\n .check :where(input) {\n appearance: none;\n background-color: var(--theme-bg, var(--check-bg));\n border: 1px solid var(--theme-bg, var(--check-border-color));\n border-radius: 0.3em;\n }\n .check :where(input:checked, input:indeterminate) {\n background-color: var(--theme-bg, var(--check-checked-bg));\n border-color: var(--theme-bg, var(--check-checked-border-color));\n }\n .check :where(input:focus-visible) {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .check:has(input:checked) .checked, .check:has(input:indeterminate) .indeterminate {\n display: block;\n color: var(--theme-contrast, var(--primary-contrast));\n stroke: currentcolor;\n }\n .check:has(input:disabled) {\n --check-bg: var(--check-disabled-bg);\n }\n .check:has(input:disabled) ~ label {\n color: var(--fg-3);\n cursor: default;\n }\n .check:has(input:disabled:checked) {\n opacity: var(--check-disabled-opacity);\n }\n .check :where(svg) {\n pointer-events: none;\n }\n .check :where(svg path) {\n display: none;\n }\n .check-sm {\n --check-size: 1rem;\n }\n .check-lg {\n --check-size: 1.5rem;\n --check-margin-block: 0;\n }\n}\n@layer forms {\n .radiogroup {\n display: flex;\n gap: var(--gap, 0.5rem);\n align-items: var(--align-items, start);\n }\n .radiogroup .description {\n color: var(--fg-3);\n }\n .radio {\n --radio-size: 1.25rem;\n --radio-margin-block: 0.125rem;\n --radio-bg: transparent;\n --radio-border-color: var(--border-color);\n --radio-checked-bg: var(--control-checked-bg);\n --radio-checked-border-color: var(--control-checked-border-color);\n --radio-disabled-bg: var(--control-disabled-bg);\n --radio-disabled-opacity: var(--control-disabled-opacity);\n position: relative;\n flex-shrink: 0;\n width: var(--radio-size);\n height: var(--radio-size);\n margin-block: var(--radio-margin-block);\n appearance: none;\n background-color: var(--theme-bg, var(--radio-bg));\n border: 1px solid var(--theme-bg, var(--radio-border-color));\n border-radius: 50%;\n }\n .radio:checked {\n color: var(--theme-contrast, var(--primary-contrast));\n background-color: var(--theme-bg, var(--radio-checked-bg));\n border-color: var(--theme-bg, var(--radio-checked-border-color));\n }\n .radio:checked::before {\n position: absolute;\n inset: 0.25rem;\n content: \"\";\n background-color: currentcolor;\n border-radius: 50%;\n }\n .radio:disabled {\n --radio-bg: var(--radio-disabled-bg);\n }\n .radio:disabled ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n .radio:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .radio-sm {\n --radio-size: 1rem;\n }\n .radio-lg {\n --radio-size: 1.5rem;\n --radio-margin-block: 0;\n }\n}\n@layer forms {\n .switch {\n --switch-height: 1.25rem;\n --switch-width: calc(var(--switch-height) * 1.5);\n --switch-padding: 0.0625rem;\n --switch-margin-block: 0.125rem;\n --switch-bg: var(--bg-3);\n --switch-border-width: var(--border-width);\n --switch-border-color: var(--border-color);\n --switch-indicator-bg: var(--white);\n --switch-checked-bg: var(--control-checked-bg);\n --switch-checked-border-color: var(--switch-checked-bg);\n --switch-checked-indicator-bg: var(--white);\n --switch-disabled-bg: var(--control-disabled-bg);\n --switch-disabled-indicator-bg: var(--fg-3);\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: stretch;\n justify-content: flex-start;\n width: var(--switch-width);\n height: var(--switch-height);\n padding: var(--switch-padding);\n margin-block: var(--switch-margin-block);\n background-color: var(--switch-bg);\n border: var(--switch-border-width) solid var(--switch-border-color);\n border-radius: 10rem;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);\n transition: 0.15s ease-in-out;\n transition-property: padding-inline-start, background-color;\n }\n .switch::before {\n flex-shrink: 0;\n width: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n height: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n content: \"\";\n background-color: var(--theme-contrast, var(--switch-indicator-bg));\n border-radius: 50%;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n }\n .switch input {\n position: absolute;\n inset: 0;\n appearance: none;\n background-color: transparent;\n outline: 0;\n }\n .switch:focus-within {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .switch:has(input:checked) {\n padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n background-color: var(--theme-bg, var(--switch-checked-bg));\n border-color: var(--theme-bg, var(--switch-checked-border-color));\n }\n .switch:has(input:disabled) {\n --switch-bg: var(--switch-disabled-bg);\n --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n }\n .switch:has(input:disabled)::before {\n opacity: 0.4;\n }\n .switch:has(input:disabled) ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n .switch-sm {\n --switch-height: 1rem;\n }\n .switch-lg {\n --switch-height: 1.5rem;\n --switch-margin-block: 0;\n }\n}\n@layer forms {\n .form-range {\n --range-track-width: 100%;\n --range-track-height: 0.5rem;\n --range-track-cursor: pointer;\n --range-track-bg: var(--bg-3);\n --range-track-border-radius: 1rem;\n --range-track-box-shadow: var(--box-shadow-inset);\n --range-thumb-width: 1rem;\n --range-thumb-height: var(--range-thumb-width);\n --range-thumb-bg: var(--primary-base);\n --range-thumb-border: 0;\n --range-thumb-border-radius: 1rem;\n --range-thumb-box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body));\n --range-thumb-disabled-bg: var(--fg-3);\n --range-thumb-transition-property: background-color, border-color, box-shadow;\n --range-thumb-transition-timing: 0.15s ease-in-out;\n --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing);\n width: 100%;\n height: calc(var(--range-thumb-height) + var(--focus-ring-width) * 2);\n padding: 0;\n appearance: none;\n background-color: transparent;\n }\n .form-range:focus {\n outline: 0;\n }\n .form-range:focus::-webkit-slider-thumb {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .form-range:focus::-moz-range-thumb {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .form-range::-moz-focus-outer {\n border: 0;\n }\n .form-range::-webkit-slider-thumb {\n width: var(--range-thumb-width);\n height: var(--range-thumb-height);\n appearance: none;\n background-color: var(--range-thumb-bg);\n border: var(--range-thumb-border);\n border-radius: var(--range-thumb-border-radius);\n box-shadow: var(--range-thumb-box-shadow);\n transition: var(--range-thumb-transition);\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: var(--range-thumb-active-bg);\n }\n .form-range::-webkit-slider-thumb {\n margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * 0.5);\n }\n .form-range::-moz-range-thumb {\n width: var(--range-thumb-width);\n height: var(--range-thumb-height);\n appearance: none;\n background-color: var(--range-thumb-bg);\n border: var(--range-thumb-border);\n border-radius: var(--range-thumb-border-radius);\n box-shadow: var(--range-thumb-box-shadow);\n transition: var(--range-thumb-transition);\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: var(--range-thumb-active-bg);\n }\n .form-range::-webkit-slider-runnable-track {\n width: var(--range-track-width);\n height: var(--range-track-height);\n color: transparent;\n cursor: var(--range-track-cursor);\n background-color: var(--range-track-bg);\n border-color: transparent;\n border-radius: var(--range-track-border-radius);\n box-shadow: var(--range-track-box-shadow);\n }\n .form-range::-moz-range-track {\n width: var(--range-track-width);\n height: var(--range-track-height);\n color: transparent;\n cursor: var(--range-track-cursor);\n background-color: var(--range-track-bg);\n border-color: transparent;\n border-radius: var(--range-track-border-radius);\n box-shadow: var(--range-track-box-shadow);\n }\n .form-range:disabled {\n pointer-events: none;\n }\n .form-range:disabled::-webkit-slider-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n .form-range:disabled::-moz-range-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n}\n@layer forms {\n .form-floating {\n --form-floating-height: calc(3.5rem + var(--border-width) * 2);\n --form-floating-line-height: 1.25;\n --form-floating-padding-x: var(--btn-input-padding-x);\n --form-floating-padding-y: 1rem;\n --form-floating-input-padding-t: 1.625rem;\n --form-floating-input-padding-b: 0.625rem;\n --form-floating-label-height: 1.5em;\n --form-floating-label-opacity: 0.65;\n --form-floating-label-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n --form-floating-label-disabled-color: var(--fg-3);\n --form-floating-transition-property: opacity, transform;\n --form-floating-transition-timing: 0.1s ease-in-out;\n --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing);\n position: relative;\n }\n .form-floating > label {\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n max-width: 100%;\n height: 100%;\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n overflow: hidden;\n color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--input-btn-border-width) solid transparent;\n transform-origin: 0 0;\n transition: var(--form-floating-transition);\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 height: var(--form-floating-height);\n min-height: var(--form-floating-height);\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n line-height: var(--form-floating-line-height);\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: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n .form-floating > .form-control:-webkit-autofill,\n .form-floating > .form-control-plaintext:-webkit-autofill {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\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 transform: var(--form-floating-label-transform);\n }\n .form-floating > .form-control:-webkit-autofill ~ label {\n transform: var(--form-floating-label-transform);\n }\n .form-floating > textarea:focus ~ label::after,\n .form-floating > textarea:not(:placeholder-shown) ~ label::after {\n position: absolute;\n inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * 0.5);\n z-index: -1;\n height: var(--form-floating-label-height);\n content: \"\";\n background-color: var(--control-bg);\n border-radius: var(--btn-input-border-radius);\n }\n .form-floating > textarea:disabled ~ label::after {\n background-color: var(--control-disabled-bg);\n }\n .form-floating > .form-control-plaintext ~ label {\n border-width: var(--control-border-width) 0;\n }\n .form-floating > :disabled ~ label,\n .form-floating > .form-control:disabled ~ label {\n color: var(--form-floating-label-disabled-color);\n }\n}\n@layer components {\n .input-group {\n --input-group-addon-padding-y: var(--btn-input-padding-y);\n --input-group-addon-padding-x: var(--btn-input-padding-x);\n --input-group-addon-font-size: var(--btn-input-font-size);\n --input-group-addon-line-height: var(--btn-input-line-height);\n --input-group-addon-color: var(--fg-body);\n --input-group-addon-bg: var(--bg-2);\n --input-group-addon-border-color: var(--border-color);\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-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-floating:focus-within {\n z-index: 5;\n }\n .input-group > .input-group-btn {\n position: relative;\n z-index: 2;\n }\n .input-group > .input-group-btn:focus {\n z-index: 5;\n }\n .input-group-text {\n display: flex;\n align-items: center;\n padding: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n font-size: var(--input-group-addon-font-size);\n line-height: var(--input-group-addon-line-height);\n color: var(--input-group-addon-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--input-group-addon-bg);\n border: var(--border-width) solid var(--input-group-addon-border-color);\n border-radius: var(--btn-input-border-radius);\n }\n .input-group-sm > .form-control,\n .input-group-sm > .input-group-text,\n .input-group-sm > .btn {\n min-height: var(--btn-input-sm-min-height);\n padding: var(--btn-input-sm-padding-y) var(--btn-input-sm-padding-x);\n font-size: var(--btn-input-sm-font-size);\n border-radius: var(--btn-input-sm-border-radius);\n }\n .input-group-lg > .form-control,\n .input-group-lg > .input-group-text,\n .input-group-lg > .btn {\n min-height: var(--btn-input-lg-min-height);\n padding: var(--btn-input-lg-padding-y) var(--btn-input-lg-padding-x);\n font-size: var(--btn-input-lg-font-size);\n border-radius: var(--btn-input-lg-border-radius);\n }\n .input-group:not(.has-validation) > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n .input-group:not(.has-validation) > .menu-toggle-split:nth-last-child(n+3),\n .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .input-group.has-validation > :nth-last-child(n+3):not(.menu-toggle-split):not(.menu):not(.form-floating),\n .input-group.has-validation > .menu-toggle-split:nth-last-child(n+4),\n .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .input-group > :not(:first-child):not(.menu) {\n margin-inline-start: calc(-1 * var(--border-width));\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .input-group > .form-floating:not(:first-child) > .form-control,\n .input-group > .form-floating:not(:first-child) > .form-select {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n}\n@layer forms {\n .strength {\n --strength-height: 0.375rem;\n --strength-gap: 0.25rem;\n --strength-margin-top: 0.25rem;\n --strength-border-radius: var(--border-radius-pill);\n --strength-bg: var(--bg-2);\n --strength-color: var(--bg-2);\n --strength-weak-color: var(--danger-bg);\n --strength-fair-color: var(--warning-bg);\n --strength-good-color: var(--info-bg);\n --strength-strong-color: var(--success-bg);\n display: flex;\n gap: var(--strength-gap);\n width: 100%;\n margin-top: var(--strength-margin-top);\n }\n .strength-segment {\n flex: 1;\n height: var(--strength-height);\n background-color: var(--strength-bg);\n border-radius: var(--strength-border-radius);\n transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .strength-segment {\n transition: none;\n }\n }\n .strength-segment.active {\n background-color: var(--strength-color);\n }\n .strength[data-bs-strength=weak] {\n --strength-color: var(--strength-weak-color);\n }\n .strength[data-bs-strength=fair] {\n --strength-color: var(--strength-fair-color);\n }\n .strength[data-bs-strength=good] {\n --strength-color: var(--strength-good-color);\n }\n .strength[data-bs-strength=strong] {\n --strength-color: var(--strength-strong-color);\n }\n .strength-text {\n display: block;\n margin-top: var(--strength-margin-top);\n font-size: var(--font-size-xs);\n color: var(--strength-color, var(--fg-3));\n transition: color 0.2s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .strength-text {\n transition: none;\n }\n }\n .strength-text:empty {\n display: none;\n }\n .strength-bar {\n --strength-height: 0.375rem;\n --strength-gap: 0.25rem;\n --strength-margin-top: 0.25rem;\n --strength-border-radius: var(--border-radius-pill);\n --strength-bg: var(--bg-2);\n --strength-color: var(--bg-2);\n --strength-weak-color: var(--danger-bg);\n --strength-fair-color: var(--warning-bg);\n --strength-good-color: var(--info-bg);\n --strength-strong-color: var(--success-bg);\n --strength-color: transparent;\n --strength-width: 0%;\n width: 100%;\n height: var(--strength-height);\n margin-top: var(--strength-margin-top);\n overflow: hidden;\n background-color: var(--strength-bg);\n border-radius: var(--strength-border-radius);\n }\n .strength-bar::after {\n display: block;\n width: var(--strength-width);\n height: 100%;\n content: \"\";\n background-color: var(--strength-color);\n border-radius: var(--strength-border-radius);\n transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .strength-bar::after {\n transition: none;\n }\n }\n .strength-bar[data-bs-strength=weak] {\n --strength-color: var(--strength-weak-color);\n --strength-width: 25%;\n }\n .strength-bar[data-bs-strength=fair] {\n --strength-color: var(--strength-fair-color);\n --strength-width: 50%;\n }\n .strength-bar[data-bs-strength=good] {\n --strength-color: var(--strength-good-color);\n --strength-width: 75%;\n }\n .strength-bar[data-bs-strength=strong] {\n --strength-color: var(--strength-strong-color);\n --strength-width: 100%;\n }\n}\n@layer components {\n .otp {\n --otp-size: var(--btn-input-lg-min-height);\n --otp-font-size: var(--btn-input-font-size);\n --otp-gap: 0.5rem;\n display: inline-flex;\n gap: var(--otp-gap);\n }\n .otp .form-control {\n width: var(--otp-size);\n min-height: var(--otp-size);\n padding: 0;\n font-size: var(--otp-font-size);\n font-weight: 500;\n line-height: 1;\n text-align: center;\n border-radius: var(--otp-border-radius, var(--btn-input-border-radius));\n }\n .otp .form-control::-webkit-outer-spin-button, .otp .form-control::-webkit-inner-spin-button {\n margin: 0;\n appearance: none;\n }\n .otp .form-control[type=number] {\n appearance: textfield;\n }\n .otp .form-control:focus, .otp .form-control:focus-visible {\n z-index: 1;\n }\n .otp.is-valid .form-control, .was-validated .otp:valid .form-control {\n border-color: var(--form-valid-border-color);\n }\n .otp.is-valid .form-control:focus, .was-validated .otp:valid .form-control:focus {\n --focus-ring-color: rgba(var(--success-rgb), .25);\n border-color: var(--form-valid-border-color);\n }\n .otp.is-invalid .form-control, .was-validated .otp:invalid .form-control {\n border-color: var(--form-invalid-border-color);\n }\n .otp.is-invalid .form-control:focus, .was-validated .otp:invalid .form-control:focus {\n --focus-ring-color: rgba(var(--danger-rgb), .25);\n border-color: var(--form-invalid-border-color);\n }\n .otp.input-group {\n gap: 0;\n width: auto;\n }\n .otp.input-group .form-control {\n flex: 0 0 auto;\n }\n .otp-separator {\n display: flex;\n align-items: center;\n padding-inline: var(--otp-gap);\n font-size: var(--otp-font-size);\n color: var(--fg-4);\n user-select: none;\n }\n .otp-sm {\n --otp-size: var(--btn-input-sm-min-height);\n --otp-font-size: var(--btn-input-sm-font-size);\n --otp-border-radius: var(--btn-input-sm-border-radius);\n }\n .otp-lg {\n --otp-size: var(--btn-input-lg-min-height);\n --otp-font-size: var(--btn-input-lg-font-size);\n --otp-border-radius: var(--btn-input-lg-border-radius);\n }\n}\n@layer forms {\n .form-adorn {\n --form-adorn-gap: 0.375rem;\n --form-adorn-icon-size: 1rem;\n --form-adorn-icon-color: var(--fg-2);\n gap: var(--form-adorn-gap);\n align-items: center;\n }\n .form-adorn:focus-visible {\n outline: 0;\n }\n .form-adorn:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-adorn > .form-ghost {\n flex: 1;\n min-width: 0;\n }\n .form-adorn.form-adorn-end > .form-ghost {\n order: -1;\n }\n .form-adorn-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n }\n .form-adorn-icon > svg {\n width: var(--form-adorn-icon-size);\n height: var(--form-adorn-icon-size);\n }\n .form-adorn-text {\n flex-shrink: 0;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n user-select: none;\n }\n}\n@layer forms {\n .chip-input {\n --chip-input-padding-y: 0.75rem;\n --chip-input-padding-x: 0.75rem;\n --chip-input-gap: 0.375rem;\n --chip-input-ghost-min-width: 5rem;\n --control-fg: var(--btn-input-fg);\n --control-bg: var(--btn-input-bg);\n --control-border-width: var(--border-width);\n --control-border-color: var(--border-color);\n --control-border-radius: var(--border-radius);\n display: flex;\n flex-wrap: wrap;\n gap: var(--chip-input-gap);\n align-items: center;\n padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n color: var(--control-fg);\n background-color: var(--control-bg);\n border: var(--control-border-width) solid var(--control-border-color);\n border-radius: var(--control-border-radius);\n }\n .chip-input:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .chip-input > .form-ghost {\n flex: 1 1 0;\n min-width: var(--chip-input-ghost-min-width);\n min-height: 1.75rem;\n }\n .chip-input.disabled, .chip-input:has(.form-ghost:disabled) {\n background-color: var(--bg-2);\n opacity: 1;\n }\n .chip-input.disabled > .chip, .chip-input:has(.form-ghost:disabled) > .chip {\n opacity: var(--control-disabled-opacity);\n }\n .chip-input.disabled > .chip .chip-dismiss, .chip-input:has(.form-ghost:disabled) > .chip .chip-dismiss {\n pointer-events: none;\n }\n .chip-input.disabled > .form-ghost, .chip-input:has(.form-ghost:disabled) > .form-ghost {\n cursor: not-allowed;\n }\n}\n@layer components {\n .combobox-toggle {\n display: inline-flex;\n gap: 0.5rem;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding-inline-end: var(--control-padding-x);\n text-align: start;\n cursor: pointer;\n }\n .combobox-toggle.show {\n background-color: var(--bg-1);\n }\n .combobox-toggle:disabled, .combobox-toggle.disabled {\n cursor: not-allowed;\n opacity: 0.65;\n }\n .combobox-value {\n display: flex;\n flex: 1;\n gap: 0.5rem;\n align-items: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .combobox-placeholder {\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n .combobox-caret {\n flex-shrink: 0;\n transition: transform 0.2s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .combobox-caret {\n transition: none;\n }\n }\n .show > .combobox-caret {\n transform: rotate(180deg);\n }\n .combobox-toggle + .menu {\n --menu-max-height: 300px;\n --menu-overflow-y: auto;\n }\n .combobox-search {\n position: sticky;\n top: 0;\n z-index: 1;\n padding: var(--menu-padding-x, 0.25rem);\n background-color: var(--menu-bg, var(--bg-body));\n }\n .combobox-search-input {\n width: 100%;\n }\n .combobox-no-results {\n padding: 1rem;\n font-size: var(--font-size-sm);\n color: var(--fg-3);\n text-align: center;\n }\n}\n@layer components {\n .tooltip {\n --tooltip-zindex: 1080;\n --tooltip-max-width: 200px;\n --tooltip-padding-x: 0.75rem;\n --tooltip-padding-y: 0.375rem;\n --tooltip-font-size: var(--font-size-sm);\n --tooltip-color: var(--bg-body);\n --tooltip-bg: var(--fg-body);\n --tooltip-border-radius: var(--border-radius);\n --tooltip-opacity: 0.95;\n --tooltip-arrow-width: 0.8rem;\n --tooltip-arrow-height: 0.4rem;\n z-index: var(--tooltip-zindex);\n display: block;\n font-family: var(--body-font-family);\n font-style: normal;\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--tooltip-font-size);\n word-wrap: break-word;\n opacity: 0;\n }\n .tooltip.show {\n opacity: var(--tooltip-opacity);\n }\n .tooltip .tooltip-arrow {\n display: block;\n width: var(--tooltip-arrow-width);\n height: var(--tooltip-arrow-height);\n }\n .tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow {\n bottom: calc(-1 * var(--tooltip-arrow-height));\n }\n .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before {\n top: -1px;\n border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n border-block-start-color: var(--tooltip-bg);\n }\n .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow {\n left: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n }\n .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before {\n right: -1px;\n border-width: calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n border-inline-end-color: var(--tooltip-bg);\n }\n .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow {\n top: calc(-1 * var(--tooltip-arrow-height));\n }\n .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before {\n bottom: -1px;\n border-width: 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n border-block-end-color: var(--tooltip-bg);\n }\n .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow {\n right: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n }\n .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before {\n left: -1px;\n border-width: calc(var(--tooltip-arrow-width) * 0.5) 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n border-inline-start-color: var(--tooltip-bg);\n }\n .tooltip-inner {\n max-width: var(--tooltip-max-width);\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n color: var(--tooltip-color);\n text-align: center;\n background-color: var(--tooltip-bg);\n border-radius: var(--tooltip-border-radius);\n }\n}\n@layer components {\n .valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.5rem;\n font-size: var(--font-size-xs);\n color: var(--form-valid-color);\n }\n .valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n margin-top: 0.1rem;\n font-size: var(--tooltip-font-size);\n color: var(--success-contrast);\n background-color: var(--success-bg);\n border-radius: var(--tooltip-border-radius);\n }\n .was-validated :valid ~ .valid-feedback,\n .was-validated :valid ~ .valid-tooltip,\n .is-valid ~ .valid-feedback,\n .is-valid ~ .valid-tooltip {\n display: block;\n }\n .was-validated .form-control:valid, .form-control.is-valid {\n border-color: var(--success-border);\n padding-inline-end: calc(var(--control-padding-x) * 3.5);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a748' 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 var(--control-padding-x) center;\n background-size: 1rem;\n }\n .was-validated .form-control:valid:focus-visible, .form-control.is-valid:focus-visible {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--success-border);\n }\n .was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n background-position: right var(--control-padding-x) top var(--control-padding-x);\n }\n .was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: var(--success-border);\n }\n .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: var(--form-valid-color);\n }\n .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: var(--form-valid-color);\n }\n .form-check-inline .form-check-input ~ .valid-feedback {\n margin-inline-start: 0.5em;\n }\n .was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n .was-validated .input-group > .form-select:not(:focus):valid,\n .input-group > .form-select:not(:focus).is-valid,\n .was-validated .input-group > .form-floating:not(:focus-within):valid,\n .input-group > .form-floating:not(:focus-within).is-valid {\n z-index: 3;\n }\n .invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.5rem;\n font-size: var(--font-size-xs);\n color: var(--form-invalid-color);\n }\n .invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n margin-top: 0.1rem;\n font-size: var(--tooltip-font-size);\n color: var(--danger-contrast);\n background-color: var(--danger-bg);\n border-radius: var(--tooltip-border-radius);\n }\n .was-validated :invalid ~ .invalid-feedback,\n .was-validated :invalid ~ .invalid-tooltip,\n .is-invalid ~ .invalid-feedback,\n .is-invalid ~ .invalid-tooltip {\n display: block;\n }\n .was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: var(--danger-border);\n padding-inline-end: calc(var(--control-padding-x) * 3.5);\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='%23dd0d37'%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='%23dd0d37' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right var(--control-padding-x) center;\n background-size: 1rem;\n }\n .was-validated .form-control:invalid:focus-visible, .form-control.is-invalid:focus-visible {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--danger-border);\n }\n .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n background-position: right var(--control-padding-x) top var(--control-padding-x);\n }\n .was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: var(--danger-border);\n }\n .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: var(--form-invalid-color);\n }\n .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: var(--form-invalid-color);\n }\n .form-check-inline .form-check-input ~ .invalid-feedback {\n margin-inline-start: 0.5em;\n }\n .was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n .was-validated .input-group > .form-select:not(:focus):invalid,\n .input-group > .form-select:not(:focus).is-invalid,\n .was-validated .input-group > .form-floating:not(:focus-within):invalid,\n .input-group > .form-floating:not(:focus-within).is-invalid {\n z-index: 4;\n }\n}\n@layer components {\n .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n --btn-min-height: var(--btn-input-min-height);\n --btn-padding-x: var(--btn-input-padding-x);\n --btn-padding-y: var(--btn-input-padding-y);\n --btn-font-size: var(--btn-input-font-size);\n --btn-font-weight: var(--btn-input-font-weight);\n --btn-line-height: var(--btn-input-line-height);\n --btn-color: var(--fg-body);\n --btn-white-space: nowrap;\n --btn-border-width: var(--border-width);\n --btn-border-color: transparent;\n --btn-border-radius: var(--border-radius);\n --btn-hover-border-color: transparent;\n --btn-disabled-opacity: 0.65;\n --btn-transition-timing: 0.15s ease-in-out;\n --btn-transition-property: color, background-color, border-color, box-shadow;\n --btn-transition: var(--btn-transition-property) var(--btn-transition-timing);\n display: inline-flex;\n gap: var(--btn-gap, 0.25rem);\n align-items: center;\n justify-content: center;\n min-height: var(--btn-min-height);\n padding: var(--btn-padding-y) var(--btn-padding-x);\n font-size: var(--btn-font-size);\n font-weight: var(--btn-font-weight);\n line-height: var(--btn-line-height);\n color: var(--btn-color);\n text-decoration: none;\n white-space: var(--btn-white-space);\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: var(--btn-bg, var(--bg-2));\n border: var(--btn-border-width) solid var(--btn-border-color);\n border-radius: var(--btn-border-radius);\n transition: var(--btn-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n transition: none;\n }\n }\n .btn:hover, .btn-link:hover, .btn-icon:hover, .btn-solid:hover, .btn-outline:hover, .btn-subtle:hover, .btn-text:hover {\n color: var(--btn-hover-color);\n background-color: var(--btn-hover-bg, var(--bg-3));\n border-color: var(--btn-hover-border-color);\n }\n .btn:focus-visible, .btn-link:focus-visible, .btn-icon:focus-visible, .btn-solid:focus-visible, .btn-outline:focus-visible, .btn-subtle:focus-visible, .btn-text:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .btn.active, .btn.show, .btn-link.active, .btn-link.show, .btn-icon.active, .btn-icon.show, .btn-solid.active, .btn-solid.show, .btn-outline.active, .btn-outline.show, .btn-subtle.active, .btn-subtle.show, .btn-text.active, .btn-text.show {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n border-color: var(--btn-active-border-color);\n }\n .btn.active:focus-visible, .btn.show:focus-visible, .btn-link.active:focus-visible, .btn-link.show:focus-visible, .btn-icon.active:focus-visible, .btn-icon.show:focus-visible, .btn-solid.active:focus-visible, .btn-solid.show:focus-visible, .btn-outline.active:focus-visible, .btn-outline.show:focus-visible, .btn-subtle.active:focus-visible, .btn-subtle.show:focus-visible, .btn-text.active:focus-visible, .btn-text.show:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .btn:disabled, .btn.disabled, fieldset:disabled .btn, .btn-link:disabled, .btn-link.disabled, fieldset:disabled .btn-link, .btn-icon:disabled, .btn-icon.disabled, fieldset:disabled .btn-icon, .btn-solid:disabled, .btn-solid.disabled, fieldset:disabled .btn-solid, .btn-outline:disabled, .btn-outline.disabled, fieldset:disabled .btn-outline, .btn-subtle:disabled, .btn-subtle.disabled, fieldset:disabled .btn-subtle, .btn-text:disabled, .btn-text.disabled, fieldset:disabled .btn-text {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n }\n .btn-solid {\n --btn-bg: var(--theme-bg);\n --btn-color: var(--theme-contrast);\n --btn-border-color: var(--theme-bg);\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n --btn-disabled-bg: var(--theme-bg);\n --btn-disabled-color: var(--theme-contrast);\n --btn-disabled-border-color: var(--theme-bg);\n }\n .btn-solid:hover {\n --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n }\n .btn-solid:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-solid:active, .btn-solid.active, .btn-solid.btn-check:has(input:checked) {\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n }\n .btn-solid:disabled, .btn-solid.disabled, .btn-solid.btn-check:has(input:disabled) {\n --btn-disabled-bg: var(--theme-bg);\n --btn-disabled-color: var(--theme-contrast);\n --btn-disabled-border-color: var(--theme-bg);\n }\n .btn-outline {\n --btn-bg: transparent;\n --btn-color: var(--theme-text);\n --btn-border-color: var(--theme-border);\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-disabled-bg: transparent;\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: var(--theme-border);\n }\n .btn-outline:hover {\n --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n }\n .btn-outline:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-outline:active, .btn-outline.active, .btn-outline.btn-check:has(input:checked) {\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n }\n .btn-outline:disabled, .btn-outline.disabled, .btn-outline.btn-check:has(input:disabled) {\n --btn-disabled-bg: transparent;\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: var(--theme-border);\n }\n .btn-subtle {\n --btn-bg: var(--theme-bg-subtle);\n --btn-color: var(--theme-text);\n --btn-border-color: transparent;\n --btn-active-bg: var(--theme-bg-subtle);\n --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n --btn-disabled-bg: var(--theme-bg-subtle);\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: transparent;\n }\n .btn-subtle:hover {\n --btn-hover-bg: color-mix(in oklch, var(--theme-bg-muted) 50%, var(--theme-bg-subtle));\n --btn-hover-color: oklch(from var(--theme-text-emphasis) calc(l * .95) calc(c * 1.1) h);\n }\n .btn-subtle:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-subtle:active, .btn-subtle.active, .btn-subtle.btn-check:has(input:checked) {\n --btn-active-bg: var(--theme-bg-subtle);\n --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n }\n .btn-subtle:disabled, .btn-subtle.disabled, .btn-subtle.btn-check:has(input:disabled) {\n --btn-disabled-bg: var(--theme-bg-subtle);\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: transparent;\n }\n .btn-text {\n --btn-color: var(--theme-text);\n --btn-bg: transparent;\n --btn-border-color: transparent;\n --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n --btn-active-bg: var(--theme-bg-subtle);\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-bg: transparent;\n --btn-disabled-border-color: transparent;\n }\n .btn-text:hover {\n --btn-hover-color: oklch(from var(--theme-text) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-bg: var(--theme-bg-subtle);\n }\n .btn-text:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-text:active, .btn-text.active, .btn-text.btn-check:has(input:checked) {\n --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n --btn-active-bg: var(--theme-bg-subtle);\n }\n .btn-text:disabled, .btn-text.disabled, .btn-text.btn-check:has(input:disabled) {\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-bg: transparent;\n --btn-disabled-border-color: transparent;\n }\n .btn-link {\n --btn-font-weight: var(--font-weight-normal);\n --btn-color: var(--link-color);\n --btn-bg: transparent;\n --btn-border-color: transparent;\n --btn-hover-color: var(--link-hover-color);\n --btn-hover-bg: transparent;\n --btn-hover-border-color: transparent;\n --btn-active-color: var(--link-hover-color);\n --btn-active-bg: transparent;\n --btn-active-border-color: transparent;\n --btn-disabled-color: var(--fg-3);\n --btn-disabled-border-color: transparent;\n color: var(--theme-text, var(--btn-color));\n text-decoration: var(--link-decoration);\n }\n .btn-link:focus-visible {\n color: var(--theme-text, var(--btn-color));\n }\n .btn-link:hover {\n color: var(--theme-text-emphasis, var(--btn-hover-color));\n }\n .btn-xs,\n .btn-group-xs > [class*=btn-] {\n --btn-min-height: var(--btn-input-xs-min-height);\n --btn-padding-y: var(--btn-input-xs-padding-y);\n --btn-padding-x: var(--btn-input-xs-padding-x);\n --btn-font-size: var(--btn-input-xs-font-size);\n --btn-line-height: var(--btn-input-xs-line-height);\n --btn-border-radius: var(--btn-input-xs-border-radius);\n }\n .btn-sm,\n .btn-group-sm > [class*=btn-] {\n --btn-min-height: var(--btn-input-sm-min-height);\n --btn-padding-y: var(--btn-input-sm-padding-y);\n --btn-padding-x: var(--btn-input-sm-padding-x);\n --btn-font-size: var(--btn-input-sm-font-size);\n --btn-line-height: var(--btn-input-sm-line-height);\n --btn-border-radius: var(--btn-input-sm-border-radius);\n }\n .btn-lg,\n .btn-group-lg > [class*=btn-] {\n --btn-min-height: var(--btn-input-lg-min-height);\n --btn-padding-y: var(--btn-input-lg-padding-y);\n --btn-padding-x: var(--btn-input-lg-padding-x);\n --btn-font-size: var(--btn-input-lg-font-size);\n --btn-line-height: var(--btn-input-lg-line-height);\n --btn-border-radius: var(--btn-input-lg-border-radius);\n }\n .btn-icon {\n align-items: center;\n justify-content: center;\n aspect-ratio: 1;\n padding: 0;\n }\n .btn-check > input {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n .btn-check:has(input:checked) {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n border-color: var(--btn-active-border-color);\n box-shadow: var(--btn-active-shadow);\n }\n .btn-check:has(input:focus-visible) {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .btn-check:has(input:disabled) {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n box-shadow: none;\n }\n .btn-styled {\n --btn-gradient-start: rgba(255, 255, 255, 0.125);\n --btn-gradient-end: rgba(0, 0, 0, 0.075);\n --btn-border-mix-color: #000;\n --btn-border-mix-amount: 10%;\n --btn-border-hover-mix-amount: 12.5%;\n --btn-border-active-mix-amount: 20%;\n --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n box-shadow: var(--btn-shadow);\n }\n .btn-styled:hover {\n background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n }\n .btn-styled:active, .btn-styled.active {\n background-image: none;\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n box-shadow: var(--btn-active-shadow);\n }\n .btn-styled:disabled, .btn-styled.disabled {\n background-image: none;\n box-shadow: none;\n }\n}\n@layer components {\n .btn-group,\n .btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n }\n .btn-group > [class*=btn-],\n .btn-group-vertical > [class*=btn-] {\n position: relative;\n flex: 1 1 auto;\n }\n .btn-group > [class*=btn-]:hover,\n .btn-group-vertical > [class*=btn-]:hover {\n z-index: 1;\n }\n .btn-group > .btn-check:has(input:checked),\n .btn-group > [class*=btn-]:active,\n .btn-group > [class*=btn-].active,\n .btn-group-vertical > .btn-check:has(input:checked),\n .btn-group-vertical > [class*=btn-]:active,\n .btn-group-vertical > [class*=btn-].active {\n z-index: 2;\n }\n .btn-group > .btn-check:has(input:focus),\n .btn-group > [class*=btn-]:focus,\n .btn-group-vertical > .btn-check:has(input:focus),\n .btn-group-vertical > [class*=btn-]:focus {\n z-index: 3;\n }\n .btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n justify-content: flex-start;\n }\n .btn-toolbar .input-group {\n width: auto;\n }\n .btn-group {\n border-radius: var(--btn-border-radius);\n }\n .btn-group > [class*=btn-]:not(:first-child),\n .btn-group > .btn-group:not(:first-child) {\n margin-inline-start: calc(-1 * var(--btn-border-width));\n }\n .btn-group > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n .btn-group > .btn-group:not(:last-child) > [class*=btn-] {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .btn-group > [class*=btn-]:not(:first-child),\n .btn-group > .btn-group:not(:first-child) > [class*=btn-] {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n }\n .btn-group-vertical > [class*=btn-],\n .btn-group-vertical > .btn-group {\n width: 100%;\n }\n .btn-group-vertical > [class*=btn-]:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: calc(-1 * var(--btn-border-width));\n }\n .btn-group-vertical > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n .btn-group-vertical > .btn-group:not(:last-child) > [class*=btn-] {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .btn-group-vertical > [class*=btn-]:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) > [class*=btn-] {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n}\n@layer components {\n .btn-close {\n --btn-close-size: 1.25rem;\n --btn-close-color: var(--fg-body);\n --btn-close-opacity: 0.5;\n --btn-close-hover-opacity: 0.75;\n --btn-close-focus-opacity: 0.85;\n --btn-close-disabled-opacity: 0.25;\n box-sizing: content-box;\n width: var(--btn-close-size);\n height: var(--btn-close-size);\n padding: 0;\n color: var(--btn-close-color);\n background: transparent;\n border: 0;\n border-radius: var(--border-radius-sm);\n opacity: var(--btn-close-opacity);\n }\n .btn-close > svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: currentcolor;\n }\n .btn-close:hover {\n color: var(--btn-close-color);\n text-decoration: none;\n opacity: var(--btn-close-hover-opacity);\n }\n .btn-close:focus-visible {\n opacity: var(--btn-close-focus-opacity);\n outline: var(--focus-ring);\n }\n .btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--btn-close-disabled-opacity);\n }\n}\n@layer components {\n .accordion {\n --accordion-padding-x: 1.25rem;\n --accordion-padding-y: 1rem;\n --accordion-color: var(--fg-body);\n --accordion-bg: var(--bg-body);\n --accordion-transition-property: color, background-color, border-radius;\n --accordion-transition-timing: .15s ease-in-out;\n --accordion-transition: var(--accordion-transition-property) var(--accordion-timing);\n --accordion-border-color: var(--border-color);\n --accordion-border-width: var(--border-width);\n --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg));\n --accordion-btn-color: var(--fg-2);\n --accordion-btn-bg: var(--bg-body);\n --accordion-btn-icon-width: 1rem;\n --accordion-btn-icon-transform: rotate(-180deg);\n --accordion-btn-icon-transition: transform 0.2s ease-in-out;\n --accordion-active-color: var(--fg);\n --accordion-active-bg: var(--bg-2);\n }\n .accordion-header {\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n font-size: var(--accordion-font-size, var(--font-size-base));\n color: var(--accordion-btn-color);\n text-align: start;\n list-style: none;\n cursor: pointer;\n background-color: var(--accordion-btn-bg);\n transition: var(--accordion-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .accordion-header {\n transition: none;\n }\n }\n .accordion-header .accordion-icon {\n flex-shrink: 0;\n width: var(--accordion-btn-icon-width);\n height: var(--accordion-btn-icon-width);\n margin-inline-start: auto;\n color: currentcolor;\n transition: var(--accordion-btn-icon-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .accordion-header .accordion-icon {\n transition: none;\n }\n }\n .accordion-header:hover {\n z-index: 2;\n }\n .accordion-header:focus-visible {\n position: relative;\n z-index: 3;\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n outline-offset: -1px;\n }\n .accordion-item {\n color: var(--accordion-color);\n background-color: var(--accordion-bg);\n border: var(--accordion-border-width) solid var(--accordion-border-color);\n }\n .accordion-item:first-of-type {\n border-start-start-radius: var(--accordion-border-radius);\n border-start-end-radius: var(--accordion-border-radius);\n }\n .accordion-item:first-of-type > .accordion-header {\n border-start-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n border-start-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n }\n .accordion-item:not(:first-of-type) {\n border-block-start: 0;\n }\n .accordion-item:last-of-type {\n border-end-start-radius: var(--accordion-border-radius);\n border-end-end-radius: var(--accordion-border-radius);\n }\n .accordion-item:last-of-type > .accordion-header {\n border-end-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n border-end-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n }\n .accordion-item:last-of-type > .accordion-body {\n border-end-start-radius: var(--accordion-border-radius);\n border-end-end-radius: var(--accordion-border-radius);\n }\n .accordion-item[open] {\n border-color: var(--theme-border, var(--accordion-border-color));\n }\n .accordion-item[open] > .accordion-header {\n color: var(--theme-text, var(--accordion-active-color));\n background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n }\n .accordion-item[open] > .accordion-header .accordion-icon {\n transform: var(--accordion-btn-icon-transform);\n }\n .accordion-item[open]:last-of-type > .accordion-header {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .accordion-body {\n padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n }\n .accordion-flush > .accordion-item {\n border-inline: 0;\n border-radius: 0;\n }\n .accordion-flush > .accordion-item:first-child {\n border-block-start: 0;\n }\n .accordion-flush > .accordion-item:last-child {\n border-block-end: 0;\n }\n .accordion-flush > .accordion-item > .accordion-header,\n .accordion-flush > .accordion-item > .accordion-body {\n border-radius: 0;\n }\n}\n@layer components {\n .alert {\n --alert-gap: 0.75rem;\n --alert-bg: var(--theme-bg-subtle, var(--bg-1));\n --alert-padding-x: 1rem;\n --alert-padding-y: 1rem;\n --alert-color: var(--theme-text, inherit);\n --alert-border-color: var(--theme-border, var(--border-color));\n --alert-border: var(--border-width) solid var(--alert-border-color);\n --alert-border-radius: var(--border-radius);\n --alert-link-color: inherit;\n --hr-border-color: var(--theme-border, var(--border-color));\n display: flex;\n gap: var(--alert-gap);\n align-items: start;\n padding: var(--alert-padding-y) var(--alert-padding-x);\n color: var(--alert-color);\n background-color: var(--alert-bg);\n border: var(--alert-border);\n border-radius: var(--alert-border-radius);\n }\n .alert > p {\n margin-bottom: 0;\n }\n .alert-heading {\n color: inherit;\n }\n .alert-link {\n font-weight: var(--font-weight-semibold);\n color: var(--alert-link-color);\n }\n}\n@layer components {\n .avatar {\n --avatar-size: 2.5rem;\n --avatar-border-radius: 50%;\n --avatar-border-width: 2px;\n --avatar-border-color: var(--bg-body);\n --avatar-bg: var(--bg-2);\n --avatar-color: var(--fg-body);\n --avatar-status-size: 0.75rem;\n --avatar-status-border-width: 2px;\n --avatar-status-border-color: var(--bg-body);\n --avatar-stack-spacing: -0.3;\n --avatar-stack-transition: transform .2s ease-in-out;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--avatar-size);\n height: var(--avatar-size);\n font-size: calc(var(--avatar-size) * 0.4);\n font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n line-height: 1;\n color: var(--theme-contrast, var(--avatar-color));\n text-transform: uppercase;\n vertical-align: middle;\n background-color: var(--theme-bg, var(--avatar-bg));\n border-radius: var(--avatar-border-radius);\n }\n .avatar-subtle {\n color: var(--theme-text, var(--avatar-color));\n background-color: var(--theme-bg-subtle, var(--avatar-bg));\n }\n .avatar-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: inherit;\n }\n .avatar-status {\n position: absolute;\n right: calc(var(--avatar-status-border-width) * -1);\n bottom: calc(var(--avatar-status-border-width) * -1);\n width: var(--avatar-status-size);\n height: var(--avatar-status-size);\n background-color: var(--gray-400);\n border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n border-radius: 50%;\n }\n .avatar-status.status-online {\n background-color: var(--green-500);\n }\n .avatar-status.status-offline {\n background-color: var(--gray-400);\n border-radius: 20%;\n }\n .avatar-status.status-busy {\n background-color: var(--red-500);\n border-radius: 20%;\n }\n .avatar-status.status-away {\n background-color: var(--yellow-500);\n }\n .avatar-stack {\n display: inline-flex;\n flex-direction: row-reverse;\n }\n .avatar-stack .avatar {\n margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n border: var(--avatar-border-width) solid var(--avatar-border-color);\n mask-image: none;\n transition: var(--avatar-stack-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .avatar-stack .avatar {\n transition: none;\n }\n }\n .avatar-stack .avatar:last-child {\n margin-left: 0;\n }\n .avatar-stack .avatar:hover {\n z-index: 1;\n transform: translateY(-2px);\n }\n .avatar-xs,\n .avatar-stack-xs {\n --avatar-size: 1.5rem;\n --avatar-status-size: 0.625rem;\n }\n .avatar-sm,\n .avatar-stack-sm {\n --avatar-size: 2rem;\n }\n .avatar-lg,\n .avatar-stack-lg {\n --avatar-size: 3rem;\n --avatar-status-size: 1rem;\n }\n .avatar-xl,\n .avatar-stack-xl {\n --avatar-size: 4rem;\n --avatar-status-size: 1.25rem;\n }\n}\n@layer components {\n .badge {\n --badge-padding-x: 0.625em;\n --badge-padding-y: 0.25em;\n --badge-font-size: clamp(12px, 0.75em, 0.75em);\n --badge-font-weight: var(--font-weight-semibold);\n --badge-color: inherit;\n --badge-bg: var(--bg-2);\n --badge-border-width: var(--border-width);\n --badge-border-color: transparent;\n --badge-border-radius: var(--border-radius-lg);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 1.375rem;\n padding: var(--badge-padding-y) var(--badge-padding-x);\n font-size: var(--badge-font-size);\n font-weight: var(--badge-font-weight);\n line-height: 1;\n color: var(--theme-contrast, var(--badge-color));\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n background-color: var(--theme-bg, var(--badge-bg));\n border: var(--badge-border-width) solid var(--badge-border-color);\n border-radius: var(--badge-border-radius);\n }\n .badge:empty {\n display: none;\n }\n .btn .badge {\n position: relative;\n top: -1px;\n }\n .badge-subtle {\n --badge-color: var(--theme-text);\n --badge-bg: var(--theme-bg-subtle);\n --badge-border-color: transparent;\n color: var(--badge-color);\n background-color: var(--badge-bg);\n border-color: var(--badge-border-color);\n }\n .badge-outline {\n --badge-color: var(--theme-text);\n --badge-bg: transparent;\n --badge-border-color: var(--theme-border);\n color: var(--badge-color);\n background-color: var(--badge-bg);\n border-color: var(--badge-border-color);\n }\n}\n@layer components {\n .breadcrumb {\n --breadcrumb-margin-bottom: 1rem;\n --breadcrumb-font-size: inherit;\n --breadcrumb-bg: transparent;\n --breadcrumb-border-radius: var(--border-radius);\n --breadcrumb-divider-color: var(--fg-4);\n --breadcrumb-link-padding-x: 0.75rem;\n --breadcrumb-link-padding-y: 0.25rem;\n --breadcrumb-link-color: var(--fg-3);\n --breadcrumb-link-hover-color: var(--fg-2);\n --breadcrumb-link-hover-bg: var(--bg-1);\n --breadcrumb-link-active-color: var(--fg-1);\n --breadcrumb-link-border-radius: var(--border-radius-lg);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n font-size: var(--breadcrumb-font-size);\n list-style: none;\n background-color: var(--breadcrumb-bg);\n border-radius: var(--breadcrumb-border-radius);\n }\n .breadcrumb-item {\n display: flex;\n }\n .breadcrumb-divider {\n margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n color: var(--breadcrumb-divider-color);\n }\n .breadcrumb-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 2.25rem;\n padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n color: var(--breadcrumb-link-color);\n text-decoration: none;\n border-radius: var(--breadcrumb-link-border-radius);\n transition: 0.1s text-decoration-color ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .breadcrumb-link {\n transition: none;\n }\n }\n .breadcrumb-link:hover {\n z-index: 2;\n color: var(--breadcrumb-link-hover-color);\n background-color: var(--breadcrumb-link-hover-bg);\n }\n .breadcrumb-link.active {\n color: var(--breadcrumb-link-active-color);\n }\n}\n@layer components {\n .chip {\n --chip-height: 1.75rem;\n --chip-padding-x: 0.625rem;\n --chip-gap: 0.3125rem;\n --chip-border-radius: var(--border-radius-pill);\n --chip-img-size: 1.25rem;\n --chip-icon-size: 1rem;\n --chip-dismiss-size: 1rem;\n --chip-dismiss-opacity: 0.65;\n --chip-dismiss-hover-opacity: 1;\n --chip-color: var(--theme-text, var(--fg-body));\n --chip-bg: var(--theme-bg-subtle, var(--bg-2));\n --chip-border-color: transparent;\n --chip-selected-color: var(--theme-contrast, var(--primary-contrast));\n --chip-selected-bg: var(--theme-bg, var(--primary-bg));\n --chip-selected-border-color: var(--theme-bg, var(--primary-bg));\n display: inline-flex;\n gap: var(--chip-gap);\n align-items: center;\n height: var(--chip-height);\n padding-inline: var(--chip-padding-x);\n font-size: var(--chip-font-size, var(--font-size-sm));\n font-weight: var(--chip-font-weight, var(--font-weight-base));\n line-height: var(--chip-line-height, 1.25rem);\n color: var(--chip-color);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n background-color: var(--chip-bg);\n border: var(--border-width) solid var(--chip-border-color);\n border-radius: var(--chip-border-radius);\n }\n .chip:hover {\n --chip-bg: var(--theme-bg-muted, var(--bg-3));\n }\n .chip:focus-visible {\n outline: 0;\n }\n .chip.active {\n --chip-color: var(--chip-selected-color);\n --chip-bg: var(--chip-selected-bg);\n --chip-border-color: var(--chip-selected-border-color);\n }\n .chip.active:hover {\n --chip-bg: var(--chip-selected-bg);\n opacity: 0.9;\n }\n .chip.disabled, .chip:disabled {\n pointer-events: none;\n opacity: 0.65;\n }\n .chip-img {\n width: var(--chip-img-size);\n height: var(--chip-img-size);\n border-radius: 50%;\n }\n .chip-img:first-child {\n margin-inline-start: -0.375rem;\n }\n .chip-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n margin-inline-start: calc(var(--chip-gap) * -0.25);\n }\n .chip-icon > svg {\n display: block;\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n }\n .chip-icon > img {\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n object-fit: cover;\n border-radius: 50%;\n }\n .chip-dismiss {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--chip-min-height);\n height: var(--chip-min-height);\n padding: 0;\n margin-inline-end: calc(var(--chip-padding-x) * -0.25);\n color: inherit;\n cursor: pointer;\n background: transparent;\n border: 0;\n opacity: var(--chip-dismiss-opacity);\n }\n .chip-dismiss:hover {\n opacity: var(--chip-dismiss-hover-opacity);\n }\n .chip-dismiss:focus-visible {\n outline: 0;\n opacity: 1;\n outline: var(--focus-ring);\n }\n .chip-dismiss > svg {\n display: block;\n width: var(--chip-dismiss-size);\n height: var(--chip-dismiss-size);\n }\n}\n@layer components {\n .card {\n --card-spacer-y: 1rem;\n --card-spacer-x: 1rem;\n --card-subtitle-color: inherit;\n --card-border-width: var(--border-width);\n --card-border-color: var(--border-color-translucent);\n --card-border-radius: var(--border-radius-lg);\n --card-box-shadow: none;\n --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n --card-cap-padding-y: 0.75rem;\n --card-cap-padding-x: 1rem;\n --card-cap-bg: var(--bg-1);\n --card-cap-color: inherit;\n --card-height: auto;\n --card-color: inherit;\n --card-bg: var(--bg-body);\n --card-img-overlay-padding: 1rem;\n --card-group-margin: 0.75rem;\n --card-body-gap: 0.5rem;\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n height: var(--card-height);\n color: var(--fg-body);\n word-wrap: break-word;\n background-color: var(--card-bg);\n box-shadow: var(--card-box-shadow);\n }\n .card > hr {\n margin-inline: 0;\n }\n .card-body {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--card-body-gap);\n align-items: flex-start;\n padding: var(--card-spacer-y) var(--card-spacer-x);\n color: var(--card-color);\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n }\n .card-body > * {\n margin-block: 0;\n }\n .card-body,\n .card-list {\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n }\n .card-body:first-child,\n .card-list:first-child {\n border-start-start-radius: var(--card-border-radius);\n border-start-end-radius: var(--card-border-radius);\n border-top-width: var(--card-border-width);\n }\n .card-body:last-child,\n .card-list:last-child {\n border-end-start-radius: var(--card-border-radius);\n border-end-end-radius: var(--card-border-radius);\n border-bottom-width: var(--card-border-width);\n }\n .card-body:not(:first-child):not(:last-child),\n .card-list:not(:first-child):not(:last-child) {\n border-block-end-width: var(--card-border-width);\n }\n .card-title,\n .card-subtitle,\n .card-text {\n align-self: stretch;\n }\n .card-subtitle {\n margin-top: calc(var(--card-body-gap) * -0.5);\n }\n .card-header {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n margin-bottom: 0;\n color: var(--theme-contrast, var(--card-cap-color));\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n }\n .card-header:first-child {\n border-radius: var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0;\n }\n .card-footer {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n color: var(--card-cap-color);\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n }\n .card-footer:last-child {\n border-radius: 0 0 var(--card-inner-border-radius) var(--card-inner-border-radius);\n }\n .card-translucent {\n background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n .card-translucent .card-header,\n .card-translucent .card-footer {\n background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n }\n .card-subtle {\n border-color: var(--theme-border, var(--card-border-color));\n }\n .card-subtle .card-header {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n .card-subtle .card-footer {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n .card-subtle .card-body,\n .card-subtle .card-list {\n border-color: var(--theme-border, var(--card-border-color));\n }\n .nav.card-header-tabs {\n margin-inline: calc(-0.5 * var(--card-cap-padding-x));\n margin-bottom: calc(-1 * var(--card-cap-padding-y));\n border-block-end: 0;\n }\n .nav.card-header-tabs .nav-link.active {\n background-color: var(--card-bg);\n border-block-end-color: var(--card-bg);\n }\n .card-img-overlay {\n position: absolute;\n inset: 0;\n padding: var(--card-img-overlay-padding);\n border-radius: var(--card-inner-border-radius);\n }\n .card-img,\n .card-img-top,\n .card-img-bottom {\n width: 100%;\n outline: var(--card-border-width) solid var(--card-border-color);\n outline-offset: calc(var(--card-border-width) * -1);\n }\n .card-img,\n .card-img-top {\n border-start-start-radius: var(--card-inner-border-radius);\n border-start-end-radius: var(--card-inner-border-radius);\n }\n .card-img,\n .card-img-bottom {\n border-end-start-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n }\n .card-row {\n flex-direction: row;\n }\n .card-row .card-body,\n .card-row .card-list {\n border-width: var(--card-border-width) 0;\n border-radius: 0;\n }\n .card-row .card-body:first-child,\n .card-row .card-list:first-child {\n border-start-start-radius: var(--card-inner-border-radius);\n border-end-start-radius: var(--card-inner-border-radius);\n border-inline-start-width: var(--card-border-width);\n }\n .card-row .card-body:last-child,\n .card-row .card-list:last-child {\n border-start-end-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n border-inline-end-width: var(--card-border-width);\n }\n .card-row .card-body:not(:first-child):not(:last-child),\n .card-row .card-list:not(:first-child):not(:last-child) {\n border-inline-end-width: var(--card-border-width);\n }\n .card-img-start {\n border-start-start-radius: var(--card-inner-border-radius);\n border-end-start-radius: var(--card-inner-border-radius);\n }\n .card-img-end {\n border-start-end-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n }\n .card-group > .card {\n margin-bottom: var(--card-group-margin);\n }\n @media (width >= 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-inline-start: 0;\n border-inline-start: 0;\n }\n .card-group > .card:not(:last-child) {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .card-group > .card:not(:last-child) > .card-img-top,\n .card-group > .card:not(:last-child) > .card-header {\n border-start-end-radius: 0;\n }\n .card-group > .card:not(:last-child) > .card-img-bottom,\n .card-group > .card:not(:last-child) > .card-footer {\n border-end-end-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .card-group > .card:not(:first-child) > .card-img-top,\n .card-group > .card:not(:first-child) > .card-header {\n border-start-start-radius: 0;\n }\n .card-group > .card:not(:first-child) > .card-img-bottom,\n .card-group > .card:not(:first-child) > .card-footer {\n border-end-start-radius: 0;\n }\n }\n}\n@layer components {\n .carousel {\n position: relative;\n --carousel-control-color: #fff;\n --carousel-control-width: 15%;\n --carousel-control-opacity: 0.5;\n --carousel-control-hover-opacity: 0.9;\n --carousel-control-transition: opacity 0.15s ease;\n --carousel-control-icon-filter: none;\n --carousel-indicator-width: 30px;\n --carousel-indicator-height: 3px;\n --carousel-indicator-hit-area-height: 10px;\n --carousel-indicator-spacer: 3px;\n --carousel-indicator-opacity: 0.5;\n --carousel-indicator-active-bg: var(--white);\n --carousel-indicator-active-opacity: 1;\n --carousel-indicator-transition: opacity 0.6s ease;\n --carousel-caption-width: 70%;\n --carousel-caption-color: var(--white);\n --carousel-caption-padding-y: 1.25rem;\n --carousel-caption-spacer: 1.25rem;\n --carousel-control-icon-width: 2rem;\n --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\");\n --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\");\n --carousel-transition-duration: 0.6s;\n --carousel-transition: transform 0.6s ease-in-out;\n }\n .carousel.pointer-event {\n touch-action: pan-y;\n }\n .carousel-inner {\n position: relative;\n display: flow-root;\n width: 100%;\n overflow: hidden;\n }\n .carousel-item {\n position: relative;\n display: none;\n float: inline-start;\n width: 100%;\n margin-inline-end: -100%;\n backface-visibility: hidden;\n transition: var(--carousel-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n }\n .carousel-item.active,\n .carousel-item-next,\n .carousel-item-prev {\n display: block;\n }\n .carousel-item-next:not(.carousel-item-start),\n .active.carousel-item-end {\n transform: translateX(100%);\n }\n .carousel-item-prev:not(.carousel-item-end),\n .active.carousel-item-start {\n transform: translateX(-100%);\n }\n .carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n .carousel-fade .carousel-item.active,\n .carousel-fade .carousel-item-next.carousel-item-start,\n .carousel-fade .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n }\n .carousel-fade .active.carousel-item-start,\n .carousel-fade .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s var(--carousel-transition-duration);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-start,\n .carousel-fade .active.carousel-item-end {\n transition: none;\n }\n }\n .carousel-control-prev,\n .carousel-control-next {\n position: absolute;\n inset-block: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--carousel-control-width);\n padding: 0;\n color: var(--carousel-control-color);\n text-align: center;\n background: none;\n filter: var(--carousel-control-icon-filter);\n border: 0;\n opacity: var(--carousel-control-opacity);\n transition: var(--carousel-control-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n }\n .carousel-control-prev:hover, .carousel-control-prev:focus,\n .carousel-control-next:hover,\n .carousel-control-next:focus {\n color: var(--carousel-control-color);\n text-decoration: none;\n outline: 0;\n opacity: var(--carousel-control-hover-opacity);\n }\n .carousel-control-prev {\n inset-inline-start: 0;\n }\n .carousel-control-next {\n inset-inline-end: 0;\n }\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n display: inline-block;\n width: var(--carousel-control-icon-width);\n height: var(--carousel-control-icon-width);\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n }\n .carousel-control-prev-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n [dir=rtl] .carousel-control-prev-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n .carousel-control-next-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n [dir=rtl] .carousel-control-next-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n .carousel-indicators {\n position: absolute;\n inset: auto 0 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n margin-inline: var(--carousel-control-width);\n margin-bottom: 1rem;\n }\n .carousel-indicators [data-bs-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: var(--carousel-indicator-width);\n height: var(--carousel-indicator-height);\n padding: 0;\n margin-inline: var(--carousel-indicator-spacer);\n text-indent: -999px;\n cursor: pointer;\n background-color: var(--carousel-indicator-active-bg);\n background-clip: padding-box;\n border: 0;\n border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n opacity: var(--carousel-indicator-opacity);\n transition: var(--carousel-indicator-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-indicators [data-bs-target] {\n transition: none;\n }\n }\n .carousel-indicators .active {\n opacity: var(--carousel-indicator-active-opacity);\n }\n .carousel-caption {\n position: absolute;\n right: calc((100% - var(--carousel-caption-width)) * 0.5);\n bottom: var(--carousel-caption-spacer);\n left: calc((100% - var(--carousel-caption-width)) * 0.5);\n padding-top: var(--carousel-caption-padding-y);\n padding-bottom: var(--carousel-caption-padding-y);\n color: var(--carousel-caption-color);\n text-align: center;\n }\n .carousel-dark {\n --carousel-indicator-active-bg: #000;\n --carousel-caption-color: #000;\n --carousel-control-icon-filter: invert(1) grayscale(100);\n }\n @media (prefers-color-scheme: dark) {\n :root {\n --carousel-indicator-active-bg: #000;\n --carousel-caption-color: #000;\n --carousel-control-icon-filter: invert(1) grayscale(100);\n }\n }\n}\n@layer components {\n [data-vc=calendar] {\n --datepicker-padding: 1rem;\n --datepicker-bg: var(--bg-body);\n --datepicker-color: var(--fg-body);\n --datepicker-border-color: var(--border-color-translucent);\n --datepicker-border-width: var(--border-width);\n --datepicker-border-radius: var(--border-radius-lg);\n --datepicker-box-shadow: var(--box-shadow);\n --datepicker-font-size: var(--font-size-sm);\n --datepicker-min-width: 280px;\n --datepicker-zindex: 1000;\n --datepicker-header-font-weight: 600;\n --datepicker-weekday-color: var(--fg-3);\n --datepicker-day-hover-bg: var(--bg-1);\n --datepicker-day-selected-bg: var(--primary-bg);\n --datepicker-day-selected-color: var(--primary-contrast);\n --datepicker-day-today-bg: var(--bg-2);\n --datepicker-day-today-color: var(--fg-1);\n --datepicker-day-disabled-color: var(--fg-4);\n position: absolute;\n z-index: var(--datepicker-zindex);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n min-width: var(--datepicker-min-width);\n padding: var(--datepicker-padding);\n font-family: var(--font-sans-serif);\n font-size: var(--datepicker-font-size);\n color: var(--datepicker-color);\n color-scheme: light dark;\n background-color: var(--datepicker-bg);\n border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n border-radius: var(--datepicker-border-radius);\n box-shadow: var(--datepicker-box-shadow);\n opacity: 1;\n }\n [data-vc=calendar][data-bs-theme=light] {\n color-scheme: light;\n }\n [data-vc=calendar][data-bs-theme=dark] {\n color-scheme: dark;\n }\n [data-vc=calendar] button:focus-visible {\n position: relative;\n z-index: 1;\n outline: var(--focus-ring);\n }\n [data-vc-calendar-hidden] {\n pointer-events: none;\n opacity: 0;\n }\n [data-vc=calendar]:not([data-vc-input]) {\n position: relative;\n width: fit-content;\n padding: 0;\n border: 0;\n box-shadow: none;\n }\n [data-vc-position=bottom] {\n margin-block-start: 0.25rem;\n }\n [data-vc-position=top] {\n margin-block-end: -0.25rem;\n }\n [data-vc-arrow] {\n position: relative;\n display: block;\n width: 2rem;\n height: 2rem;\n color: var(--datepicker-color);\n pointer-events: auto;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc-arrow]::before {\n position: absolute;\n inset: 0.25rem;\n content: \"\";\n background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n background-repeat: no-repeat;\n background-position: center;\n }\n [data-vc-arrow]:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc-arrow=prev]::before {\n transform: rotate(90deg);\n }\n [data-vc-arrow=next]::before {\n transform: rotate(-90deg);\n }\n [data-vc=controls] {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 20;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 1rem;\n padding-right: 1rem;\n padding-left: 1rem;\n pointer-events: none;\n }\n [data-vc=grid] {\n display: flex;\n flex-grow: 1;\n flex-wrap: wrap;\n gap: 1.75rem;\n }\n [data-vc=column] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n min-width: 240px;\n }\n [data-vc=header] {\n position: relative;\n display: flex;\n align-items: center;\n margin-bottom: 0.75rem;\n }\n [data-vc-header=content] {\n display: inline-flex;\n flex-grow: 1;\n align-items: center;\n justify-content: center;\n white-space: pre-wrap;\n }\n [data-vc=month],\n [data-vc=year] {\n padding: 0.25rem 0.5rem;\n margin-inline: -0.125rem;\n font-size: 1rem;\n font-weight: var(--datepicker-header-font-weight);\n color: var(--datepicker-color);\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc=month]:disabled,\n [data-vc=year]:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n [data-vc=month]:hover:not(:disabled),\n [data-vc=year]:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc=content] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n }\n [data-vc=months],\n [data-vc=years] {\n display: grid;\n flex-grow: 1;\n grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n row-gap: 1rem;\n column-gap: 0.25rem;\n align-items: center;\n }\n [data-vc=years] {\n --vc-columns: 5;\n }\n [data-vc-months-month],\n [data-vc-years-year] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 2.5rem;\n padding: 0.25rem;\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n text-align: center;\n word-break: break-all;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc-months-month]:disabled,\n [data-vc-years-year]:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n [data-vc-months-month]:hover:not(:disabled),\n [data-vc-years-year]:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc-months-month][data-vc-months-month-selected], [data-vc-months-month][data-vc-years-year-selected],\n [data-vc-years-year][data-vc-months-month-selected],\n [data-vc-years-year][data-vc-years-year-selected] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n [data-vc-months-month][data-vc-months-month-selected]:hover, [data-vc-months-month][data-vc-years-year-selected]:hover,\n [data-vc-years-year][data-vc-months-month-selected]:hover,\n [data-vc-years-year][data-vc-years-year-selected]:hover {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n [data-vc=week] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n justify-items: center;\n margin-bottom: 0.5rem;\n }\n [data-vc-week-day] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n padding: 0;\n margin: 0;\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n background-color: transparent;\n border: 0;\n }\n button[data-vc-week-day] {\n cursor: pointer;\n }\n [data-vc=dates] {\n pointer-events: none;\n }\n [data-vc-dates=row] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n align-items: center;\n justify-items: center;\n width: 100%;\n }\n [data-vc-date] {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n pointer-events: auto;\n }\n [data-vc-date]:not(:has([data-vc-date-btn])), [data-vc-date][data-vc-date-disabled], [data-vc-date][data-vc-date-disabled] [data-vc-date-btn] {\n pointer-events: none;\n }\n [data-vc-date-btn] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n height: 100%;\n min-height: 1.875rem;\n padding: 0;\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--datepicker-color);\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc-date-btn]:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc-date-today] [data-vc-date-btn] {\n font-weight: 600;\n color: var(--datepicker-day-today-color);\n background-color: var(--datepicker-day-today-bg);\n }\n [data-vc-date-month=next] [data-vc-date-btn],\n [data-vc-date-month=prev] [data-vc-date-btn] {\n opacity: 0.5;\n }\n [data-vc-date-disabled] [data-vc-date-btn] {\n color: var(--datepicker-day-disabled-color);\n }\n [data-vc-date-hover] [data-vc-date-btn] {\n background-color: var(--datepicker-day-hover-bg);\n border-radius: 0;\n }\n [data-vc-date-hover=first] [data-vc-date-btn] {\n border-start-start-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n [data-vc-date-hover=last] [data-vc-date-btn] {\n border-start-end-radius: var(--border-radius);\n border-end-end-radius: var(--border-radius);\n }\n [data-vc-date-hover=first-and-last] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n [data-vc-date-selected=middle] [data-vc-date-btn] {\n border-radius: 0;\n opacity: 0.8;\n }\n [data-vc-date-selected] [data-vc-date-btn] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n [data-vc-date-selected=first] [data-vc-date-btn] {\n border-top-left-radius: var(--border-radius);\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: var(--border-radius);\n }\n [data-vc-date-selected=last] [data-vc-date-btn] {\n border-top-left-radius: 0;\n border-top-right-radius: var(--border-radius);\n border-bottom-right-radius: var(--border-radius);\n border-bottom-left-radius: 0;\n }\n [data-vc-date-selected=first-and-last] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n}\n@layer components {\n .dialog-open {\n overflow: hidden;\n scrollbar-gutter: stable;\n }\n .dialog {\n --dialog-padding: 1rem;\n --dialog-width: 500px;\n --dialog-margin: 1.75rem;\n --dialog-color: var(--fg-body);\n --dialog-bg: var(--bg-body);\n --dialog-border-color: var(--border-color-translucent);\n --dialog-border-width: var(--border-width);\n --dialog-border-radius: var(--border-radius-lg);\n --dialog-box-shadow: var(--box-shadow-lg);\n --dialog-backdrop-bg: rgba(0, 0, 0, 0.5);\n --dialog-backdrop-blur: 8px;\n --dialog-header-padding: 1rem;\n --dialog-header-border-color: var(--border-color);\n --dialog-header-border-width: var(--border-width);\n --dialog-footer-padding: 1rem;\n --dialog-footer-border-color: var(--border-color);\n --dialog-footer-border-width: var(--border-width);\n --dialog-footer-gap: 0.5rem;\n max-width: var(--dialog-width);\n max-height: calc(100% - var(--dialog-margin) * 2);\n padding: 0;\n margin: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n border-radius: var(--dialog-border-radius);\n box-shadow: var(--dialog-box-shadow);\n }\n .dialog::backdrop {\n background-color: var(--dialog-backdrop-bg);\n backdrop-filter: blur(var(--dialog-backdrop-blur));\n }\n .dialog.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n }\n @media (prefers-reduced-motion: reduce) {\n .dialog.fade {\n transition: none;\n }\n }\n .dialog.fade::backdrop {\n opacity: 0;\n transition: opacity 0.15s linear;\n }\n @media (prefers-reduced-motion: reduce) {\n .dialog.fade::backdrop {\n transition: none;\n }\n }\n .dialog.fade[open] {\n opacity: 1;\n }\n .dialog.fade[open]::backdrop {\n opacity: 1;\n }\n .dialog.dialog-static {\n transform: scale(1.02);\n }\n .dialog.dialog-nonmodal {\n position: fixed;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n z-index: 1055;\n margin-inline: 0;\n transform: translate(-50%, -50%);\n }\n .dialog.dialog-overflow {\n position: fixed;\n inset: 0;\n width: 100%;\n max-width: 100%;\n height: 100%;\n max-height: 100%;\n padding: var(--dialog-margin);\n margin: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n background: transparent;\n border: 0;\n box-shadow: none;\n }\n .dialog.dialog-overflow > .dialog-box {\n max-width: var(--dialog-width);\n margin-block-end: var(--dialog-margin);\n margin-inline: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n border-radius: var(--dialog-border-radius);\n box-shadow: var(--dialog-box-shadow);\n }\n .dialog.dialog-scrollable[open] {\n display: flex;\n flex-direction: column;\n max-height: calc(100% - var(--dialog-margin) * 2);\n }\n .dialog.dialog-scrollable[open] .dialog-body {\n overflow-y: auto;\n }\n .dialog-sm {\n --dialog-width: 280px;\n }\n .dialog-lg {\n --dialog-width: 800px;\n }\n .dialog-xl {\n --dialog-width: 1140px;\n }\n .dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n @media (width < 576px) {\n .dialog-fullscreen-sm-down {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 768px) {\n .dialog-fullscreen-md-down {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 1024px) {\n .dialog-fullscreen-lg-down {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 1280px) {\n .dialog-fullscreen-xl-down {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 1536px) {\n .dialog-fullscreen-2xl-down {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n .dialog-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding: var(--dialog-header-padding);\n border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n }\n .dialog-header .btn-close {\n margin-inline-start: auto;\n }\n .dialog-title {\n margin-bottom: 0;\n font-size: var(--font-size-md);\n line-height: 1.5;\n }\n .dialog-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--dialog-padding);\n overflow-y: auto;\n }\n .dialog-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: var(--dialog-footer-gap);\n align-items: center;\n justify-content: flex-end;\n padding: var(--dialog-footer-padding);\n border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n }\n}\n@layer components {\n .menu {\n --menu-zindex: 1000;\n --menu-gap: 0.125rem;\n --menu-min-width: 10rem;\n --menu-padding-x: 0.25rem;\n --menu-padding-y: 0.25rem;\n --menu-spacer: 0.125rem;\n --menu-font-size: var(--font-size-sm);\n --menu-color: var(--fg-body);\n --menu-bg: var(--bg-body);\n --menu-box-shadow: var(--box-shadow);\n --menu-divider-bg: var(--border-color-translucent);\n --menu-divider-margin-y: 0.125rem;\n --menu-divider-margin-x: 0.25rem;\n --menu-item-color: var(--menu-color, var(--fg-body));\n --menu-item-hover-color: var(--menu-color, var(--fg-body));\n --menu-item-hover-bg: var(--bg-1);\n --menu-item-active-color: var(--primary-contrast);\n --menu-item-active-bg: var(--primary-bg);\n --menu-item-disabled-color: var(--fg-3);\n --menu-item-gap: 0.5rem;\n --menu-item-padding-x: 0.75rem;\n --menu-item-padding-y: 0.25rem;\n --menu-item-border-radius: var(--border-radius);\n --menu-icon-size: 1rem;\n --menu-image-size: 1.5rem;\n --menu-description-font-size: var(--font-size-xs);\n --menu-check-color: currentcolor;\n --menu-header-color: var(--fg-3);\n --menu-header-padding-x: 0.75rem;\n --menu-header-padding-y: 0.25rem;\n position: absolute;\n z-index: var(--menu-zindex);\n display: none;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: var(--menu-min-width);\n max-height: var(--menu-max-height, none);\n padding: var(--menu-padding-y) var(--menu-padding-x);\n margin: 0;\n overflow-y: var(--menu-overflow-y, initial);\n overscroll-behavior: contain;\n font-size: var(--menu-font-size);\n color: var(--menu-color);\n text-align: start;\n list-style: none;\n background-color: var(--menu-bg);\n background-clip: padding-box;\n border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n border-radius: var(--menu-border-radius, var(--border-radius-lg));\n box-shadow: var(--menu-box-shadow);\n }\n .menu.show {\n display: flex;\n }\n .menu-scrollable {\n --menu-max-height: 80dvh;\n --menu-overflow-y: auto;\n }\n .menu-translucent {\n --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n .menu-divider {\n height: 0;\n margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n overflow: hidden;\n border-block-start: 1px solid var(--menu-divider-bg);\n opacity: 1;\n }\n .menu-item {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n width: 100%;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n color: var(--theme-text, var(--menu-item-color));\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n outline: 0;\n border-radius: var(--menu-item-border-radius, 0);\n }\n .menu-item:hover, .menu-item:focus {\n color: var(--theme-text, var(--menu-item-hover-color));\n background-color: var(--theme-bg-subtle, var(--menu-item-hover-bg));\n }\n .menu-item.active, .menu-item:active {\n color: var(--theme-contrast, var(--menu-item-active-color));\n background-color: var(--theme-bg, var(--menu-item-active-bg));\n }\n .menu-item.active .menu-item-icon, .menu-item:active .menu-item-icon {\n color: inherit !important;\n }\n .menu-item.selected {\n font-weight: 600;\n }\n .menu-item.disabled, .menu-item:disabled {\n color: var(--menu-item-disabled-color);\n pointer-events: none;\n background-color: transparent;\n }\n .menu-item-icon {\n flex-shrink: 0;\n align-self: flex-start;\n width: var(--menu-icon-size);\n height: auto;\n margin-top: 0.125rem;\n }\n .menu-image {\n width: var(--menu-image-size);\n height: var(--menu-image-size);\n object-fit: cover;\n border-radius: var(--border-radius-sm);\n }\n .menu-item-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-width: fit-content;\n }\n .menu-item-description {\n font-size: var(--menu-description-font-size);\n font-weight: var(--font-weight-normal);\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n .menu-item-check {\n flex-shrink: 0;\n align-self: flex-start;\n margin-block-start: 0.125rem;\n margin-inline-start: auto;\n color: var(--menu-check-color);\n visibility: hidden;\n }\n .selected > .menu-item-check {\n visibility: visible;\n }\n .menu-header {\n display: block;\n padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n margin-bottom: 0;\n font-size: var(--font-size-sm);\n color: var(--menu-header-color);\n white-space: nowrap;\n }\n .menu-text {\n display: block;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n color: var(--fg-2);\n }\n .submenu {\n position: relative;\n }\n .submenu > .menu-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n .submenu > .menu-item::after {\n display: inline-block;\n flex-shrink: 0;\n width: 0.375em;\n height: 0.375em;\n margin-inline-start: auto;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: 0 0.125em 0.125em 0;\n transform: rotate(-45deg);\n }\n [dir=rtl] .submenu > .menu-item::after {\n transform: rotate(135deg);\n }\n .submenu > .menu {\n top: 0;\n margin-top: calc(-1 * var(--menu-padding-y));\n }\n .submenu:hover > .menu-item, .submenu:focus-within > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n .submenu.show > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n @media (max-width: 575.98px) {\n .submenu:has(.submenu-stacked) {\n position: static;\n }\n .submenu-stacked {\n position: absolute;\n inset: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: 0;\n padding: var(--menu-padding-y) var(--menu-padding-x);\n background-color: var(--menu-bg);\n border: 0;\n border-radius: 0;\n box-shadow: none;\n }\n .submenu-back {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--font-weight-semibold, 600);\n color: var(--menu-item-color);\n }\n .submenu-back::before {\n display: inline-block;\n flex-shrink: 0;\n width: 0.375em;\n height: 0.375em;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: 0.125em 0 0 0.125em;\n transform: rotate(-45deg);\n }\n [dir=rtl] .submenu-back::before {\n border-width: 0 0.125em 0.125em 0;\n }\n .submenu-dimmed {\n pointer-events: none;\n filter: blur(2px);\n opacity: 0.3;\n }\n }\n}\n@layer components {\n .list-group {\n --list-group-color: var(--fg-body);\n --list-group-bg: var(--bg-body);\n --list-group-border-color: var(--border-color);\n --list-group-border-width: var(--border-width);\n --list-group-border-radius: var(--border-radius);\n --list-group-item-padding-x: 1rem;\n --list-group-item-padding-y: 0.5rem;\n --list-group-action-color: var(--fg-2);\n --list-group-action-hover-color: var(--fg-1);\n --list-group-action-hover-bg: var(--bg-1);\n --list-group-action-active-color: var(--fg-body);\n --list-group-action-active-bg: var(--bg-2);\n --list-group-disabled-color: var(--fg-3);\n --list-group-disabled-bg: var(--bg-body);\n --list-group-active-color: var(--primary-contrast);\n --list-group-active-bg: var(--primary-bg);\n --list-group-active-border-color: var(--primary-bg);\n display: flex;\n flex-direction: column;\n padding-inline-start: 0;\n margin-bottom: 0;\n border-radius: var(--list-group-border-radius);\n }\n .list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n }\n .list-group-numbered > .list-group-item::before {\n content: counters(section, \".\") \". \";\n counter-increment: section;\n }\n .list-group-item {\n position: relative;\n display: block;\n padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n color: var(--theme-text, var(--list-group-color));\n background-color: var(--theme-bg-subtle, var(--list-group-bg));\n border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n }\n .list-group-item:first-child {\n border-start-start-radius: inherit;\n border-start-end-radius: inherit;\n }\n .list-group-item:last-child {\n border-end-start-radius: inherit;\n border-end-end-radius: inherit;\n }\n .list-group-item.disabled, .list-group-item:disabled {\n color: var(--list-group-disabled-color);\n pointer-events: none;\n background-color: var(--list-group-disabled-bg);\n }\n .list-group-item.active {\n z-index: 2;\n color: var(--list-group-active-color);\n background-color: var(--list-group-active-bg);\n border-color: var(--list-group-active-border-color);\n }\n .list-group-item + .list-group-item {\n border-block-start-width: 0;\n }\n .list-group-item + .list-group-item.active {\n margin-top: calc(-1 * var(--list-group-border-width));\n border-block-start-width: var(--list-group-border-width);\n }\n .list-group-item-action {\n width: 100%;\n color: var(--theme-text, var(--list-group-action-color));\n text-align: inherit;\n text-decoration: none;\n }\n .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n z-index: 1;\n color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n text-decoration: none;\n background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n }\n .list-group-item-action:not(.active):active {\n color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n }\n .list-group-horizontal {\n flex-direction: row;\n }\n .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n @media (width >= 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 1024px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 1280px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 1536px) {\n .list-group-horizontal-2xl {\n flex-direction: row;\n }\n .list-group-horizontal-2xl > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .list-group-horizontal-2xl > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .list-group-horizontal-2xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-2xl > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .list-group-horizontal-2xl > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n .list-group-flush {\n border-radius: 0;\n }\n .list-group-flush > .list-group-item {\n border-width: 0 0 var(--list-group-border-width);\n }\n .list-group-flush > .list-group-item:last-child {\n border-block-end-width: 0;\n }\n}\n@layer components {\n .nav {\n --nav-gap: 0.125rem;\n --nav-link-gap: 0.5rem;\n --nav-link-align: center;\n --nav-link-justify: center;\n --nav-link-padding-x: 0.75rem;\n --nav-link-padding-y: 0.375rem;\n --nav-link-color: var(--fg-2);\n --nav-link-hover-color: var(--fg-1);\n --nav-link-hover-bg: var(--bg-1);\n --nav-link-active-color: var(--fg-body);\n --nav-link-active-bg: var(--bg-2);\n --nav-link-disabled-color: var(--fg-4);\n --nav-link-border-width: var(--border-width);\n --nav-link-transition-property: color, background-color, border-color;\n --nav-link-transition-timing: 0.15s ease-in-out;\n --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing);\n display: flex;\n flex-wrap: wrap;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n }\n .nav-item {\n display: flex;\n }\n .nav-link {\n display: flex;\n gap: var(--nav-link-gap);\n align-items: var(--nav-link-align);\n justify-content: var(--nav-link-justify);\n padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n font-weight: var(--nav-link-font-weight);\n color: var(--nav-link-color);\n text-decoration: none;\n white-space: nowrap;\n background: none;\n border: var(--nav-link-border-width) solid transparent;\n border-radius: var(--border-radius);\n transition: var(--nav-link-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n }\n .nav-link:hover, .nav-link:focus {\n color: var(--nav-link-hover-color);\n background-color: var(--nav-link-hover-bg);\n }\n .nav-link:focus-visible {\n --focus-ring-offset: 1px;\n color: var(--nav-link-hover-color);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .nav-link.active, .nav-link:active {\n color: var(--nav-link-active-color);\n background-color: var(--nav-link-active-bg);\n }\n .nav-link.disabled, .nav-link:disabled {\n color: var(--nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n }\n .nav-tabs {\n --nav-tabs-border-width: var(--border-width);\n --nav-tabs-border-color: var(--border-color);\n --nav-tabs-border-radius: var(--border-radius);\n --nav-tabs-link-hover-border-color: var(--border-subtle);\n --nav-tabs-link-active-color: var(--fg-color);\n --nav-tabs-link-active-bg: var(--bg-body);\n --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body);\n box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n }\n .nav-tabs .nav-link {\n border: var(--nav-tabs-border-width) solid transparent;\n border-bottom-color: var(--nav-tabs-border-color);\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .nav-tabs .nav-link:hover {\n isolation: isolate;\n border-color: var(--nav-tabs-link-hover-border-color);\n border-bottom-color: var(--nav-tabs-border-color);\n }\n .nav-tabs .nav-link.active,\n .nav-tabs .nav-item.show .nav-link {\n color: var(--nav-tabs-link-active-color);\n background-color: var(--nav-tabs-link-active-bg);\n border-color: var(--nav-tabs-link-active-border-color);\n border-bottom-color: var(--nav-tabs-link-active-bg);\n }\n .nav-tabs .menu {\n margin-top: calc(-1 * var(--nav-tabs-border-width));\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .nav-pills {\n --nav-pills-link-active-color: var(--primary-contrast);\n --nav-pills-link-active-bg: var(--primary-bg);\n }\n .nav-pills .nav-link.active,\n .nav-pills .show > .nav-link {\n color: var(--nav-pills-link-active-color);\n background-color: var(--nav-pills-link-active-bg);\n }\n .nav-underline {\n --nav-gap: 1rem;\n --nav-link-active-bg: transparent;\n --nav-underline-border-width: 0.125rem;\n --nav-underline-link-active-color: var(--fg-color);\n }\n .nav-underline .nav-link {\n padding-inline: 0;\n border: 0;\n border-block-end: var(--nav-underline-border-width) solid transparent;\n border-radius: 0;\n }\n .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n border-block-end-color: currentcolor;\n }\n .nav-underline .nav-link.active,\n .nav-underline .show > .nav-link {\n font-weight: 700;\n color: var(--nav-underline-link-active-color);\n border-block-end-color: currentcolor;\n }\n .nav-fill > .nav-link,\n .nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n .nav-justified > .nav-link,\n .nav-justified .nav-item {\n flex-grow: 1;\n flex-basis: 0;\n text-align: center;\n }\n .nav-fill .nav-item .nav-link,\n .nav-justified .nav-item .nav-link {\n width: 100%;\n }\n .tab-content > .tab-pane {\n display: none;\n }\n .tab-content > .active {\n display: block;\n }\n}\n@layer components {\n .nav-overflow {\n flex-wrap: nowrap;\n min-width: 0;\n }\n .nav-overflow-item {\n flex-shrink: 0;\n margin-inline-start: auto;\n }\n .nav-overflow [data-bs-nav-overflow=true] {\n display: none;\n }\n .nav-overflow-keep {\n flex-shrink: 0;\n }\n}\n@layer components {\n .navbar {\n --navbar-padding-x: 0;\n --navbar-padding-y: 0.5rem;\n --navbar-color: var(--fg-2);\n --navbar-hover-color: var(--fg-1);\n --navbar-disabled-color: var(--fg-3);\n --navbar-active-color: var(--fg-body);\n --navbar-brand-padding-y: 0.75rem;\n --navbar-brand-margin-end: 1rem;\n --navbar-brand-font-size: var(--font-size-md);\n --navbar-brand-font-weight: var(--font-weight-medium);\n --navbar-brand-color: var(--fg-body);\n --navbar-brand-hover-color: var(--fg-body);\n --navbar-nav-link-padding-x: 0.75rem;\n --navbar-toggler-width: 2rem;\n --navbar-toggler-padding-y: 0.25rem;\n --navbar-toggler-padding-x: 0.75rem;\n --navbar-toggler-font-size: var(--font-size-lg);\n --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --navbar-toggler-border-radius: var(--border-radius);\n --navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--navbar-padding-y) var(--navbar-padding-x);\n container-type: inline-size;\n color: var(--navbar-color, var(--fg-body));\n background-color: var(--navbar-bg, var(--bg-body));\n }\n .navbar > .container-2xl, .navbar > .container-xl, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container,\n .navbar > .container-fluid {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n .navbar-brand {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n margin-inline-end: var(--navbar-brand-margin-end);\n font-size: var(--navbar-brand-font-size);\n font-weight: var(--navbar-brand-font-weight);\n color: var(--navbar-brand-color);\n text-decoration: none;\n white-space: nowrap;\n }\n .navbar-brand:hover, .navbar-brand:focus {\n color: var(--navbar-brand-hover-color);\n }\n .navbar-nav {\n --nav-gap: 0.25rem;\n --nav-link-gap: 0.5rem;\n --nav-link-padding-x: 0.5rem;\n --nav-link-padding-y: 0.375rem;\n --nav-link-color: var(--navbar-color);\n --nav-link-border-width: var(--border-width);\n --nav-link-hover-color: var(--navbar-hover-color);\n --nav-link-hover-bg: transparent;\n --nav-link-active-color: var(--navbar-active-color);\n --nav-link-active-bg: transparent;\n --nav-link-disabled-color: var(--navbar-disabled-color);\n display: flex;\n flex-direction: column;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n }\n .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n color: var(--navbar-active-color);\n border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n }\n .navbar-text {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n color: var(--navbar-color);\n }\n .navbar-text a,\n .navbar-text a:hover,\n .navbar-text a:focus {\n color: var(--navbar-active-color);\n }\n .navbar-toggler {\n --btn-bg: transparent;\n --btn-hover-bg: var(--bg-2);\n }\n .navbar-expand > .container,\n .navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .navbar-expand .navbar-toggler {\n display: none !important;\n }\n .navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n .navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n @container (width >= 576px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none !important;\n }\n .navbar-expand-sm .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 768px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .navbar-expand-md .navbar-toggler {\n display: none !important;\n }\n .navbar-expand-md .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 1024px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none !important;\n }\n .navbar-expand-lg .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 1280px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none !important;\n }\n .navbar-expand-xl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 1536px) {\n .navbar-expand-2xl > .container,\n .navbar-expand-2xl > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-2xl .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .navbar-expand-2xl .navbar-toggler {\n display: none !important;\n }\n .navbar-expand-2xl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand-2xl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-2xl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n .navbar-translucent {\n position: relative;\n background-color: transparent;\n }\n .navbar-translucent::before {\n position: absolute;\n inset: 0;\n z-index: -1;\n content: \"\";\n background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n background-image: none;\n backdrop-filter: blur(5px) saturate(180%);\n }\n .navbar[data-bs-theme=dark] {\n --navbar-color: color-mix(in oklch, var(--white) 0.55, transparent);\n --navbar-hover-color: color-mix(in oklch, var(--white) 0.75, transparent);\n --navbar-disabled-color: color-mix(in oklch, var(--white) 0.25, transparent);\n --navbar-active-color: var(--white);\n --navbar-brand-color: var(--white);\n --navbar-brand-hover-color: var(--white);\n --navbar-toggler-border-color: color-mix(in oklch, var(--white) 0.1, transparent);\n }\n}\n.offcanvas, .offcanvas-2xl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {\n --offcanvas-inset: var(--spacer);\n --offcanvas-zindex: 1045;\n --offcanvas-width: 400px;\n --offcanvas-height: 30vh;\n --offcanvas-padding-x: var(--spacer);\n --offcanvas-padding-y: var(--spacer);\n --offcanvas-color: var(--fg-body);\n --offcanvas-bg: var(--bg-body);\n --offcanvas-border-width: var(--border-width);\n --offcanvas-border-color: var(--border-color-translucent);\n --offcanvas-border-radius: var(--border-radius-lg);\n --offcanvas-box-shadow: var(--box-shadow-lg);\n --offcanvas-transition: transform 0.3s ease-in-out;\n --offcanvas-title-line-height: 1.5;\n}\n\n@layer components {\n @media (width < 576px) {\n .offcanvas-sm {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 576px) and (prefers-reduced-motion: reduce) {\n .offcanvas-sm {\n transition: none;\n }\n }\n @media (width < 576px) {\n .offcanvas-sm:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .offcanvas-sm:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .offcanvas-sm:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .offcanvas-sm:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .offcanvas-sm:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .offcanvas-sm:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .offcanvas-sm:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {\n visibility: visible;\n }\n }\n @media (width >= 576px) {\n .offcanvas-sm {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-sm .offcanvas-header {\n display: none;\n }\n .offcanvas-sm .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 768px) {\n .offcanvas-md {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 768px) and (prefers-reduced-motion: reduce) {\n .offcanvas-md {\n transition: none;\n }\n }\n @media (width < 768px) {\n .offcanvas-md:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .offcanvas-md:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .offcanvas-md:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .offcanvas-md:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .offcanvas-md:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .offcanvas-md:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .offcanvas-md:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {\n visibility: visible;\n }\n }\n @media (width >= 768px) {\n .offcanvas-md {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-md .offcanvas-header {\n display: none;\n }\n .offcanvas-md .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 1024px) {\n .offcanvas-lg {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n .offcanvas-lg {\n transition: none;\n }\n }\n @media (width < 1024px) {\n .offcanvas-lg:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .offcanvas-lg:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .offcanvas-lg:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .offcanvas-lg:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .offcanvas-lg:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .offcanvas-lg:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .offcanvas-lg:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {\n visibility: visible;\n }\n }\n @media (width >= 1024px) {\n .offcanvas-lg {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-lg .offcanvas-header {\n display: none;\n }\n .offcanvas-lg .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 1280px) {\n .offcanvas-xl {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xl {\n transition: none;\n }\n }\n @media (width < 1280px) {\n .offcanvas-xl:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .offcanvas-xl:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .offcanvas-xl:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .offcanvas-xl:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .offcanvas-xl:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .offcanvas-xl:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .offcanvas-xl:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {\n visibility: visible;\n }\n }\n @media (width >= 1280px) {\n .offcanvas-xl {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xl .offcanvas-header {\n display: none;\n }\n .offcanvas-xl .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 1536px) {\n .offcanvas-2xl {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n .offcanvas-2xl {\n transition: none;\n }\n }\n @media (width < 1536px) {\n .offcanvas-2xl:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .offcanvas-2xl:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .offcanvas-2xl:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .offcanvas-2xl:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .offcanvas-2xl:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .offcanvas-2xl:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .offcanvas-2xl:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .offcanvas-2xl.showing, .offcanvas-2xl.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-2xl.showing, .offcanvas-2xl.hiding, .offcanvas-2xl.show {\n visibility: visible;\n }\n }\n @media (width >= 1536px) {\n .offcanvas-2xl {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-2xl .offcanvas-header {\n display: none;\n }\n .offcanvas-2xl .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n .offcanvas {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .offcanvas {\n transition: none;\n }\n }\n .offcanvas:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .offcanvas:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .offcanvas:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .offcanvas:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .offcanvas:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .offcanvas:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .offcanvas:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .offcanvas.showing, .offcanvas.show:not(.hiding) {\n transform: none;\n }\n .offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\n visibility: visible;\n }\n .offcanvas-backdrop {\n --offcanvas-backdrop-bg: var(--bg-body);\n --offcanvas-backdrop-opacity: 25%;\n --offcanvas-backdrop-blur: 8px;\n position: fixed;\n inset: 0;\n z-index: 1040;\n background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n }\n .offcanvas-backdrop.fade {\n opacity: 0;\n }\n .offcanvas-backdrop.show {\n opacity: 1;\n }\n .offcanvas-translucent {\n background-color: color-mix(in oklch, var(--offcanvas-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n .offcanvas-header {\n display: flex;\n align-items: center;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n }\n .offcanvas-header .btn-close {\n padding: calc(var(--offcanvas-padding-y) * 0.5) calc(var(--offcanvas-padding-x) * 0.5);\n margin-inline-start: auto;\n margin-inline-end: calc(-0.5 * var(--offcanvas-padding-x));\n margin-top: calc(-0.5 * var(--offcanvas-padding-y));\n margin-bottom: calc(-0.5 * var(--offcanvas-padding-y));\n }\n .offcanvas-title {\n margin-bottom: 0;\n line-height: var(--offcanvas-title-line-height);\n }\n .offcanvas-body {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n gap: var(--offcanvas-padding-y);\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n overflow-y: auto;\n }\n .offcanvas-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: 0.5rem;\n align-items: center;\n justify-content: flex-end;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n }\n .offcanvas-fit-content {\n inset-block-end: auto;\n }\n}\n@layer components {\n .pagination {\n --pagination-min-height: var(--btn-input-min-height);\n --pagination-padding-x: var(--btn-input-padding-x);\n --pagination-padding-y: var(--btn-input-padding-y);\n --pagination-font-size: var(--btn-input-font-size);\n --pagination-color: var(--link-color);\n --pagination-bg: var(--bg-body);\n --pagination-border-width: var(--border-width);\n --pagination-border-color: var(--border-color);\n --pagination-border-radius: var(--btn-input-border-radius);\n --pagination-hover-color: var(--link-hover-color);\n --pagination-hover-bg: var(--bg-1);\n --pagination-hover-border-color: var(--border-color);\n --pagination-focus-color: var(--link-hover-color);\n --pagination-focus-bg: var(--bg-2);\n --pagination-active-color: var(--primary-contrast);\n --pagination-active-bg: var(--primary-bg);\n --pagination-active-border-color: var(--primary-bg);\n --pagination-disabled-color: var(--fg-3);\n --pagination-disabled-bg: var(--bg-2);\n --pagination-disabled-border-color: var(--border-color);\n display: flex;\n padding-inline-start: 0;\n list-style: none;\n }\n .page-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--pagination-min-height);\n padding: var(--pagination-padding-y) var(--pagination-padding-x);\n font-size: var(--pagination-font-size);\n color: var(--pagination-color);\n text-decoration: none;\n background-color: var(--pagination-bg);\n border: var(--pagination-border-width) solid var(--pagination-border-color);\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n }\n .page-link:hover {\n z-index: 2;\n color: var(--pagination-hover-color);\n background-color: var(--pagination-hover-bg);\n border-color: var(--pagination-hover-border-color);\n }\n .page-link:focus-visible {\n z-index: 3;\n color: var(--pagination-focus-color);\n background-color: var(--pagination-focus-bg);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .page-link.active, .active > .page-link {\n z-index: 3;\n color: var(--pagination-active-color);\n background-color: var(--pagination-active-bg);\n border-color: var(--pagination-active-border-color);\n }\n .page-link.disabled, .disabled > .page-link {\n color: var(--pagination-disabled-color);\n pointer-events: none;\n background-color: var(--pagination-disabled-bg);\n border-color: var(--pagination-disabled-border-color);\n }\n .page-item:not(:first-child) .page-link {\n margin-inline-start: calc(-1 * var(--pagination-border-width));\n }\n .page-item:first-child .page-link {\n border-start-start-radius: var(--pagination-border-radius);\n border-end-start-radius: var(--pagination-border-radius);\n }\n .page-item:last-child .page-link {\n border-start-end-radius: var(--pagination-border-radius);\n border-end-end-radius: var(--pagination-border-radius);\n }\n .pagination-sm {\n --pagination-min-height: var(--bs-btn-input-sm-min-height);\n --pagination-padding-y: var(--btn-input-sm-padding-y);\n --pagination-padding-x: var(--btn-input-sm-padding-x);\n --pagination-font-size: var(--btn-input-sm-font-size);\n --pagination-border-radius: var(--btn-input-sm-border-radius);\n }\n .pagination-lg {\n --pagination-min-height: var(--bs-btn-input-lg-min-height);\n --pagination-padding-y: var(--btn-input-lg-padding-y);\n --pagination-padding-x: var(--btn-input-lg-padding-x);\n --pagination-font-size: var(--btn-input-lg-font-size);\n --pagination-border-radius: var(--btn-input-lg-border-radius);\n }\n}\n@layer components {\n .placeholder {\n --placeholder-opacity-max: 0.5;\n --placeholder-opacity-min: 0.2;\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: var(--placeholder-opacity-max);\n }\n .placeholder.btn::before {\n display: inline-block;\n content: \"\";\n }\n .placeholder-xs {\n min-height: 0.6em;\n }\n .placeholder-sm {\n min-height: 0.8em;\n }\n .placeholder-lg {\n min-height: 1.2em;\n }\n .placeholder-glow .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n }\n @keyframes placeholder-glow {\n 50% {\n opacity: var(--placeholder-opacity-min);\n }\n }\n .placeholder-wave {\n mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, #000 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n }\n @keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n }\n}\n@layer components {\n .popover {\n --popover-zindex: 1070;\n --popover-max-width: 280px;\n --popover-font-size: var(--font-size-sm);\n --popover-bg: var(--bg-body);\n --popover-border-width: var(--border-width);\n --popover-border-color: var(--border-color-translucent);\n --popover-border-radius: var(--border-radius-lg);\n --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n --popover-box-shadow: var(--box-shadow);\n --popover-header-padding-x: 1rem;\n --popover-header-padding-y: 0.75rem;\n --popover-header-font-size: var(--font-size-sm);\n --popover-header-color: inherit;\n --popover-header-bg: var(--bg-1);\n --popover-body-padding-x: 1rem;\n --popover-body-padding-y: 0.75rem;\n --popover-body-color: var(--fg-body);\n --popover-arrow-width: 1rem;\n --popover-arrow-height: 0.5rem;\n --popover-arrow-border: var(--popover-border-color);\n z-index: var(--popover-zindex);\n display: block;\n max-width: var(--popover-max-width);\n font-family: var(--body-font-family);\n font-style: normal;\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--popover-font-size);\n word-wrap: break-word;\n background-color: var(--popover-bg);\n background-clip: padding-box;\n border: var(--popover-border-width) solid var(--popover-border-color);\n border-radius: var(--popover-border-radius);\n box-shadow: var(--popover-box-shadow);\n }\n .popover .popover-arrow {\n display: block;\n width: var(--popover-arrow-width);\n height: var(--popover-arrow-height);\n }\n .popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n }\n .bs-popover-top > .popover-arrow, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow {\n bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n }\n .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n }\n .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before {\n bottom: 0;\n border-block-start-color: var(--popover-arrow-border);\n }\n .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n bottom: var(--popover-border-width);\n border-block-start-color: var(--popover-bg);\n }\n .bs-popover-end > .popover-arrow, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow {\n left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n }\n .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n border-width: calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n }\n .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before {\n left: 0;\n border-inline-end-color: var(--popover-arrow-border);\n }\n .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n left: var(--popover-border-width);\n border-inline-end-color: var(--popover-bg);\n }\n .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow {\n top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n }\n .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n border-width: 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n }\n .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before {\n top: 0;\n border-block-end-color: var(--popover-arrow-border);\n }\n .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n top: var(--popover-border-width);\n border-block-end-color: var(--popover-bg);\n }\n .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-bs-placement^=bottom] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--popover-arrow-width);\n margin-inline-start: calc(-0.5 * var(--popover-arrow-width));\n content: \"\";\n border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n }\n .bs-popover-start > .popover-arrow, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow {\n right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n }\n .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n border-width: calc(var(--popover-arrow-width) * 0.5) 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n }\n .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before {\n right: 0;\n border-inline-start-color: var(--popover-arrow-border);\n }\n .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n right: var(--popover-border-width);\n border-inline-start-color: var(--popover-bg);\n }\n .popover-header {\n padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n margin-bottom: 0;\n font-size: var(--popover-header-font-size);\n color: var(--popover-header-color);\n background-color: var(--popover-header-bg);\n border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n border-start-start-radius: var(--popover-inner-border-radius);\n border-start-end-radius: var(--popover-inner-border-radius);\n }\n .popover-header:empty {\n display: none;\n }\n .popover-body {\n padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n color: var(--popover-body-color);\n }\n}\n@layer components {\n @keyframes progress-bar-stripes {\n 0% {\n background-position-x: var(--progress-height);\n }\n }\n .progress,\n .progress-stacked {\n --progress-height: 1rem;\n --progress-font-size: var(--font-size-sm);\n --progress-bg: var(--bg-2);\n --progress-border-radius: var(--border-radius);\n --progress-box-shadow: var(--box-shadow-inset);\n --progress-bar-color: var(--white);\n --progress-bar-bg: var(--primary-bg);\n --progress-bar-transition: width 0.6s ease;\n --progress-bar-animation: progress-bar-stripes 1s linear infinite;\n display: flex;\n height: var(--progress-height);\n overflow: hidden;\n font-size: var(--progress-font-size);\n background-color: var(--progress-bg);\n border-radius: var(--progress-border-radius);\n box-shadow: var(--progress-box-shadow);\n }\n .progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--theme-contrast, var(--progress-bar-color));\n text-align: center;\n white-space: nowrap;\n background-color: var(--theme-bg, var(--progress-bar-bg));\n transition: var(--progress-bar-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n }\n .progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: var(--progress-height) var(--progress-height);\n }\n .progress-stacked > .progress {\n overflow: visible;\n }\n .progress-stacked > .progress > .progress-bar {\n width: 100%;\n }\n .progress-bar-animated {\n animation: var(--progress-bar-animation);\n }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n }\n}\n@layer components {\n .spinner-grow,\n .spinner-border {\n display: inline-block;\n flex-shrink: 0;\n width: var(--spinner-width);\n height: var(--spinner-height);\n vertical-align: var(--spinner-vertical-align);\n border-radius: 50%;\n animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n }\n @keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n }\n .spinner-border {\n --spinner-width: 2rem;\n --spinner-height: 2rem;\n --spinner-vertical-align: -0.125em;\n --spinner-border-width: 0.25em;\n --spinner-animation-speed: 0.75s;\n --spinner-animation-name: spinner-border;\n border: var(--spinner-border-width) solid currentcolor;\n border-inline-end-color: transparent;\n }\n .spinner-border-sm {\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n --spinner-border-width: .2em;\n }\n @keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n }\n .spinner-grow {\n --spinner-width: 2rem;\n --spinner-height: 2rem;\n --spinner-vertical-align: -0.125em;\n --spinner-animation-speed: 0.75s;\n --spinner-animation-name: spinner-grow;\n background-color: currentcolor;\n opacity: 0;\n }\n .spinner-grow-sm {\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n }\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --spinner-animation-speed: 1.5s;\n }\n }\n}\n@layer components {\n .stepper {\n --stepper-size: 2rem;\n --stepper-gap: 1rem;\n --stepper-font-size: var(--font-size-sm);\n --stepper-text-gap: 0.5rem;\n --stepper-track-size: 0.125rem;\n --stepper-bg: var(--bg-2);\n --stepper-active-color: var(--primary-contrast);\n --stepper-active-bg: var(--primary-bg);\n display: grid;\n grid-auto-rows: 1fr;\n grid-auto-flow: row;\n gap: var(--stepper-gap);\n padding-inline-start: 0;\n list-style: none;\n counter-reset: stepper;\n }\n .stepper-item {\n position: relative;\n display: grid;\n grid-template-rows: auto;\n grid-template-columns: var(--stepper-size) auto;\n gap: var(--stepper-text-gap);\n align-items: var(--stepper-align-items, center);\n text-decoration: none;\n }\n .stepper-item::before {\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--stepper-size);\n height: var(--stepper-size);\n padding: 0.5rem;\n font-size: var(--stepper-font-size);\n font-weight: 600;\n line-height: 1;\n text-align: center;\n content: counter(stepper);\n counter-increment: stepper;\n background-color: var(--stepper-bg);\n border-radius: 50%;\n }\n .stepper-item::after {\n position: absolute;\n inset-block-start: 50%;\n inset-block-end: 100%;\n inset-inline-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n width: var(--stepper-track-size);\n height: calc(100% + var(--stepper-gap));\n content: \"\";\n background-color: var(--stepper-bg);\n }\n .stepper-item:last-child::after {\n display: none;\n }\n .stepper-item.active::before, .stepper-item.active::after {\n color: var(--theme-contrast, var(--stepper-active-color));\n background-color: var(--theme-bg, var(--stepper-active-bg));\n }\n .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n background-color: var(--stepper-bg);\n }\n .stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n @container (width >= 576px) {\n .stepper-horizontal-sm {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .stepper-horizontal-sm .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .stepper-horizontal-sm .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .stepper-horizontal-sm .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 768px) {\n .stepper-horizontal-md {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .stepper-horizontal-md .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .stepper-horizontal-md .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .stepper-horizontal-md .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 1024px) {\n .stepper-horizontal-lg {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .stepper-horizontal-lg .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .stepper-horizontal-lg .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .stepper-horizontal-lg .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 1280px) {\n .stepper-horizontal-xl {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .stepper-horizontal-xl .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .stepper-horizontal-xl .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .stepper-horizontal-xl .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 1536px) {\n .stepper-horizontal-2xl {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .stepper-horizontal-2xl .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .stepper-horizontal-2xl .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .stepper-horizontal-2xl .stepper-item:last-child::after {\n right: 100%;\n }\n }\n .stepper-overflow {\n container-type: inline-size;\n overflow-x: auto;\n overscroll-behavior-x: contain;\n -webkit-overflow-scrolling: touch;\n }\n .stepper-overflow > .stepper {\n width: max-content;\n min-width: 100%;\n }\n}\n@layer components {\n .toast {\n --toast-zindex: 1090;\n --toast-padding-x: 0.75rem;\n --toast-padding-y: 0.5rem;\n --toast-spacing: 1.5rem;\n --toast-max-width: 350px;\n --toast-font-size: 0.875rem;\n --toast-bg: rgba(var(--body-bg-rgb), 0.85);\n --toast-border-width: var(--border-width);\n --toast-border-color: var(--border-color-translucent);\n --toast-border-radius: var(--border-radius);\n --toast-box-shadow: var(--box-shadow);\n --toast-header-color: var(--fg-3);\n --toast-header-bg: rgba(var(--body-bg-rgb), 0.85);\n --toast-header-border-color: var(--border-color-translucent);\n width: var(--toast-max-width);\n max-width: 100%;\n font-size: var(--toast-font-size);\n color: var(--toast-color);\n pointer-events: auto;\n background-color: var(--toast-bg);\n background-clip: padding-box;\n border: var(--toast-border-width) solid var(--toast-border-color);\n box-shadow: var(--toast-box-shadow);\n border-radius: var(--toast-border-radius);\n }\n .toast.showing {\n opacity: 0;\n }\n .toast:not(.show) {\n display: none;\n }\n .toast-container {\n --toast-zindex: 1090;\n position: absolute;\n z-index: var(--toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n }\n .toast-container > :not(:last-child) {\n margin-bottom: var(--toast-spacing);\n }\n .toast-header {\n display: flex;\n align-items: center;\n padding: var(--toast-padding-y) var(--toast-padding-x);\n color: var(--toast-header-color);\n background-color: var(--toast-header-bg);\n background-clip: padding-box;\n border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n border-start-start-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n border-start-end-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n }\n .toast-header .btn-close {\n margin-inline-start: var(--toast-padding-x);\n margin-inline-end: calc(-0.5 * var(--toast-padding-x));\n }\n .toast-translucent {\n backdrop-filter: blur(5px) saturate(180%);\n }\n .toast-body {\n padding: var(--toast-padding-x);\n word-wrap: break-word;\n }\n}\n.fade {\n transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n.collapsing.collapse-horizontal {\n width: 0;\n height: auto;\n transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing.collapse-horizontal {\n transition: none;\n }\n}\n\n@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: 0.375rem;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n text-underline-offset: 0.25em;\n backface-visibility: hidden;\n }\n .icon-link > .bi {\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n fill: currentcolor;\n transition: 0.2s ease-in-out transform;\n }\n @media (prefers-reduced-motion: reduce) {\n .icon-link > .bi {\n transition: none;\n }\n }\n .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n }\n}\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: 1030;\n }\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: 1030;\n }\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n @media (width >= 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-sm-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-md-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1024px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-lg-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1280px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1536px) {\n .sticky-2xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-2xl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n}\n@layer helpers {\n .stack-container {\n container-type: inline-size;\n }\n [class*=hstack],\n [class*=vstack] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n .vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n .hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n @container (width >= 576px) {\n .vstack-sm {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 576px) {\n .hstack-sm {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 768px) {\n .vstack-md {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 768px) {\n .hstack-md {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1024px) {\n .vstack-lg {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1024px) {\n .hstack-lg {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1280px) {\n .vstack-xl {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1280px) {\n .hstack-xl {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1536px) {\n .vstack-2xl {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1536px) {\n .hstack-2xl {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n}\n@layer helpers {\n .theme-primary {\n --theme-base: var(--primary-base);\n --theme-text: var(--primary-text);\n --theme-text-emphasis: var(--primary-text-emphasis);\n --theme-bg: var(--primary-bg);\n --theme-bg-subtle: var(--primary-bg-subtle);\n --theme-bg-muted: var(--primary-bg-muted);\n --theme-border: var(--primary-border);\n --theme-focus-ring: var(--primary-focus-ring);\n --theme-contrast: var(--primary-contrast);\n }\n .theme-accent {\n --theme-base: var(--accent-base);\n --theme-text: var(--accent-text);\n --theme-text-emphasis: var(--accent-text-emphasis);\n --theme-bg: var(--accent-bg);\n --theme-bg-subtle: var(--accent-bg-subtle);\n --theme-bg-muted: var(--accent-bg-muted);\n --theme-border: var(--accent-border);\n --theme-focus-ring: var(--accent-focus-ring);\n --theme-contrast: var(--accent-contrast);\n }\n .theme-success {\n --theme-base: var(--success-base);\n --theme-text: var(--success-text);\n --theme-text-emphasis: var(--success-text-emphasis);\n --theme-bg: var(--success-bg);\n --theme-bg-subtle: var(--success-bg-subtle);\n --theme-bg-muted: var(--success-bg-muted);\n --theme-border: var(--success-border);\n --theme-focus-ring: var(--success-focus-ring);\n --theme-contrast: var(--success-contrast);\n }\n .theme-danger {\n --theme-base: var(--danger-base);\n --theme-text: var(--danger-text);\n --theme-text-emphasis: var(--danger-text-emphasis);\n --theme-bg: var(--danger-bg);\n --theme-bg-subtle: var(--danger-bg-subtle);\n --theme-bg-muted: var(--danger-bg-muted);\n --theme-border: var(--danger-border);\n --theme-focus-ring: var(--danger-focus-ring);\n --theme-contrast: var(--danger-contrast);\n }\n .theme-warning {\n --theme-base: var(--warning-base);\n --theme-text: var(--warning-text);\n --theme-text-emphasis: var(--warning-text-emphasis);\n --theme-bg: var(--warning-bg);\n --theme-bg-subtle: var(--warning-bg-subtle);\n --theme-bg-muted: var(--warning-bg-muted);\n --theme-border: var(--warning-border);\n --theme-focus-ring: var(--warning-focus-ring);\n --theme-contrast: var(--warning-contrast);\n }\n .theme-info {\n --theme-base: var(--info-base);\n --theme-text: var(--info-text);\n --theme-text-emphasis: var(--info-text-emphasis);\n --theme-bg: var(--info-bg);\n --theme-bg-subtle: var(--info-bg-subtle);\n --theme-bg-muted: var(--info-bg-muted);\n --theme-border: var(--info-border);\n --theme-focus-ring: var(--info-focus-ring);\n --theme-contrast: var(--info-contrast);\n }\n .theme-inverse {\n --theme-base: var(--inverse-base);\n --theme-text: var(--inverse-text);\n --theme-text-emphasis: var(--inverse-text-emphasis);\n --theme-bg: var(--inverse-bg);\n --theme-bg-subtle: var(--inverse-bg-subtle);\n --theme-bg-muted: var(--inverse-bg-muted);\n --theme-border: var(--inverse-border);\n --theme-focus-ring: var(--inverse-focus-ring);\n --theme-contrast: var(--inverse-contrast);\n }\n .theme-secondary {\n --theme-base: var(--secondary-base);\n --theme-text: var(--secondary-text);\n --theme-text-emphasis: var(--secondary-text-emphasis);\n --theme-bg: var(--secondary-bg);\n --theme-bg-subtle: var(--secondary-bg-subtle);\n --theme-bg-muted: var(--secondary-bg-muted);\n --theme-border: var(--secondary-border);\n --theme-focus-ring: var(--secondary-focus-ring);\n --theme-contrast: var(--secondary-contrast);\n }\n}\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n .visually-hidden:not(caption),\n .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n position: absolute !important;\n }\n .visually-hidden *,\n .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n overflow: hidden !important;\n }\n}\n@layer helpers {\n .stretched-link::after {\n position: absolute;\n inset: 0;\n z-index: 1;\n content: \"\";\n }\n}\n@layer helpers {\n .text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n@layer utilities {\n .align-baseline {\n vertical-align: baseline;\n }\n .align-top {\n vertical-align: top;\n }\n .align-middle {\n vertical-align: middle;\n }\n .align-bottom {\n vertical-align: bottom;\n }\n .align-text-bottom {\n vertical-align: text-bottom;\n }\n .align-text-top {\n vertical-align: text-top;\n }\n [class*=ratio-] {\n aspect-ratio: var(--ratio);\n }\n .ratio-auto {\n --ratio: auto;\n }\n .ratio-1x1 {\n --ratio: 1 / 1;\n }\n .ratio-4x3 {\n --ratio: 4 / 3;\n }\n .ratio-16x9 {\n --ratio: 16 / 9;\n }\n .ratio-21x9 {\n --ratio: 21 / 9;\n }\n .float-start {\n float: inline-start;\n }\n .float-end {\n float: inline-end;\n }\n .float-none {\n float: none;\n }\n .object-fit-contain {\n object-fit: contain;\n }\n .object-fit-cover {\n object-fit: cover;\n }\n .object-fit-fill {\n object-fit: fill;\n }\n .object-fit-scale {\n object-fit: scale-down;\n }\n .object-fit-none {\n object-fit: none;\n }\n .opacity-0 {\n opacity: 0;\n }\n .opacity-25 {\n opacity: 0.25;\n }\n .opacity-50 {\n opacity: 0.5;\n }\n .opacity-75 {\n opacity: 0.75;\n }\n .opacity-100 {\n opacity: 1;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-visible {\n overflow: visible;\n }\n .overflow-scroll {\n overflow: scroll;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n .overflow-x-visible {\n overflow-x: visible;\n }\n .overflow-x-scroll {\n overflow-x: scroll;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .overflow-y-hidden {\n overflow-y: hidden;\n }\n .overflow-y-visible {\n overflow-y: visible;\n }\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n .contains-inline {\n container-type: inline-size;\n }\n .contains-size {\n container-type: size;\n }\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .shadow {\n box-shadow: var(--box-shadow);\n }\n .shadow-sm {\n box-shadow: var(--box-shadow-sm);\n }\n .shadow-lg {\n box-shadow: var(--box-shadow-lg);\n }\n .shadow-none {\n box-shadow: none;\n }\n .focus-ring-primary {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n }\n .focus-ring-accent {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n }\n .focus-ring-success {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n }\n .focus-ring-danger {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n }\n .focus-ring-warning {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n }\n .focus-ring-info {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n }\n .focus-ring-inverse {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n }\n .focus-ring-secondary {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n }\n .position-static {\n position: static;\n }\n .position-relative {\n position: relative;\n }\n .position-absolute {\n position: absolute;\n }\n .position-fixed {\n position: fixed;\n }\n .position-sticky {\n position: sticky;\n }\n .top-0 {\n top: 0;\n }\n .top-50 {\n top: 50%;\n }\n .top-100 {\n top: 100%;\n }\n .bottom-0 {\n bottom: 0;\n }\n .bottom-50 {\n bottom: 50%;\n }\n .bottom-100 {\n bottom: 100%;\n }\n .start-0 {\n left: 0;\n }\n .start-50 {\n left: 50%;\n }\n .start-100 {\n left: 100%;\n }\n .end-0 {\n right: 0;\n }\n .end-50 {\n right: 50%;\n }\n .end-100 {\n right: 100%;\n }\n .translate-middle {\n transform: translate(-50%, -50%);\n }\n .translate-middle-x {\n transform: translateX(-50%);\n }\n .translate-middle-y {\n transform: translateY(-50%);\n }\n .border {\n border: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-0 {\n border: 0;\n }\n .border-top {\n border-block-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-top-0 {\n border-block-start: 0;\n }\n .border-end {\n border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-end-0 {\n border-inline-end: 0;\n }\n .border-bottom {\n border-block-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-bottom-0 {\n border-block-end: 0;\n }\n .border-start {\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-start-0 {\n border-inline-start: 0;\n }\n .border-block {\n border-block: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-block-0 {\n border-block: 0;\n }\n .border-inline {\n border-inline: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-inline-0 {\n border-inline: 0;\n }\n .border-primary {\n --border-color: var(--blue-500);\n border-color: var(--border-color);\n }\n .border-accent {\n --border-color: var(--indigo-500);\n border-color: var(--border-color);\n }\n .border-success {\n --border-color: var(--green-500);\n border-color: var(--border-color);\n }\n .border-danger {\n --border-color: var(--red-500);\n border-color: var(--border-color);\n }\n .border-warning {\n --border-color: var(--yellow-500);\n border-color: var(--border-color);\n }\n .border-info {\n --border-color: var(--cyan-500);\n border-color: var(--border-color);\n }\n .border-inverse {\n --border-color: light-dark(var(--gray-900), var(--gray-025));\n border-color: var(--border-color);\n }\n .border-secondary {\n --border-color: light-dark(var(--gray-100), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-bg {\n --border-color: var(--bg-body);\n border-color: var(--border-color);\n }\n .border-body {\n --border-color: light-dark(var(--gray-300), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-muted {\n --border-color: light-dark(var(--gray-200), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-subtle {\n --border-color: light-dark(var(--gray-100), var(--gray-900));\n border-color: var(--border-color);\n }\n .border-emphasized {\n --border-color: light-dark(var(--gray-400), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-white {\n --border-color: var(--white);\n border-color: var(--border-color);\n }\n .border-black {\n --border-color: var(--black);\n border-color: var(--border-color);\n }\n .border-subtle-primary {\n --border-color: light-dark(var(--blue-300), var(--blue-600));\n border-color: var(--border-color);\n }\n .border-subtle-accent {\n --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n border-color: var(--border-color);\n }\n .border-subtle-success {\n --border-color: light-dark(var(--green-300), var(--green-600));\n border-color: var(--border-color);\n }\n .border-subtle-danger {\n --border-color: light-dark(var(--red-300), var(--red-600));\n border-color: var(--border-color);\n }\n .border-subtle-warning {\n --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n border-color: var(--border-color);\n }\n .border-subtle-info {\n --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n border-color: var(--border-color);\n }\n .border-subtle-inverse {\n --border-color: light-dark(var(--gray-400), var(--gray-100));\n border-color: var(--border-color);\n }\n .border-subtle-secondary {\n --border-color: light-dark(var(--gray-300), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-1 {\n border-width: 1px;\n }\n .border-2 {\n border-width: 2px;\n }\n .border-3 {\n border-width: 3px;\n }\n .border-4 {\n border-width: 4px;\n }\n .border-5 {\n border-width: 5px;\n }\n .border-10 {\n border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n }\n .border-20 {\n border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n }\n .border-30 {\n border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n }\n .border-40 {\n border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n }\n .border-50 {\n border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n }\n .border-60 {\n border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n }\n .border-70 {\n border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n }\n .border-80 {\n border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n }\n .border-90 {\n border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n }\n .border-100 {\n border-color: var(--border-color);\n }\n .w-1 {\n width: 1rem;\n }\n .w-2 {\n width: 2rem;\n }\n .w-3 {\n width: 3rem;\n }\n .w-4 {\n width: 4rem;\n }\n .w-5 {\n width: 5rem;\n }\n .w-6 {\n width: 6rem;\n }\n .w-7 {\n width: 7rem;\n }\n .w-8 {\n width: 8rem;\n }\n .w-9 {\n width: 9rem;\n }\n .w-10 {\n width: 10rem;\n }\n .w-11 {\n width: 11rem;\n }\n .w-12 {\n width: 12rem;\n }\n .w-25 {\n width: 25%;\n }\n .w-50 {\n width: 50%;\n }\n .w-75 {\n width: 75%;\n }\n .w-100 {\n width: 100%;\n }\n .w-auto {\n width: auto;\n }\n .w-min {\n width: min-content;\n }\n .w-max {\n width: max-content;\n }\n .w-fit {\n width: fit-content;\n }\n .max-w-100 {\n max-width: 100%;\n }\n .min-w-0 {\n min-width: 0;\n }\n .min-w-100 {\n min-width: 100%;\n }\n .vw-100 {\n width: 100vw;\n }\n .min-vw-100 {\n min-width: 100vw;\n }\n .h-25 {\n height: 25%;\n }\n .h-50 {\n height: 50%;\n }\n .h-75 {\n height: 75%;\n }\n .h-100 {\n height: 100%;\n }\n .h-auto {\n height: auto;\n }\n .h-min {\n height: min-content;\n }\n .h-max {\n height: max-content;\n }\n .h-fit {\n height: fit-content;\n }\n .max-h-100 {\n max-height: 100%;\n }\n .min-h-0 {\n min-height: 0;\n }\n .min-h-100 {\n min-height: 100%;\n }\n .vh-100 {\n height: 100vh;\n }\n .min-vh-100 {\n min-height: 100vh;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .justify-self-start {\n justify-self: flex-start;\n }\n .justify-self-end {\n justify-self: flex-end;\n }\n .justify-self-center {\n justify-self: center;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .order-first {\n order: -1;\n }\n .order-0 {\n order: 0;\n }\n .order-1 {\n order: 1;\n }\n .order-2 {\n order: 2;\n }\n .order-3 {\n order: 3;\n }\n .order-4 {\n order: 4;\n }\n .order-5 {\n order: 5;\n }\n .order-last {\n order: 6;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n .gap-0 {\n gap: 0;\n }\n .gap-1 {\n gap: 0.25rem;\n }\n .gap-2 {\n gap: 0.5rem;\n }\n .gap-3 {\n gap: 1rem;\n }\n .gap-4 {\n gap: 1.5rem;\n }\n .gap-5 {\n gap: 3rem;\n }\n .row-gap-0 {\n row-gap: 0;\n }\n .row-gap-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2 {\n row-gap: 0.5rem;\n }\n .row-gap-3 {\n row-gap: 1rem;\n }\n .row-gap-4 {\n row-gap: 1.5rem;\n }\n .row-gap-5 {\n row-gap: 3rem;\n }\n .column-gap-0 {\n column-gap: 0;\n }\n .column-gap-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2 {\n column-gap: 0.5rem;\n }\n .column-gap-3 {\n column-gap: 1rem;\n }\n .column-gap-4 {\n column-gap: 1.5rem;\n }\n .column-gap-5 {\n column-gap: 3rem;\n }\n .font-monospace {\n font-family: var(--font-mono);\n }\n .font-body {\n font-family: var(--body-font-family);\n }\n .fs-xs {\n font-size: 0.75rem;\n }\n .fs-sm {\n font-size: 0.875rem;\n }\n .fs-md {\n font-size: 1rem;\n }\n .fs-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n }\n .fs-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n }\n .fs-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n }\n .fs-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n }\n .fs-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n }\n .fs-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n }\n .fs-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n }\n .text-xs {\n font-size: 0.75rem;\n line-height: 1.25;\n }\n .text-sm {\n font-size: 0.875rem;\n line-height: 1.5;\n }\n .text-md {\n font-size: 1rem;\n line-height: 1.5;\n }\n .text-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n line-height: 1.5;\n }\n .text-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n line-height: 1.4285714286;\n }\n .text-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n line-height: 1.3333333333;\n }\n .text-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n line-height: 1.2;\n }\n .text-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n line-height: 1.1;\n }\n .text-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n line-height: 1.1;\n }\n .text-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n line-height: 1;\n }\n .fst-italic {\n font-style: italic;\n }\n .fst-normal {\n font-style: normal;\n }\n .fw-lighter {\n font-weight: lighter;\n }\n .fw-light {\n font-weight: 300;\n }\n .fw-normal {\n font-weight: 400;\n }\n .fw-medium {\n font-weight: 500;\n }\n .fw-semibold {\n font-weight: 600;\n }\n .fw-bold {\n font-weight: 700;\n }\n .fw-bolder {\n font-weight: bolder;\n }\n .lh-1 {\n line-height: 1;\n }\n .lh-sm {\n line-height: 1.25;\n }\n .lh-base {\n line-height: 1.5;\n }\n .lh-lg {\n line-height: 2;\n }\n .text-start {\n text-align: start;\n }\n .text-end {\n text-align: end;\n }\n .text-center {\n text-align: center;\n }\n .text-decoration-none {\n text-decoration: none;\n }\n .text-decoration-underline {\n text-decoration: underline;\n }\n .text-decoration-line-through {\n text-decoration: line-through;\n }\n .text-lowercase {\n text-transform: lowercase;\n }\n .text-uppercase {\n text-transform: uppercase;\n }\n .text-capitalize {\n text-transform: capitalize;\n }\n .text-wrap {\n white-space: wrap;\n }\n .text-nowrap {\n white-space: nowrap;\n }\n .text-balance {\n white-space: balance;\n }\n .text-pretty {\n white-space: pretty;\n }\n .text-break {\n word-wrap: break-word;\n word-break: break-word;\n }\n .fg-primary {\n --fg: light-dark(var(--blue-600), var(--blue-400));\n color: var(--fg);\n }\n .fg-accent {\n --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n color: var(--fg);\n }\n .fg-success {\n --fg: light-dark(var(--green-600), var(--green-400));\n color: var(--fg);\n }\n .fg-danger {\n --fg: light-dark(var(--red-600), var(--red-400));\n color: var(--fg);\n }\n .fg-warning {\n --fg: light-dark(var(--yellow-700), var(--yellow-400));\n color: var(--fg);\n }\n .fg-info {\n --fg: light-dark(var(--cyan-600), var(--cyan-400));\n color: var(--fg);\n }\n .fg-inverse {\n --fg: light-dark(var(--gray-900), var(--gray-200));\n color: var(--fg);\n }\n .fg-secondary {\n --fg: light-dark(var(--gray-600), var(--gray-400));\n color: var(--fg);\n }\n .fg-body {\n --fg: light-dark(var(--gray-900), var(--gray-050));\n color: var(--fg);\n }\n .fg-1 {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-2 {\n --fg: light-dark(var(--gray-700), var(--gray-300));\n color: var(--fg);\n }\n .fg-3 {\n --fg: light-dark(var(--gray-600), var(--gray-500));\n color: var(--fg);\n }\n .fg-4 {\n --fg: light-dark(var(--gray-500), var(--gray-600));\n color: var(--fg);\n }\n .fg-white {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-black {\n --fg: var(--black);\n color: var(--fg);\n }\n .fg-inherit {\n --fg: inherit;\n color: var(--fg);\n }\n .fg-emphasis-primary {\n --fg: light-dark(var(--blue-800), var(--blue-200));\n color: var(--fg);\n }\n .fg-emphasis-accent {\n --fg: light-dark(var(--indigo-800), var(--indigo-300));\n color: var(--fg);\n }\n .fg-emphasis-success {\n --fg: light-dark(var(--green-800), var(--green-300));\n color: var(--fg);\n }\n .fg-emphasis-danger {\n --fg: light-dark(var(--red-800), var(--red-300));\n color: var(--fg);\n }\n .fg-emphasis-warning {\n --fg: light-dark(var(--yellow-800), var(--yellow-300));\n color: var(--fg);\n }\n .fg-emphasis-info {\n --fg: light-dark(var(--cyan-800), var(--cyan-300));\n color: var(--fg);\n }\n .fg-emphasis-inverse {\n --fg: light-dark(var(--gray-975), var(--white));\n color: var(--fg);\n }\n .fg-emphasis-secondary {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-contrast-primary {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-accent {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-success {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-danger {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-warning {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-info {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-inverse {\n --fg: light-dark(var(--white), var(--gray-900));\n color: var(--fg);\n }\n .fg-contrast-secondary {\n --fg: light-dark(var(--gray-900), var(--white));\n color: var(--fg);\n }\n .fg-10 {\n color: color-mix(in oklch, var(--fg) 10%, transparent);\n }\n .fg-20 {\n color: color-mix(in oklch, var(--fg) 20%, transparent);\n }\n .fg-30 {\n color: color-mix(in oklch, var(--fg) 30%, transparent);\n }\n .fg-40 {\n color: color-mix(in oklch, var(--fg) 40%, transparent);\n }\n .fg-50 {\n color: color-mix(in oklch, var(--fg) 50%, transparent);\n }\n .fg-60 {\n color: color-mix(in oklch, var(--fg) 60%, transparent);\n }\n .fg-70 {\n color: color-mix(in oklch, var(--fg) 70%, transparent);\n }\n .fg-80 {\n color: color-mix(in oklch, var(--fg) 80%, transparent);\n }\n .fg-90 {\n color: color-mix(in oklch, var(--fg) 90%, transparent);\n }\n .fg-100 {\n color: var(--fg);\n }\n .link-10 {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-10-hover:hover {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-20 {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-20-hover:hover {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-30 {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-30-hover:hover {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-40 {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-40-hover:hover {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-50 {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-50-hover:hover {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-60 {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-60-hover:hover {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-70 {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-70-hover:hover {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-80 {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-80-hover:hover {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-90 {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-90-hover:hover {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-100 {\n color: var(--link-color);\n }\n .link-100-hover:hover {\n color: var(--link-color);\n }\n .underline-offset-1 {\n text-underline-offset: 0.125em;\n }\n .underline-offset-1-hover:hover {\n text-underline-offset: 0.125em;\n }\n .underline-offset-2 {\n text-underline-offset: 0.25em;\n }\n .underline-offset-2-hover:hover {\n text-underline-offset: 0.25em;\n }\n .underline-offset-3 {\n text-underline-offset: 0.375em;\n }\n .underline-offset-3-hover:hover {\n text-underline-offset: 0.375em;\n }\n .underline-primary {\n text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n }\n .underline-accent {\n text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n }\n .underline-success {\n text-decoration-color: light-dark(var(--green-600), var(--green-400));\n }\n .underline-danger {\n text-decoration-color: light-dark(var(--red-600), var(--red-400));\n }\n .underline-warning {\n text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n }\n .underline-info {\n text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n }\n .underline-inverse {\n text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n }\n .underline-secondary {\n text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n }\n .underline-10 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-10-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-20 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-20-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-30 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-30-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-40 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-40-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-50 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-50-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-60 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-60-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-70 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-70-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-80 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-80-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-90 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-90-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-100 {\n text-decoration-color: var(--link-color);\n }\n .underline-100-hover:hover {\n text-decoration-color: var(--link-color);\n }\n .underline-thickness-1 {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-1-hover:hover {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-2 {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-2-hover:hover {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-3 {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-3-hover:hover {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-4 {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-4-hover:hover {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-5 {\n text-decoration-thickness: 5px;\n }\n .underline-thickness-5-hover:hover {\n text-decoration-thickness: 5px;\n }\n .bg-primary {\n --bg: var(--blue-500);\n background-color: var(--bg);\n }\n .bg-accent {\n --bg: var(--indigo-500);\n background-color: var(--bg);\n }\n .bg-success {\n --bg: var(--green-500);\n background-color: var(--bg);\n }\n .bg-danger {\n --bg: var(--red-500);\n background-color: var(--bg);\n }\n .bg-warning {\n --bg: var(--yellow-500);\n background-color: var(--bg);\n }\n .bg-info {\n --bg: var(--cyan-500);\n background-color: var(--bg);\n }\n .bg-inverse {\n --bg: light-dark(var(--gray-900), var(--gray-025));\n background-color: var(--bg);\n }\n .bg-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-600));\n background-color: var(--bg);\n }\n .bg-body {\n --bg: light-dark(var(--white), var(--gray-975));\n background-color: var(--bg);\n }\n .bg-1 {\n --bg: light-dark(var(--gray-025), var(--gray-950));\n background-color: var(--bg);\n }\n .bg-2 {\n --bg: light-dark(var(--gray-050), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-3 {\n --bg: light-dark(var(--gray-100), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-4 {\n --bg: light-dark(var(--gray-200), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-white {\n --bg: var(--white);\n background-color: var(--bg);\n }\n .bg-black {\n --bg: var(--black);\n background-color: var(--bg);\n }\n .bg-transparent {\n --bg: transparent;\n background-color: var(--bg);\n }\n .bg-inherit {\n --bg: inherit;\n background-color: var(--bg);\n }\n .bg-subtle-primary {\n --bg: light-dark(var(--blue-100), var(--blue-900));\n background-color: var(--bg);\n }\n .bg-subtle-accent {\n --bg: light-dark(var(--indigo-100), var(--indigo-900));\n background-color: var(--bg);\n }\n .bg-subtle-success {\n --bg: light-dark(var(--green-100), var(--green-900));\n background-color: var(--bg);\n }\n .bg-subtle-danger {\n --bg: light-dark(var(--red-100), var(--red-900));\n background-color: var(--bg);\n }\n .bg-subtle-warning {\n --bg: light-dark(var(--yellow-100), var(--yellow-900));\n background-color: var(--bg);\n }\n .bg-subtle-info {\n --bg: light-dark(var(--cyan-100), var(--cyan-900));\n background-color: var(--bg);\n }\n .bg-subtle-inverse {\n --bg: light-dark(var(--gray-100), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-subtle-secondary {\n --bg: light-dark(var(--gray-050), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-muted-primary {\n --bg: light-dark(var(--blue-200), var(--blue-800));\n background-color: var(--bg);\n }\n .bg-muted-accent {\n --bg: light-dark(var(--indigo-200), var(--indigo-800));\n background-color: var(--bg);\n }\n .bg-muted-success {\n --bg: light-dark(var(--green-200), var(--green-800));\n background-color: var(--bg);\n }\n .bg-muted-danger {\n --bg: light-dark(var(--red-200), var(--red-800));\n background-color: var(--bg);\n }\n .bg-muted-warning {\n --bg: light-dark(var(--yellow-200), var(--yellow-800));\n background-color: var(--bg);\n }\n .bg-muted-info {\n --bg: light-dark(var(--cyan-200), var(--cyan-800));\n background-color: var(--bg);\n }\n .bg-muted-inverse {\n --bg: light-dark(var(--gray-200), var(--gray-300));\n background-color: var(--bg);\n }\n .bg-muted-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-10 {\n background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n }\n .bg-20 {\n background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n }\n .bg-30 {\n background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n }\n .bg-40 {\n background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n }\n .bg-50 {\n background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n }\n .bg-60 {\n background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n }\n .bg-70 {\n background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n }\n .bg-80 {\n background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n }\n .bg-90 {\n background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n }\n .bg-100 {\n background-color: var(--bg);\n }\n .theme-contrast {\n background-color: var(--theme-bg);\n color: var(--theme-contrast);\n }\n .theme-subtle {\n background-color: var(--theme-bg-subtle);\n color: var(--theme-text);\n }\n .theme-muted {\n background-color: var(--theme-bg-muted);\n color: var(--theme-text-emphasis);\n }\n .theme-border {\n border: var(--border-width) solid var(--theme-border);\n }\n .bg-gradient {\n background-image: var(--gradient);\n }\n .user-select-all {\n user-select: all;\n }\n .user-select-auto {\n user-select: auto;\n }\n .user-select-text {\n user-select: text;\n }\n .user-select-none {\n user-select: none;\n }\n .pe-none {\n pointer-events: none;\n }\n .pe-auto {\n pointer-events: auto;\n }\n .rounded {\n border-radius: var(--border-radius);\n }\n .rounded-0 {\n border-radius: 0;\n }\n .rounded-1 {\n border-radius: var(--border-radius-sm);\n }\n .rounded-2 {\n border-radius: var(--border-radius);\n }\n .rounded-3 {\n border-radius: var(--border-radius-lg);\n }\n .rounded-4 {\n border-radius: var(--border-radius-xl);\n }\n .rounded-5 {\n border-radius: var(--border-radius-2xl);\n }\n .rounded-circle {\n border-radius: 50%;\n }\n .rounded-pill {\n border-radius: var(--border-radius-pill);\n }\n .rounded-top {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-top-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-top-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-top-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-top-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-top-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-top-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .rounded-end {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-end-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-end-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-end-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-end-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-end-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-end-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-bottom {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-bottom-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-bottom-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-bottom-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-bottom-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-bottom-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-bottom-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-start {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-start-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-start-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-start-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-start-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-start-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-start-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .visible {\n visibility: visible;\n }\n .invisible {\n visibility: hidden;\n }\n .z-n1 {\n z-index: -1;\n }\n .z-0 {\n z-index: 0;\n }\n .z-1 {\n z-index: 1;\n }\n .z-2 {\n z-index: 2;\n }\n .z-3 {\n z-index: 3;\n }\n @media (width >= 576px) {\n .float-sm-start {\n float: inline-start;\n }\n .float-sm-end {\n float: inline-end;\n }\n .float-sm-none {\n float: none;\n }\n .object-fit-sm-contain {\n object-fit: contain;\n }\n .object-fit-sm-cover {\n object-fit: cover;\n }\n .object-fit-sm-fill {\n object-fit: fill;\n }\n .object-fit-sm-scale {\n object-fit: scale-down;\n }\n .object-fit-sm-none {\n object-fit: none;\n }\n .d-sm-inline {\n display: inline;\n }\n .d-sm-inline-block {\n display: inline-block;\n }\n .d-sm-block {\n display: block;\n }\n .d-sm-grid {\n display: grid;\n }\n .d-sm-inline-grid {\n display: inline-grid;\n }\n .d-sm-table {\n display: table;\n }\n .d-sm-table-row {\n display: table-row;\n }\n .d-sm-table-cell {\n display: table-cell;\n }\n .d-sm-flex {\n display: flex;\n }\n .d-sm-inline-flex {\n display: inline-flex;\n }\n .d-sm-contents {\n display: contents;\n }\n .d-sm-flow-root {\n display: flow-root;\n }\n .d-sm-none {\n display: none;\n }\n .flex-sm-fill {\n flex: 1 1 auto;\n }\n .flex-sm-row {\n flex-direction: row;\n }\n .flex-sm-column {\n flex-direction: column;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-sm-grow-0 {\n flex-grow: 0;\n }\n .flex-sm-grow-1 {\n flex-grow: 1;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1;\n }\n .flex-sm-wrap {\n flex-wrap: wrap;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-sm-start {\n justify-content: flex-start;\n }\n .justify-content-sm-end {\n justify-content: flex-end;\n }\n .justify-content-sm-center {\n justify-content: center;\n }\n .justify-content-sm-between {\n justify-content: space-between;\n }\n .justify-content-sm-around {\n justify-content: space-around;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly;\n }\n .justify-items-sm-start {\n justify-items: start;\n }\n .justify-items-sm-end {\n justify-items: end;\n }\n .justify-items-sm-center {\n justify-items: center;\n }\n .justify-items-sm-stretch {\n justify-items: stretch;\n }\n .justify-self-sm-start {\n justify-self: flex-start;\n }\n .justify-self-sm-end {\n justify-self: flex-end;\n }\n .justify-self-sm-center {\n justify-self: center;\n }\n .align-items-sm-start {\n align-items: flex-start;\n }\n .align-items-sm-end {\n align-items: flex-end;\n }\n .align-items-sm-center {\n align-items: center;\n }\n .align-items-sm-baseline {\n align-items: baseline;\n }\n .align-items-sm-stretch {\n align-items: stretch;\n }\n .align-content-sm-start {\n align-content: flex-start;\n }\n .align-content-sm-end {\n align-content: flex-end;\n }\n .align-content-sm-center {\n align-content: center;\n }\n .align-content-sm-between {\n align-content: space-between;\n }\n .align-content-sm-around {\n align-content: space-around;\n }\n .align-content-sm-stretch {\n align-content: stretch;\n }\n .align-self-sm-auto {\n align-self: auto;\n }\n .align-self-sm-start {\n align-self: flex-start;\n }\n .align-self-sm-end {\n align-self: flex-end;\n }\n .align-self-sm-center {\n align-self: center;\n }\n .align-self-sm-baseline {\n align-self: baseline;\n }\n .align-self-sm-stretch {\n align-self: stretch;\n }\n .place-items-sm-start {\n place-items: start;\n }\n .place-items-sm-end {\n place-items: end;\n }\n .place-items-sm-center {\n place-items: center;\n }\n .place-items-sm-stretch {\n place-items: stretch;\n }\n .grid-cols-sm-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-sm-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-sm-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-sm-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-sm-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-sm-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-sm-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-sm-dense {\n grid-auto-flow: dense;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-last {\n order: 6;\n }\n .m-sm-0 {\n margin: 0;\n }\n .m-sm-1 {\n margin: 0.25rem;\n }\n .m-sm-2 {\n margin: 0.5rem;\n }\n .m-sm-3 {\n margin: 1rem;\n }\n .m-sm-4 {\n margin: 1.5rem;\n }\n .m-sm-5 {\n margin: 3rem;\n }\n .m-sm-auto {\n margin: auto;\n }\n .mx-sm-0 {\n margin-inline: 0;\n }\n .mx-sm-1 {\n margin-inline: 0.25rem;\n }\n .mx-sm-2 {\n margin-inline: 0.5rem;\n }\n .mx-sm-3 {\n margin-inline: 1rem;\n }\n .mx-sm-4 {\n margin-inline: 1.5rem;\n }\n .mx-sm-5 {\n margin-inline: 3rem;\n }\n .mx-sm-auto {\n margin-inline: auto;\n }\n .my-sm-0 {\n margin-block: 0;\n }\n .my-sm-1 {\n margin-block: 0.25rem;\n }\n .my-sm-2 {\n margin-block: 0.5rem;\n }\n .my-sm-3 {\n margin-block: 1rem;\n }\n .my-sm-4 {\n margin-block: 1.5rem;\n }\n .my-sm-5 {\n margin-block: 3rem;\n }\n .my-sm-auto {\n margin-block: auto;\n }\n .mt-sm-0 {\n margin-block-start: 0;\n }\n .mt-sm-1 {\n margin-block-start: 0.25rem;\n }\n .mt-sm-2 {\n margin-block-start: 0.5rem;\n }\n .mt-sm-3 {\n margin-block-start: 1rem;\n }\n .mt-sm-4 {\n margin-block-start: 1.5rem;\n }\n .mt-sm-5 {\n margin-block-start: 3rem;\n }\n .mt-sm-auto {\n margin-block-start: auto;\n }\n .me-sm-0 {\n margin-inline-end: 0;\n }\n .me-sm-1 {\n margin-inline-end: 0.25rem;\n }\n .me-sm-2 {\n margin-inline-end: 0.5rem;\n }\n .me-sm-3 {\n margin-inline-end: 1rem;\n }\n .me-sm-4 {\n margin-inline-end: 1.5rem;\n }\n .me-sm-5 {\n margin-inline-end: 3rem;\n }\n .me-sm-auto {\n margin-inline-end: auto;\n }\n .mb-sm-0 {\n margin-block-end: 0;\n }\n .mb-sm-1 {\n margin-block-end: 0.25rem;\n }\n .mb-sm-2 {\n margin-block-end: 0.5rem;\n }\n .mb-sm-3 {\n margin-block-end: 1rem;\n }\n .mb-sm-4 {\n margin-block-end: 1.5rem;\n }\n .mb-sm-5 {\n margin-block-end: 3rem;\n }\n .mb-sm-auto {\n margin-block-end: auto;\n }\n .ms-sm-0 {\n margin-inline-start: 0;\n }\n .ms-sm-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-sm-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-sm-3 {\n margin-inline-start: 1rem;\n }\n .ms-sm-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-sm-5 {\n margin-inline-start: 3rem;\n }\n .ms-sm--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-sm--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-sm-auto {\n margin-inline-start: auto;\n }\n .p-sm-0 {\n padding: 0;\n }\n .p-sm-1 {\n padding: 0.25rem;\n }\n .p-sm-2 {\n padding: 0.5rem;\n }\n .p-sm-3 {\n padding: 1rem;\n }\n .p-sm-4 {\n padding: 1.5rem;\n }\n .p-sm-5 {\n padding: 3rem;\n }\n .px-sm-0 {\n padding-inline: 0;\n }\n .px-sm-1 {\n padding-inline: 0.25rem;\n }\n .px-sm-2 {\n padding-inline: 0.5rem;\n }\n .px-sm-3 {\n padding-inline: 1rem;\n }\n .px-sm-4 {\n padding-inline: 1.5rem;\n }\n .px-sm-5 {\n padding-inline: 3rem;\n }\n .py-sm-0 {\n padding-block: 0;\n }\n .py-sm-1 {\n padding-block: 0.25rem;\n }\n .py-sm-2 {\n padding-block: 0.5rem;\n }\n .py-sm-3 {\n padding-block: 1rem;\n }\n .py-sm-4 {\n padding-block: 1.5rem;\n }\n .py-sm-5 {\n padding-block: 3rem;\n }\n .pt-sm-0 {\n padding-block-start: 0;\n }\n .pt-sm-1 {\n padding-block-start: 0.25rem;\n }\n .pt-sm-2 {\n padding-block-start: 0.5rem;\n }\n .pt-sm-3 {\n padding-block-start: 1rem;\n }\n .pt-sm-4 {\n padding-block-start: 1.5rem;\n }\n .pt-sm-5 {\n padding-block-start: 3rem;\n }\n .pe-sm-0 {\n padding-inline-end: 0;\n }\n .pe-sm-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-sm-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-sm-3 {\n padding-inline-end: 1rem;\n }\n .pe-sm-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-sm-5 {\n padding-inline-end: 3rem;\n }\n .pb-sm-0 {\n padding-block-end: 0;\n }\n .pb-sm-1 {\n padding-block-end: 0.25rem;\n }\n .pb-sm-2 {\n padding-block-end: 0.5rem;\n }\n .pb-sm-3 {\n padding-block-end: 1rem;\n }\n .pb-sm-4 {\n padding-block-end: 1.5rem;\n }\n .pb-sm-5 {\n padding-block-end: 3rem;\n }\n .ps-sm-0 {\n padding-inline-start: 0;\n }\n .ps-sm-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-sm-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-sm-3 {\n padding-inline-start: 1rem;\n }\n .ps-sm-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-sm-5 {\n padding-inline-start: 3rem;\n }\n .gap-sm-0 {\n gap: 0;\n }\n .gap-sm-1 {\n gap: 0.25rem;\n }\n .gap-sm-2 {\n gap: 0.5rem;\n }\n .gap-sm-3 {\n gap: 1rem;\n }\n .gap-sm-4 {\n gap: 1.5rem;\n }\n .gap-sm-5 {\n gap: 3rem;\n }\n .row-gap-sm-0 {\n row-gap: 0;\n }\n .row-gap-sm-1 {\n row-gap: 0.25rem;\n }\n .row-gap-sm-2 {\n row-gap: 0.5rem;\n }\n .row-gap-sm-3 {\n row-gap: 1rem;\n }\n .row-gap-sm-4 {\n row-gap: 1.5rem;\n }\n .row-gap-sm-5 {\n row-gap: 3rem;\n }\n .column-gap-sm-0 {\n column-gap: 0;\n }\n .column-gap-sm-1 {\n column-gap: 0.25rem;\n }\n .column-gap-sm-2 {\n column-gap: 0.5rem;\n }\n .column-gap-sm-3 {\n column-gap: 1rem;\n }\n .column-gap-sm-4 {\n column-gap: 1.5rem;\n }\n .column-gap-sm-5 {\n column-gap: 3rem;\n }\n .text-sm-start {\n text-align: start;\n }\n .text-sm-end {\n text-align: end;\n }\n .text-sm-center {\n text-align: center;\n }\n }\n @media (width >= 768px) {\n .float-md-start {\n float: inline-start;\n }\n .float-md-end {\n float: inline-end;\n }\n .float-md-none {\n float: none;\n }\n .object-fit-md-contain {\n object-fit: contain;\n }\n .object-fit-md-cover {\n object-fit: cover;\n }\n .object-fit-md-fill {\n object-fit: fill;\n }\n .object-fit-md-scale {\n object-fit: scale-down;\n }\n .object-fit-md-none {\n object-fit: none;\n }\n .d-md-inline {\n display: inline;\n }\n .d-md-inline-block {\n display: inline-block;\n }\n .d-md-block {\n display: block;\n }\n .d-md-grid {\n display: grid;\n }\n .d-md-inline-grid {\n display: inline-grid;\n }\n .d-md-table {\n display: table;\n }\n .d-md-table-row {\n display: table-row;\n }\n .d-md-table-cell {\n display: table-cell;\n }\n .d-md-flex {\n display: flex;\n }\n .d-md-inline-flex {\n display: inline-flex;\n }\n .d-md-contents {\n display: contents;\n }\n .d-md-flow-root {\n display: flow-root;\n }\n .d-md-none {\n display: none;\n }\n .flex-md-fill {\n flex: 1 1 auto;\n }\n .flex-md-row {\n flex-direction: row;\n }\n .flex-md-column {\n flex-direction: column;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-md-grow-0 {\n flex-grow: 0;\n }\n .flex-md-grow-1 {\n flex-grow: 1;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1;\n }\n .flex-md-wrap {\n flex-wrap: wrap;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-md-start {\n justify-content: flex-start;\n }\n .justify-content-md-end {\n justify-content: flex-end;\n }\n .justify-content-md-center {\n justify-content: center;\n }\n .justify-content-md-between {\n justify-content: space-between;\n }\n .justify-content-md-around {\n justify-content: space-around;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly;\n }\n .justify-items-md-start {\n justify-items: start;\n }\n .justify-items-md-end {\n justify-items: end;\n }\n .justify-items-md-center {\n justify-items: center;\n }\n .justify-items-md-stretch {\n justify-items: stretch;\n }\n .justify-self-md-start {\n justify-self: flex-start;\n }\n .justify-self-md-end {\n justify-self: flex-end;\n }\n .justify-self-md-center {\n justify-self: center;\n }\n .align-items-md-start {\n align-items: flex-start;\n }\n .align-items-md-end {\n align-items: flex-end;\n }\n .align-items-md-center {\n align-items: center;\n }\n .align-items-md-baseline {\n align-items: baseline;\n }\n .align-items-md-stretch {\n align-items: stretch;\n }\n .align-content-md-start {\n align-content: flex-start;\n }\n .align-content-md-end {\n align-content: flex-end;\n }\n .align-content-md-center {\n align-content: center;\n }\n .align-content-md-between {\n align-content: space-between;\n }\n .align-content-md-around {\n align-content: space-around;\n }\n .align-content-md-stretch {\n align-content: stretch;\n }\n .align-self-md-auto {\n align-self: auto;\n }\n .align-self-md-start {\n align-self: flex-start;\n }\n .align-self-md-end {\n align-self: flex-end;\n }\n .align-self-md-center {\n align-self: center;\n }\n .align-self-md-baseline {\n align-self: baseline;\n }\n .align-self-md-stretch {\n align-self: stretch;\n }\n .place-items-md-start {\n place-items: start;\n }\n .place-items-md-end {\n place-items: end;\n }\n .place-items-md-center {\n place-items: center;\n }\n .place-items-md-stretch {\n place-items: stretch;\n }\n .grid-cols-md-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-md-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-md-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-md-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-md-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-md-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-md-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-md-dense {\n grid-auto-flow: dense;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-last {\n order: 6;\n }\n .m-md-0 {\n margin: 0;\n }\n .m-md-1 {\n margin: 0.25rem;\n }\n .m-md-2 {\n margin: 0.5rem;\n }\n .m-md-3 {\n margin: 1rem;\n }\n .m-md-4 {\n margin: 1.5rem;\n }\n .m-md-5 {\n margin: 3rem;\n }\n .m-md-auto {\n margin: auto;\n }\n .mx-md-0 {\n margin-inline: 0;\n }\n .mx-md-1 {\n margin-inline: 0.25rem;\n }\n .mx-md-2 {\n margin-inline: 0.5rem;\n }\n .mx-md-3 {\n margin-inline: 1rem;\n }\n .mx-md-4 {\n margin-inline: 1.5rem;\n }\n .mx-md-5 {\n margin-inline: 3rem;\n }\n .mx-md-auto {\n margin-inline: auto;\n }\n .my-md-0 {\n margin-block: 0;\n }\n .my-md-1 {\n margin-block: 0.25rem;\n }\n .my-md-2 {\n margin-block: 0.5rem;\n }\n .my-md-3 {\n margin-block: 1rem;\n }\n .my-md-4 {\n margin-block: 1.5rem;\n }\n .my-md-5 {\n margin-block: 3rem;\n }\n .my-md-auto {\n margin-block: auto;\n }\n .mt-md-0 {\n margin-block-start: 0;\n }\n .mt-md-1 {\n margin-block-start: 0.25rem;\n }\n .mt-md-2 {\n margin-block-start: 0.5rem;\n }\n .mt-md-3 {\n margin-block-start: 1rem;\n }\n .mt-md-4 {\n margin-block-start: 1.5rem;\n }\n .mt-md-5 {\n margin-block-start: 3rem;\n }\n .mt-md-auto {\n margin-block-start: auto;\n }\n .me-md-0 {\n margin-inline-end: 0;\n }\n .me-md-1 {\n margin-inline-end: 0.25rem;\n }\n .me-md-2 {\n margin-inline-end: 0.5rem;\n }\n .me-md-3 {\n margin-inline-end: 1rem;\n }\n .me-md-4 {\n margin-inline-end: 1.5rem;\n }\n .me-md-5 {\n margin-inline-end: 3rem;\n }\n .me-md-auto {\n margin-inline-end: auto;\n }\n .mb-md-0 {\n margin-block-end: 0;\n }\n .mb-md-1 {\n margin-block-end: 0.25rem;\n }\n .mb-md-2 {\n margin-block-end: 0.5rem;\n }\n .mb-md-3 {\n margin-block-end: 1rem;\n }\n .mb-md-4 {\n margin-block-end: 1.5rem;\n }\n .mb-md-5 {\n margin-block-end: 3rem;\n }\n .mb-md-auto {\n margin-block-end: auto;\n }\n .ms-md-0 {\n margin-inline-start: 0;\n }\n .ms-md-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-md-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-md-3 {\n margin-inline-start: 1rem;\n }\n .ms-md-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-md-5 {\n margin-inline-start: 3rem;\n }\n .ms-md--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-md--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-md-auto {\n margin-inline-start: auto;\n }\n .p-md-0 {\n padding: 0;\n }\n .p-md-1 {\n padding: 0.25rem;\n }\n .p-md-2 {\n padding: 0.5rem;\n }\n .p-md-3 {\n padding: 1rem;\n }\n .p-md-4 {\n padding: 1.5rem;\n }\n .p-md-5 {\n padding: 3rem;\n }\n .px-md-0 {\n padding-inline: 0;\n }\n .px-md-1 {\n padding-inline: 0.25rem;\n }\n .px-md-2 {\n padding-inline: 0.5rem;\n }\n .px-md-3 {\n padding-inline: 1rem;\n }\n .px-md-4 {\n padding-inline: 1.5rem;\n }\n .px-md-5 {\n padding-inline: 3rem;\n }\n .py-md-0 {\n padding-block: 0;\n }\n .py-md-1 {\n padding-block: 0.25rem;\n }\n .py-md-2 {\n padding-block: 0.5rem;\n }\n .py-md-3 {\n padding-block: 1rem;\n }\n .py-md-4 {\n padding-block: 1.5rem;\n }\n .py-md-5 {\n padding-block: 3rem;\n }\n .pt-md-0 {\n padding-block-start: 0;\n }\n .pt-md-1 {\n padding-block-start: 0.25rem;\n }\n .pt-md-2 {\n padding-block-start: 0.5rem;\n }\n .pt-md-3 {\n padding-block-start: 1rem;\n }\n .pt-md-4 {\n padding-block-start: 1.5rem;\n }\n .pt-md-5 {\n padding-block-start: 3rem;\n }\n .pe-md-0 {\n padding-inline-end: 0;\n }\n .pe-md-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-md-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-md-3 {\n padding-inline-end: 1rem;\n }\n .pe-md-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-md-5 {\n padding-inline-end: 3rem;\n }\n .pb-md-0 {\n padding-block-end: 0;\n }\n .pb-md-1 {\n padding-block-end: 0.25rem;\n }\n .pb-md-2 {\n padding-block-end: 0.5rem;\n }\n .pb-md-3 {\n padding-block-end: 1rem;\n }\n .pb-md-4 {\n padding-block-end: 1.5rem;\n }\n .pb-md-5 {\n padding-block-end: 3rem;\n }\n .ps-md-0 {\n padding-inline-start: 0;\n }\n .ps-md-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-md-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-md-3 {\n padding-inline-start: 1rem;\n }\n .ps-md-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-md-5 {\n padding-inline-start: 3rem;\n }\n .gap-md-0 {\n gap: 0;\n }\n .gap-md-1 {\n gap: 0.25rem;\n }\n .gap-md-2 {\n gap: 0.5rem;\n }\n .gap-md-3 {\n gap: 1rem;\n }\n .gap-md-4 {\n gap: 1.5rem;\n }\n .gap-md-5 {\n gap: 3rem;\n }\n .row-gap-md-0 {\n row-gap: 0;\n }\n .row-gap-md-1 {\n row-gap: 0.25rem;\n }\n .row-gap-md-2 {\n row-gap: 0.5rem;\n }\n .row-gap-md-3 {\n row-gap: 1rem;\n }\n .row-gap-md-4 {\n row-gap: 1.5rem;\n }\n .row-gap-md-5 {\n row-gap: 3rem;\n }\n .column-gap-md-0 {\n column-gap: 0;\n }\n .column-gap-md-1 {\n column-gap: 0.25rem;\n }\n .column-gap-md-2 {\n column-gap: 0.5rem;\n }\n .column-gap-md-3 {\n column-gap: 1rem;\n }\n .column-gap-md-4 {\n column-gap: 1.5rem;\n }\n .column-gap-md-5 {\n column-gap: 3rem;\n }\n .text-md-start {\n text-align: start;\n }\n .text-md-end {\n text-align: end;\n }\n .text-md-center {\n text-align: center;\n }\n }\n @media (width >= 1024px) {\n .float-lg-start {\n float: inline-start;\n }\n .float-lg-end {\n float: inline-end;\n }\n .float-lg-none {\n float: none;\n }\n .object-fit-lg-contain {\n object-fit: contain;\n }\n .object-fit-lg-cover {\n object-fit: cover;\n }\n .object-fit-lg-fill {\n object-fit: fill;\n }\n .object-fit-lg-scale {\n object-fit: scale-down;\n }\n .object-fit-lg-none {\n object-fit: none;\n }\n .d-lg-inline {\n display: inline;\n }\n .d-lg-inline-block {\n display: inline-block;\n }\n .d-lg-block {\n display: block;\n }\n .d-lg-grid {\n display: grid;\n }\n .d-lg-inline-grid {\n display: inline-grid;\n }\n .d-lg-table {\n display: table;\n }\n .d-lg-table-row {\n display: table-row;\n }\n .d-lg-table-cell {\n display: table-cell;\n }\n .d-lg-flex {\n display: flex;\n }\n .d-lg-inline-flex {\n display: inline-flex;\n }\n .d-lg-contents {\n display: contents;\n }\n .d-lg-flow-root {\n display: flow-root;\n }\n .d-lg-none {\n display: none;\n }\n .flex-lg-fill {\n flex: 1 1 auto;\n }\n .flex-lg-row {\n flex-direction: row;\n }\n .flex-lg-column {\n flex-direction: column;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-lg-grow-0 {\n flex-grow: 0;\n }\n .flex-lg-grow-1 {\n flex-grow: 1;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1;\n }\n .flex-lg-wrap {\n flex-wrap: wrap;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-lg-start {\n justify-content: flex-start;\n }\n .justify-content-lg-end {\n justify-content: flex-end;\n }\n .justify-content-lg-center {\n justify-content: center;\n }\n .justify-content-lg-between {\n justify-content: space-between;\n }\n .justify-content-lg-around {\n justify-content: space-around;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly;\n }\n .justify-items-lg-start {\n justify-items: start;\n }\n .justify-items-lg-end {\n justify-items: end;\n }\n .justify-items-lg-center {\n justify-items: center;\n }\n .justify-items-lg-stretch {\n justify-items: stretch;\n }\n .justify-self-lg-start {\n justify-self: flex-start;\n }\n .justify-self-lg-end {\n justify-self: flex-end;\n }\n .justify-self-lg-center {\n justify-self: center;\n }\n .align-items-lg-start {\n align-items: flex-start;\n }\n .align-items-lg-end {\n align-items: flex-end;\n }\n .align-items-lg-center {\n align-items: center;\n }\n .align-items-lg-baseline {\n align-items: baseline;\n }\n .align-items-lg-stretch {\n align-items: stretch;\n }\n .align-content-lg-start {\n align-content: flex-start;\n }\n .align-content-lg-end {\n align-content: flex-end;\n }\n .align-content-lg-center {\n align-content: center;\n }\n .align-content-lg-between {\n align-content: space-between;\n }\n .align-content-lg-around {\n align-content: space-around;\n }\n .align-content-lg-stretch {\n align-content: stretch;\n }\n .align-self-lg-auto {\n align-self: auto;\n }\n .align-self-lg-start {\n align-self: flex-start;\n }\n .align-self-lg-end {\n align-self: flex-end;\n }\n .align-self-lg-center {\n align-self: center;\n }\n .align-self-lg-baseline {\n align-self: baseline;\n }\n .align-self-lg-stretch {\n align-self: stretch;\n }\n .place-items-lg-start {\n place-items: start;\n }\n .place-items-lg-end {\n place-items: end;\n }\n .place-items-lg-center {\n place-items: center;\n }\n .place-items-lg-stretch {\n place-items: stretch;\n }\n .grid-cols-lg-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-lg-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-lg-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-lg-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-lg-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-lg-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-lg-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-lg-dense {\n grid-auto-flow: dense;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-last {\n order: 6;\n }\n .m-lg-0 {\n margin: 0;\n }\n .m-lg-1 {\n margin: 0.25rem;\n }\n .m-lg-2 {\n margin: 0.5rem;\n }\n .m-lg-3 {\n margin: 1rem;\n }\n .m-lg-4 {\n margin: 1.5rem;\n }\n .m-lg-5 {\n margin: 3rem;\n }\n .m-lg-auto {\n margin: auto;\n }\n .mx-lg-0 {\n margin-inline: 0;\n }\n .mx-lg-1 {\n margin-inline: 0.25rem;\n }\n .mx-lg-2 {\n margin-inline: 0.5rem;\n }\n .mx-lg-3 {\n margin-inline: 1rem;\n }\n .mx-lg-4 {\n margin-inline: 1.5rem;\n }\n .mx-lg-5 {\n margin-inline: 3rem;\n }\n .mx-lg-auto {\n margin-inline: auto;\n }\n .my-lg-0 {\n margin-block: 0;\n }\n .my-lg-1 {\n margin-block: 0.25rem;\n }\n .my-lg-2 {\n margin-block: 0.5rem;\n }\n .my-lg-3 {\n margin-block: 1rem;\n }\n .my-lg-4 {\n margin-block: 1.5rem;\n }\n .my-lg-5 {\n margin-block: 3rem;\n }\n .my-lg-auto {\n margin-block: auto;\n }\n .mt-lg-0 {\n margin-block-start: 0;\n }\n .mt-lg-1 {\n margin-block-start: 0.25rem;\n }\n .mt-lg-2 {\n margin-block-start: 0.5rem;\n }\n .mt-lg-3 {\n margin-block-start: 1rem;\n }\n .mt-lg-4 {\n margin-block-start: 1.5rem;\n }\n .mt-lg-5 {\n margin-block-start: 3rem;\n }\n .mt-lg-auto {\n margin-block-start: auto;\n }\n .me-lg-0 {\n margin-inline-end: 0;\n }\n .me-lg-1 {\n margin-inline-end: 0.25rem;\n }\n .me-lg-2 {\n margin-inline-end: 0.5rem;\n }\n .me-lg-3 {\n margin-inline-end: 1rem;\n }\n .me-lg-4 {\n margin-inline-end: 1.5rem;\n }\n .me-lg-5 {\n margin-inline-end: 3rem;\n }\n .me-lg-auto {\n margin-inline-end: auto;\n }\n .mb-lg-0 {\n margin-block-end: 0;\n }\n .mb-lg-1 {\n margin-block-end: 0.25rem;\n }\n .mb-lg-2 {\n margin-block-end: 0.5rem;\n }\n .mb-lg-3 {\n margin-block-end: 1rem;\n }\n .mb-lg-4 {\n margin-block-end: 1.5rem;\n }\n .mb-lg-5 {\n margin-block-end: 3rem;\n }\n .mb-lg-auto {\n margin-block-end: auto;\n }\n .ms-lg-0 {\n margin-inline-start: 0;\n }\n .ms-lg-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-lg-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-lg-3 {\n margin-inline-start: 1rem;\n }\n .ms-lg-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-lg-5 {\n margin-inline-start: 3rem;\n }\n .ms-lg--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-lg--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-lg-auto {\n margin-inline-start: auto;\n }\n .p-lg-0 {\n padding: 0;\n }\n .p-lg-1 {\n padding: 0.25rem;\n }\n .p-lg-2 {\n padding: 0.5rem;\n }\n .p-lg-3 {\n padding: 1rem;\n }\n .p-lg-4 {\n padding: 1.5rem;\n }\n .p-lg-5 {\n padding: 3rem;\n }\n .px-lg-0 {\n padding-inline: 0;\n }\n .px-lg-1 {\n padding-inline: 0.25rem;\n }\n .px-lg-2 {\n padding-inline: 0.5rem;\n }\n .px-lg-3 {\n padding-inline: 1rem;\n }\n .px-lg-4 {\n padding-inline: 1.5rem;\n }\n .px-lg-5 {\n padding-inline: 3rem;\n }\n .py-lg-0 {\n padding-block: 0;\n }\n .py-lg-1 {\n padding-block: 0.25rem;\n }\n .py-lg-2 {\n padding-block: 0.5rem;\n }\n .py-lg-3 {\n padding-block: 1rem;\n }\n .py-lg-4 {\n padding-block: 1.5rem;\n }\n .py-lg-5 {\n padding-block: 3rem;\n }\n .pt-lg-0 {\n padding-block-start: 0;\n }\n .pt-lg-1 {\n padding-block-start: 0.25rem;\n }\n .pt-lg-2 {\n padding-block-start: 0.5rem;\n }\n .pt-lg-3 {\n padding-block-start: 1rem;\n }\n .pt-lg-4 {\n padding-block-start: 1.5rem;\n }\n .pt-lg-5 {\n padding-block-start: 3rem;\n }\n .pe-lg-0 {\n padding-inline-end: 0;\n }\n .pe-lg-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-lg-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-lg-3 {\n padding-inline-end: 1rem;\n }\n .pe-lg-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-lg-5 {\n padding-inline-end: 3rem;\n }\n .pb-lg-0 {\n padding-block-end: 0;\n }\n .pb-lg-1 {\n padding-block-end: 0.25rem;\n }\n .pb-lg-2 {\n padding-block-end: 0.5rem;\n }\n .pb-lg-3 {\n padding-block-end: 1rem;\n }\n .pb-lg-4 {\n padding-block-end: 1.5rem;\n }\n .pb-lg-5 {\n padding-block-end: 3rem;\n }\n .ps-lg-0 {\n padding-inline-start: 0;\n }\n .ps-lg-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-lg-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-lg-3 {\n padding-inline-start: 1rem;\n }\n .ps-lg-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-lg-5 {\n padding-inline-start: 3rem;\n }\n .gap-lg-0 {\n gap: 0;\n }\n .gap-lg-1 {\n gap: 0.25rem;\n }\n .gap-lg-2 {\n gap: 0.5rem;\n }\n .gap-lg-3 {\n gap: 1rem;\n }\n .gap-lg-4 {\n gap: 1.5rem;\n }\n .gap-lg-5 {\n gap: 3rem;\n }\n .row-gap-lg-0 {\n row-gap: 0;\n }\n .row-gap-lg-1 {\n row-gap: 0.25rem;\n }\n .row-gap-lg-2 {\n row-gap: 0.5rem;\n }\n .row-gap-lg-3 {\n row-gap: 1rem;\n }\n .row-gap-lg-4 {\n row-gap: 1.5rem;\n }\n .row-gap-lg-5 {\n row-gap: 3rem;\n }\n .column-gap-lg-0 {\n column-gap: 0;\n }\n .column-gap-lg-1 {\n column-gap: 0.25rem;\n }\n .column-gap-lg-2 {\n column-gap: 0.5rem;\n }\n .column-gap-lg-3 {\n column-gap: 1rem;\n }\n .column-gap-lg-4 {\n column-gap: 1.5rem;\n }\n .column-gap-lg-5 {\n column-gap: 3rem;\n }\n .text-lg-start {\n text-align: start;\n }\n .text-lg-end {\n text-align: end;\n }\n .text-lg-center {\n text-align: center;\n }\n }\n @media (width >= 1280px) {\n .float-xl-start {\n float: inline-start;\n }\n .float-xl-end {\n float: inline-end;\n }\n .float-xl-none {\n float: none;\n }\n .object-fit-xl-contain {\n object-fit: contain;\n }\n .object-fit-xl-cover {\n object-fit: cover;\n }\n .object-fit-xl-fill {\n object-fit: fill;\n }\n .object-fit-xl-scale {\n object-fit: scale-down;\n }\n .object-fit-xl-none {\n object-fit: none;\n }\n .d-xl-inline {\n display: inline;\n }\n .d-xl-inline-block {\n display: inline-block;\n }\n .d-xl-block {\n display: block;\n }\n .d-xl-grid {\n display: grid;\n }\n .d-xl-inline-grid {\n display: inline-grid;\n }\n .d-xl-table {\n display: table;\n }\n .d-xl-table-row {\n display: table-row;\n }\n .d-xl-table-cell {\n display: table-cell;\n }\n .d-xl-flex {\n display: flex;\n }\n .d-xl-inline-flex {\n display: inline-flex;\n }\n .d-xl-contents {\n display: contents;\n }\n .d-xl-flow-root {\n display: flow-root;\n }\n .d-xl-none {\n display: none;\n }\n .flex-xl-fill {\n flex: 1 1 auto;\n }\n .flex-xl-row {\n flex-direction: row;\n }\n .flex-xl-column {\n flex-direction: column;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-xl-grow-0 {\n flex-grow: 0;\n }\n .flex-xl-grow-1 {\n flex-grow: 1;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-xl-wrap {\n flex-wrap: wrap;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-xl-start {\n justify-content: flex-start;\n }\n .justify-content-xl-end {\n justify-content: flex-end;\n }\n .justify-content-xl-center {\n justify-content: center;\n }\n .justify-content-xl-between {\n justify-content: space-between;\n }\n .justify-content-xl-around {\n justify-content: space-around;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-xl-start {\n justify-items: start;\n }\n .justify-items-xl-end {\n justify-items: end;\n }\n .justify-items-xl-center {\n justify-items: center;\n }\n .justify-items-xl-stretch {\n justify-items: stretch;\n }\n .justify-self-xl-start {\n justify-self: flex-start;\n }\n .justify-self-xl-end {\n justify-self: flex-end;\n }\n .justify-self-xl-center {\n justify-self: center;\n }\n .align-items-xl-start {\n align-items: flex-start;\n }\n .align-items-xl-end {\n align-items: flex-end;\n }\n .align-items-xl-center {\n align-items: center;\n }\n .align-items-xl-baseline {\n align-items: baseline;\n }\n .align-items-xl-stretch {\n align-items: stretch;\n }\n .align-content-xl-start {\n align-content: flex-start;\n }\n .align-content-xl-end {\n align-content: flex-end;\n }\n .align-content-xl-center {\n align-content: center;\n }\n .align-content-xl-between {\n align-content: space-between;\n }\n .align-content-xl-around {\n align-content: space-around;\n }\n .align-content-xl-stretch {\n align-content: stretch;\n }\n .align-self-xl-auto {\n align-self: auto;\n }\n .align-self-xl-start {\n align-self: flex-start;\n }\n .align-self-xl-end {\n align-self: flex-end;\n }\n .align-self-xl-center {\n align-self: center;\n }\n .align-self-xl-baseline {\n align-self: baseline;\n }\n .align-self-xl-stretch {\n align-self: stretch;\n }\n .place-items-xl-start {\n place-items: start;\n }\n .place-items-xl-end {\n place-items: end;\n }\n .place-items-xl-center {\n place-items: center;\n }\n .place-items-xl-stretch {\n place-items: stretch;\n }\n .grid-cols-xl-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-xl-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-xl-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-xl-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-xl-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-xl-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-xl-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-xl-dense {\n grid-auto-flow: dense;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-last {\n order: 6;\n }\n .m-xl-0 {\n margin: 0;\n }\n .m-xl-1 {\n margin: 0.25rem;\n }\n .m-xl-2 {\n margin: 0.5rem;\n }\n .m-xl-3 {\n margin: 1rem;\n }\n .m-xl-4 {\n margin: 1.5rem;\n }\n .m-xl-5 {\n margin: 3rem;\n }\n .m-xl-auto {\n margin: auto;\n }\n .mx-xl-0 {\n margin-inline: 0;\n }\n .mx-xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-xl-3 {\n margin-inline: 1rem;\n }\n .mx-xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-xl-5 {\n margin-inline: 3rem;\n }\n .mx-xl-auto {\n margin-inline: auto;\n }\n .my-xl-0 {\n margin-block: 0;\n }\n .my-xl-1 {\n margin-block: 0.25rem;\n }\n .my-xl-2 {\n margin-block: 0.5rem;\n }\n .my-xl-3 {\n margin-block: 1rem;\n }\n .my-xl-4 {\n margin-block: 1.5rem;\n }\n .my-xl-5 {\n margin-block: 3rem;\n }\n .my-xl-auto {\n margin-block: auto;\n }\n .mt-xl-0 {\n margin-block-start: 0;\n }\n .mt-xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-xl-3 {\n margin-block-start: 1rem;\n }\n .mt-xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-xl-5 {\n margin-block-start: 3rem;\n }\n .mt-xl-auto {\n margin-block-start: auto;\n }\n .me-xl-0 {\n margin-inline-end: 0;\n }\n .me-xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-xl-3 {\n margin-inline-end: 1rem;\n }\n .me-xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-xl-5 {\n margin-inline-end: 3rem;\n }\n .me-xl-auto {\n margin-inline-end: auto;\n }\n .mb-xl-0 {\n margin-block-end: 0;\n }\n .mb-xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-xl-3 {\n margin-block-end: 1rem;\n }\n .mb-xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-xl-5 {\n margin-block-end: 3rem;\n }\n .mb-xl-auto {\n margin-block-end: auto;\n }\n .ms-xl-0 {\n margin-inline-start: 0;\n }\n .ms-xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-xl-auto {\n margin-inline-start: auto;\n }\n .p-xl-0 {\n padding: 0;\n }\n .p-xl-1 {\n padding: 0.25rem;\n }\n .p-xl-2 {\n padding: 0.5rem;\n }\n .p-xl-3 {\n padding: 1rem;\n }\n .p-xl-4 {\n padding: 1.5rem;\n }\n .p-xl-5 {\n padding: 3rem;\n }\n .px-xl-0 {\n padding-inline: 0;\n }\n .px-xl-1 {\n padding-inline: 0.25rem;\n }\n .px-xl-2 {\n padding-inline: 0.5rem;\n }\n .px-xl-3 {\n padding-inline: 1rem;\n }\n .px-xl-4 {\n padding-inline: 1.5rem;\n }\n .px-xl-5 {\n padding-inline: 3rem;\n }\n .py-xl-0 {\n padding-block: 0;\n }\n .py-xl-1 {\n padding-block: 0.25rem;\n }\n .py-xl-2 {\n padding-block: 0.5rem;\n }\n .py-xl-3 {\n padding-block: 1rem;\n }\n .py-xl-4 {\n padding-block: 1.5rem;\n }\n .py-xl-5 {\n padding-block: 3rem;\n }\n .pt-xl-0 {\n padding-block-start: 0;\n }\n .pt-xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-xl-3 {\n padding-block-start: 1rem;\n }\n .pt-xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-xl-5 {\n padding-block-start: 3rem;\n }\n .pe-xl-0 {\n padding-inline-end: 0;\n }\n .pe-xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-xl-0 {\n padding-block-end: 0;\n }\n .pb-xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-xl-3 {\n padding-block-end: 1rem;\n }\n .pb-xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-xl-5 {\n padding-block-end: 3rem;\n }\n .ps-xl-0 {\n padding-inline-start: 0;\n }\n .ps-xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-xl-5 {\n padding-inline-start: 3rem;\n }\n .gap-xl-0 {\n gap: 0;\n }\n .gap-xl-1 {\n gap: 0.25rem;\n }\n .gap-xl-2 {\n gap: 0.5rem;\n }\n .gap-xl-3 {\n gap: 1rem;\n }\n .gap-xl-4 {\n gap: 1.5rem;\n }\n .gap-xl-5 {\n gap: 3rem;\n }\n .row-gap-xl-0 {\n row-gap: 0;\n }\n .row-gap-xl-1 {\n row-gap: 0.25rem;\n }\n .row-gap-xl-2 {\n row-gap: 0.5rem;\n }\n .row-gap-xl-3 {\n row-gap: 1rem;\n }\n .row-gap-xl-4 {\n row-gap: 1.5rem;\n }\n .row-gap-xl-5 {\n row-gap: 3rem;\n }\n .column-gap-xl-0 {\n column-gap: 0;\n }\n .column-gap-xl-1 {\n column-gap: 0.25rem;\n }\n .column-gap-xl-2 {\n column-gap: 0.5rem;\n }\n .column-gap-xl-3 {\n column-gap: 1rem;\n }\n .column-gap-xl-4 {\n column-gap: 1.5rem;\n }\n .column-gap-xl-5 {\n column-gap: 3rem;\n }\n .text-xl-start {\n text-align: start;\n }\n .text-xl-end {\n text-align: end;\n }\n .text-xl-center {\n text-align: center;\n }\n }\n @media (width >= 1536px) {\n .float-2xl-start {\n float: inline-start;\n }\n .float-2xl-end {\n float: inline-end;\n }\n .float-2xl-none {\n float: none;\n }\n .object-fit-2xl-contain {\n object-fit: contain;\n }\n .object-fit-2xl-cover {\n object-fit: cover;\n }\n .object-fit-2xl-fill {\n object-fit: fill;\n }\n .object-fit-2xl-scale {\n object-fit: scale-down;\n }\n .object-fit-2xl-none {\n object-fit: none;\n }\n .d-2xl-inline {\n display: inline;\n }\n .d-2xl-inline-block {\n display: inline-block;\n }\n .d-2xl-block {\n display: block;\n }\n .d-2xl-grid {\n display: grid;\n }\n .d-2xl-inline-grid {\n display: inline-grid;\n }\n .d-2xl-table {\n display: table;\n }\n .d-2xl-table-row {\n display: table-row;\n }\n .d-2xl-table-cell {\n display: table-cell;\n }\n .d-2xl-flex {\n display: flex;\n }\n .d-2xl-inline-flex {\n display: inline-flex;\n }\n .d-2xl-contents {\n display: contents;\n }\n .d-2xl-flow-root {\n display: flow-root;\n }\n .d-2xl-none {\n display: none;\n }\n .flex-2xl-fill {\n flex: 1 1 auto;\n }\n .flex-2xl-row {\n flex-direction: row;\n }\n .flex-2xl-column {\n flex-direction: column;\n }\n .flex-2xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-2xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-2xl-grow-0 {\n flex-grow: 0;\n }\n .flex-2xl-grow-1 {\n flex-grow: 1;\n }\n .flex-2xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-2xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-2xl-wrap {\n flex-wrap: wrap;\n }\n .flex-2xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-2xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-2xl-start {\n justify-content: flex-start;\n }\n .justify-content-2xl-end {\n justify-content: flex-end;\n }\n .justify-content-2xl-center {\n justify-content: center;\n }\n .justify-content-2xl-between {\n justify-content: space-between;\n }\n .justify-content-2xl-around {\n justify-content: space-around;\n }\n .justify-content-2xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-2xl-start {\n justify-items: start;\n }\n .justify-items-2xl-end {\n justify-items: end;\n }\n .justify-items-2xl-center {\n justify-items: center;\n }\n .justify-items-2xl-stretch {\n justify-items: stretch;\n }\n .justify-self-2xl-start {\n justify-self: flex-start;\n }\n .justify-self-2xl-end {\n justify-self: flex-end;\n }\n .justify-self-2xl-center {\n justify-self: center;\n }\n .align-items-2xl-start {\n align-items: flex-start;\n }\n .align-items-2xl-end {\n align-items: flex-end;\n }\n .align-items-2xl-center {\n align-items: center;\n }\n .align-items-2xl-baseline {\n align-items: baseline;\n }\n .align-items-2xl-stretch {\n align-items: stretch;\n }\n .align-content-2xl-start {\n align-content: flex-start;\n }\n .align-content-2xl-end {\n align-content: flex-end;\n }\n .align-content-2xl-center {\n align-content: center;\n }\n .align-content-2xl-between {\n align-content: space-between;\n }\n .align-content-2xl-around {\n align-content: space-around;\n }\n .align-content-2xl-stretch {\n align-content: stretch;\n }\n .align-self-2xl-auto {\n align-self: auto;\n }\n .align-self-2xl-start {\n align-self: flex-start;\n }\n .align-self-2xl-end {\n align-self: flex-end;\n }\n .align-self-2xl-center {\n align-self: center;\n }\n .align-self-2xl-baseline {\n align-self: baseline;\n }\n .align-self-2xl-stretch {\n align-self: stretch;\n }\n .place-items-2xl-start {\n place-items: start;\n }\n .place-items-2xl-end {\n place-items: end;\n }\n .place-items-2xl-center {\n place-items: center;\n }\n .place-items-2xl-stretch {\n place-items: stretch;\n }\n .grid-cols-2xl-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-2xl-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-2xl-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-2xl-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-2xl-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-2xl-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-2xl-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-2xl-dense {\n grid-auto-flow: dense;\n }\n .order-2xl-first {\n order: -1;\n }\n .order-2xl-0 {\n order: 0;\n }\n .order-2xl-1 {\n order: 1;\n }\n .order-2xl-2 {\n order: 2;\n }\n .order-2xl-3 {\n order: 3;\n }\n .order-2xl-4 {\n order: 4;\n }\n .order-2xl-5 {\n order: 5;\n }\n .order-2xl-last {\n order: 6;\n }\n .m-2xl-0 {\n margin: 0;\n }\n .m-2xl-1 {\n margin: 0.25rem;\n }\n .m-2xl-2 {\n margin: 0.5rem;\n }\n .m-2xl-3 {\n margin: 1rem;\n }\n .m-2xl-4 {\n margin: 1.5rem;\n }\n .m-2xl-5 {\n margin: 3rem;\n }\n .m-2xl-auto {\n margin: auto;\n }\n .mx-2xl-0 {\n margin-inline: 0;\n }\n .mx-2xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-2xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-2xl-3 {\n margin-inline: 1rem;\n }\n .mx-2xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-2xl-5 {\n margin-inline: 3rem;\n }\n .mx-2xl-auto {\n margin-inline: auto;\n }\n .my-2xl-0 {\n margin-block: 0;\n }\n .my-2xl-1 {\n margin-block: 0.25rem;\n }\n .my-2xl-2 {\n margin-block: 0.5rem;\n }\n .my-2xl-3 {\n margin-block: 1rem;\n }\n .my-2xl-4 {\n margin-block: 1.5rem;\n }\n .my-2xl-5 {\n margin-block: 3rem;\n }\n .my-2xl-auto {\n margin-block: auto;\n }\n .mt-2xl-0 {\n margin-block-start: 0;\n }\n .mt-2xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-2xl-3 {\n margin-block-start: 1rem;\n }\n .mt-2xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-2xl-5 {\n margin-block-start: 3rem;\n }\n .mt-2xl-auto {\n margin-block-start: auto;\n }\n .me-2xl-0 {\n margin-inline-end: 0;\n }\n .me-2xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-2xl-3 {\n margin-inline-end: 1rem;\n }\n .me-2xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-2xl-5 {\n margin-inline-end: 3rem;\n }\n .me-2xl-auto {\n margin-inline-end: auto;\n }\n .mb-2xl-0 {\n margin-block-end: 0;\n }\n .mb-2xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-2xl-3 {\n margin-block-end: 1rem;\n }\n .mb-2xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-2xl-5 {\n margin-block-end: 3rem;\n }\n .mb-2xl-auto {\n margin-block-end: auto;\n }\n .ms-2xl-0 {\n margin-inline-start: 0;\n }\n .ms-2xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-2xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-2xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-2xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-2xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-2xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-2xl-auto {\n margin-inline-start: auto;\n }\n .p-2xl-0 {\n padding: 0;\n }\n .p-2xl-1 {\n padding: 0.25rem;\n }\n .p-2xl-2 {\n padding: 0.5rem;\n }\n .p-2xl-3 {\n padding: 1rem;\n }\n .p-2xl-4 {\n padding: 1.5rem;\n }\n .p-2xl-5 {\n padding: 3rem;\n }\n .px-2xl-0 {\n padding-inline: 0;\n }\n .px-2xl-1 {\n padding-inline: 0.25rem;\n }\n .px-2xl-2 {\n padding-inline: 0.5rem;\n }\n .px-2xl-3 {\n padding-inline: 1rem;\n }\n .px-2xl-4 {\n padding-inline: 1.5rem;\n }\n .px-2xl-5 {\n padding-inline: 3rem;\n }\n .py-2xl-0 {\n padding-block: 0;\n }\n .py-2xl-1 {\n padding-block: 0.25rem;\n }\n .py-2xl-2 {\n padding-block: 0.5rem;\n }\n .py-2xl-3 {\n padding-block: 1rem;\n }\n .py-2xl-4 {\n padding-block: 1.5rem;\n }\n .py-2xl-5 {\n padding-block: 3rem;\n }\n .pt-2xl-0 {\n padding-block-start: 0;\n }\n .pt-2xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-2xl-3 {\n padding-block-start: 1rem;\n }\n .pt-2xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-2xl-5 {\n padding-block-start: 3rem;\n }\n .pe-2xl-0 {\n padding-inline-end: 0;\n }\n .pe-2xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-2xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-2xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-2xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-2xl-0 {\n padding-block-end: 0;\n }\n .pb-2xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-2xl-3 {\n padding-block-end: 1rem;\n }\n .pb-2xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-2xl-5 {\n padding-block-end: 3rem;\n }\n .ps-2xl-0 {\n padding-inline-start: 0;\n }\n .ps-2xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-2xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-2xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-2xl-5 {\n padding-inline-start: 3rem;\n }\n .gap-2xl-0 {\n gap: 0;\n }\n .gap-2xl-1 {\n gap: 0.25rem;\n }\n .gap-2xl-2 {\n gap: 0.5rem;\n }\n .gap-2xl-3 {\n gap: 1rem;\n }\n .gap-2xl-4 {\n gap: 1.5rem;\n }\n .gap-2xl-5 {\n gap: 3rem;\n }\n .row-gap-2xl-0 {\n row-gap: 0;\n }\n .row-gap-2xl-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2xl-2 {\n row-gap: 0.5rem;\n }\n .row-gap-2xl-3 {\n row-gap: 1rem;\n }\n .row-gap-2xl-4 {\n row-gap: 1.5rem;\n }\n .row-gap-2xl-5 {\n row-gap: 3rem;\n }\n .column-gap-2xl-0 {\n column-gap: 0;\n }\n .column-gap-2xl-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2xl-2 {\n column-gap: 0.5rem;\n }\n .column-gap-2xl-3 {\n column-gap: 1rem;\n }\n .column-gap-2xl-4 {\n column-gap: 1.5rem;\n }\n .column-gap-2xl-5 {\n column-gap: 3rem;\n }\n .text-2xl-start {\n text-align: start;\n }\n .text-2xl-end {\n text-align: end;\n }\n .text-2xl-center {\n text-align: center;\n }\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */\n","$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"violet\": $violet,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"amber\": $amber,\n \"yellow\": $yellow,\n \"lime\": $lime,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"brown\": $brown,\n \"gray\": $gray,\n \"pewter\": $pewter,\n ),\n $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n \"025\": 94%,\n \"050\": 90%,\n \"100\": 80%,\n \"200\": 60%,\n \"300\": 40%,\n \"400\": 20%,\n) !default;\n\n$color-shades: (\n \"600\": 16%,\n \"700\": 32%,\n \"800\": 48%,\n \"900\": 64%,\n \"950\": 76%,\n \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n @each $stop, $percent in $color-tints {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n }\n $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n @each $stop, $percent in $color-shades {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n @each $prop, $value in $map {\n #{$prop}: #{$value};\n }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n (\n --black: #{$black},\n --white: #{$white},\n\n --gradient: #{$gradient},\n\n // scss-docs-start root-font-weight-variables\n --font-weight-lighter: lighter,\n --font-weight-light: 300,\n --font-weight-normal: 400,\n --font-weight-medium: 500,\n --font-weight-semibold: 600,\n --font-weight-bold: 700,\n --font-weight-bolder: bolder,\n // scss-docs-end root-font-weight-variables\n\n // scss-docs-start root-body-variables\n --body-font-family: system-ui,\n --body-font-size: var(--font-size-base),\n --body-font-weight: #{$font-weight-base},\n --body-line-height: #{$line-height-base},\n\n --heading-color: #{$headings-color},\n\n --hr-border-color: var(--border-color),\n\n --link-color: light-dark(var(--primary-base), var(--primary-text)),\n --link-decoration: #{$link-decoration},\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n --code-font-size: 95%,\n --code-color: var(--fg-2),\n\n // scss-docs-start root-border-var\n --border-width: #{$border-width},\n --border-style: #{$border-style},\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n // scss-docs-end root-border-var\n\n // scss-docs-start root-border-radius-var\n --border-radius: .5rem,\n --border-radius-xs: .375rem,\n --border-radius-sm: .5rem,\n --border-radius-lg: .75rem,\n --border-radius-xl: 1rem,\n --border-radius-2xl: 2rem,\n --border-radius-pill: 50rem,\n // scss-docs-end root-border-radius-var\n\n // scss-docs-start root-box-shadow-variables\n --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n // scss-docs-end root-box-shadow-variables\n\n --spacer: 1rem,\n\n // scss-docs-start root-focus-variables\n --focus-ring-width: 3px,\n --focus-ring-offset: 1px,\n --focus-ring-color: var(--primary-focus-ring),\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-variables\n --control-checked-bg: var(--primary-base),\n --control-checked-border-color: var(--control-checked-bg),\n --control-active-bg: var(--primary-base),\n --control-active-border-color: var(--control-active-bg),\n --control-disabled-bg: var(--bg-3),\n --control-disabled-opacity: .65,\n\n --btn-input-fg: var(--fg-body),\n --btn-input-bg: var(--bg-body),\n\n --btn-input-min-height: 2.375rem,\n --btn-input-padding-y: .375rem,\n --btn-input-padding-x: .75rem,\n --btn-input-font-size: var(--font-size-base),\n --btn-input-line-height: var(--line-height-base),\n --btn-input-border-radius: var(--border-radius),\n\n --btn-input-xs-min-height: 1.5rem,\n --btn-input-xs-padding-y: .125rem,\n --btn-input-xs-padding-x: .5rem,\n --btn-input-xs-font-size: var(--font-size-xs),\n --btn-input-xs-line-height: 1.125,\n --btn-input-xs-border-radius: var(--border-radius-xs),\n\n --btn-input-sm-min-height: 2rem,\n --btn-input-sm-padding-y: .25rem,\n --btn-input-sm-padding-x: .625rem,\n --btn-input-sm-font-size: var(--font-size-sm),\n --btn-input-sm-line-height: var(--line-height-sm),\n --btn-input-sm-border-radius: var(--border-radius-sm),\n\n --btn-input-lg-min-height: 2.75rem,\n --btn-input-lg-padding-y: .5rem,\n --btn-input-lg-padding-x: 1rem,\n --btn-input-lg-font-size: var(--font-size-md),\n --btn-input-lg-line-height: var(--line-height-md),\n --btn-input-lg-border-radius: var(--border-radius-lg),\n // scss-docs-end root-form-variables\n\n // scss-docs-start root-form-validation-variables\n --form-valid-color: #{$form-valid-color},\n --form-valid-border-color: #{$form-valid-border-color},\n --form-invalid-color: #{$form-invalid-color},\n --form-invalid-border-color: #{$form-invalid-border-color},\n // scss-docs-end root-form-validation-variables\n ),\n $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n @each $key, $value in $color-map {\n $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n @include tokens($root-tokens);\n\n color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n color-scheme: light;\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$reboot-kbd-tokens: () !default;\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n (\n --kbd-padding-y: .125rem,\n --kbd-padding-x: .25rem,\n --kbd-font-size: var(--font-size-xs),\n --kbd-color: var(--bg-body),\n --kbd-bg: var(--fg-2),\n --kbd-border-radius: var(--border-radius-sm),\n ),\n $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n (\n --mark-padding: .1875em,\n --mark-color: var(--fg-body),\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n ),\n $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\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 // 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 // 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 // Assume browser default font-size of 16px, or a user's preference\n accent-color: var(--primary-base);\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\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(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n }\n // scss-docs-end reboot-body-rules\n\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n\n // Typography\n //\n // 1. Remove top margins from headings\n // By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n // margin for easier control within type scales as it avoids margin collapsing.\n\n %heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--heading-color);\n }\n\n h1,\n .h1 {\n @extend %heading;\n font-size: var(--font-size-3xl);\n }\n\n h2,\n .h2 {\n @extend %heading;\n font-size: var(--font-size-2xl);\n }\n\n h3,\n .h3 {\n @extend %heading;\n font-size: var(--font-size-xl);\n }\n\n h4,\n .h4 {\n @extend %heading;\n font-size: var(--font-size-lg);\n }\n\n h5,\n .h5 {\n @extend %heading;\n font-size: var(--font-size-md);\n }\n\n h6,\n .h6 {\n @extend %heading;\n font-size: var(--font-size-sm);\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 // 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 // Address\n\n address {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n }\n\n // Lists\n\n ol,\n ul {\n padding-inline-start: 2rem;\n }\n\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n\n dt {\n font-weight: $dt-font-weight;\n }\n\n // 1. Undo browser default\n\n dd {\n margin-inline-start: 0; // 1\n margin-bottom: .5rem;\n }\n\n // Blockquote\n\n blockquote {\n margin: 0 0 1rem;\n > * {\n margin-block: 0;\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 // Small\n //\n // Add the correct font size in all browsers\n\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n\n // Mark\n\n mark,\n .mark {\n @include tokens($reboot-mark-tokens);\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n\n // Sub and Sup\n //\n // Prevent `sub` and `sup` elements from affecting the line height in\n // all browsers.\n\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, .75em);\n line-height: 0;\n vertical-align: baseline;\n }\n\n sub { bottom: -.25em; }\n sup { top: -.5em; }\n\n // Links\n\n a {\n color: var(--theme-text, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: $link-underline-offset;\n\n &:hover {\n // --link-color: var(--link-hover-color);\n // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n color: var(--theme-text-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-decoration));\n }\n }\n\n // And undo these styles for placeholder links/named anchors (without href).\n // It would be more straightforward to just use a[href] in previous block, but that\n // causes specificity issues in many other styles that are too complex to fix.\n // See https://github.com/twbs/bootstrap/issues/19402\n\n a:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n }\n\n // Code\n\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n }\n\n // 1. Remove browser default top margin\n // 2. Reset browser default of `1em` to use `rem`s\n // 3. Don't allow content to break outside\n\n pre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n }\n\n code {\n font-size: var(--code-font-size);\n color: var(--code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n }\n\n kbd {\n @include tokens($reboot-kbd-tokens);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n @include border-radius(var(--kbd-border-radius));\n\n kbd {\n padding: 0;\n font-size: 1em;\n font-weight: inherit; // mdo-do: check if this is needed\n }\n }\n\n // Figures\n //\n // Apply a consistent margin strategy (matches our type styles).\n\n figure {\n margin: 0 0 1rem;\n }\n\n // Images and content\n\n img,\n svg {\n vertical-align: middle;\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(--fg-3);\n text-align: start;\n }\n\n // 1. Removes font-weight bold by inheriting\n // 2. Matches default `<td>` alignment by inheriting `text-align`.\n // 3. Fix alignment for Safari\n\n th {\n // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n }\n\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n\n // Forms\n //\n // 1. Allow labels to use `margin` for spacing.\n\n label {\n display: inline-block; // 1\n }\n\n // Remove the default `border-radius` that macOS Chrome adds.\n // See https://github.com/twbs/bootstrap/issues/24093\n\n button {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n }\n\n // Explicitly remove focus outline in Chromium when it shouldn't be\n // visible (e.g. as result of mouse click or touch tap). It already\n // should be doing this automatically, but seems to currently be\n // confused and applies its very visible two-tone outline anyway.\n\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n\n // 1. Remove the margin in Firefox and Safari\n\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0; // 1\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n // Remove the inheritance of text transform in Firefox\n button,\n select {\n text-transform: none;\n }\n // Set the cursor for non-`<button>` buttons\n //\n // Details at https://github.com/twbs/bootstrap/pull/30562\n [role=\"button\"] {\n cursor: pointer;\n }\n\n select {\n // Remove the inheritance of word-wrap in Safari.\n // See https://github.com/twbs/bootstrap/issues/24990\n word-wrap: normal;\n\n // Undo the opacity change from Chrome\n &:disabled {\n opacity: 1;\n }\n }\n\n // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n // See https://stackoverflow.com/a/54997118\n\n [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n display: none !important;\n }\n\n // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n // controls in Android 4.\n // 2. Correct the inability to style clickable types in iOS and Safari.\n // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n button,\n [type=\"button\"], // 1\n [type=\"reset\"],\n [type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n }\n\n // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n ::-moz-focus-inner {\n padding: 0;\n border-style: none;\n }\n\n // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n textarea {\n resize: vertical; // 1\n }\n\n // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n fieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n }\n\n // 1. By using `float: inline-start`, the legend will behave like a block element.\n // This way the border of a fieldset wraps around the legend if present.\n // 2. Fix wrapping bug.\n // See https://github.com/twbs/bootstrap/issues/29712\n\n legend {\n float: inline-start; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n font-size: $legend-font-size;\n font-weight: $legend-font-weight;\n line-height: inherit;\n\n + * {\n clear: inline-start; // 2\n }\n }\n\n // Fix height of inputs with a type of datetime-local, date, month, week, or time\n // See https://github.com/twbs/bootstrap/issues/18842\n\n ::-webkit-datetime-edit-fields-wrapper,\n ::-webkit-datetime-edit-text,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-ampm-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-week-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-year-field {\n padding: 0;\n }\n\n ::-webkit-inner-spin-button {\n height: auto;\n }\n\n // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n // 2. Correct the outline style in Safari.\n\n [type=\"search\"] {\n -webkit-appearance: textfield; // 1\n outline-offset: -2px; // 2\n\n // 3. Better affordance and consistent appearance for search cancel button\n &::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n }\n }\n\n // A few input types should stay LTR regardless of document direction\n // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n [type=\"tel\"],\n [type=\"url\"],\n [type=\"email\"],\n [type=\"number\"] {\n direction: ltr;\n }\n\n // Remove the inner padding in Chrome and Safari on macOS.\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n // Remove padding around color pickers in webkit browsers\n\n ::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n // 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 // Progress\n //\n // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n progress {\n vertical-align: baseline;\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:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n @if meta.type-of($defaults) == \"list\" {\n $map: ();\n @each $key in $defaults {\n $map: map.merge($map, ($key: true));\n }\n $defaults: $map;\n }\n $merged: map.merge($defaults, $overrides);\n @each $key, $value in $merged {\n @if $value == null {\n $merged: map.remove($merged, $key);\n }\n }\n @return $merged;\n}\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n\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\n$negative-spacers: (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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 breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !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\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, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\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// Links\n//\n// Style anchor elements.\n\n$link-decoration: underline !default;\n$link-underline-offset: .2em !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// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n\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$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// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n (\n \"xs\": (\n \"font-size\": .75rem,\n \"line-height\": 1.25\n ),\n \"sm\": (\n \"font-size\": .875rem,\n \"line-height\": 1.5\n ),\n \"md\": (\n \"font-size\": 1rem,\n \"line-height\": 1.5\n ),\n \"lg\": (\n \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n \"line-height\": 1.5\n ),\n \"xl\": (\n \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n \"line-height\": calc(2.5 / 1.75)\n ),\n \"2xl\": (\n \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n \"line-height\": calc(3 / 2.25)\n ),\n \"3xl\": (\n \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n \"line-height\": 1.2\n ),\n \"4xl\": (\n \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n \"line-height\": 1.1\n ),\n \"5xl\": (\n \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n \"line-height\": 1.1\n ),\n \"6xl\": (\n \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n \"line-height\": 1\n ),\n ),\n $font-sizes\n);\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 type-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// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-dialog: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" 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: var(--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: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n border-start-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-end-radius: valid-radius($radius);\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-start-radius: valid-radius($radius);\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n border-end-start-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-start-radius: valid-radius($radius);\n }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/lists\" as *;\n@use \"../mixins/tokens\" as *;\n\n$blockquote-tokens: () !default;\n\n// scss-docs-start blockquote-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$blockquote-tokens: defaults(\n (\n --blockquote-gap: calc(var(--spacer) / 2),\n --blockquote-padding-x: var(--spacer),\n --blockquote-margin-y: 1rem,\n --blockquote-font-size: var(--font-size-md),\n --blockquote-border-width: .25rem,\n --blockquote-border-color: var(--border-color),\n --blockquote-footer-font-size: var(--font-size-sm),\n --blockquote-footer-color: var(--fg-3),\n ),\n $blockquote-tokens\n);\n// scss-docs-end blockquote-tokens\n\n@layer content {\n //\n // Lists\n //\n\n .list-unstyled {\n @include list-unstyled();\n }\n\n // Inline turns list items into inline-block\n .list-inline {\n @include list-unstyled();\n }\n .list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-inline-end: var(--list-inline-padding, var(--spacer) / 2);\n }\n }\n\n //\n // Misc\n //\n\n // Builds on `abbr`\n .initialism {\n font-size: var(--initialism-font-size, var(--font-size-xs));\n text-transform: uppercase;\n }\n\n // Blockquotes\n .blockquote {\n @include tokens($blockquote-tokens);\n display: flex;\n flex-direction: column;\n gap: var(--blockquote-gap);\n padding-inline-start: var(--blockquote-padding-x);\n margin-bottom: var(--blockquote-margin-y);\n font-size: var(--blockquote-font-size);\n border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n\n > * {\n margin-bottom: 0;\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n figure.blockquote {\n blockquote {\n margin-bottom: 0;\n }\n }\n\n .blockquote-footer {\n font-size: var(--blockquote-footer-font-size);\n color: var(--blockquote-footer-color);\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-inline-start: 0;\n list-style: none;\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$table-tokens: () !default;\n\n// scss-docs-start table-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$table-tokens: defaults(\n (\n --table-cell-padding-y: .5rem,\n --table-cell-padding-x: .5rem,\n --table-cell-vertical-align: top,\n --table-color: var(--fg-body),\n --table-bg: var(--bg-body),\n --table-accent-bg: transparent,\n --table-border-width: var(--border-width),\n --table-border-color: var(--border-color),\n --table-group-separator-color: currentcolor,\n --table-striped-color: var(--table-color),\n --table-striped-bg-factor: .05,\n --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent),\n --table-active-color: var(--table-color),\n --table-active-bg-factor: .1,\n --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent),\n --table-hover-color: var(--table-color),\n --table-hover-bg-factor: .075,\n --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent),\n ),\n $table-tokens\n);\n// scss-docs-end table-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n .table {\n @include tokens($table-tokens);\n\n // Reset needed for nesting tables\n --table-color-type: initial;\n --table-bg-type: initial;\n --table-color-state: initial;\n --table-bg-state: initial;\n // End of reset\n\n width: 100%;\n margin-bottom: $spacer;\n vertical-align: var(--table-cell-vertical-align);\n border-color: var(--theme-border, var(--table-border-color));\n\n // Target th & td\n // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n background-color: var(--theme-bg-subtle, var(--table-bg));\n border-block-end-width: var(--table-border-width);\n box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n }\n\n .table-group-divider {\n border-block-start: calc(var(--table-border-width) * 2) solid var(--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 // Condensed table w/ half padding\n //\n\n .table-sm {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n --table-cell-padding-y: .25rem;\n --table-cell-padding-x: .25rem;\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: var(--table-border-width) 0;\n\n // stylelint-disable-next-line selector-max-universal\n > * {\n border-width: 0 var(--table-border-width);\n }\n }\n }\n\n .table-borderless {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n border-block-end-width: 0;\n }\n\n > :not(:first-child) {\n border-block-start-width: 0;\n }\n }\n\n // Zebra-striping\n //\n // Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n // For rows\n .table-striped {\n > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n }\n\n // For columns\n .table-striped-columns {\n > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n }\n\n // Active table\n //\n // The `.table-active` class can be added to highlight rows or cells\n\n .table-active {\n --table-color-state: var(--theme-text, var(--table-active-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n }\n\n // Hover effect\n //\n // Placed here since it has to come after the potential zebra striping\n\n .table-hover {\n > tbody > tr:hover > * {\n --table-color-state: var(--theme-text, var(--table-hover-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n }\n }\n\n // Responsive tables\n //\n // Generate series of `.table-responsive-*` classes for configuring the screen\n // size of where your table will overflow.\n\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-down($breakpoint) {\n .table-responsive#{$infix} {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $breakpoints) {\n @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$name}\");\n}\n\n// Iterate all breakpoints and provide the current name and infix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n @content($breakpoint, $infix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next infix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $infix: breakpoint-infix($next, $breakpoints);\n @content($breakpoint, $next, $infix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $infix) {\n @content($breakpoint, $next, $infix);\n }\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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (width >= $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (width < $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $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 @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/image\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/tokens\" as *;\n\n$thumbnail-tokens: () !default;\n\n// scss-docs-start thumbnail-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$thumbnail-tokens: defaults(\n (\n --thumbnail-padding: .25rem,\n --thumbnail-bg: var(--bg-body),\n --thumbnail-border-width: var(--border-width),\n --thumbnail-border-color: var(--border-color),\n --thumbnail-border-radius: var(--border-radius),\n --thumbnail-box-shadow: var(--box-shadow-sm),\n ),\n $thumbnail-tokens\n);\n// scss-docs-end thumbnail-tokens\n\n$figure-tokens: () !default;\n\n// scss-docs-start figure-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$figure-tokens: defaults(\n (\n --figure-gap: calc(var(--spacer) * .5),\n --figure-caption-font-size: var(--font-size-sm),\n --figure-caption-color: var(--fg-3),\n ),\n $figure-tokens\n);\n// scss-docs-end figure-tokens\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 .img-thumbnail {\n @include tokens($thumbnail-tokens);\n padding: var(--thumbnail-padding);\n background-color: var(--thumbnail-bg);\n border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n @include border-radius(var(--thumbnail-border-radius));\n @include box-shadow(var(--thumbnail-box-shadow));\n\n // Keep them at most 100% wide\n @include img-fluid();\n }\n\n .figure {\n @include tokens($figure-tokens);\n // Ensures the caption's text aligns with the image.\n display: flex;\n flex-direction: column;\n gap: var(--figure-gap);\n }\n\n .figure-caption {\n font-size: var(--figure-caption-font-size);\n color: var(--figure-caption-color);\n }\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n@mixin box-shadow($shadow...) {\n @if $enable-shadows {\n $result: ();\n $has-single-value: false;\n $single-value: null;\n\n @each $value in $shadow {\n @if $value != null {\n @if $value == none or $value == initial or $value == inherit or $value == unset {\n $has-single-value: true;\n $single-value: $value;\n } @else {\n $result: list.append($result, $value, \"comma\");\n }\n }\n }\n\n @if $has-single-value {\n box-shadow: $single-value;\n } @else if (list.length($result) > 0) {\n box-shadow: $result;\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$prose-tokens: () !default;\n\n// scss-docs-start prose-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$prose-tokens: defaults(\n (\n --content-font-size: 1rem,\n --content-gap: 20px,\n --heading-color: light-dark(var(--gray-900), var(--white)),\n ),\n $prose-tokens\n);\n// scss-docs-end prose-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer content {\n .prose {\n @include tokens($prose-tokens);\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--content-gap);\n max-width: 1000px;\n margin-inline: auto;\n font-size: var(--content-font-size);\n line-height: 1.5;\n\n @media (width >= 1024px) {\n --content-font-size: var(--font-size-md);\n --content-gap: 24px;\n }\n\n :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n margin-block: 0;\n }\n\n :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n margin-bottom: calc(var(--content-gap) / 4);\n }\n\n :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) / 4);\n }\n\n :where(hr):not(:where(.not-prose, .not-prose *)) {\n margin: calc(var(--content-gap) * 1.5) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n\n :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n margin-top: 0;\n margin-bottom: calc(var(--content-gap) / -2);\n font-weight: 500;\n line-height: 1.25;\n\n code {\n font-weight: 600;\n color: inherit;\n }\n }\n\n :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * .75);\n }\n\n :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * .5);\n }\n\n :where(h1):not(:where(.not-prose, .not-prose *)) {\n font-size: 2.25em;\n line-height: 1.1;\n }\n :where(h2):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.75em;\n }\n :where(h3):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.5em;\n }\n :where(h4):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.25em;\n }\n :where(h5):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.125em;\n }\n :where(h6):not(:where(.not-prose, .not-prose *)) {\n font-size: 1em;\n }\n\n :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n color: var(--link-color);\n text-decoration: underline;\n text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n text-underline-offset: 4px;\n @include transition(.1s text-decoration-color ease-in-out);\n\n &:hover {\n text-decoration-color: var(--link-hover-color);\n }\n }\n\n :where(img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n\n :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n padding-inline-start: calc(var(--content-gap) / 2);\n margin: 0;\n border-inline-start: 4px solid var(--border-color);\n }\n\n :where(table):not(:where(.not-prose, .not-prose *)) {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n }\n\n :where(table:not([class])):not(:where(.not-prose, .not-prose *)) {\n td,\n th {\n padding: 6px 12px;\n text-align: inherit;\n border: 1px solid var(--border-color);\n }\n }\n\n :where(dt):not(:where(.not-prose, .not-prose *)) {\n font-weight: 500;\n }\n\n :where(video, img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if list.length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if list.length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if list.nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --gutter-x: #{$gutter};\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * .5);\n margin-inline: auto;\n}\n\n@layer layout {\n @if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $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 \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n @if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n\n @include make-grid-columns();\n }\n\n @if $enable-cssgrid {\n .grid {\n --columns: #{$grid-columns};\n --rows: 1;\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n\n }\n\n @include make-cssgrid();\n }\n\n // mdo-do: add to utilities?\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n\n .grid-fill {\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n\n // .g-col-auto {\n // grid-column: auto;\n // }\n\n // mdo-do: add to utilities?\n // .grid-cols-3 {\n // --columns: 3;\n // }\n // .grid-cols-4 {\n // --columns: 4;\n // }\n // .grid-cols-6 {\n // --columns: 6;\n // }\n\n // .grid-full {\n // grid-column: 1 / -1;\n // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n --gutter-x: #{$gutter-x};\n --gutter-y: #{$gutter-y};\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-inline: calc(-.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n // stylelint-disable-next-line scss/at-function-named-arguments\n box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-inline: calc(var(--gutter-x) * .5);\n margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: math.percentage(math.div($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: math.div($size, $columns);\n // stylelint-disable-next-line scss/at-function-named-arguments\n margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0;\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $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 \"../functions\" as *;\n\n$form-label-tokens: () !default;\n\n// scss-docs-start form-label-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-label-tokens: defaults(\n (\n --label-margin-bottom: calc(var(--spacer) / 2),\n --label-font-size: null,\n --label-font-style: null,\n --label-font-weight: null,\n --label-color: null,\n ),\n $form-label-tokens\n);\n// scss-docs-end form-label-tokens\n\n@layer forms {\n .form-label,\n .col-form-label {\n font-size: var(--label-font-size, var(--font-size-sm));\n font-style: var(--label-font-style, inherit);\n font-weight: var(--label-font-weight, inherit);\n color: var(--label-color, var(--fg-body));\n }\n\n .form-label {\n margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\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 --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n padding-block: var(--label-padding-y);\n margin-bottom: 0; // Override the `<legend>` default\n }\n\n .col-form-label-lg {\n --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n font-size: var(--btn-input-lg-font-size);\n }\n\n .col-form-label-sm {\n --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n font-size: var(--btn-input-sm-font-size);\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-text-tokens: () !default;\n\n// scss-docs-start form-text-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-text-tokens: defaults(\n (\n --form-text-margin-top: .25rem,\n --form-text-font-size: var(--font-size-sm),\n --form-text-font-style: null,\n --form-text-font-weight: null,\n --form-text-color: var(--fg-3),\n ),\n $form-text-tokens\n);\n// scss-docs-end form-text-tokens\n\n@layer forms {\n .form-text {\n @include tokens($form-text-tokens);\n\n margin-top: var(--form-text-margin-top);\n font-size: var(--form-text-font-size);\n font-style: var(--form-text-font-style);\n font-weight: var(--form-text-font-weight);\n color: var(--form-text-color);\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-control-tokens: () !default;\n\n// scss-docs-start form-control-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-tokens: defaults(\n (\n --control-min-height: var(--btn-input-min-height),\n --control-padding-y: var(--btn-input-padding-y),\n --control-padding-x: var(--btn-input-padding-x),\n --control-font-size: var(--btn-input-font-size),\n --control-line-height: var(--btn-input-line-height),\n --control-fg: var(--btn-input-fg),\n --control-bg: var(--btn-input-bg),\n --control-border-width: var(--border-width),\n --control-border-color: var(--border-color),\n --control-border-radius: var(--border-radius),\n --control-box-shadow: var(--box-shadow-inset),\n --control-action-bg: var(--bg-1),\n --control-action-hover-bg: var(--bg-2),\n --control-transition-property: \"border-color, box-shadow\",\n --control-transition-timing: .15s ease-in-out,\n --control-transition: var(--control-transition-property) var(--control-transition-timing),\n --control-placeholder-color: var(--fg-3),\n --control-disabled-color: var(--control-fg),\n --control-disabled-bg: var(--bg-2),\n --control-disabled-border-color: var(--control-border-color),\n --control-select-bg: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#00000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n --control-select-bg-position: right .75rem center,\n --control-select-bg-size: 16px 12px,\n --control-select-bg-dark: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n ),\n $form-control-tokens\n);\n// scss-docs-end form-control-tokens\n\n// scss-docs-start form-control-sizes\n$form-control-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-sizes: defaults(\n (\"sm\", \"lg\"),\n $form-control-sizes\n);\n// scss-docs-end form-control-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .form-control {\n @include tokens($form-control-tokens);\n\n display: flex;\n width: 100%;\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n font-size: var(--control-font-size);\n line-height: var(--control-line-height);\n color: var(--control-fg);\n appearance: none;\n background-color: var(--control-bg);\n background-clip: padding-box;\n border: var(--control-border-width) solid var(--control-border-color);\n @include border-radius(var(--control-border-radius), 0);\n @include box-shadow(var(--control-box-shadow));\n @include transition(var(--control-transition));\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus-visible {\n --focus-ring-offset: -1px;\n @include focus-ring(true);\n }\n\n // Placeholder\n &::placeholder {\n color: var(--control-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: var(--control-disabled-color);\n background-color: var(--control-disabled-bg);\n border-color: var(--control-disabled-border-color);\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n\n // Date and time inputs\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: 1.5em;\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 // background-color: var(--red-500);\n // }\n\n // Prevent excessive date input height in Webkit\n // https://github.com/twbs/bootstrap/issues/34433\n\n // mdo-do: need to check this stuff out across browsers\n &::-webkit-datetime-edit {\n display: block;\n height: 1.5rem;\n padding: 0;\n margin-bottom: -.125rem;\n }\n &::-webkit-datetime-edit-fields-wrapper {\n height: 1.5rem;\n }\n\n // File inputs\n &[type=\"file\"] {\n overflow: hidden; // prevent pseudo element button overlap\n\n &:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n }\n &::file-selector-button {\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n margin-inline-end: var(--control-padding-x);\n color: var(--control-fg);\n @include gradient-bg(var(--control-action-bg));\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--control-border-width);\n border-radius: 0; // stylelint-disable-line property-disallowed-list\n @include transition(var(--control-transition));\n }\n\n &:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: var(--control-action-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: var(--control-padding-y) 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: var(--control-line-height);\n color: var(--control-fg);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--control-border-width) 0;\n\n &:focus {\n outline: 0;\n }\n\n &.form-control-sm,\n &.form-control-lg {\n padding-inline: 0;\n }\n }\n\n // stylelint-disable selector-no-qualifying-type\n select.form-control {\n padding-inline-end: calc(var(--control-padding-x) * 3);\n background-image: var(--control-select-bg);\n background-repeat: no-repeat;\n background-position: var(--control-select-bg-position);\n background-size: var(--control-select-bg-size);\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n padding-inline-end: var(--control-padding-x);\n background-image: none;\n }\n }\n\n @media (prefers-color-scheme: dark) {\n select.form-control {\n background-image: var(--control-select-bg-dark);\n }\n }\n // stylelint-enable selector-no-qualifying-type\n\n // Form control sizing\n //\n // Build on `.form-control` with modifier classes to decrease or increase the\n // height and font-size of form controls.\n //\n // Repeated in `_input_group.scss` to avoid Sass extend issues.\n @each $size, $_ in $form-control-sizes {\n .form-control-#{$size} {\n --control-min-height: var(--btn-input-#{$size}-min-height);\n --control-padding-y: var(--btn-input-#{$size}-padding-y);\n --control-padding-x: var(--btn-input-#{$size}-padding-x);\n --control-font-size: var(--btn-input-#{$size}-font-size);\n --control-line-height: var(--btn-input-#{$size}-line-height);\n --control-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n\n .form-control-color {\n width: var(--control-min-height);\n padding: var(--control-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(var(--border-radius-sm));\n }\n\n &::-webkit-color-swatch {\n border: 0 !important; // stylelint-disable-line declaration-no-important\n @include border-radius(var(--border-radius-sm));\n }\n }\n\n // Ghost input - removes all visual styling\n // Used inside custom wrappers that handle their own styling\n .form-ghost {\n display: block;\n width: 100%;\n padding: 0;\n font: inherit;\n color: inherit;\n appearance: none;\n background: transparent;\n border: 0;\n\n &:focus {\n outline: 0;\n }\n\n &::placeholder {\n color: var(--fg-3);\n opacity: 1;\n }\n\n &:disabled {\n color: var(--fg-4);\n cursor: not-allowed;\n }\n }\n}\n","@mixin focus-ring($offset: false, $color: null) {\n @if $color != null {\n outline: var(--focus-ring-width) solid #{$color};\n } @else {\n outline: var(--focus-ring);\n }\n @if $offset {\n outline-offset: var(--focus-ring-offset);\n }\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n\n// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n background-color: $color;\n\n @if $enable-gradients {\n background-image: var(--gradient);\n }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: var(--gray-700), $end-color: var(--gray-800), $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: var(--gray-700), $outer-color: var(--gray-800)) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$check-tokens: () !default;\n\n// scss-docs-start check-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$check-tokens: defaults(\n (\n --check-size: 1.25rem,\n --check-margin-block: .125rem,\n --check-bg: transparent,\n --check-border-color: var(--border-color),\n --check-border-radius: .375rem,\n --check-checked-bg: var(--control-checked-bg),\n --check-checked-border-color: var(--control-checked-border-color),\n --check-indeterminate-bg: var(--control-checked-bg),\n --check-indeterminate-border-color: var(--control-checked-border-color),\n --check-active-bg: var(--control-active-bg),\n --check-active-border-color: var(--control-active-border-color),\n --check-disabled-bg: var(--control-disabled-bg),\n --check-disabled-opacity: var(--control-disabled-opacity),\n ),\n $check-tokens\n);\n// scss-docs-end check-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .checkgroup {\n display: flex;\n gap: var(--gap, .5rem);\n align-items: var(--align-items, start);\n\n .description {\n color: var(--fg-3);\n }\n }\n\n .check {\n @include tokens($check-tokens);\n\n display: grid;\n grid-template-columns: repeat(1, minmax(0, 1fr));\n margin-block: var(--check-margin-block);\n\n :where(svg, input) {\n flex-shrink: 0;\n grid-row-start: 1;\n grid-column-start: 1;\n width: var(--check-size);\n height: var(--check-size);\n }\n\n :where(input) {\n appearance: none;\n // later: maybe set a tertiary bg color?\n background-color: var(--theme-bg, var(--check-bg));\n border: 1px solid var(--theme-bg, var(--check-border-color));\n // stylelint-disable-next-line property-disallowed-list\n border-radius: .3em;\n }\n\n :where(input:checked, input:indeterminate) {\n background-color: var(--theme-bg, var(--check-checked-bg));\n border-color: var(--theme-bg, var(--check-checked-border-color));\n }\n\n :where(input:focus-visible) {\n @include focus-ring(true);\n }\n\n &:has(input:checked) .checked,\n &:has(input:indeterminate) .indeterminate {\n display: block;\n color: var(--theme-contrast, var(--primary-contrast));\n stroke: currentcolor;\n }\n\n &:has(input:disabled) {\n --check-bg: var(--check-disabled-bg);\n\n ~ label {\n color: var(--fg-3);\n cursor: default;\n }\n }\n &:has(input:disabled:checked) {\n opacity: var(--check-disabled-opacity);\n }\n\n :where(svg) {\n pointer-events: none;\n }\n\n :where(svg path) {\n display: none;\n }\n }\n\n .check-sm {\n --check-size: 1rem;\n }\n .check-lg {\n --check-size: 1.5rem;\n --check-margin-block: 0;\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$radio-tokens: () !default;\n\n// scss-docs-start radio-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$radio-tokens: defaults(\n (\n --radio-size: 1.25rem,\n --radio-margin-block: .125rem,\n --radio-bg: transparent,\n --radio-border-color: var(--border-color),\n --radio-checked-bg: var(--control-checked-bg),\n --radio-checked-border-color: var(--control-checked-border-color),\n --radio-disabled-bg: var(--control-disabled-bg),\n --radio-disabled-opacity: var(--control-disabled-opacity),\n ),\n $radio-tokens\n);\n// scss-docs-end radio-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .radiogroup {\n display: flex;\n gap: var(--gap, .5rem);\n align-items: var(--align-items, start);\n\n .description {\n color: var(--fg-3);\n }\n }\n\n .radio {\n @include tokens($radio-tokens);\n\n position: relative;\n flex-shrink: 0;\n width: var(--radio-size);\n height: var(--radio-size);\n margin-block: var(--radio-margin-block);\n appearance: none;\n background-color: var(--theme-bg, var(--radio-bg));\n border: 1px solid var(--theme-bg, var(--radio-border-color));\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n\n &:checked {\n color: var(--theme-contrast, var(--primary-contrast));\n background-color: var(--theme-bg, var(--radio-checked-bg));\n border-color: var(--theme-bg, var(--radio-checked-border-color));\n\n &::before {\n position: absolute;\n inset: .25rem;\n content: \"\";\n background-color: currentcolor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n }\n }\n\n &:disabled {\n --radio-bg: var(--radio-disabled-bg);\n\n ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n }\n\n &:focus-visible {\n @include focus-ring(true);\n }\n }\n\n .radio-sm {\n --radio-size: 1rem;\n }\n .radio-lg {\n --radio-size: 1.5rem;\n --radio-margin-block: 0;\n }\n}\n","@use \"../colors\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$switch-tokens: () !default;\n\n// scss-docs-start switch-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$switch-tokens: defaults(\n (\n --switch-height: 1.25rem,\n --switch-width: calc(var(--switch-height) * 1.5),\n --switch-padding: .0625rem,\n --switch-margin-block: .125rem,\n --switch-bg: var(--bg-3),\n --switch-border-width: var(--border-width),\n --switch-border-color: var(--border-color),\n --switch-indicator-bg: var(--white),\n --switch-checked-bg: var(--control-checked-bg),\n --switch-checked-border-color: var(--switch-checked-bg),\n --switch-checked-indicator-bg: var(--white),\n --switch-disabled-bg: var(--control-disabled-bg),\n --switch-disabled-indicator-bg: var(--fg-3),\n ),\n $switch-tokens\n);\n// scss-docs-end switch-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .switch {\n @include tokens($switch-tokens);\n\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: stretch;\n justify-content: flex-start;\n width: var(--switch-width);\n height: var(--switch-height);\n padding: var(--switch-padding);\n margin-block: var(--switch-margin-block);\n background-color: var(--switch-bg);\n border: var(--switch-border-width) solid var(--switch-border-color);\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 10rem;\n box-shadow: inset 0 1px 2px rgba($black, .05);\n // stylelint-disable-next-line property-disallowed-list\n transition: .15s ease-in-out;\n transition-property: padding-inline-start, background-color;\n\n &::before {\n flex-shrink: 0;\n width: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n height: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n content: \"\";\n background-color: var(--theme-contrast, var(--switch-indicator-bg));\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n box-shadow: 0 1px 2px rgba($black, .1);\n }\n\n input {\n position: absolute;\n inset: 0;\n appearance: none;\n background-color: transparent;\n outline: 0;\n }\n\n &:focus-within {\n @include focus-ring(true);\n }\n\n &:has(input:checked) {\n padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n background-color: var(--theme-bg, var(--switch-checked-bg));\n border-color: var(--theme-bg, var(--switch-checked-border-color));\n }\n\n &:has(input:disabled) {\n --switch-bg: var(--switch-disabled-bg);\n --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n\n &::before { opacity: .4; }\n\n ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n }\n }\n .switch-sm {\n --switch-height: 1rem;\n }\n .switch-lg {\n --switch-height: 1.5rem;\n --switch-margin-block: 0;\n }\n}\n","@use \"../colors\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n\n$range-tokens: () !default;\n\n// scss-docs-start range-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$range-tokens: defaults(\n (\n --range-track-width: 100%,\n --range-track-height: .5rem,\n --range-track-cursor: pointer,\n --range-track-bg: var(--bg-3),\n --range-track-border-radius: 1rem,\n --range-track-box-shadow: var(--box-shadow-inset),\n --range-thumb-width: 1rem,\n --range-thumb-height: var(--range-thumb-width),\n --range-thumb-bg: var(--primary-base),\n --range-thumb-border: 0,\n --range-thumb-border-radius: 1rem,\n --range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1),\n --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body)),\n --range-thumb-disabled-bg: var(--fg-3),\n --range-thumb-transition-property: \"background-color, border-color, box-shadow\",\n --range-thumb-transition-timing: .15s ease-in-out,\n --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing),\n ),\n $range-tokens\n);\n// scss-docs-end range-tokens\n\n// scss-docs-start range-mixins\n@mixin range-thumb() {\n width: var(--range-thumb-width);\n height: var(--range-thumb-height);\n appearance: none;\n @include gradient-bg(var(--range-thumb-bg));\n border: var(--range-thumb-border);\n @include border-radius(var(--range-thumb-border-radius));\n @include box-shadow(var(--range-thumb-box-shadow));\n @include transition(var(--range-thumb-transition));\n\n &:active {\n @include gradient-bg(var(--range-thumb-active-bg));\n }\n}\n\n@mixin range-track() {\n width: var(--range-track-width);\n height: var(--range-track-height);\n color: transparent; // Why?\n cursor: var(--range-track-cursor);\n background-color: var(--range-track-bg);\n border-color: transparent; // Firefox specific?\n @include border-radius(var(--range-track-border-radius));\n @include box-shadow(var(--range-track-box-shadow));\n}\n// scss-docs-end range-mixins\n\n@layer forms {\n .form-range {\n @include tokens($range-tokens);\n\n width: 100%;\n height: calc(var(--range-thumb-height) + (var(--focus-ring-width) * 2));\n padding: 0; // Need to reset padding\n appearance: none;\n background-color: transparent;\n\n &:focus {\n outline: 0;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n &::-webkit-slider-thumb {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n &::-moz-range-thumb {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n @include range-thumb();\n margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * .5); // Webkit specific\n }\n\n &::-moz-range-thumb {\n @include range-thumb();\n }\n\n &::-webkit-slider-runnable-track {\n @include range-track();\n }\n\n &::-moz-range-track {\n @include range-track();\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n\n &::-moz-range-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-floating-tokens: () !default;\n\n// scss-docs-start form-floating-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-floating-tokens: defaults(\n (\n --form-floating-height: calc(3.5rem + (var(--border-width) * 2)),\n --form-floating-line-height: 1.25,\n --form-floating-padding-x: var(--btn-input-padding-x),\n --form-floating-padding-y: 1rem,\n --form-floating-input-padding-t: 1.625rem,\n --form-floating-input-padding-b: .625rem,\n --form-floating-label-height: 1.5em,\n --form-floating-label-opacity: .65,\n --form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem),\n --form-floating-label-disabled-color: var(--fg-3),\n --form-floating-transition-property: \"opacity, transform\",\n --form-floating-transition-timing: .1s ease-in-out,\n --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing),\n ),\n $form-floating-tokens\n);\n// scss-docs-end form-floating-tokens\n\n@layer forms {\n .form-floating {\n @include tokens($form-floating-tokens);\n\n position: relative;\n\n > label {\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n max-width: 100%;\n height: 100%; // allow textareas\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n overflow: hidden;\n color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--input-btn-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(var(--form-floating-transition));\n }\n\n > .form-control,\n > .form-control-plaintext {\n height: var(--form-floating-height);\n min-height: var(--form-floating-height);\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n line-height: var(--form-floating-line-height);\n\n &::placeholder {\n color: transparent;\n }\n\n &:focus,\n &:not(:placeholder-shown) {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n &:-webkit-autofill {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n }\n\n > .form-control:focus,\n > .form-control:not(:placeholder-shown),\n > .form-control-plaintext {\n ~ label {\n transform: var(--form-floating-label-transform);\n }\n }\n\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n > .form-control:-webkit-autofill {\n ~ label {\n transform: var(--form-floating-label-transform);\n }\n }\n > textarea:focus,\n > textarea:not(:placeholder-shown) {\n ~ label::after {\n position: absolute;\n inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * .5);\n z-index: -1;\n height: var(--form-floating-label-height);\n content: \"\";\n background-color: var(--control-bg);\n @include border-radius(var(--btn-input-border-radius));\n }\n }\n > textarea:disabled ~ label::after {\n background-color: var(--control-disabled-bg);\n }\n\n > .form-control-plaintext {\n ~ label {\n border-width: var(--control-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: var(--form-floating-label-disabled-color);\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"form-variables\" as *;\n\n$input-group-addon-tokens: () !default;\n\n// scss-docs-start input-group-addon-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-addon-tokens: defaults(\n (\n --input-group-addon-padding-y: var(--btn-input-padding-y),\n --input-group-addon-padding-x: var(--btn-input-padding-x),\n --input-group-addon-font-size: var(--btn-input-font-size),\n --input-group-addon-line-height: var(--btn-input-line-height),\n --input-group-addon-color: var(--fg-body),\n --input-group-addon-bg: var(--bg-2),\n --input-group-addon-border-color: var(--border-color),\n ),\n $input-group-addon-tokens\n);\n// scss-docs-end input-group-addon-tokens\n\n// scss-docs-start input-group-sizes\n$input-group-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-sizes: defaults(\n (\"sm\", \"lg\"),\n $input-group-sizes\n);\n// scss-docs-end input-group-sizes\n\n@layer components {\n .input-group {\n @include tokens($input-group-addon-tokens);\n\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-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-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 > .input-group-btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 5;\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: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n font-size: var(--input-group-addon-font-size); // Match inputs\n // font-weight: $input-group-addon-font-weight;\n line-height: var(--input-group-addon-line-height);\n color: var(--input-group-addon-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--input-group-addon-bg);\n border: var(--border-width) solid var(--input-group-addon-border-color);\n @include border-radius(var(--btn-input-border-radius));\n }\n\n // Sizing\n //\n // Remix the default form control sizing classes into new ones for easier\n // manipulation.\n\n @each $size, $_ in $input-group-sizes {\n .input-group-#{$size} {\n > .form-control,\n > .input-group-text,\n > .btn {\n min-height: var(--btn-input-#{$size}-min-height);\n padding: var(--btn-input-#{$size}-padding-y) var(--btn-input-#{$size}-padding-x);\n font-size: var(--btn-input-#{$size}-font-size);\n @include border-radius(var(--btn-input-#{$size}-border-radius));\n }\n }\n }\n\n // Rounded corners\n //\n // These rulesets must come after the sizing ones to properly override sm and lg\n // border-radius values when extending. They're more specific than we'd like\n // with the `.input-group >` part, but without it, we cannot override the sizing.\n\n // stylelint-disable-next-line no-duplicate-selectors\n .input-group {\n\n $validation-messages: \"\";\n &:not(.has-validation) {\n > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n > .menu-toggle-split: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(.menu-toggle-split):not(.menu):not(.form-floating),\n > .menu-toggle-split:nth-last-child(n + 4),\n > .form-floating:nth-last-child(n + 3) > .form-control,\n > .form-floating:nth-last-child(n + 3) > .form-select {\n @include border-end-radius(0);\n }\n }\n\n > :not(:first-child):not(.menu)#{$validation-messages} {\n margin-inline-start: calc(-1 * var(--border-width));\n @include border-start-radius(0);\n }\n\n > .form-floating:not(:first-child) > .form-control,\n > .form-floating:not(:first-child) > .form-select {\n @include border-start-radius(0);\n }\n @each $state in map.keys($form-validation-states) {\n $validation-messages: $validation-messages + \":not(.\" + string.unquote($state) + \"-tooltip)\" + \":not(.\" + string.unquote($state) + \"-feedback)\";\n }\n }\n}\n","@use \"sass:list\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$strength-tokens: () !default;\n\n// scss-docs-start strength-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$strength-tokens: defaults(\n (\n --strength-height: .375rem,\n --strength-gap: .25rem,\n --strength-margin-top: .25rem,\n --strength-border-radius: var(--border-radius-pill),\n --strength-bg: var(--bg-2),\n --strength-color: var(--bg-2),\n --strength-weak-color: var(--danger-bg),\n --strength-fair-color: var(--warning-bg),\n --strength-good-color: var(--info-bg),\n --strength-strong-color: var(--success-bg),\n ),\n $strength-tokens\n);\n// scss-docs-end strength-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start strength-levels\n$strength-levels: weak, fair, good, strong !default;\n// scss-docs-end strength-levels\n\n$strength-transition: background-color .2s ease-in-out, width .3s ease-in-out !default;\n\n@layer forms {\n // Strength meter container\n .strength {\n @include tokens($strength-tokens);\n\n display: flex;\n gap: var(--strength-gap);\n width: 100%;\n margin-top: var(--strength-margin-top);\n }\n\n // Individual strength segments\n .strength-segment {\n flex: 1;\n height: var(--strength-height);\n background-color: var(--strength-bg);\n @include border-radius(var(--strength-border-radius));\n @include transition($strength-transition);\n\n // Filled state\n &.active {\n background-color: var(--strength-color);\n }\n }\n\n @each $level in $strength-levels {\n .strength[data-bs-strength=\"#{$level}\"] {\n --strength-color: var(--strength-#{$level}-color);\n }\n }\n // Optional text feedback\n .strength-text {\n display: block;\n margin-top: var(--strength-margin-top);\n font-size: var(--font-size-xs);\n color: var(--strength-color, var(--fg-3));\n @include transition(color .2s ease-in-out);\n\n // Hide when empty\n &:empty {\n display: none;\n }\n }\n\n // Alternative: Single bar variant (like a progress bar)\n .strength-bar {\n @include tokens($strength-tokens);\n\n --strength-color: transparent;\n --strength-width: 0%;\n\n width: 100%;\n height: var(--strength-height);\n margin-top: var(--strength-margin-top);\n overflow: hidden;\n background-color: var(--strength-bg);\n @include border-radius(var(--strength-border-radius));\n\n &::after {\n display: block;\n width: var(--strength-width);\n height: 100%;\n content: \"\";\n background-color: var(--strength-color);\n @include border-radius(var(--strength-border-radius));\n @include transition($strength-transition);\n }\n\n @each $level in $strength-levels {\n &[data-bs-strength=\"#{$level}\"] {\n --strength-color: var(--strength-#{$level}-color);\n --strength-width: #{list.index($strength-levels, $level) * 25%};\n }\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$otp-tokens: () !default;\n\n// scss-docs-start otp-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-tokens: defaults(\n (\n --otp-size: var(--btn-input-lg-min-height),\n --otp-font-size: var(--btn-input-font-size),\n --otp-gap: .5rem,\n ),\n $otp-tokens\n);\n// scss-docs-end otp-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start otp-sizes\n$otp-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-sizes: defaults(\n (\"sm\", \"lg\"),\n $otp-sizes\n);\n// scss-docs-end otp-sizes\n\n@layer components {\n .otp {\n @include tokens($otp-tokens);\n\n display: inline-flex;\n gap: var(--otp-gap);\n\n .form-control {\n width: var(--otp-size);\n min-height: var(--otp-size);\n padding: 0;\n font-size: var(--otp-font-size);\n font-weight: 500;\n line-height: 1;\n text-align: center;\n @include border-radius(var(--otp-border-radius, var(--btn-input-border-radius)));\n\n // Remove default number spinners\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n margin: 0;\n appearance: none;\n }\n\n &[type=\"number\"] {\n appearance: textfield;\n }\n\n &:focus,\n &:focus-visible {\n z-index: 1;\n }\n }\n\n &.is-valid .form-control,\n .was-validated &:valid .form-control {\n border-color: var(--form-valid-border-color);\n\n &:focus {\n --focus-ring-color: rgba(var(--success-rgb), .25);\n border-color: var(--form-valid-border-color);\n }\n }\n\n &.is-invalid .form-control,\n .was-validated &:invalid .form-control {\n border-color: var(--form-invalid-border-color);\n\n &:focus {\n --focus-ring-color: rgba(var(--danger-rgb), .25);\n border-color: var(--form-invalid-border-color);\n }\n }\n }\n\n // When used with .input-group, disable the gap and prevent inputs from stretching\n .otp.input-group {\n gap: 0;\n width: auto; // Override input-group's width: 100%\n\n .form-control {\n flex: 0 0 auto; // Don't grow or shrink, use fixed width\n }\n }\n\n .otp-separator {\n display: flex;\n align-items: center;\n padding-inline: var(--otp-gap);\n font-size: var(--otp-font-size);\n color: var(--fg-4);\n user-select: none;\n }\n\n @each $size, $_ in $otp-sizes {\n .otp-#{$size} {\n --otp-size: var(--btn-input-#{$size}-min-height);\n --otp-font-size: var(--btn-input-#{$size}-font-size);\n --otp-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-adorn-tokens: () !default;\n\n// scss-docs-start form-adorn-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-adorn-tokens: defaults(\n (\n --form-adorn-gap: .375rem,\n --form-adorn-icon-size: 1rem,\n --form-adorn-icon-color: var(--fg-2),\n ),\n $form-adorn-tokens\n);\n// scss-docs-end form-adorn-tokens\n\n@layer forms {\n .form-adorn {\n @include tokens($form-adorn-tokens);\n\n gap: var(--form-adorn-gap);\n align-items: center;\n\n // Prevent default `.form-control` focus\n &:focus-visible {\n outline: 0;\n }\n\n &:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n @include focus-ring(true);\n }\n\n // Ghost input fills remaining space\n > .form-ghost {\n flex: 1;\n min-width: 0; // Prevent text overflow\n }\n\n &.form-adorn-end > .form-ghost {\n order: -1;\n }\n }\n\n .form-adorn-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n\n > svg {\n width: var(--form-adorn-icon-size);\n height: var(--form-adorn-icon-size);\n }\n }\n\n .form-adorn-text {\n flex-shrink: 0;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n user-select: none;\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$chip-input-tokens: () !default;\n\n// scss-docs-start chip-input-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-input-tokens: defaults(\n (\n --chip-input-padding-y: .75rem,\n --chip-input-padding-x: .75rem,\n --chip-input-gap: .375rem,\n --chip-input-ghost-min-width: 5rem,\n --control-fg: var(--btn-input-fg),\n --control-bg: var(--btn-input-bg),\n --control-border-width: var(--border-width),\n --control-border-color: var(--border-color),\n --control-border-radius: var(--border-radius),\n ),\n $chip-input-tokens\n);\n// scss-docs-end chip-input-tokens\n\n@layer forms {\n .chip-input {\n @include tokens($chip-input-tokens);\n\n // Flexbox wrapping layout\n display: flex;\n flex-wrap: wrap;\n gap: var(--chip-input-gap);\n align-items: center;\n padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n\n color: var(--control-fg);\n background-color: var(--control-bg);\n border: var(--control-border-width) solid var(--control-border-color);\n @include border-radius(var(--control-border-radius), 0);\n\n // Focus state when ghost input is focused\n &:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n @include focus-ring(true);\n }\n\n // Ghost input fills remaining space\n > .form-ghost {\n flex: 1 1 0;\n min-width: var(--chip-input-ghost-min-width);\n min-height: 1.75rem;\n }\n\n // Disabled state\n &.disabled,\n &:has(.form-ghost:disabled) {\n background-color: var(--bg-2);\n opacity: 1;\n\n > .chip {\n opacity: var(--control-disabled-opacity);\n\n .chip-dismiss {\n pointer-events: none;\n }\n }\n\n > .form-ghost {\n cursor: not-allowed;\n }\n }\n }\n\n // Theme cascade: .chip-input.theme-* passes theme to child chips\n // Chips inherit theme variables from parent\n // @each $color-name, $theme-props in $theme-map {\n // .chip-input.theme-#{$color-name} > .chip {\n // // Subtle default state\n // --chip-color: var(--theme-text);\n // --chip-bg: var(--theme-bg-subtle);\n\n // // Selected/active solid state\n // --chip-selected-color: var(--theme-contrast);\n // --chip-selected-bg: var(--theme-bg);\n // --chip-selected-border-color: var(--theme-bg);\n // }\n // }\n\n // // Sizing variants\n // .chip-input-sm {\n // --control-min-height: #{$control-min-height-sm};\n // --control-padding-y: #{$control-padding-y-sm};\n // --control-padding-x: #{$control-padding-x-sm};\n // --control-font-size: #{$control-font-size-sm};\n // --control-line-height: #{$control-line-height-sm};\n // --control-border-radius: #{$control-border-radius-sm};\n // --chip-input-gap: .25rem;\n // --chip-input-chip-font-size: .8125em;\n // }\n\n // .chip-input-lg {\n // --control-min-height: #{$control-min-height-lg};\n // --control-padding-y: #{$control-padding-y-lg};\n // --control-padding-x: #{$control-padding-x-lg};\n // --control-font-size: #{$control-font-size-lg};\n // --control-line-height: #{$control-line-height-lg};\n // --control-border-radius: #{$control-border-radius-lg};\n // --chip-input-gap: .5rem;\n // --chip-input-chip-font-size: .9375em;\n // }\n}\n","@use \"../mixins/transition\" as *;\n\n@layer components {\n .combobox-toggle {\n display: inline-flex;\n gap: .5rem;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding-inline-end: var(--control-padding-x);\n text-align: start;\n cursor: pointer;\n\n &.show {\n background-color: var(--bg-1);\n }\n\n &:disabled,\n &.disabled {\n cursor: not-allowed;\n opacity: .65;\n }\n }\n\n .combobox-value {\n display: flex;\n flex: 1;\n gap: .5rem;\n align-items: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .combobox-placeholder {\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n\n .combobox-caret {\n flex-shrink: 0;\n @include transition(transform .2s ease-in-out);\n\n .show > & {\n transform: rotate(180deg);\n }\n }\n\n .combobox-toggle + .menu {\n --menu-max-height: 300px;\n --menu-overflow-y: auto;\n }\n\n .combobox-search {\n position: sticky;\n top: 0;\n z-index: 1;\n padding: var(--menu-padding-x, .25rem);\n background-color: var(--menu-bg, var(--bg-body));\n }\n\n .combobox-search-input {\n width: 100%;\n }\n\n .combobox-no-results {\n padding: 1rem;\n font-size: var(--font-size-sm);\n color: var(--fg-3);\n text-align: center;\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$tooltip-tokens: () !default;\n\n// scss-docs-start tooltip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$tooltip-tokens: defaults(\n (\n --tooltip-zindex: #{$zindex-tooltip},\n --tooltip-max-width: 200px,\n --tooltip-padding-x: #{$spacer * .75},\n --tooltip-padding-y: #{$spacer * .375},\n --tooltip-font-size: var(--font-size-sm),\n --tooltip-color: var(--bg-body),\n --tooltip-bg: var(--fg-body),\n --tooltip-border-radius: var(--border-radius),\n --tooltip-opacity: .95,\n --tooltip-arrow-width: .8rem,\n --tooltip-arrow-height: .4rem,\n ),\n $tooltip-tokens\n);\n// scss-docs-end tooltip-tokens\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: var(--tooltip-padding-y) !default;\n$form-feedback-tooltip-padding-x: var(--tooltip-padding-x) !default;\n$form-feedback-tooltip-font-size: var(--tooltip-font-size) !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: var(--tooltip-opacity) !default;\n$form-feedback-tooltip-border-radius: var(--tooltip-border-radius) !default;\n// scss-docs-end tooltip-feedback-variables\n\n@layer components {\n .tooltip {\n @include tokens($tooltip-tokens);\n\n z-index: var(--tooltip-zindex);\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: var(--tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: var(--tooltip-opacity); }\n\n .tooltip-arrow {\n display: block;\n width: var(--tooltip-arrow-width);\n height: var(--tooltip-arrow-height);\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n }\n\n .bs-tooltip-top .tooltip-arrow {\n bottom: calc(-1 * var(--tooltip-arrow-height));\n\n &::before {\n top: -1px;\n border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n border-block-start-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-end .tooltip-arrow {\n left: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n\n &::before {\n right: -1px;\n border-width: calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n border-inline-end-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-bottom .tooltip-arrow {\n top: calc(-1 * var(--tooltip-arrow-height));\n\n &::before {\n bottom: -1px;\n border-width: 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n border-block-end-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-start .tooltip-arrow {\n right: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n\n &::before {\n left: -1px;\n border-width: calc(var(--tooltip-arrow-width) * .5) 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n border-inline-start-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-auto {\n &[data-bs-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[data-bs-placement^=\"right\"] {\n @extend .bs-tooltip-end;\n }\n &[data-bs-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[data-bs-placement^=\"left\"] {\n @extend .bs-tooltip-start;\n }\n }\n\n // Wrapper for the tooltip content\n .tooltip-inner {\n max-width: var(--tooltip-max-width);\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n color: var(--tooltip-color);\n text-align: center;\n background-color: var(--tooltip-bg);\n @include border-radius(var(--tooltip-border-radius));\n }\n}\n","@mixin reset-text {\n font-family: var(--body-font-family);\n // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n font-style: normal;\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\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 \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"form-variables\" as *;\n@use \"../tooltip\" as *; // bring in tooltip variables\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server-side validation.\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(sass(&): \"&\"; else: \"\")}:#{$state},\n #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state(\n $state,\n $color,\n $icon,\n $tooltip-color: color-contrast($color),\n $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n $focus-ring-color: null, // mdo-do: fix\n $border-color: $color\n) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n font-size: $form-feedback-font-size;\n font-style: $form-feedback-font-style;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n font-size: $form-feedback-tooltip-font-size;\n line-height: $form-feedback-tooltip-line-height;\n color: $tooltip-color;\n background-color: $tooltip-bg-color;\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $border-color;\n\n @if $enable-validation-icons {\n padding-inline-end: calc(var(--control-padding-x) * 3.5);\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right var(--control-padding-x) center;\n background-size: 1rem;\n }\n\n &:focus-visible {\n @include focus-ring(true, $color: $focus-ring-color);\n border-color: $border-color;\n }\n }\n\n &::-webkit-contacts-auto-fill-button {\n @if $enable-validation-icons {\n // margin-inline-end: calc(var(--control-padding-x) * 3);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n // padding-inline-end: $input-height-inner;\n background-position: right var(--control-padding-x) top var(--control-padding-x);\n // background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-control-color {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n // width: add($form-color-width, $input-height-inner);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $border-color;\n\n &:checked {\n background-color: $color;\n }\n\n &:focus {\n // box-shadow: $focus-box-shadow;\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-inline-start: .5em;\n }\n }\n\n .input-group {\n > .form-control:not(:focus),\n > .form-select:not(:focus),\n > .form-floating:not(:focus-within) {\n @include form-validation-state-selector($state) {\n @if $state == \"valid\" {\n z-index: 3;\n } @else if $state == \"invalid\" {\n z-index: 4;\n }\n }\n }\n }\n}\n// scss-docs-end form-validation-mixins\n\n@layer components {\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","// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: .5rem !default;\n$form-feedback-font-size: var(--font-size-xs) !default;\n$form-feedback-font-style: null !default;\n$form-feedback-valid-color: var(--success-text) !default;\n$form-feedback-invalid-color: var(--danger-text) !default;\n\n$form-feedback-icon-valid-color: #00a748 !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: #dd0d37 !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": var(--form-valid-color),\n \"icon\": $form-feedback-icon-valid,\n \"tooltip-color\": var(--success-contrast),\n \"tooltip-bg-color\": var(--success-bg),\n \"focus-ring-color\": var(--success-focus-ring),\n \"border-color\": var(--success-border),\n ),\n \"invalid\": (\n \"color\": var(--form-invalid-color),\n \"icon\": $form-feedback-icon-invalid,\n \"tooltip-color\": var(--danger-contrast),\n \"tooltip-bg-color\": var(--danger-bg),\n \"focus-ring-color\": var(--danger-focus-ring),\n \"border-color\": var(--danger-border),\n )\n) !default;\n// scss-docs-end form-validation-states\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n$button-tokens: () !default;\n\n// scss-docs-start btn-tokens\n$button-tokens: defaults(\n (\n --btn-min-height: var(--btn-input-min-height),\n --btn-padding-x: var(--btn-input-padding-x),\n --btn-padding-y: var(--btn-input-padding-y),\n --btn-font-size: var(--btn-input-font-size),\n --btn-font-weight: var(--btn-input-font-weight),\n --btn-line-height: var(--btn-input-line-height),\n --btn-color: var(--fg-body),\n --btn-white-space: nowrap,\n --btn-border-width: var(--border-width),\n --btn-border-color: transparent,\n --btn-border-radius: var(--border-radius),\n --btn-hover-border-color: transparent,\n --btn-disabled-opacity: .65,\n --btn-transition-timing: .15s ease-in-out,\n --btn-transition-property: \"color, background-color, border-color, box-shadow\",\n --btn-transition: var(--btn-transition-property) var(--btn-transition-timing),\n ),\n $button-tokens\n);\n// scss-docs-end btn-tokens\n\n$button-link-tokens: () !default;\n\n// scss-docs-start button-link-tokens\n$button-link-tokens: defaults(\n (\n --btn-font-weight: var(--font-weight-normal),\n --btn-color: var(--link-color),\n --btn-bg: transparent,\n --btn-border-color: transparent,\n --btn-hover-color: var(--link-hover-color),\n --btn-hover-bg: transparent,\n --btn-hover-border-color: transparent,\n --btn-active-color: var(--link-hover-color),\n --btn-active-bg: transparent,\n --btn-active-border-color: transparent,\n --btn-disabled-color: var(--fg-3),\n --btn-disabled-border-color: transparent,\n ),\n $button-link-tokens\n);\n// scss-docs-end button-link-tokens\n\n$button-styled-tokens: () !default;\n\n// scss-docs-start button-styled-tokens\n$button-styled-tokens: defaults(\n (\n --btn-gradient-start: rgb(255 255 255 / 12.5%),\n --btn-gradient-end: rgb(0 0 0 / 7.5%) ,\n --btn-border-mix-color: #000,\n --btn-border-mix-amount: 10%,\n --btn-border-hover-mix-amount: 12.5%,\n --btn-border-active-mix-amount: 20%,\n --btn-shadow: \"0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%)\",\n --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15) ,\n ),\n $button-styled-tokens\n);\n// scss-docs-end button-styled-tokens\n\n// scss-docs-start button-sizes\n$button-sizes: () !default;\n$button-sizes: defaults(\n (\"xs\", \"sm\", \"lg\"),\n $button-sizes\n);\n// scss-docs-end button-sizes\n\n$button-variants: () !default;\n\n// scss-docs-start btn-variants\n$button-variants: defaults(\n (\n \"solid\": (\n \"base\": (\n \"bg\": \"bg\",\n \"color\": \"contrast\",\n \"border-color\": \"bg\"\n ),\n \"hover\": (\n \"bg\": \"bg\",\n \"border-color\": \"bg\",\n \"color\": \"contrast\"\n ),\n \"active\": (\n \"bg\": \"bg\",\n \"border-color\": \"bg\",\n \"color\": \"contrast\"\n )\n ),\n \"outline\": (\n \"base\": (\n \"bg\": \"transparent\",\n \"color\": \"text\",\n \"border-color\": \"border\"\n ),\n \"hover\": (\n \"bg\": \"bg\",\n \"color\": \"contrast\",\n \"border-color\": \"bg\"\n ),\n \"active\": (\n \"bg\": \"bg\",\n \"color\": \"contrast\",\n \"border-color\": \"bg\"\n )\n ),\n \"subtle\": (\n \"base\": (\n \"bg\": \"bg-subtle\",\n \"color\": \"text\",\n \"border-color\": \"transparent\"\n ),\n \"hover\": (\n \"bg\": (\"bg-muted\", \"bg-subtle\"),\n \"color\": \"text-emphasis\"\n ),\n \"active\": (\n \"bg\": \"bg-subtle\",\n \"color\": \"text-emphasis\"\n )\n ),\n \"text\": (\n \"base\": (\n \"color\": \"text\",\n \"bg\": \"transparent\",\n \"border-color\": \"transparent\"\n ),\n \"hover\": (\n \"color\": \"text\",\n \"bg\": \"bg-subtle\"\n ),\n \"active\": (\n \"color\": \"text\",\n \"bg\": \"bg-subtle\"\n )\n )\n ),\n $button-variants\n);\n// scss-docs-end btn-variants\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n//\n// Base styles\n//\n\n// scss-docs-start btn-variant-selectors\n$btn-variant-selectors: (string.unquote(\".btn\"), string.unquote(\".btn-link\"), string.unquote(\".btn-icon\")) !default;\n@each $variant, $config in $button-variants {\n $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(\".btn-#{$variant}\"), comma);\n}\n// scss-docs-end btn-variant-selectors\n\n@layer components {\n #{$btn-variant-selectors} {\n @include tokens($button-tokens);\n\n display: inline-flex;\n gap: var(--btn-gap, .25rem);\n align-items: center;\n justify-content: center;\n min-height: var(--btn-min-height);\n padding: var(--btn-padding-y) var(--btn-padding-x);\n // font-family: var(--btn-font-family);\n font-size: var(--btn-font-size);\n font-weight: var(--btn-font-weight);\n line-height: var(--btn-line-height);\n color: var(--btn-color);\n text-decoration: none;\n white-space: var(--btn-white-space);\n vertical-align: middle;\n // stylelint-disable-next-line scss/at-function-named-arguments\n cursor: if(sass($enable-button-pointers): pointer; else: null);\n user-select: none;\n background-color: var(--btn-bg, var(--bg-2));\n border: var(--btn-border-width) solid var(--btn-border-color);\n @include border-radius(var(--btn-border-radius));\n @include transition(var(--btn-transition));\n\n &:hover {\n color: var(--btn-hover-color);\n background-color: var(--btn-hover-bg, var(--bg-3));\n border-color: var(--btn-hover-border-color);\n }\n\n &:focus-visible {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n\n &.active,\n &.show {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n border-color: var(--btn-active-border-color);\n\n &:focus-visible {\n @include focus-ring(true);\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n }\n }\n\n // Main button style generator mixin\n // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)\n // scss-docs-start btn-variant-mixin\n @each $variant, $config in $button-variants {\n .btn-#{$variant} {\n @each $property, $value in map.get($button-variants, $variant, \"base\") {\n @if $value == \"transparent\" {\n --btn-#{$property}: transparent;\n } @else {\n --btn-#{$property}: var(--theme-#{$value});\n }\n }\n\n @each $property, $value in map.get($button-variants, $variant, \"active\") {\n @if $value == \"transparent\" {\n --btn-active-#{$property}: transparent;\n } @else if $value == \"bg-subtle\" {\n --btn-active-#{$property}: var(--theme-#{$value});\n } @else {\n --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n }\n }\n @each $property, $value in map.get($button-variants, $variant, \"base\") {\n @if $value == \"transparent\" {\n --btn-disabled-#{$property}: transparent;\n } @else {\n --btn-disabled-#{$property}: var(--theme-#{$value});\n }\n }\n\n &:hover {\n @each $property, $value in map.get($button-variants, $variant, \"hover\") {\n @if $value == \"transparent\" {\n --btn-hover-#{$property}: transparent;\n } @else if meta.type-of($value) == \"list\" {\n $first-value: list.nth($value, 1);\n $second-value: list.nth($value, 2);\n --btn-hover-#{$property}: color-mix(in oklch, var(--theme-#{$first-value}) 50%, var(--theme-#{$second-value}));\n } @else if $value == \"bg-subtle\" {\n --btn-hover-#{$property}: var(--theme-#{$value});\n } @else {\n --btn-hover-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .95) calc(c * 1.1) h);\n }\n }\n }\n\n &:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n\n &:active,\n &.active,\n &.btn-check:has(input:checked) {\n @each $property, $value in map.get($button-variants, $variant, \"active\") {\n @if $value == \"transparent\" {\n --btn-active-#{$property}: transparent;\n } @else if $value == \"bg-subtle\" {\n --btn-active-#{$property}: var(--theme-#{$value});\n } @else {\n --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n }\n }\n }\n\n // Disabled state for toggle buttons\n &:disabled,\n &.disabled,\n &.btn-check:has(input:disabled) {\n @each $property, $value in map.get($button-variants, $variant, \"base\") {\n @if $value == \"transparent\" {\n --btn-disabled-#{$property}: transparent;\n } @else {\n --btn-disabled-#{$property}: var(--theme-#{$value});\n }\n }\n }\n }\n }\n // scss-docs-end btn-variant-mixin\n\n //\n // Link buttons\n //\n\n // Make a button look and behave like a link\n .btn-link {\n @include tokens($button-link-tokens);\n\n color: var(--theme-text, var(--btn-color));\n text-decoration: var(--link-decoration);\n\n @if $enable-gradients {\n background-image: none;\n }\n\n &:focus-visible {\n color: var(--theme-text, var(--btn-color));\n }\n\n &:hover {\n color: var(--theme-text-emphasis, var(--btn-hover-color));\n }\n\n // No need for an active state here\n }\n\n //\n // Button Sizes\n //\n\n // Generate button size classes from the $button-sizes map\n // Skip \"md\" as it's the default size for .btn\n\n // scss-docs-start btn-sizes-loop\n @each $size, $_ in $button-sizes {\n .btn-#{$size},\n .btn-group-#{$size} > [class*=\"btn-\"] {\n --btn-min-height: var(--btn-input-#{$size}-min-height);\n --btn-padding-y: var(--btn-input-#{$size}-padding-y);\n --btn-padding-x: var(--btn-input-#{$size}-padding-x);\n --btn-font-size: var(--btn-input-#{$size}-font-size);\n --btn-line-height: var(--btn-input-#{$size}-line-height);\n --btn-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n // scss-docs-end btn-sizes-loop\n\n .btn-icon {\n align-items: center;\n justify-content: center;\n aspect-ratio: 1;\n padding: 0;\n }\n\n //\n // Toggle buttons (.btn-check)\n //\n // Checkbox and radio inputs that look like buttons. Add .btn-check to a\n // label with button classes, with the input nested inside.\n //\n // Example: <label class=\"btn-check btn-solid theme-primary\"><input type=\"checkbox\">Toggle</label>\n\n .btn-check {\n > input {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n\n &:has(input:checked) {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n border-color: var(--btn-active-border-color);\n @include box-shadow(var(--btn-active-shadow));\n }\n\n &:has(input:focus-visible) {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n\n &:has(input:disabled) {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n @include box-shadow(none);\n }\n }\n\n //\n // Styled buttons\n //\n // Add visual depth with gradients and shadows. Customize via CSS variables.\n\n .btn-styled {\n @include tokens($button-styled-tokens);\n\n background-image:\n linear-gradient(\n to bottom,\n var(--btn-gradient-start),\n var(--btn-gradient-end)\n );\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n box-shadow: var(--btn-shadow);\n\n &:hover {\n background-image:\n linear-gradient(\n to bottom,\n var(--btn-gradient-start),\n var(--btn-gradient-end)\n );\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n }\n\n &:active,\n &.active {\n background-image: none;\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n box-shadow: var(--btn-active-shadow);\n }\n\n &:disabled,\n &.disabled {\n background-image: none;\n box-shadow: none;\n }\n }\n}\n","@use \"../mixins/border-radius\" as *;\n\n@layer components {\n // Make the div behave like a button\n .btn-group,\n .btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > [class*=\"btn-\"] {\n position: relative;\n flex: 1 1 auto;\n\n &:hover {\n z-index: 1;\n }\n }\n\n > .btn-check:has(input:checked),\n > [class*=\"btn-\"]:active,\n > [class*=\"btn-\"].active {\n z-index: 2;\n }\n\n > .btn-check:has(input:focus),\n > [class*=\"btn-\"]:focus {\n z-index: 3;\n }\n }\n\n // Optional: Group multiple button groups together for a toolbar\n .btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n gap: .5rem;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n }\n\n .btn-group {\n @include border-radius(var(--btn-border-radius));\n\n // Prevent double borders when buttons are next to each other\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-inline-start: calc(-1 * var(--btn-border-width));\n }\n\n // Reset rounded corners\n > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n @include border-end-radius(0);\n }\n\n // The left radius should be 0 if the button is not the first child\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n @include border-start-radius(0);\n }\n }\n\n //\n // Vertical button groups\n //\n\n .btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > [class*=\"btn-\"],\n > .btn-group {\n width: 100%;\n }\n\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: calc(-1 * var(--btn-border-width));\n }\n\n // Reset rounded corners\n > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n @include border-bottom-radius(0);\n }\n\n // The top radius should be 0 if the button is not the first child\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n @include border-top-radius(0);\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$btn-close-tokens: () !default;\n\n// scss-docs-start btn-close-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$btn-close-tokens: defaults(\n (\n --btn-close-size: 1.25rem,\n --btn-close-color: var(--fg-body),\n --btn-close-opacity: .5,\n --btn-close-hover-opacity: .75,\n --btn-close-focus-opacity: .85,\n --btn-close-disabled-opacity: .25,\n ),\n $btn-close-tokens\n);\n// scss-docs-end btn-close-tokens\n\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 @include tokens($btn-close-tokens);\n\n box-sizing: content-box;\n width: var(--btn-close-size);\n height: var(--btn-close-size);\n padding: 0;\n color: var(--btn-close-color);\n background: transparent; // for button elements\n border: 0; // for button elements\n @include border-radius(var(--border-radius-sm));\n opacity: var(--btn-close-opacity);\n\n > svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: currentcolor;\n }\n\n // Override <a>'s hover style\n &:hover {\n color: var(--btn-close-color);\n text-decoration: none;\n opacity: var(--btn-close-hover-opacity);\n }\n\n &:focus-visible {\n opacity: var(--btn-close-focus-opacity);\n @include focus-ring();\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--btn-close-disabled-opacity);\n }\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$accordion-tokens: () !default;\n\n// scss-docs-start accordion-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$accordion-tokens: defaults(\n (\n --accordion-padding-x: 1.25rem,\n --accordion-padding-y: 1rem,\n --accordion-color: var(--fg-body),\n --accordion-bg: var(--bg-body),\n --accordion-transition-property: \"color, background-color, border-radius\",\n --accordion-transition-timing: \".15s ease-in-out\",\n --accordion-transition: var(--accordion-transition-property) var(--accordion-timing),\n --accordion-border-color: var(--border-color),\n --accordion-border-width: var(--border-width),\n --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg)),\n --accordion-btn-color: var(--fg-2),\n --accordion-btn-bg: var(--bg-body),\n --accordion-btn-icon-width: 1rem,\n --accordion-btn-icon-transform: rotate(-180deg),\n --accordion-btn-icon-transition: transform .2s ease-in-out,\n --accordion-active-color: var(--fg),\n --accordion-active-bg: var(--bg-2),\n ),\n $accordion-tokens\n);\n// scss-docs-end accordion-tokens\n\n@layer components {\n .accordion {\n @include tokens($accordion-tokens);\n }\n\n .accordion-header {\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n font-size: var(--accordion-font-size, var(--font-size-base));\n color: var(--accordion-btn-color);\n text-align: start;\n list-style: none; // Remove default marker\n cursor: pointer;\n background-color: var(--accordion-btn-bg);\n @include transition(var(--accordion-transition));\n\n .accordion-icon {\n flex-shrink: 0;\n width: var(--accordion-btn-icon-width);\n height: var(--accordion-btn-icon-width);\n margin-inline-start: auto;\n color: currentcolor;\n @include transition(var(--accordion-btn-icon-transition));\n }\n\n &:hover {\n z-index: 2;\n }\n\n &:focus-visible {\n position: relative;\n z-index: 3;\n @include focus-ring(true);\n outline-offset: -1px;\n }\n }\n\n .accordion-item {\n color: var(--accordion-color);\n background-color: var(--accordion-bg);\n border: var(--accordion-border-width) solid var(--accordion-border-color);\n\n &:first-of-type {\n @include border-top-radius(var(--accordion-border-radius));\n\n > .accordion-header {\n @include border-top-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n }\n }\n\n &:not(:first-of-type) {\n border-block-start: 0;\n }\n\n // Only set a border-radius on the last item if the accordion is collapsed\n &:last-of-type {\n @include border-bottom-radius(var(--accordion-border-radius));\n\n > .accordion-header {\n @include border-bottom-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n }\n\n > .accordion-body {\n @include border-bottom-radius(var(--accordion-border-radius));\n }\n }\n\n // Open state - details[open] applies these styles\n &[open] {\n border-color: var(--theme-border, var(--accordion-border-color));\n\n > .accordion-header {\n color: var(--theme-text, var(--accordion-active-color));\n background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n\n .accordion-icon {\n transform: var(--accordion-btn-icon-transform);\n }\n }\n\n // Remove bottom radius from header when open (even on last item)\n &:last-of-type > .accordion-header {\n @include border-bottom-radius(0);\n }\n }\n }\n\n .accordion-body {\n padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n }\n\n\n // Flush accordion items\n //\n // Remove borders and border-radius to keep accordion items edge-to-edge.\n\n .accordion-flush {\n > .accordion-item {\n border-inline: 0;\n @include border-radius(0);\n\n &:first-child {\n border-block-start: 0;\n }\n\n &:last-child {\n border-block-end: 0;\n }\n\n > .accordion-header,\n > .accordion-body {\n @include border-radius(0);\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$alert-tokens: () !default;\n\n// scss-docs-start alert-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$alert-tokens: defaults(\n (\n --alert-gap: #{$spacer * .75},\n --alert-bg: var(--theme-bg-subtle, var(--bg-1)),\n --alert-padding-x: #{$spacer},\n --alert-padding-y: #{$spacer},\n --alert-color: var(--theme-text, inherit),\n --alert-border-color: var(--theme-border, var(--border-color)),\n --alert-border: var(--border-width) solid var(--alert-border-color),\n --alert-border-radius: var(--border-radius),\n --alert-link-color: inherit,\n --hr-border-color: var(--theme-border, var(--border-color)),\n ),\n $alert-tokens\n);\n// scss-docs-end alert-tokens\n\n@layer components {\n .alert {\n @include tokens($alert-tokens);\n\n display: flex;\n gap: var(--alert-gap);\n align-items: start;\n padding: var(--alert-padding-y) var(--alert-padding-x);\n color: var(--alert-color);\n background-color: var(--alert-bg);\n border: var(--alert-border);\n @include border-radius(var(--alert-border-radius));\n }\n\n .alert > p {\n margin-bottom: 0;\n }\n\n .alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: var(--font-weight-semibold);\n color: var(--alert-link-color);\n }\n}\n","@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$avatar-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start avatar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-tokens: defaults(\n (\n --avatar-size: 2.5rem,\n --avatar-border-radius: 50%,\n --avatar-border-width: 2px,\n --avatar-border-color: var(--bg-body),\n --avatar-bg: var(--bg-2),\n --avatar-color: var(--fg-body),\n // --avatar-font-weight: var(--font-weight-medium), // Defaults to fallback\n --avatar-status-size: .75rem,\n --avatar-status-border-width: 2px,\n --avatar-status-border-color: var(--bg-body),\n --avatar-stack-spacing: -.3,\n --avatar-stack-transition: \"transform .2s ease-in-out\",\n ),\n $avatar-tokens\n);\n// scss-docs-end avatar-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start avatar-sizes\n$avatar-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-sizes: defaults(\n (\n \"xs\": (\n size: 1.5rem,\n status-size: .625rem,\n ),\n \"sm\": (\n size: 2rem,\n ),\n \"lg\": (\n size: 3rem,\n status-size: 1rem,\n ),\n \"xl\": (\n size: 4rem,\n status-size: 1.25rem,\n ),\n ),\n $avatar-sizes\n);\n// scss-docs-end avatar-sizes\n\n@layer components {\n .avatar {\n @include tokens($avatar-tokens);\n\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--avatar-size);\n height: var(--avatar-size);\n font-size: calc(var(--avatar-size) * .4);\n font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n line-height: 1;\n color: var(--theme-contrast, var(--avatar-color));\n text-transform: uppercase;\n vertical-align: middle;\n background-color: var(--theme-bg, var(--avatar-bg));\n @include border-radius(var(--avatar-border-radius));\n }\n\n .avatar-subtle {\n color: var(--theme-text, var(--avatar-color));\n background-color: var(--theme-bg-subtle, var(--avatar-bg));\n }\n\n .avatar-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n @include border-radius(inherit);\n }\n\n .avatar-status {\n position: absolute;\n right: calc(var(--avatar-status-border-width) * -1);\n bottom: calc(var(--avatar-status-border-width) * -1);\n width: var(--avatar-status-size);\n height: var(--avatar-status-size);\n background-color: var(--gray-400);\n border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n @include border-radius(50%);\n\n &.status-online {\n background-color: var(--green-500);\n }\n\n &.status-offline {\n background-color: var(--gray-400);\n @include border-radius(20%);\n }\n\n &.status-busy {\n background-color: var(--red-500);\n @include border-radius(20%);\n }\n\n &.status-away {\n background-color: var(--yellow-500);\n }\n }\n\n .avatar-stack {\n display: inline-flex;\n flex-direction: row-reverse;\n\n .avatar {\n // Stack spacing is calculated as a percentage of avatar size\n margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n border: var(--avatar-border-width) solid var(--avatar-border-color);\n mask-image: none;\n @include transition(var(--avatar-stack-transition));\n\n &:last-child {\n margin-left: 0;\n }\n\n &:hover {\n z-index: 1;\n transform: translateY(-2px);\n }\n }\n }\n\n @each $size, $tokens in $avatar-sizes {\n .avatar-#{$size},\n .avatar-stack-#{$size} {\n --avatar-size: #{map.get($tokens, size)};\n\n @if map.has-key($tokens, status-size) {\n --avatar-status-size: #{map.get($tokens, status-size)};\n }\n }\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n\n$badge-tokens: () !default;\n\n// scss-docs-start badge-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$badge-tokens: defaults(\n (\n --badge-padding-x: .625em,\n --badge-padding-y: .25em,\n --badge-font-size: clamp(12px, .75em, .75em),\n --badge-font-weight: var(--font-weight-semibold),\n --badge-color: inherit,\n --badge-bg: var(--bg-2),\n --badge-border-width: var(--border-width),\n --badge-border-color: transparent,\n --badge-border-radius: var(--border-radius-lg),\n ),\n $badge-tokens\n);\n// scss-docs-end badge-tokens\n\n// scss-docs-start badge-variants\n$badge-variants: (\n \"subtle\": (\n \"color\": \"text\",\n \"bg\": \"bg-subtle\",\n \"border-color\": \"transparent\"\n ),\n \"outline\": (\n \"color\": \"text\",\n \"bg\": \"transparent\",\n \"border-color\": \"border\"\n )\n) !default;\n// scss-docs-end badge-variants\n\n@layer components {\n .badge {\n @include tokens($badge-tokens);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 1.375rem;\n padding: var(--badge-padding-y) var(--badge-padding-x);\n font-size: var(--badge-font-size);\n font-weight: var(--badge-font-weight);\n line-height: 1;\n color: var(--theme-contrast, var(--badge-color));\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n background-color: var(--theme-bg, var(--badge-bg));\n border: var(--badge-border-width) solid var(--badge-border-color);\n @include border-radius(var(--badge-border-radius));\n @include gradient-bg();\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n }\n\n // Quick fix for badges in buttons\n .btn .badge {\n position: relative;\n top: -1px;\n }\n\n // scss-docs-start badge-variant-loop\n @each $variant, $properties in $badge-variants {\n .badge-#{$variant} {\n @each $property, $value in $properties {\n @if $value == \"transparent\" {\n --badge-#{$property}: transparent;\n } @else {\n --badge-#{$property}: var(--theme-#{$value});\n }\n }\n\n color: var(--badge-color);\n background-color: var(--badge-bg);\n border-color: var(--badge-border-color);\n }\n }\n // scss-docs-end badge-variant-loop\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$breadcrumb-tokens: () !default;\n\n// scss-docs-start breadcrumb-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$breadcrumb-tokens: defaults(\n (\n --breadcrumb-margin-bottom: 1rem,\n --breadcrumb-font-size: inherit,\n --breadcrumb-bg: transparent,\n --breadcrumb-border-radius: var(--border-radius),\n --breadcrumb-divider-color: var(--fg-4),\n --breadcrumb-link-padding-x: .75rem,\n --breadcrumb-link-padding-y: .25rem,\n --breadcrumb-link-color: var(--fg-3),\n --breadcrumb-link-hover-color: var(--fg-2),\n --breadcrumb-link-hover-bg: var(--bg-1),\n --breadcrumb-link-active-color: var(--fg-1),\n --breadcrumb-link-border-radius: var(--border-radius-lg),\n ),\n $breadcrumb-tokens\n);\n// scss-docs-end breadcrumb-tokens\n\n@layer components {\n .breadcrumb {\n @include tokens($breadcrumb-tokens);\n\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n font-size: var(--breadcrumb-font-size);\n list-style: none;\n background-color: var(--breadcrumb-bg);\n @include border-radius(var(--breadcrumb-border-radius));\n }\n\n .breadcrumb-item {\n display: flex;\n }\n\n .breadcrumb-divider {\n margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n color: var(--breadcrumb-divider-color);\n }\n\n .breadcrumb-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 2.25rem;\n padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n color: var(--breadcrumb-link-color);\n text-decoration: none;\n @include border-radius(var(--breadcrumb-link-border-radius));\n @include transition(.1s text-decoration-color ease-in-out);\n\n &:hover {\n z-index: 2;\n color: var(--breadcrumb-link-hover-color);\n background-color: var(--breadcrumb-link-hover-bg);\n }\n\n &.active {\n color: var(--breadcrumb-link-active-color);\n }\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$chip-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start chip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-tokens: defaults(\n (\n --chip-height: 1.75rem,\n --chip-padding-x: .625rem,\n --chip-gap: .3125rem,\n --chip-border-radius: var(--border-radius-pill),\n --chip-img-size: 1.25rem,\n --chip-icon-size: 1rem,\n --chip-dismiss-size: 1rem,\n --chip-dismiss-opacity: .65,\n --chip-dismiss-hover-opacity: 1,\n --chip-color: var(--theme-text, var(--fg-body)),\n --chip-bg: var(--theme-bg-subtle, var(--bg-2)),\n --chip-border-color: transparent,\n --chip-selected-color: var(--theme-contrast, var(--primary-contrast)),\n --chip-selected-bg: var(--theme-bg, var(--primary-bg)),\n --chip-selected-border-color: var(--theme-bg, var(--primary-bg)),\n ),\n $chip-tokens\n);\n// scss-docs-end chip-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n .chip {\n @include tokens($chip-tokens);\n\n display: inline-flex;\n gap: var(--chip-gap);\n align-items: center;\n height: var(--chip-height);\n padding-inline: var(--chip-padding-x);\n font-size: var(--chip-font-size, var(--font-size-sm));\n font-weight: var(--chip-font-weight, var(--font-weight-base));\n line-height: var(--chip-line-height, 1.25rem);\n color: var(--chip-color);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n background-color: var(--chip-bg);\n border: var(--border-width) solid var(--chip-border-color);\n @include border-radius(var(--chip-border-radius));\n\n &:hover {\n --chip-bg: var(--theme-bg-muted, var(--bg-3));\n }\n\n &:focus-visible {\n outline: 0;\n // @include focus-ring();\n }\n\n &.active {\n --chip-color: var(--chip-selected-color);\n --chip-bg: var(--chip-selected-bg);\n --chip-border-color: var(--chip-selected-border-color);\n\n &:hover {\n --chip-bg: var(--chip-selected-bg);\n opacity: .9;\n }\n }\n\n &.disabled,\n &:disabled {\n pointer-events: none;\n opacity: .65;\n }\n }\n\n .chip-img {\n width: var(--chip-img-size);\n height: var(--chip-img-size);\n @include border-radius(50%);\n\n &:first-child {\n margin-inline-start: -.375rem;\n }\n }\n\n // Chip icon (left side)\n .chip-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n margin-inline-start: calc(var(--chip-gap) * -.25);\n\n > svg {\n display: block; // Prevents baseline alignment issues\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n }\n\n > img {\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n object-fit: cover;\n @include border-radius(50%);\n }\n }\n\n // Dismiss button (right side)\n .chip-dismiss {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--chip-min-height);\n height: var(--chip-min-height);\n padding: 0;\n // margin-inline-start: calc(var(--chip-padding-x) * -.5);\n margin-inline-end: calc(var(--chip-padding-x) * -.25);\n color: inherit;\n cursor: pointer;\n background: transparent;\n border: 0;\n opacity: var(--chip-dismiss-opacity);\n // @include transition(opacity .15s ease-in-out);\n\n &:hover {\n opacity: var(--chip-dismiss-hover-opacity);\n }\n\n &:focus-visible {\n outline: 0;\n opacity: 1;\n @include focus-ring();\n }\n\n > svg {\n display: block; // Prevents baseline alignment issues\n width: var(--chip-dismiss-size);\n height: var(--chip-dismiss-size);\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n@use \"layout/breakpoints\" as *;\n\n$card-tokens: () !default;\n\n// scss-docs-start card-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$card-tokens: defaults(\n (\n --card-spacer-y: #{$spacer},\n --card-spacer-x: #{$spacer},\n --card-subtitle-color: inherit,\n --card-border-width: var(--border-width),\n --card-border-color: var(--border-color-translucent),\n --card-border-radius: var(--border-radius-lg),\n --card-box-shadow: none,\n --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n --card-cap-padding-y: #{$spacer * .75},\n --card-cap-padding-x: #{$spacer},\n --card-cap-bg: var(--bg-1),\n --card-cap-color: inherit,\n --card-height: auto,\n --card-color: inherit,\n --card-bg: var(--bg-body),\n --card-img-overlay-padding: #{$spacer},\n --card-group-margin: #{$grid-gutter-x * .5},\n --card-body-gap: #{$spacer * .5},\n ),\n $card-tokens\n);\n// scss-docs-end card-tokens\n\n@layer components {\n .card {\n @include tokens($card-tokens);\n\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: var(--card-height);\n color: var(--fg-body);\n word-wrap: break-word;\n background-color: var(--card-bg);\n // border: var(--card-border-width) solid var(--card-border-color);\n // @include border-radius(var(--card-border-radius));\n @include box-shadow(var(--card-box-shadow));\n\n > hr {\n margin-inline: 0;\n }\n }\n\n .card-body {\n display: flex;\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--card-body-gap);\n align-items: flex-start;\n padding: var(--card-spacer-y) var(--card-spacer-x);\n color: var(--card-color);\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n\n > * {\n margin-block: 0;\n }\n }\n\n .card-body,\n .card-list {\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n\n &:first-child {\n @include border-top-radius(var(--card-border-radius));\n border-top-width: var(--card-border-width);\n }\n\n &:last-child {\n @include border-bottom-radius(var(--card-border-radius));\n border-bottom-width: var(--card-border-width);\n }\n\n &:not(:first-child):not(:last-child) {\n border-block-end-width: var(--card-border-width);\n }\n }\n\n .card-title,\n .card-subtitle,\n .card-text {\n align-self: stretch;\n }\n\n .card-subtitle {\n margin-top: calc(var(--card-body-gap) * -.5);\n }\n\n .card-header {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: var(--theme-contrast, var(--card-cap-color));\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n &:first-child {\n @include border-radius(var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0);\n }\n }\n\n .card-footer {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n color: var(--card-cap-color);\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n &:last-child {\n @include border-radius(0 0 var(--card-inner-border-radius) var(--card-inner-border-radius));\n }\n }\n\n .card-translucent {\n background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n\n .card-header,\n .card-footer {\n background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n }\n }\n\n .card-subtle {\n border-color: var(--theme-border, var(--card-border-color));\n\n .card-header {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n\n .card-footer {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n\n .card-body,\n .card-list {\n border-color: var(--theme-border, var(--card-border-color));\n }\n }\n\n //\n // Header navs\n //\n\n // Combined selector because of specificity match with `.nav` base class\n .nav.card-header-tabs {\n margin-inline: calc(-.5 * var(--card-cap-padding-x));\n margin-bottom: calc(-1 * var(--card-cap-padding-y));\n border-block-end: 0;\n\n .nav-link.active {\n background-color: var(--card-bg);\n border-block-end-color: var(--card-bg);\n }\n }\n\n // Card image\n .card-img-overlay {\n position: absolute;\n inset: 0;\n padding: var(--card-img-overlay-padding);\n @include border-radius(var(--card-inner-border-radius));\n }\n\n .card-img,\n .card-img-top,\n .card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n outline: var(--card-border-width) solid var(--card-border-color);\n outline-offset: calc(var(--card-border-width) * -1);\n }\n\n .card-img,\n .card-img-top {\n @include border-top-radius(var(--card-inner-border-radius));\n }\n\n .card-img,\n .card-img-bottom {\n @include border-bottom-radius(var(--card-inner-border-radius));\n }\n\n .card-row {\n flex-direction: row;\n\n .card-body,\n .card-list {\n border-width: var(--card-border-width) 0;\n @include border-radius(0);\n\n &:first-child {\n @include border-start-radius(var(--card-inner-border-radius));\n border-inline-start-width: var(--card-border-width);\n }\n\n &:last-child {\n @include border-end-radius(var(--card-inner-border-radius));\n border-inline-end-width: var(--card-border-width);\n }\n\n &:not(:first-child):not(:last-child) {\n border-inline-end-width: var(--card-border-width);\n }\n }\n }\n\n .card-img-start {\n @include border-start-radius(var(--card-inner-border-radius));\n }\n\n .card-img-end {\n @include border-end-radius(var(--card-inner-border-radius));\n }\n\n //\n // Card groups\n //\n\n .card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: var(--card-group-margin);\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n flex: 1 0 0;\n margin-bottom: 0;\n\n + .card {\n margin-inline-start: 0;\n border-inline-start: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-end-radius(0);\n\n > .card-img-top,\n > .card-header {\n border-start-end-radius: 0;\n }\n > .card-img-bottom,\n > .card-footer {\n border-end-end-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-start-radius(0);\n\n > .card-img-top,\n > .card-header {\n border-start-start-radius: 0;\n }\n > .card-img-bottom,\n > .card-footer {\n border-end-start-radius: 0;\n }\n }\n }\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"mixins/tokens\" as *;\n\n$carousel-tokens: () !default;\n\n// scss-docs-start carousel-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-tokens: defaults(\n (\n --carousel-control-color: #{$white},\n --carousel-control-width: 15%,\n --carousel-control-opacity: .5,\n --carousel-control-hover-opacity: .9,\n --carousel-control-transition: opacity .15s ease,\n --carousel-control-icon-filter: none,\n --carousel-indicator-width: 30px,\n --carousel-indicator-height: 3px,\n --carousel-indicator-hit-area-height: 10px,\n --carousel-indicator-spacer: 3px,\n --carousel-indicator-opacity: .5,\n --carousel-indicator-active-bg: var(--white),\n --carousel-indicator-active-opacity: 1,\n --carousel-indicator-transition: opacity .6s ease,\n --carousel-caption-width: 70%,\n --carousel-caption-color: var(--white),\n --carousel-caption-padding-y: 1.25rem,\n --carousel-caption-spacer: 1.25rem,\n --carousel-control-icon-width: 2rem,\n --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"),\n --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"),\n --carousel-transition-duration: .6s,\n --carousel-transition: transform .6s ease-in-out,\n ),\n $carousel-tokens\n);\n// scss-docs-end carousel-tokens\n\n$carousel-dark-tokens: () !default;\n\n// scss-docs-start carousel-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-dark-tokens: defaults(\n (\n --carousel-indicator-active-bg: #{$black},\n --carousel-caption-color: #{$black},\n --carousel-control-icon-filter: invert(1) grayscale(100),\n ),\n $carousel-dark-tokens\n);\n// scss-docs-end carousel-dark-tokens\n\n// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n// is the upcoming slide in transition.\n\n@layer components {\n .carousel {\n position: relative;\n @include tokens($carousel-tokens);\n }\n\n .carousel.pointer-event {\n touch-action: pan-y;\n }\n\n .carousel-inner {\n position: relative;\n display: flow-root;\n width: 100%;\n overflow: hidden;\n }\n\n .carousel-item {\n position: relative;\n display: none;\n float: inline-start;\n width: 100%;\n margin-inline-end: -100%;\n backface-visibility: hidden;\n @include transition(var(--carousel-transition));\n }\n\n .carousel-item.active,\n .carousel-item-next,\n .carousel-item-prev {\n display: block;\n }\n\n .carousel-item-next:not(.carousel-item-start),\n .active.carousel-item-end {\n transform: translateX(100%);\n }\n\n .carousel-item-prev:not(.carousel-item-end),\n .active.carousel-item-start {\n transform: translateX(-100%);\n }\n\n //\n // Alternate transitions\n //\n\n .carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-start,\n .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-start,\n .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s var(--carousel-transition-duration));\n }\n }\n\n //\n // Left/right controls for nav\n //\n\n .carousel-control-prev,\n .carousel-control-next {\n position: absolute;\n inset-block: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: var(--carousel-control-width);\n padding: 0;\n color: var(--carousel-control-color);\n text-align: center;\n background: none;\n filter: var(--carousel-control-icon-filter);\n border: 0;\n opacity: var(--carousel-control-opacity);\n @include transition(var(--carousel-control-transition));\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: var(--carousel-control-color);\n text-decoration: none;\n outline: 0;\n opacity: var(--carousel-control-hover-opacity);\n }\n }\n .carousel-control-prev {\n inset-inline-start: 0;\n // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n background-image: if(sass($enable-gradients): linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); else: null);\n }\n .carousel-control-next {\n inset-inline-end: 0;\n // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n background-image: if(sass($enable-gradients): linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); else: null);\n }\n\n // Icons for within\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n display: inline-block;\n width: var(--carousel-control-icon-width);\n height: var(--carousel-control-icon-width);\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n }\n\n .carousel-control-prev-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n\n [dir=\"rtl\"] .carousel-control-prev-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n\n .carousel-control-next-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n\n [dir=\"rtl\"] .carousel-control-next-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n\n // Optional indicator pips/controls\n //\n // Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n // like a button) with data-bs-target for each slide your carousel holds.\n\n .carousel-indicators {\n position: absolute;\n inset: auto 0 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-inline: var(--carousel-control-width);\n margin-bottom: 1rem;\n\n [data-bs-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: var(--carousel-indicator-width);\n height: var(--carousel-indicator-height);\n padding: 0;\n margin-inline: var(--carousel-indicator-spacer);\n text-indent: -999px;\n cursor: pointer;\n background-color: var(--carousel-indicator-active-bg);\n background-clip: padding-box;\n border: 0;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n opacity: var(--carousel-indicator-opacity);\n @include transition(var(--carousel-indicator-transition));\n }\n\n .active {\n opacity: var(--carousel-indicator-active-opacity);\n }\n }\n\n // Optional captions\n //\n //\n\n .carousel-caption {\n position: absolute;\n right: calc((100% - var(--carousel-caption-width)) * .5);\n bottom: var(--carousel-caption-spacer);\n left: calc((100% - var(--carousel-caption-width)) * .5);\n padding-top: var(--carousel-caption-padding-y);\n padding-bottom: var(--carousel-caption-padding-y);\n color: var(--carousel-caption-color);\n text-align: center;\n }\n\n // Dark mode carousel\n\n @mixin carousel-dark() {\n @include tokens($carousel-dark-tokens);\n }\n\n .carousel-dark {\n @include carousel-dark();\n }\n\n @if $enable-dark-mode {\n @include color-mode(dark, true) {\n @include carousel-dark();\n }\n }\n}\n","@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","// stylelint-disable selector-max-attribute, property-disallowed-list, selector-no-qualifying-type -- VCP uses extensive data attributes and requires direct border-radius properties for range selection\n\n@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$datepicker-tokens: () !default;\n\n// scss-docs-start datepicker-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$datepicker-tokens: defaults(\n (\n --datepicker-padding: 1rem,\n --datepicker-bg: var(--bg-body),\n --datepicker-color: var(--fg-body),\n --datepicker-border-color: var(--border-color-translucent),\n --datepicker-border-width: var(--border-width),\n --datepicker-border-radius: var(--border-radius-lg),\n --datepicker-box-shadow: var(--box-shadow),\n --datepicker-font-size: var(--font-size-sm),\n --datepicker-min-width: 280px,\n --datepicker-zindex: #{$zindex-menu},\n --datepicker-header-font-weight: 600,\n --datepicker-weekday-color: var(--fg-3),\n --datepicker-day-hover-bg: var(--bg-1),\n --datepicker-day-selected-bg: var(--primary-bg),\n --datepicker-day-selected-color: var(--primary-contrast),\n --datepicker-day-today-bg: var(--bg-2),\n --datepicker-day-today-color: var(--fg-1),\n --datepicker-day-disabled-color: var(--fg-4),\n ),\n $datepicker-tokens\n);\n// scss-docs-end datepicker-tokens\n\n@layer components {\n [data-vc=\"calendar\"] {\n @include tokens($datepicker-tokens);\n\n position: absolute;\n z-index: var(--datepicker-zindex);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n min-width: var(--datepicker-min-width);\n padding: var(--datepicker-padding);\n font-family: var(--font-sans-serif);\n font-size: var(--datepicker-font-size);\n color: var(--datepicker-color);\n color-scheme: light dark;\n background-color: var(--datepicker-bg);\n border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n @include border-radius(var(--datepicker-border-radius));\n box-shadow: var(--datepicker-box-shadow);\n opacity: 1;\n\n // Respond to Bootstrap's color mode system\n &[data-bs-theme=\"light\"] {\n color-scheme: light;\n }\n\n &[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n }\n\n // Catch-all for focus styles\n button:focus-visible {\n position: relative;\n z-index: 1;\n @include focus-ring();\n }\n }\n\n [data-vc-calendar-hidden] {\n pointer-events: none;\n opacity: 0;\n }\n\n // Inline calendars\n //\n // Remove popover styling for more neutral styling\n [data-vc=\"calendar\"]:not([data-vc-input]) {\n position: relative;\n width: fit-content;\n padding: 0;\n border: 0;\n box-shadow: none;\n }\n\n [data-vc-position=\"bottom\"] {\n margin-block-start: .25rem;\n }\n\n [data-vc-position=\"top\"] {\n margin-block-end: -.25rem;\n }\n\n [data-vc-arrow] {\n position: relative;\n display: block;\n width: 2rem;\n height: 2rem;\n color: var(--datepicker-color);\n pointer-events: auto;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n @include border-radius(var(--border-radius));\n\n &::before {\n position: absolute;\n inset: .25rem;\n content: \"\";\n background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n background-repeat: no-repeat;\n background-position: center;\n }\n\n &:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n }\n\n [data-vc-arrow=\"prev\"]::before {\n transform: rotate(90deg);\n }\n\n [data-vc-arrow=\"next\"]::before {\n transform: rotate(-90deg);\n }\n\n // Grid layout\n [data-vc=\"controls\"] {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 20;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 1rem;\n padding-right: 1rem;\n padding-left: 1rem;\n pointer-events: none;\n }\n\n [data-vc=\"grid\"] {\n display: flex;\n flex-grow: 1;\n flex-wrap: wrap;\n gap: 1.75rem;\n }\n\n [data-vc=\"column\"] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n min-width: 240px;\n }\n\n //\n // Header\n //\n\n [data-vc=\"header\"] {\n position: relative;\n display: flex;\n align-items: center;\n margin-bottom: .75rem;\n }\n\n // Month and year\n [data-vc-header=\"content\"] {\n display: inline-flex;\n flex-grow: 1;\n align-items: center;\n justify-content: center;\n white-space: pre-wrap;\n }\n\n [data-vc=\"month\"],\n [data-vc=\"year\"] {\n padding: .25rem .5rem;\n margin-inline: -.125rem;\n font-size: 1rem;\n font-weight: var(--datepicker-header-font-weight);\n color: var(--datepicker-color);\n // cursor: pointer;\n background-color: transparent;\n border: 0;\n @include border-radius(var(--border-radius));\n\n &:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n }\n\n [data-vc=\"content\"] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n }\n\n // Month/Year grids\n [data-vc=\"months\"],\n [data-vc=\"years\"] {\n display: grid;\n flex-grow: 1;\n grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n row-gap: 1rem;\n column-gap: .25rem;\n align-items: center;\n }\n\n [data-vc=\"years\"] {\n --vc-columns: 5;\n }\n\n [data-vc-months-month],\n [data-vc-years-year] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 2.5rem;\n padding: .25rem;\n font-size: .75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n text-align: center;\n word-break: break-all;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n @include border-radius(var(--border-radius));\n\n &:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n\n &[data-vc-months-month-selected],\n &[data-vc-years-year-selected] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n\n &:hover {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n }\n }\n\n // Week days header\n [data-vc=\"week\"] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n justify-items: center;\n margin-bottom: .5rem;\n }\n\n [data-vc-week-day] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n padding: 0;\n margin: 0;\n font-size: .75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n background-color: transparent;\n border: 0;\n }\n\n button[data-vc-week-day] {\n cursor: pointer;\n }\n\n // Dates grid\n [data-vc=\"dates\"] {\n pointer-events: none;\n }\n\n [data-vc-dates=\"row\"] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n align-items: center;\n justify-items: center;\n width: 100%;\n }\n\n [data-vc-date] {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding-top: .125rem;\n padding-bottom: .125rem;\n pointer-events: auto;\n\n &:not(:has([data-vc-date-btn])),\n &[data-vc-date-disabled],\n &[data-vc-date-disabled] [data-vc-date-btn] {\n pointer-events: none;\n }\n }\n\n // Date button\n [data-vc-date-btn] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n height: 100%;\n min-height: 1.875rem;\n padding: 0;\n font-size: .75rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--datepicker-color);\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n\n &:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n }\n\n // Today\n [data-vc-date-today] [data-vc-date-btn] {\n font-weight: 600;\n color: var(--datepicker-day-today-color);\n background-color: var(--datepicker-day-today-bg);\n }\n\n // Outside month\n [data-vc-date-month=\"next\"] [data-vc-date-btn],\n [data-vc-date-month=\"prev\"] [data-vc-date-btn] {\n opacity: .5;\n }\n\n // Disabled\n [data-vc-date-disabled] [data-vc-date-btn] {\n color: var(--datepicker-day-disabled-color);\n }\n\n // Range selection styles\n [data-vc-date-hover] [data-vc-date-btn] {\n background-color: var(--datepicker-day-hover-bg);\n border-radius: 0;\n }\n\n [data-vc-date-hover=\"first\"] [data-vc-date-btn] {\n border-start-start-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n\n [data-vc-date-hover=\"last\"] [data-vc-date-btn] {\n border-start-end-radius: var(--border-radius);\n border-end-end-radius: var(--border-radius);\n }\n\n [data-vc-date-hover=\"first-and-last\"] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n\n [data-vc-date-selected=\"middle\"] [data-vc-date-btn] {\n border-radius: 0;\n opacity: .8;\n }\n\n // Selected\n [data-vc-date-selected] [data-vc-date-btn] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n\n }\n\n [data-vc-date-selected=\"first\"] [data-vc-date-btn] {\n border-top-left-radius: var(--border-radius);\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: var(--border-radius);\n }\n\n [data-vc-date-selected=\"last\"] [data-vc-date-btn] {\n border-top-left-radius: 0;\n border-top-right-radius: var(--border-radius);\n border-bottom-right-radius: var(--border-radius);\n border-bottom-left-radius: 0;\n }\n\n [data-vc-date-selected=\"first-and-last\"] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// Native <dialog> component\n// Uses the browser's native dialog element with showModal()/show()/close() APIs\n// Leverages native [open] attribute and ::backdrop pseudo-element\n\n// stylelint-disable custom-property-no-missing-var-function\n$dialog-tokens: () !default;\n\n// scss-docs-start dialog-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-tokens: defaults(\n (\n --dialog-padding: 1rem,\n --dialog-width: 500px,\n --dialog-margin: 1.75rem,\n --dialog-color: var(--fg-body),\n --dialog-bg: var(--bg-body),\n --dialog-border-color: var(--border-color-translucent),\n --dialog-border-width: var(--border-width),\n --dialog-border-radius: var(--border-radius-lg),\n --dialog-box-shadow: var(--box-shadow-lg),\n --dialog-backdrop-bg: rgb(0 0 0 / 50%),\n --dialog-backdrop-blur: 8px,\n --dialog-header-padding: 1rem,\n --dialog-header-border-color: var(--border-color),\n --dialog-header-border-width: var(--border-width),\n --dialog-footer-padding: 1rem,\n --dialog-footer-border-color: var(--border-color),\n --dialog-footer-border-width: var(--border-width),\n --dialog-footer-gap: .5rem,\n ),\n $dialog-tokens\n);\n// scss-docs-end dialog-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start dialog-sizes\n$dialog-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-sizes: defaults(\n (\n sm: 280px,\n lg: 800px,\n xl: 1140px,\n ),\n $dialog-sizes\n);\n// scss-docs-end dialog-sizes\n\n@layer components {\n // Prevent body scroll when dialog is open\n .dialog-open {\n overflow: hidden;\n scrollbar-gutter: stable;\n }\n\n .dialog {\n @include tokens($dialog-tokens);\n\n // Reset native dialog styles\n max-width: var(--dialog-width);\n max-height: calc(100% - var(--dialog-margin) * 2);\n padding: 0;\n margin: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n @include border-radius(var(--dialog-border-radius));\n @include box-shadow(var(--dialog-box-shadow));\n\n // Native backdrop styling via ::backdrop pseudo-element\n &::backdrop {\n background-color: var(--dialog-backdrop-bg);\n backdrop-filter: blur(var(--dialog-backdrop-blur));\n }\n\n // Animation support using native [open] attribute\n &.fade {\n opacity: 0;\n @include transition(opacity .15s linear);\n\n &::backdrop {\n opacity: 0;\n @include transition(opacity .15s linear);\n }\n\n &[open] {\n opacity: 1;\n\n &::backdrop {\n opacity: 1;\n }\n }\n }\n\n // Static backdrop \"bounce\" animation (modal dialogs only)\n &.dialog-static {\n transform: scale(1.02);\n }\n\n // Non-modal dialog positioning\n // show() doesn't use the top layer, so we need explicit positioning and z-index\n &.dialog-nonmodal {\n position: fixed;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n z-index: $zindex-dialog;\n margin-inline: 0;\n transform: translate(-50%, -50%);\n }\n\n // Overflow dialog - scrollable viewport container with dialog box inside\n &.dialog-overflow {\n // Make dialog element the full-viewport scrollable container\n position: fixed;\n inset: 0;\n width: 100%;\n max-width: 100%;\n height: 100%;\n max-height: 100%;\n padding: var(--dialog-margin);\n margin: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n background: transparent;\n border: 0;\n box-shadow: none;\n\n // The visual dialog box is a child wrapper\n > .dialog-box {\n max-width: var(--dialog-width);\n margin-block-end: var(--dialog-margin);\n margin-inline: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n @include border-radius(var(--dialog-border-radius));\n @include box-shadow(var(--dialog-box-shadow));\n }\n }\n\n // Scrollable dialog body (header/footer stay fixed)\n &.dialog-scrollable[open] {\n display: flex;\n flex-direction: column;\n max-height: calc(100% - var(--dialog-margin) * 2);\n\n .dialog-body {\n overflow-y: auto;\n }\n }\n }\n\n // Dialog sizes\n @each $size, $value in $dialog-sizes {\n .dialog-#{$size} { --dialog-width: #{$value}; }\n }\n\n // Fullscreen dialog\n .dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n\n // Responsive fullscreen dialogs\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n // stylelint-disable-next-line scss/at-function-named-arguments\n $postfix: if(sass($infix != \"\"): #{$infix}-down; else: \"\");\n\n @if $postfix != \"\" {\n @include media-breakpoint-down($breakpoint) {\n .dialog-fullscreen#{$postfix} {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n }\n }\n\n // Dialog header\n .dialog-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding: var(--dialog-header-padding);\n border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n\n .btn-close {\n margin-inline-start: auto;\n }\n }\n\n // Dialog title\n .dialog-title {\n margin-bottom: 0;\n font-size: var(--font-size-md);\n line-height: 1.5;\n }\n\n // Dialog body\n .dialog-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--dialog-padding);\n overflow-y: auto;\n }\n\n // Dialog footer\n .dialog-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: var(--dialog-footer-gap);\n align-items: center;\n justify-content: flex-end;\n padding: var(--dialog-footer-padding);\n border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable scss/dollar-variable-default, custom-property-no-missing-var-function\n$menu-tokens: () !default;\n\n// scss-docs-start menu-tokens\n$menu-tokens: defaults(\n (\n --menu-zindex: #{$zindex-menu},\n --menu-gap: .125rem,\n --menu-min-width: 10rem,\n --menu-padding-x: .25rem,\n --menu-padding-y: .25rem,\n --menu-spacer: .125rem,\n --menu-font-size: var(--font-size-sm),\n --menu-color: var(--fg-body),\n --menu-bg: var(--bg-body),\n // --menu-border-color: var(--border-color-translucent),\n // --menu-border-radius: var(--border-radius-lg),\n // --menu-border-width: var(--border-width),\n --menu-box-shadow: var(--box-shadow),\n // --menu-max-height: none,\n --menu-divider-bg: var(--border-color-translucent),\n --menu-divider-margin-y: .125rem,\n --menu-divider-margin-x: .25rem,\n --menu-item-color: var(--menu-color, var(--fg-body)),\n --menu-item-hover-color: var(--menu-color, var(--fg-body)),\n --menu-item-hover-bg: var(--bg-1),\n --menu-item-active-color: var(--primary-contrast),\n --menu-item-active-bg: var(--primary-bg),\n --menu-item-disabled-color: var(--fg-3),\n --menu-item-gap: .5rem,\n --menu-item-padding-x: .75rem,\n --menu-item-padding-y: .25rem,\n --menu-item-border-radius: var(--border-radius),\n --menu-icon-size: 1rem,\n --menu-image-size: 1.5rem,\n --menu-description-font-size: var(--font-size-xs),\n --menu-check-color: currentcolor,\n --menu-header-color: var(--fg-3),\n --menu-header-padding-x: .75rem,\n --menu-header-padding-y: .25rem,\n ),\n $menu-tokens\n);\n// scss-docs-end menu-tokens\n\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n@layer components {\n .menu {\n @include tokens($menu-tokens);\n\n position: absolute;\n z-index: var(--menu-zindex);\n display: none;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: var(--menu-min-width);\n max-height: var(--menu-max-height, none);\n padding: var(--menu-padding-y) var(--menu-padding-x);\n margin: 0;\n overflow-y: var(--menu-overflow-y, initial);\n overscroll-behavior: contain;\n font-size: var(--menu-font-size);\n color: var(--menu-color);\n text-align: start;\n list-style: none;\n background-color: var(--menu-bg);\n background-clip: padding-box;\n border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n @include border-radius(var(--menu-border-radius, var(--border-radius-lg)));\n @include box-shadow(var(--menu-box-shadow));\n\n &.show {\n display: flex;\n }\n }\n\n .menu-scrollable {\n --menu-max-height: 80dvh;\n --menu-overflow-y: auto;\n }\n\n .menu-translucent {\n --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n\n --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n\n --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n\n background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n\n .menu-divider {\n height: 0;\n margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n overflow: hidden;\n border-block-start: 1px solid var(--menu-divider-bg);\n opacity: 1;\n }\n\n .menu-item {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n width: 100%;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n color: var(--theme-text, var(--menu-item-color));\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n outline: 0;\n @include border-radius(var(--menu-item-border-radius, 0));\n\n &:hover,\n &:focus {\n color: var(--theme-text, var(--menu-item-hover-color));\n @include gradient-bg(var(--theme-bg-subtle, var(--menu-item-hover-bg)));\n }\n\n &.active,\n &:active {\n color: var(--theme-contrast, var(--menu-item-active-color));\n @include gradient-bg(var(--theme-bg, var(--menu-item-active-bg)));\n\n .menu-item-icon {\n color: inherit !important; // stylelint-disable-line declaration-no-important\n }\n }\n\n &.selected {\n font-weight: $font-weight-semibold;\n }\n\n &.disabled,\n &:disabled {\n color: var(--menu-item-disabled-color);\n pointer-events: none;\n background-color: transparent;\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n }\n }\n\n .menu-item-icon {\n flex-shrink: 0;\n align-self: flex-start;\n width: var(--menu-icon-size);\n height: auto;\n margin-top: .125rem;\n }\n\n .menu-image {\n width: var(--menu-image-size);\n height: var(--menu-image-size);\n object-fit: cover;\n @include border-radius(var(--border-radius-sm));\n }\n\n .menu-item-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-width: fit-content;\n }\n\n .menu-item-description {\n font-size: var(--menu-description-font-size);\n font-weight: var(--font-weight-normal);\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n\n .menu-item-check {\n flex-shrink: 0;\n align-self: flex-start;\n margin-block-start: .125rem;\n margin-inline-start: auto;\n color: var(--menu-check-color);\n visibility: hidden;\n\n .selected > & {\n visibility: visible;\n }\n }\n\n .menu-header {\n display: block;\n padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n margin-bottom: 0;\n font-size: var(--font-size-sm);\n color: var(--menu-header-color);\n white-space: nowrap;\n }\n\n .menu-text {\n display: block;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n color: var(--fg-2);\n }\n\n // scss-docs-start submenu\n .submenu {\n position: relative;\n\n > .menu-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n > .menu-item::after {\n display: inline-block;\n flex-shrink: 0;\n width: .375em;\n height: .375em;\n margin-inline-start: auto;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: 0 .125em .125em 0;\n transform: rotate(-45deg);\n\n [dir=\"rtl\"] & {\n transform: rotate(135deg);\n }\n }\n\n > .menu {\n top: 0;\n margin-top: calc(-1 * var(--menu-padding-y));\n }\n\n &:hover > .menu-item,\n &:focus-within > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n\n &.show > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n }\n\n // Mobile stacking: submenu covers the parent menu in-place\n @media (max-width: 575.98px) {\n .submenu:has(.submenu-stacked) {\n position: static;\n }\n\n .submenu-stacked {\n position: absolute;\n inset: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: 0;\n padding: var(--menu-padding-y) var(--menu-padding-x);\n background-color: var(--menu-bg);\n border: 0;\n @include border-radius(0);\n box-shadow: none;\n }\n\n .submenu-back {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--font-weight-semibold, 600);\n color: var(--menu-item-color);\n\n &::before {\n display: inline-block;\n flex-shrink: 0;\n width: .375em;\n height: .375em;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: .125em 0 0 .125em;\n transform: rotate(-45deg);\n\n [dir=\"rtl\"] & {\n border-width: 0 .125em .125em 0;\n }\n }\n }\n\n .submenu-dimmed {\n pointer-events: none;\n filter: blur(2px);\n opacity: .3;\n }\n }\n // scss-docs-end submenu\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n$list-group-tokens: () !default;\n\n// scss-docs-start list-group-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$list-group-tokens: defaults(\n (\n --list-group-color: var(--fg-body),\n --list-group-bg: var(--bg-body),\n --list-group-border-color: var(--border-color),\n --list-group-border-width: var(--border-width),\n --list-group-border-radius: var(--border-radius),\n --list-group-item-padding-x: #{$spacer},\n --list-group-item-padding-y: #{$spacer * .5},\n --list-group-action-color: var(--fg-2),\n --list-group-action-hover-color: var(--fg-1),\n --list-group-action-hover-bg: var(--bg-1),\n --list-group-action-active-color: var(--fg-body),\n --list-group-action-active-bg: var(--bg-2),\n --list-group-disabled-color: var(--fg-3),\n --list-group-disabled-bg: var(--bg-body),\n --list-group-active-color: var(--primary-contrast),\n --list-group-active-bg: var(--primary-bg),\n --list-group-active-border-color: var(--primary-bg),\n ),\n $list-group-tokens\n);\n// scss-docs-end list-group-tokens\n\n@layer components {\n .list-group {\n @include tokens($list-group-tokens);\n\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-inline-start: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius(var(--list-group-border-radius));\n }\n\n .list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n\n > .list-group-item::before {\n // Increments only this instance of the section counter\n content: counters(section, \".\") \". \";\n counter-increment: section;\n }\n }\n\n // Individual list items\n //\n // Use on `li`s or `div`s within the `.list-group` parent.\n\n .list-group-item {\n position: relative;\n display: block;\n padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n color: var(--theme-text, var(--list-group-color));\n // stylelint-disable-next-line scss/at-function-named-arguments\n text-decoration: if(sass($link-decoration == none): null);\n background-color: var(--theme-bg-subtle, var(--list-group-bg));\n border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: var(--list-group-disabled-color);\n pointer-events: none;\n background-color: var(--list-group-disabled-bg);\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: var(--list-group-active-color);\n background-color: var(--list-group-active-bg);\n border-color: var(--list-group-active-border-color);\n }\n\n // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n & + .list-group-item {\n border-block-start-width: 0;\n\n &.active {\n margin-top: calc(-1 * var(--list-group-border-width));\n border-block-start-width: var(--list-group-border-width);\n }\n }\n }\n\n // Interactive list items\n //\n // Use anchor or button elements instead of `li`s or `div`s to create interactive\n // list items. Includes an extra `.active` modifier class for selected items.\n\n .list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: var(--theme-text, var(--list-group-action-color));\n text-align: inherit; // For `<button>`s (anchors inherit)\n text-decoration: none;\n\n &:not(.active) {\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n text-decoration: none;\n background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n }\n\n &:active {\n color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n }\n }\n }\n\n // Horizontal\n //\n // Change the layout of list group items from vertical (default) to horizontal.\n\n @each $breakpoint in map.keys($breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child:not(:last-child) {\n @include border-bottom-start-radius(var(--list-group-border-radius));\n @include border-top-end-radius(0);\n }\n\n &:last-child:not(:first-child) {\n @include border-top-end-radius(var(--list-group-border-radius));\n @include border-bottom-start-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n\n &.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n }\n }\n }\n }\n\n // Flush list items\n //\n // Remove borders and border-radius to keep list group items edge-to-edge. Most\n // useful within other components (e.g., cards).\n\n .list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 var(--list-group-border-width);\n\n &:last-child {\n border-block-end-width: 0;\n }\n }\n }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n$nav-tokens: () !default;\n\n// scss-docs-start nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tokens: defaults(\n (\n --nav-gap: .125rem,\n --nav-link-gap: .5rem,\n --nav-link-align: center,\n --nav-link-justify: center,\n --nav-link-padding-x: .75rem,\n --nav-link-padding-y: .375rem,\n --nav-link-color: var(--fg-2),\n --nav-link-hover-color: var(--fg-1),\n --nav-link-hover-bg: var(--bg-1),\n --nav-link-active-color: var(--fg-body),\n --nav-link-active-bg: var(--bg-2),\n --nav-link-disabled-color: var(--fg-4),\n --nav-link-border-width: var(--border-width),\n --nav-link-transition-property: \"color, background-color, border-color\",\n --nav-link-transition-timing: .15s ease-in-out,\n --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing),\n ),\n $nav-tokens\n);\n// scss-docs-end nav-tokens\n\n$nav-tabs-tokens: () !default;\n\n// scss-docs-start nav-tabs-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tabs-tokens: defaults(\n (\n --nav-tabs-border-width: var(--border-width),\n --nav-tabs-border-color: var(--border-color),\n --nav-tabs-border-radius: var(--border-radius),\n --nav-tabs-link-hover-border-color: var(--border-subtle),\n --nav-tabs-link-active-color: var(--fg-color),\n --nav-tabs-link-active-bg: var(--bg-body),\n --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body),\n ),\n $nav-tabs-tokens\n);\n// scss-docs-end nav-tabs-tokens\n\n$nav-pills-tokens: () !default;\n\n// scss-docs-start nav-pills-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-pills-tokens: defaults(\n (\n --nav-pills-link-active-color: var(--primary-contrast),\n --nav-pills-link-active-bg: var(--primary-bg),\n ),\n $nav-pills-tokens\n);\n// scss-docs-end nav-pills-tokens\n\n$nav-underline-tokens: () !default;\n\n// scss-docs-start nav-underline-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-underline-tokens: defaults(\n (\n --nav-gap: 1rem,\n --nav-link-active-bg: transparent,\n --nav-underline-border-width: .125rem,\n --nav-underline-link-active-color: var(--fg-color),\n ),\n $nav-underline-tokens\n);\n// scss-docs-end nav-underline-tokens\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 @include tokens($nav-tokens);\n\n display: flex;\n flex-wrap: wrap;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n }\n\n .nav-item {\n display: flex;\n }\n\n .nav-link {\n display: flex;\n gap: var(--nav-link-gap);\n align-items: var(--nav-link-align);\n justify-content: var(--nav-link-justify);\n padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n font-weight: var(--nav-link-font-weight);\n color: var(--nav-link-color);\n text-decoration: none;\n white-space: nowrap;\n background: none;\n border: var(--nav-link-border-width) solid transparent;\n @include border-radius(var(--border-radius));\n @include transition(var(--nav-link-transition));\n\n &:hover,\n &:focus {\n color: var(--nav-link-hover-color);\n background-color: var(--nav-link-hover-bg);\n }\n\n &:focus-visible {\n --focus-ring-offset: 1px;\n color: var(--nav-link-hover-color);\n @include focus-ring(true);\n }\n\n &.active,\n &:active {\n color: var(--nav-link-active-color);\n background-color: var(--nav-link-active-bg);\n }\n\n // Disabled state lightens text\n &.disabled,\n &:disabled {\n color: var(--nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n }\n }\n\n //\n // Tabs\n //\n\n .nav-tabs {\n // scss-docs-start nav-tabs-css-vars\n @include tokens($nav-tabs-tokens);\n // scss-docs-end nav-tabs-css-vars\n\n box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n\n .nav-link {\n border: var(--nav-tabs-border-width) solid transparent;\n border-bottom-color: var(--nav-tabs-border-color);\n @include border-bottom-radius(0);\n\n &:hover {\n // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n isolation: isolate;\n border-color: var(--nav-tabs-link-hover-border-color);\n border-bottom-color: var(--nav-tabs-border-color);\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: var(--nav-tabs-link-active-color);\n background-color: var(--nav-tabs-link-active-bg);\n border-color: var(--nav-tabs-link-active-border-color);\n border-bottom-color: var(--nav-tabs-link-active-bg);\n }\n\n .menu {\n margin-top: calc(-1 * var(--nav-tabs-border-width));\n @include border-top-radius(0);\n }\n }\n\n //\n // Pills\n //\n\n .nav-pills {\n // scss-docs-start nav-pills-css-vars\n @include tokens($nav-pills-tokens);\n // scss-docs-end nav-pills-css-vars\n\n .nav-link.active,\n .show > .nav-link {\n color: var(--nav-pills-link-active-color);\n @include gradient-bg(var(--nav-pills-link-active-bg));\n }\n }\n\n //\n // Underline\n //\n\n .nav-underline {\n // scss-docs-start nav-underline-css-vars\n @include tokens($nav-underline-tokens);\n // scss-docs-end nav-underline-css-vars\n\n .nav-link {\n padding-inline: 0;\n border: 0;\n border-block-end: var(--nav-underline-border-width) solid transparent;\n @include border-radius(0);\n\n &:hover,\n &:focus {\n border-block-end-color: currentcolor;\n }\n }\n\n .nav-link.active,\n .show > .nav-link {\n font-weight: $font-weight-bold;\n color: var(--nav-underline-link-active-color);\n border-block-end-color: currentcolor;\n }\n }\n\n //\n // 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 // 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","// Nav Overflow (Priority+ Pattern)\n//\n// A responsive navigation pattern that automatically moves items\n// to an overflow menu when space is limited.\n\n@layer components {\n .nav-overflow {\n flex-wrap: nowrap;\n min-width: 0; // Allow flex child to shrink below content width\n }\n\n // Container item for overflow\n .nav-overflow-item {\n flex-shrink: 0;\n margin-inline-start: auto;\n }\n\n // Hide items that have been moved to overflow\n .nav-overflow [data-bs-nav-overflow=\"true\"] {\n display: none;\n }\n\n // Preserve items that should never overflow\n .nav-overflow-keep {\n flex-shrink: 0;\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n// mdo-do: fix nav-link-height and navbar-brand-height, which we previously calculated with font-size, line-height, and block padding\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start navbar-breakpoints\n$navbar-breakpoints: $breakpoints !default;\n// scss-docs-end navbar-breakpoints\n\n$navbar-tokens: () !default;\n$navbar-dark-tokens: () !default;\n$navbar-nav-tokens: () !default;\n\n// scss-docs-start navbar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-tokens: defaults(\n (\n --navbar-padding-x: 0,\n --navbar-padding-y: .5rem,\n --navbar-color: var(--fg-2),\n --navbar-hover-color: var(--fg-1),\n --navbar-disabled-color: var(--fg-3),\n --navbar-active-color: var(--fg-body),\n --navbar-brand-padding-y: .75rem,\n --navbar-brand-margin-end: 1rem,\n --navbar-brand-font-size: var(--font-size-md),\n --navbar-brand-font-weight: var(--font-weight-medium),\n --navbar-brand-color: var(--fg-body),\n --navbar-brand-hover-color: var(--fg-body),\n --navbar-nav-link-padding-x: .75rem,\n --navbar-toggler-width: 2rem,\n --navbar-toggler-padding-y: .25rem,\n --navbar-toggler-padding-x: .75rem,\n --navbar-toggler-font-size: var(--font-size-lg),\n --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent),\n --navbar-toggler-border-radius: var(--border-radius),\n --navbar-toggler-transition: box-shadow .15s ease-in-out,\n ),\n $navbar-tokens\n);\n// scss-docs-end navbar-tokens\n\n// scss-docs-start navbar-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-dark-tokens: defaults(\n (\n --navbar-color: color-mix(in oklch, var(--white) .55, transparent),\n --navbar-hover-color: color-mix(in oklch, var(--white) .75, transparent),\n --navbar-disabled-color: color-mix(in oklch, var(--white) .25, transparent),\n --navbar-active-color: var(--white),\n --navbar-brand-color: var(--white),\n --navbar-brand-hover-color: var(--white),\n --navbar-toggler-border-color: color-mix(in oklch, var(--white) .1, transparent),\n ),\n $navbar-dark-tokens\n);\n// scss-docs-end navbar-dark-tokens\n\n// scss-docs-start navbar-nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-nav-tokens: defaults(\n (\n --nav-gap: .25rem,\n --nav-link-gap: .5rem,\n --nav-link-padding-x: .5rem,\n --nav-link-padding-y: .375rem,\n --nav-link-color: var(--navbar-color),\n --nav-link-border-width: var(--border-width),\n //--nav-link-border-color: var(--border-color),\n --nav-link-hover-color: var(--navbar-hover-color),\n --nav-link-hover-bg: transparent,\n --nav-link-active-color: var(--navbar-active-color),\n --nav-link-active-bg: transparent,\n --nav-link-disabled-color: var(--navbar-disabled-color),\n ),\n $navbar-nav-tokens\n);\n// scss-docs-end navbar-nav-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n // Base navbar\n .navbar {\n @include tokens($navbar-tokens);\n\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--navbar-padding-y) var(--navbar-padding-x);\n @include set-container();\n color: var(--navbar-color, var(--fg-body));\n @include gradient-bg(var(--navbar-bg, var(--bg-body)));\n\n // Container properties for nested containers\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 // Navbar brand\n //\n // Used for brand, project, or site names.\n .navbar-brand {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n margin-inline-end: var(--navbar-brand-margin-end);\n font-size: var(--navbar-brand-font-size);\n font-weight: var(--navbar-brand-font-weight);\n color: var(--navbar-brand-color);\n text-decoration: none;\n white-space: nowrap;\n\n &:hover,\n &:focus {\n color: var(--navbar-brand-hover-color);\n }\n }\n\n // Navigation within navbars. Sets all nav-link CSS variables needed for\n // proper styling.\n //\n // Relies on `.nav` base class.\n .navbar-nav {\n @include tokens($navbar-nav-tokens);\n\n display: flex;\n flex-direction: column;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n &.active,\n &.show {\n color: var(--navbar-active-color);\n border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n }\n }\n }\n\n // Navbar text\n //\n // For adding text or inline elements to the navbar\n .navbar-text {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n color: var(--navbar-color);\n\n a,\n a:hover,\n a:focus {\n color: var(--navbar-active-color);\n }\n }\n\n // Button for toggling the navbar when in its collapsed state\n .navbar-toggler {\n --btn-bg: transparent;\n --btn-hover-bg: var(--bg-2);\n }\n\n // scss-docs-start navbar-expand-loop\n // Generate series of `.navbar-expand-*` responsive classes for configuring\n // where your navbar collapses and expands. Uses container queries so the\n // navbar responds to its own width, not the viewport width.\n\n // Mixin for expanded state styles (applied to descendants)\n @mixin navbar-expanded {\n // Style the inner container since we can't style .navbar itself with container queries\n > .container,\n > .container-fluid,\n %navbar-expand-container {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n\n .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n\n .navbar-toggler {\n display: none !important; // stylelint-disable-line declaration-no-important\n }\n\n .offcanvas {\n // stylelint-disable declaration-no-important\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n @include box-shadow(none);\n @include transition(none);\n // stylelint-enable declaration-no-important\n\n .offcanvas-header {\n display: none;\n }\n\n .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n }\n\n // Always expanded (no responsive behavior)\n .navbar-expand {\n @include navbar-expanded();\n\n // Also set on navbar itself for non-responsive case\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n\n // Responsive navbar expand classes using container queries\n @include loop-breakpoints-down($navbar-breakpoints) using ($breakpoint, $next, $infix) {\n @if $next {\n .navbar-expand#{$infix} {\n @include container-breakpoint-up($next) {\n @include navbar-expanded();\n }\n }\n }\n }\n // scss-docs-end navbar-expand-loop\n\n .navbar-translucent {\n position: relative;\n background-color: transparent;\n\n &::before {\n position: absolute;\n inset: 0;\n z-index: -1;\n content: \"\";\n background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n background-image: none;\n backdrop-filter: blur(5px) saturate(180%);\n }\n }\n\n .navbar[data-bs-theme=\"dark\"] {\n @include tokens($navbar-dark-tokens);\n }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/backdrop\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$offcanvas-tokens: () !default;\n\n// scss-docs-start offcanvas-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$offcanvas-tokens: defaults(\n (\n --offcanvas-inset: var(--spacer),\n --offcanvas-zindex: #{$zindex-offcanvas},\n --offcanvas-width: 400px,\n --offcanvas-height: 30vh,\n --offcanvas-padding-x: var(--spacer),\n --offcanvas-padding-y: var(--spacer),\n --offcanvas-color: var(--fg-body),\n --offcanvas-bg: var(--bg-body),\n --offcanvas-border-width: var(--border-width),\n --offcanvas-border-color: var(--border-color-translucent),\n --offcanvas-border-radius: var(--border-radius-lg),\n --offcanvas-box-shadow: var(--box-shadow-lg),\n --offcanvas-transition: transform .3s ease-in-out,\n --offcanvas-title-line-height: 1.5,\n ),\n $offcanvas-tokens\n);\n// scss-docs-end offcanvas-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$offcanvas-backdrop-tokens: () !default;\n\n// scss-docs-start offcanvas-backdrop-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$offcanvas-backdrop-tokens: defaults(\n (\n --offcanvas-backdrop-bg: var(--bg-body),\n --offcanvas-backdrop-opacity: 25%,\n --offcanvas-backdrop-blur: 8px,\n ),\n $offcanvas-backdrop-tokens\n);\n// scss-docs-end offcanvas-backdrop-tokens\n\n%offcanvas-css-vars {\n @include tokens($offcanvas-tokens);\n}\n\n@layer components {\n // Apply CSS vars to all offcanvas responsive variants\n @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n .offcanvas#{$infix} {\n @extend %offcanvas-css-vars;\n }\n }\n\n // Responsive offcanvas styles\n @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n .offcanvas#{$infix} {\n @include media-breakpoint-down($next) {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n @include border-radius(var(--offcanvas-border-radius));\n outline: 0;\n @include box-shadow(var(--offcanvas-box-shadow));\n @include transition(var(--offcanvas-transition));\n\n // Placement: Start (left in LTR, right in RTL)\n &:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n\n :root:dir(rtl) & {\n transform: translateX(100%);\n }\n }\n\n // Placement: End (right in LTR, left in RTL)\n &:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n\n :root:dir(rtl) & {\n transform: translateX(-100%);\n }\n }\n\n // Placement: Top\n &:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n\n // Placement: Bottom\n &:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n\n // Fullscreen variant - covers entire viewport\n &:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n\n // Show/hide states\n &.showing,\n &.show:not(.hiding) {\n transform: none;\n }\n\n &.showing,\n &.hiding,\n &.show {\n visibility: visible;\n }\n }\n\n // Above breakpoint - show content inline (for responsive offcanvas)\n @if not ($infix == \"\") {\n @include media-breakpoint-up($next) {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important; // stylelint-disable-line declaration-no-important\n\n .offcanvas-header {\n display: none;\n }\n\n .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important; // stylelint-disable-line declaration-no-important\n }\n }\n }\n }\n }\n\n // Backdrop overlay\n .offcanvas-backdrop {\n @include tokens($offcanvas-backdrop-tokens);\n @include overlay-backdrop($zindex-offcanvas-backdrop, var(--offcanvas-backdrop-bg), var(--offcanvas-backdrop-opacity), var(--offcanvas-backdrop-blur));\n }\n\n .offcanvas-translucent {\n background-color: color-mix(in oklch, var(--offcanvas-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n\n // Header with close button\n .offcanvas-header {\n display: flex;\n align-items: center;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n\n .btn-close {\n padding: calc(var(--offcanvas-padding-y) * .5) calc(var(--offcanvas-padding-x) * .5);\n margin-inline-start: auto;\n margin-inline-end: calc(-.5 * var(--offcanvas-padding-x));\n margin-top: calc(-.5 * var(--offcanvas-padding-y));\n margin-bottom: calc(-.5 * var(--offcanvas-padding-y));\n }\n }\n\n // Title\n .offcanvas-title {\n margin-bottom: 0;\n line-height: var(--offcanvas-title-line-height);\n }\n\n // Scrollable body\n .offcanvas-body {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n gap: var(--offcanvas-padding-y);\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n overflow-y: auto;\n }\n\n // Optional footer\n .offcanvas-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: .5rem;\n align-items: center;\n justify-content: flex-end;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n }\n\n .offcanvas-fit-content {\n inset-block-end: auto;\n }\n}\n","// Shared between modals and offcanvases\n@mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity, $backdrop-blur) {\n position: fixed;\n inset: 0;\n z-index: $zindex;\n background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n @if $backdrop-blur {\n backdrop-filter: blur($backdrop-blur);\n }\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: 1; }\n}\n","@use \"functions\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// mdo-do: Update pagination to support variant themes\n\n// stylelint-disable custom-property-no-missing-var-function\n$pagination-tokens: () !default;\n\n// scss-docs-start pagination-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-tokens: defaults(\n (\n --pagination-min-height: var(--btn-input-min-height),\n --pagination-padding-x: var(--btn-input-padding-x),\n --pagination-padding-y: var(--btn-input-padding-y),\n --pagination-font-size: var(--btn-input-font-size),\n --pagination-color: var(--link-color),\n --pagination-bg: var(--bg-body),\n --pagination-border-width: var(--border-width),\n --pagination-border-color: var(--border-color),\n --pagination-border-radius: var(--btn-input-border-radius),\n --pagination-hover-color: var(--link-hover-color),\n --pagination-hover-bg: var(--bg-1),\n --pagination-hover-border-color: var(--border-color),\n --pagination-focus-color: var(--link-hover-color),\n --pagination-focus-bg: var(--bg-2),\n --pagination-active-color: var(--primary-contrast),\n --pagination-active-bg: var(--primary-bg),\n --pagination-active-border-color: var(--primary-bg),\n --pagination-disabled-color: var(--fg-3),\n --pagination-disabled-bg: var(--bg-2),\n --pagination-disabled-border-color: var(--border-color),\n ),\n $pagination-tokens\n);\n// scss-docs-end pagination-tokens\n\n// scss-docs-start pagination-sizes\n$pagination-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-sizes: defaults(\n (\"sm\", \"lg\"),\n $pagination-sizes\n);\n// scss-docs-end pagination-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n .pagination {\n @include tokens($pagination-tokens);\n\n display: flex;\n @include list-unstyled();\n }\n\n .page-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--pagination-min-height);\n padding: var(--pagination-padding-y) var(--pagination-padding-x);\n font-size: var(--pagination-font-size);\n color: var(--pagination-color);\n text-decoration: none;\n background-color: var(--pagination-bg);\n border: var(--pagination-border-width) solid var(--pagination-border-color);\n @include transition(color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out);\n\n &:hover {\n z-index: 2;\n color: var(--pagination-hover-color);\n background-color: var(--pagination-hover-bg);\n border-color: var(--pagination-hover-border-color);\n }\n\n &:focus-visible {\n z-index: 3;\n color: var(--pagination-focus-color);\n background-color: var(--pagination-focus-bg);\n @include focus-ring(true);\n }\n\n &.active,\n .active > & {\n z-index: 3;\n color: var(--pagination-active-color);\n @include gradient-bg(var(--pagination-active-bg));\n border-color: var(--pagination-active-border-color);\n }\n\n &.disabled,\n .disabled > & {\n color: var(--pagination-disabled-color);\n pointer-events: none;\n background-color: var(--pagination-disabled-bg);\n border-color: var(--pagination-disabled-border-color);\n }\n }\n\n .page-item {\n &:not(:first-child) .page-link {\n margin-inline-start: calc(-1 * var(--pagination-border-width));\n }\n\n &:first-child {\n .page-link {\n @include border-start-radius(var(--pagination-border-radius));\n }\n }\n\n &:last-child {\n .page-link {\n @include border-end-radius(var(--pagination-border-radius));\n }\n }\n }\n\n //\n // Sizing\n //\n\n // scss-docs-start pagination-sizes-loop\n @each $size, $_ in $pagination-sizes {\n .pagination-#{$size} {\n --pagination-min-height: var(--bs-btn-input-#{$size}-min-height);\n --pagination-padding-y: var(--btn-input-#{$size}-padding-y);\n --pagination-padding-x: var(--btn-input-#{$size}-padding-x);\n --pagination-font-size: var(--btn-input-#{$size}-font-size);\n --pagination-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n // scss-docs-end pagination-sizes-loop\n}\n","@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n$placeholder-tokens: () !default;\n\n// scss-docs-start placeholder-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$placeholder-tokens: defaults(\n (\n --placeholder-opacity-max: .5,\n --placeholder-opacity-min: .2,\n ),\n $placeholder-tokens\n);\n// scss-docs-end placeholder-tokens\n\n@layer components {\n .placeholder {\n @include tokens($placeholder-tokens);\n\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: var(--placeholder-opacity-max);\n\n &.btn::before {\n display: inline-block;\n content: \"\";\n }\n }\n\n // Sizing\n .placeholder-xs {\n min-height: .6em;\n }\n\n .placeholder-sm {\n min-height: .8em;\n }\n\n .placeholder-lg {\n min-height: 1.2em;\n }\n\n // Animation\n .placeholder-glow {\n .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n }\n }\n\n @keyframes placeholder-glow {\n 50% {\n opacity: var(--placeholder-opacity-min);\n }\n }\n\n .placeholder-wave {\n mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, $black 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n }\n\n @keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$popover-tokens: () !default;\n\n// scss-docs-start popover-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$popover-tokens: defaults(\n (\n --popover-zindex: #{$zindex-popover},\n --popover-max-width: 280px,\n --popover-font-size: var(--font-size-sm),\n --popover-bg: var(--bg-body),\n --popover-border-width: var(--border-width),\n --popover-border-color: var(--border-color-translucent),\n --popover-border-radius: var(--border-radius-lg),\n --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n --popover-box-shadow: var(--box-shadow),\n --popover-header-padding-x: #{$spacer},\n --popover-header-padding-y: #{$spacer * .75},\n --popover-header-font-size: var(--font-size-sm),\n --popover-header-color: #{$headings-color},\n --popover-header-bg: var(--bg-1),\n --popover-body-padding-x: #{$spacer},\n --popover-body-padding-y: #{$spacer * .75},\n --popover-body-color: var(--fg-body),\n --popover-arrow-width: 1rem,\n --popover-arrow-height: .5rem,\n --popover-arrow-border: var(--popover-border-color),\n ),\n $popover-tokens\n);\n// scss-docs-end popover-tokens\n\n@layer components {\n .popover {\n // scss-docs-start popover-css-vars\n @include tokens($popover-tokens);\n // scss-docs-end popover-css-vars\n\n z-index: var(--popover-zindex);\n display: block;\n max-width: var(--popover-max-width);\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: var(--popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: var(--popover-bg);\n background-clip: padding-box;\n border: var(--popover-border-width) solid var(--popover-border-color);\n @include border-radius(var(--popover-border-radius));\n @include box-shadow(var(--popover-box-shadow));\n\n .popover-arrow {\n display: block;\n width: var(--popover-arrow-width);\n height: var(--popover-arrow-height);\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n }\n }\n }\n\n .bs-popover-top {\n > .popover-arrow {\n bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n &::before,\n &::after {\n border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n }\n\n &::before {\n bottom: 0;\n border-block-start-color: var(--popover-arrow-border);\n }\n\n &::after {\n bottom: var(--popover-border-width);\n border-block-start-color: var(--popover-bg);\n }\n }\n }\n\n .bs-popover-end {\n > .popover-arrow {\n left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n\n &::before,\n &::after {\n border-width: calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n }\n\n &::before {\n left: 0;\n border-inline-end-color: var(--popover-arrow-border);\n }\n\n &::after {\n left: var(--popover-border-width);\n border-inline-end-color: var(--popover-bg);\n }\n }\n }\n\n .bs-popover-bottom {\n > .popover-arrow {\n top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n &::before,\n &::after {\n border-width: 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n }\n\n &::before {\n top: 0;\n border-block-end-color: var(--popover-arrow-border);\n }\n\n &::after {\n top: var(--popover-border-width);\n border-block-end-color: var(--popover-bg);\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--popover-arrow-width);\n margin-inline-start: calc(-.5 * var(--popover-arrow-width));\n content: \"\";\n border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n }\n }\n\n .bs-popover-start {\n > .popover-arrow {\n right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n\n &::before,\n &::after {\n border-width: calc(var(--popover-arrow-width) * .5) 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n }\n\n &::before {\n right: 0;\n border-inline-start-color: var(--popover-arrow-border);\n }\n\n &::after {\n right: var(--popover-border-width);\n border-inline-start-color: var(--popover-bg);\n }\n }\n }\n\n .bs-popover-auto {\n &[data-bs-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[data-bs-placement^=\"right\"] {\n @extend .bs-popover-end;\n }\n &[data-bs-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[data-bs-placement^=\"left\"] {\n @extend .bs-popover-start;\n }\n }\n\n // Offset the popover to account for the popover arrow\n .popover-header {\n padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n margin-bottom: 0; // Reset the default from Reboot\n font-size: var(--popover-header-font-size);\n color: var(--popover-header-color);\n background-color: var(--popover-header-bg);\n border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n @include border-top-radius(var(--popover-inner-border-radius));\n\n &:empty {\n display: none;\n }\n }\n\n .popover-body {\n padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n color: var(--popover-body-color);\n }\n}\n","@use \"config\" as *;\n@use \"functions\" 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 \"mixins/tokens\" as *;\n\n$progress-tokens: () !default;\n\n// scss-docs-start progress-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$progress-tokens: defaults(\n (\n --progress-height: 1rem,\n --progress-font-size: var(--font-size-sm),\n --progress-bg: var(--bg-2),\n --progress-border-radius: var(--border-radius),\n --progress-box-shadow: var(--box-shadow-inset),\n --progress-bar-color: var(--white),\n --progress-bar-bg: var(--primary-bg),\n --progress-bar-transition: width .6s ease,\n --progress-bar-animation: progress-bar-stripes 1s linear infinite,\n ),\n $progress-tokens\n);\n// scss-docs-end progress-tokens\n\n// Disable animation if transitions are disabled\n\n@layer components {\n // scss-docs-start progress-keyframes\n @if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: var(--progress-height); }\n }\n }\n // scss-docs-end progress-keyframes\n\n .progress,\n .progress-stacked {\n @include tokens($progress-tokens);\n\n display: flex;\n height: var(--progress-height);\n overflow: hidden;\n font-size: var(--progress-font-size);\n background-color: var(--progress-bg);\n @include border-radius(var(--progress-border-radius));\n @include box-shadow(var(--progress-box-shadow));\n }\n\n .progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--theme-contrast, var(--progress-bar-color));\n text-align: center;\n white-space: nowrap;\n background-color: var(--theme-bg, var(--progress-bar-bg));\n @include transition(var(--progress-bar-transition));\n }\n\n .progress-bar-striped {\n @include gradient-striped();\n background-size: var(--progress-height) var(--progress-height);\n }\n\n .progress-stacked > .progress {\n overflow: visible;\n }\n\n .progress-stacked > .progress > .progress-bar {\n width: 100%;\n }\n\n @if $enable-transitions {\n .progress-bar-animated {\n animation: var(--progress-bar-animation);\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$spinner-border-tokens: () !default;\n\n// scss-docs-start spinner-border-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-border-tokens: defaults(\n (\n --spinner-width: 2rem,\n --spinner-height: 2rem,\n --spinner-vertical-align: -.125em,\n --spinner-border-width: .25em,\n --spinner-animation-speed: .75s,\n --spinner-animation-name: spinner-border,\n ),\n $spinner-border-tokens\n);\n// scss-docs-end spinner-border-tokens\n\n$spinner-grow-tokens: () !default;\n\n// scss-docs-start spinner-grow-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-grow-tokens: defaults(\n (\n --spinner-width: 2rem,\n --spinner-height: 2rem,\n --spinner-vertical-align: -.125em,\n --spinner-animation-speed: .75s,\n --spinner-animation-name: spinner-grow,\n ),\n $spinner-grow-tokens\n);\n// scss-docs-end spinner-grow-tokens\n\n// stylelint-enable custom-property-no-missing-var-function\n\n//\n// Rotating border\n//\n\n@layer components {\n // mdo-do: Refactor this to assume flex parent and remove `vertical-align`\n .spinner-grow,\n .spinner-border {\n display: inline-block;\n flex-shrink: 0;\n width: var(--spinner-width);\n height: var(--spinner-height);\n vertical-align: var(--spinner-vertical-align);\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n }\n\n // scss-docs-start spinner-border-keyframes\n @keyframes spinner-border {\n to { transform: rotate(360deg); }\n }\n // scss-docs-end spinner-border-keyframes\n\n .spinner-border {\n @include tokens($spinner-border-tokens);\n\n border: var(--spinner-border-width) solid currentcolor;\n border-inline-end-color: transparent;\n }\n\n .spinner-border-sm {\n // scss-docs-start spinner-border-sm-css-vars\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n --spinner-border-width: .2em;\n // scss-docs-end spinner-border-sm-css-vars\n }\n\n //\n // Growing circle\n //\n\n // scss-docs-start spinner-grow-keyframes\n @keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n }\n // scss-docs-end spinner-grow-keyframes\n\n .spinner-grow {\n @include tokens($spinner-grow-tokens);\n\n background-color: currentcolor;\n opacity: 0;\n }\n\n .spinner-grow-sm {\n // scss-docs-start spinner-grow-sm-css-vars\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n // scss-docs-end spinner-grow-sm-css-vars\n }\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --spinner-animation-speed: 1.5s;\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$stepper-tokens: () !default;\n\n// scss-docs-start stepper-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$stepper-tokens: defaults(\n (\n --stepper-size: 2rem,\n --stepper-gap: 1rem,\n --stepper-font-size: var(--font-size-sm),\n --stepper-text-gap: .5rem,\n --stepper-track-size: .125rem,\n --stepper-bg: var(--bg-2),\n --stepper-active-color: var(--primary-contrast),\n --stepper-active-bg: var(--primary-bg),\n ),\n $stepper-tokens\n);\n// scss-docs-end stepper-tokens\n\n// scss-docs-start stepper-horizontal-mixin\n@mixin stepper-horizontal() {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n\n .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n\n &::after {\n inset-block-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n\n &:last-child::after {\n right: 100%;\n }\n }\n}\n// scss-docs-end stepper-horizontal-mixin\n\n@layer components {\n .stepper {\n @include tokens($stepper-tokens);\n\n display: grid;\n grid-auto-rows: 1fr;\n grid-auto-flow: row;\n gap: var(--stepper-gap);\n padding-inline-start: 0;\n list-style: none;\n counter-reset: stepper;\n }\n\n .stepper-item {\n position: relative;\n display: grid;\n grid-template-rows: auto;\n grid-template-columns: var(--stepper-size) auto;\n gap: var(--stepper-text-gap);\n align-items: var(--stepper-align-items, center);\n text-decoration: none;\n\n // The counter\n &::before {\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--stepper-size);\n height: var(--stepper-size);\n padding: .5rem;\n font-size: var(--stepper-font-size);\n font-weight: 600;\n line-height: 1;\n text-align: center;\n content: counter(stepper);\n counter-increment: stepper;\n background-color: var(--stepper-bg);\n @include border-radius(50%);\n }\n\n // Connecting lines\n &::after {\n position: absolute;\n inset-block-start: 50%;\n inset-block-end: 100%;\n inset-inline-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n width: var(--stepper-track-size);\n height: calc(100% + var(--stepper-gap));\n content: \"\";\n background-color: var(--stepper-bg);\n }\n\n // Avoid sibling selector for easier CSS overrides\n &:last-child::after {\n display: none;\n }\n\n &.active {\n &::before,\n &::after {\n color: var(--theme-contrast, var(--stepper-active-color));\n background-color: var(--theme-bg, var(--stepper-active-bg));\n }\n }\n }\n\n // Targets the last .active element from a sequence of active elements\n .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n background-color: var(--stepper-bg);\n }\n\n .stepper-horizontal {\n @include stepper-horizontal();\n }\n\n @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n @if $next {\n .stepper-horizontal#{$infix} {\n @include container-breakpoint-up($next) {\n @include stepper-horizontal();\n }\n }\n }\n }\n\n // scss-docs-start stepper-overflow\n .stepper-overflow {\n container-type: inline-size;\n overflow-x: auto;\n overscroll-behavior-x: contain;\n -webkit-overflow-scrolling: touch;\n\n > .stepper {\n width: max-content;\n min-width: 100%;\n }\n }\n // scss-docs-end stepper-overflow\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$toast-tokens: () !default;\n\n// scss-docs-start toast-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$toast-tokens: defaults(\n (\n --toast-zindex: #{$zindex-toast},\n --toast-padding-x: .75rem,\n --toast-padding-y: .5rem,\n --toast-spacing: #{$container-padding-x},\n --toast-max-width: 350px,\n --toast-font-size: .875rem,\n --toast-color: null,\n --toast-bg: rgba(var(--body-bg-rgb), .85),\n --toast-border-width: var(--border-width),\n --toast-border-color: var(--border-color-translucent),\n --toast-border-radius: var(--border-radius),\n --toast-box-shadow: var(--box-shadow),\n --toast-header-color: var(--fg-3),\n --toast-header-bg: rgba(var(--body-bg-rgb), .85),\n --toast-header-border-color: var(--border-color-translucent),\n ),\n $toast-tokens\n);\n// stylelint-enable custom-property-no-missing-var-function\n// scss-docs-end toast-tokens\n\n@layer components {\n .toast {\n @include tokens($toast-tokens);\n\n width: var(--toast-max-width);\n max-width: 100%;\n font-size: var(--toast-font-size);\n color: var(--toast-color);\n pointer-events: auto;\n background-color: var(--toast-bg);\n background-clip: padding-box;\n border: var(--toast-border-width) solid var(--toast-border-color);\n box-shadow: var(--toast-box-shadow);\n @include border-radius(var(--toast-border-radius));\n\n &.showing {\n opacity: 0;\n }\n\n &:not(.show) {\n display: none;\n }\n }\n\n .toast-container {\n --toast-zindex: #{$zindex-toast};\n\n position: absolute;\n z-index: var(--toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n\n > :not(:last-child) {\n margin-bottom: var(--toast-spacing);\n }\n }\n\n .toast-header {\n display: flex;\n align-items: center;\n padding: var(--toast-padding-y) var(--toast-padding-x);\n color: var(--toast-header-color);\n background-color: var(--toast-header-bg);\n background-clip: padding-box;\n border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n @include border-top-radius(calc(var(--toast-border-radius) - var(--toast-border-width)));\n\n .btn-close {\n margin-inline-start: var(--toast-padding-x);\n margin-inline-end: calc(-.5 * var(--toast-padding-x));\n }\n }\n\n .toast-translucent {\n backdrop-filter: blur(5px) saturate(180%);\n }\n\n .toast-body {\n padding: var(--toast-padding-x);\n word-wrap: break-word;\n }\n}\n","@use \"config\" 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","@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: $icon-link-gap;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n text-underline-offset: $icon-link-underline-offset;\n backface-visibility: hidden;\n\n > .bi {\n flex-shrink: 0;\n width: $icon-link-icon-size;\n height: $icon-link-icon-size;\n fill: currentcolor;\n @include transition($icon-link-icon-transition);\n }\n }\n\n .icon-link-hover {\n &:hover,\n &:focus-visible {\n > .bi {\n transform: var(--icon-link-transform, $icon-link-icon-transform);\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: $zindex-fixed;\n }\n\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: $zindex-fixed;\n }\n\n // Responsive sticky top and bottom\n @each $breakpoint in map.keys($breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $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 \"../layout/breakpoints\" as *;\n\n@layer helpers {\n // scss-docs-start stacks\n .stack-container {\n @include set-container();\n }\n\n [class*=\"hstack\"],\n [class*=\"vstack\"] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n\n @include loop-breakpoints-up() using ($breakpoint, $infix) {\n .vstack#{$infix} {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n .hstack#{$infix} {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n }\n // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n @include generate-theme-classes();\n}\n","@use \"sass:meta\";\n@use \"sass:map\";\n\n@function theme-color-values($key) {\n $result: ();\n\n @each $color-name, $color-map in $theme-colors {\n @if map.has-key($color-map, $key) {\n $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n }\n }\n\n @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n $result: ();\n\n @each $key, $value in $opacities {\n @if $key == 100 {\n // For 100%, use direct variable reference (more efficient)\n $result: map.merge($result, ($key: var($color-var)));\n } @else {\n // For other values, use color-mix()\n $percentage: $key * 1%;\n $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n }\n }\n\n @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n @each $color-name, $color-map in $theme-colors {\n .theme-#{$color-name} {\n @each $key, $value in $color-map {\n --theme-#{$key}: var(--#{$color-name}-#{$key});\n }\n }\n }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n @each $key, $value in $map {\n // stylelint-disable-next-line scss/at-function-named-arguments\n $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n @if meta.type-of($value) == \"map\" {\n @include create-css-vars($value, $current-key);\n } @else {\n --#{$current-key}: #{$value};\n }\n }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n \"primary\": (\n \"base\": var(--blue-500),\n \"text\": light-dark(var(--blue-600), var(--blue-400)),\n \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n \"bg\": var(--blue-500),\n \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n \"border\": light-dark(var(--blue-300), var(--blue-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"accent\": (\n \"base\": var(--indigo-500),\n \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n \"bg\": var(--indigo-500),\n \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"success\": (\n \"base\": var(--green-500),\n \"text\": light-dark(var(--green-600), var(--green-400)),\n \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n \"bg\": var(--green-500),\n \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n \"border\": light-dark(var(--green-300), var(--green-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"danger\": (\n \"base\": var(--red-500),\n \"text\": light-dark(var(--red-600), var(--red-400)),\n \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n \"bg\": var(--red-500),\n \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n \"border\": light-dark(var(--red-300), var(--red-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"warning\": (\n \"base\": var(--yellow-500),\n \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n \"bg\": var(--yellow-500),\n \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"info\": (\n \"base\": var(--cyan-500),\n \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n \"bg\": var(--cyan-500),\n \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"inverse\": (\n \"base\": var(--gray-900),\n \"text\": light-dark(var(--gray-900), var(--gray-200)),\n \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n \"border\": light-dark(var(--gray-400), var(--gray-100)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--white), var(--gray-900))\n ),\n \"secondary\": (\n \"base\": var(--gray-200),\n \"text\": light-dark(var(--gray-600), var(--gray-400)),\n \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n \"border\": light-dark(var(--gray-300), var(--gray-600)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--gray-900), var(--white))\n )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n \"body\": light-dark(var(--white), var(--gray-975)),\n \"1\": light-dark(var(--gray-025), var(--gray-950)),\n \"2\": light-dark(var(--gray-050), var(--gray-900)),\n \"3\": light-dark(var(--gray-100), var(--gray-800)),\n \"4\": light-dark(var(--gray-200), var(--gray-700)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"transparent\": transparent,\n \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n \"body\": light-dark(var(--gray-900), var(--gray-050)),\n \"1\": light-dark(var(--gray-800), var(--gray-200)),\n \"2\": light-dark(var(--gray-700), var(--gray-300)),\n \"3\": light-dark(var(--gray-600), var(--gray-500)),\n \"4\": light-dark(var(--gray-500), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n \"bg\": var(--bg-body),\n \"body\": light-dark(var(--gray-300), var(--gray-800)),\n \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n 10: .1,\n 20: .2,\n 30: .3,\n 40: .4,\n 50: .5,\n 60: .6,\n 70: .7,\n 80: .8,\n 90: .9,\n 100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n\n // Fix for positioned table caption that could become anonymous cells\n &:not(caption) {\n position: absolute !important;\n }\n\n // Fix to prevent overflowing children to become focusable\n * {\n overflow: hidden !important;\n }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n &:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n .stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n inset: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n .text-truncate {\n @include text-truncate();\n }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../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($breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $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 // 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\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n // Validate required keys\n @if not map.has-key($utility, property) {\n @error \"Utility is missing required `property` key: #{$utility}\";\n }\n @if not map.has-key($utility, values) {\n @error \"Utility is missing required `values` key: #{$utility}\";\n }\n\n // Warn on unknown keys (likely typos)\n $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n @each $key in map.keys($utility) {\n @if not list.index($valid-keys, $key) {\n @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n }\n }\n\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selectorType) {\n @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selectorType != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n }\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n // Calculate infix once, before the loop\n // Note: $infix already includes the leading dash from breakpoint-infix()\n // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n // @debug \"Properties type: #{meta.type-of($properties)}\";\n // @debug \"Properties: #{$properties}\";\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n // For property maps, we need to determine the class from the utility definition\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // Use custom CSS variable name if present, otherwise default to `class`\n // mdo-do: restore?\n // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $infix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n // Use the fallback of the first property if no `class` key is used\n @if $customClass != \"\" {\n $selector: \".#{$customClass + $infix + $customClassModifier}\";\n } @else {\n $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n"],"names":[]}
\ No newline at end of file
+{"version":3,"sourceRoot":null,"mappings":"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","sources":["bootstrap.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_config.scss","../../scss/mixins/_border-radius.scss","../../scss/content/_type.scss","../../scss/mixins/_lists.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/content/_prose.scss","../../scss/mixins/_transition.scss","../../scss/layout/_containers.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_focus-ring.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_check.scss","../../scss/forms/_radio.scss","../../scss/forms/_switch.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/forms/_strength.scss","../../scss/forms/_otp-input.scss","../../scss/forms/_form-adorn.scss","../../scss/forms/_chip-input.scss","../../scss/forms/_combobox.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/forms/_validation.scss","../../scss/forms/_form-variables.scss","../../scss/buttons/_button.scss","../../scss/buttons/_button-group.scss","../../scss/buttons/_close.scss","../../scss/_accordion.scss","../../scss/_alert.scss","../../scss/_avatar.scss","../../scss/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_chip.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/mixins/_color-mode.scss","../../scss/_datepicker.scss","../../scss/_dialog.scss","../../scss/_menu.scss","../../scss/_list-group.scss","../../scss/_nav.scss","../../scss/_nav-overflow.scss","../../scss/_navbar.scss","../../scss/_offcanvas.scss","../../scss/mixins/_backdrop.scss","../../scss/_pagination.scss","../../scss/_placeholder.scss","../../scss/_popover.scss","../../scss/_progress.scss","../../scss/_spinner.scss","../../scss/_stepper.scss","../../scss/_toasts.scss","../../scss/_transitions.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"sourcesContent":["@charset \"UTF-8\";\n/*!\n * Bootstrap v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n --blue-500: oklch(60% 0.24 240deg);\n --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n --indigo-500: oklch(56% 0.26 288deg);\n --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n --violet-500: oklch(56% 0.24 300deg);\n --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n --purple-500: oklch(56% 0.24 320deg);\n --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n --pink-500: oklch(60% 0.22 4deg);\n --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n --red-500: oklch(60% 0.22 20deg);\n --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n --orange-500: oklch(70% 0.22 52deg);\n --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n --amber-500: oklch(79% 0.2 78deg);\n --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n --yellow-500: oklch(88% 0.24 88deg);\n --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n --lime-500: oklch(65% 0.24 135deg);\n --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n --green-500: oklch(64% 0.22 160deg);\n --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n --teal-500: oklch(68% 0.22 190deg);\n --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n --cyan-500: oklch(69% 0.22 220deg);\n --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n --brown-500: oklch(60% 0.12 54deg);\n --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n --gray-500: oklch(60% 0.02 245deg);\n --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n --pewter-500: oklch(65% 0.01 290deg);\n --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n --black: #000;\n --white: #fff;\n --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n --font-weight-lighter: lighter;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-bolder: bolder;\n --body-font-family: system-ui;\n --body-font-size: var(--font-size-base);\n --body-font-weight: 400;\n --body-line-height: 1.5;\n --heading-color: inherit;\n --hr-border-color: var(--border-color);\n --link-color: light-dark(var(--primary-base), var(--primary-text));\n --link-decoration: underline;\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --code-font-size: 95%;\n --code-color: var(--fg-2);\n --border-width: 1px;\n --border-style: solid;\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --border-radius: 0.5rem;\n --border-radius-xs: 0.375rem;\n --border-radius-sm: 0.5rem;\n --border-radius-lg: 0.75rem;\n --border-radius-xl: 1rem;\n --border-radius-2xl: 2rem;\n --border-radius-pill: 50rem;\n --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --spacer: 1rem;\n --focus-ring-width: 3px;\n --focus-ring-offset: 1px;\n --focus-ring-color: var(--primary-focus-ring);\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n --control-checked-bg: var(--primary-base);\n --control-checked-border-color: var(--control-checked-bg);\n --control-active-bg: var(--primary-base);\n --control-active-border-color: var(--control-active-bg);\n --control-disabled-bg: var(--bg-3);\n --control-disabled-opacity: 0.65;\n --btn-input-fg: var(--fg-body);\n --btn-input-bg: var(--bg-body);\n --btn-input-min-height: 2.375rem;\n --btn-input-padding-y: 0.375rem;\n --btn-input-padding-x: 0.75rem;\n --btn-input-font-size: var(--font-size-base);\n --btn-input-line-height: var(--line-height-base);\n --btn-input-border-radius: var(--border-radius);\n --btn-input-xs-min-height: 1.5rem;\n --btn-input-xs-padding-y: 0.125rem;\n --btn-input-xs-padding-x: 0.5rem;\n --btn-input-xs-font-size: var(--font-size-xs);\n --btn-input-xs-line-height: 1.125;\n --btn-input-xs-border-radius: var(--border-radius-xs);\n --btn-input-sm-min-height: 2rem;\n --btn-input-sm-padding-y: 0.25rem;\n --btn-input-sm-padding-x: 0.625rem;\n --btn-input-sm-font-size: var(--font-size-sm);\n --btn-input-sm-line-height: var(--line-height-sm);\n --btn-input-sm-border-radius: var(--border-radius-sm);\n --btn-input-lg-min-height: 2.75rem;\n --btn-input-lg-padding-y: 0.5rem;\n --btn-input-lg-padding-x: 1rem;\n --btn-input-lg-font-size: var(--font-size-md);\n --btn-input-lg-line-height: var(--line-height-md);\n --btn-input-lg-border-radius: var(--border-radius-lg);\n --form-valid-color: var(--success-text);\n --form-valid-border-color: var(--success-text);\n --form-invalid-color: var(--danger-text);\n --form-invalid-border-color: var(--danger-text);\n --font-size-xs: 0.75rem;\n --line-height-xs: 1.25;\n --font-size-sm: 0.875rem;\n --line-height-sm: 1.5;\n --font-size-md: 1rem;\n --line-height-md: 1.5;\n --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n --line-height-lg: 1.5;\n --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n --line-height-xl: 1.4285714286;\n --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n --line-height-2xl: 1.3333333333;\n --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n --line-height-3xl: 1.2;\n --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n --line-height-4xl: 1.1;\n --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n --line-height-5xl: 1.1;\n --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n --line-height-6xl: 1;\n --primary-base: var(--blue-500);\n --primary-text: light-dark(var(--blue-600), var(--blue-400));\n --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n --primary-bg: var(--blue-500);\n --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n --primary-border: light-dark(var(--blue-300), var(--blue-600));\n --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n --primary-contrast: var(--white);\n --accent-base: var(--indigo-500);\n --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n --accent-bg: var(--indigo-500);\n --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n --accent-contrast: var(--white);\n --success-base: var(--green-500);\n --success-text: light-dark(var(--green-600), var(--green-400));\n --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n --success-bg: var(--green-500);\n --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n --success-border: light-dark(var(--green-300), var(--green-600));\n --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n --success-contrast: var(--white);\n --danger-base: var(--red-500);\n --danger-text: light-dark(var(--red-600), var(--red-400));\n --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n --danger-bg: var(--red-500);\n --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n --danger-border: light-dark(var(--red-300), var(--red-600));\n --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n --danger-contrast: var(--white);\n --warning-base: var(--yellow-500);\n --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n --warning-bg: var(--yellow-500);\n --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n --warning-contrast: var(--gray-900);\n --info-base: var(--cyan-500);\n --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n --info-bg: var(--cyan-500);\n --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n --info-contrast: var(--gray-900);\n --inverse-base: var(--gray-900);\n --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n --inverse-contrast: light-dark(var(--white), var(--gray-900));\n --secondary-base: var(--gray-200);\n --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n --secondary-contrast: light-dark(var(--gray-900), var(--white));\n --bg-body: light-dark(var(--white), var(--gray-975));\n --bg-1: light-dark(var(--gray-025), var(--gray-950));\n --bg-2: light-dark(var(--gray-050), var(--gray-900));\n --bg-3: light-dark(var(--gray-100), var(--gray-800));\n --bg-4: light-dark(var(--gray-200), var(--gray-700));\n --bg-white: var(--white);\n --bg-black: var(--black);\n --bg-transparent: transparent;\n --bg-inherit: inherit;\n --fg-body: light-dark(var(--gray-900), var(--gray-050));\n --fg-1: light-dark(var(--gray-800), var(--gray-200));\n --fg-2: light-dark(var(--gray-700), var(--gray-300));\n --fg-3: light-dark(var(--gray-600), var(--gray-500));\n --fg-4: light-dark(var(--gray-500), var(--gray-600));\n --fg-white: var(--white);\n --fg-black: var(--black);\n --fg-inherit: inherit;\n --border-bg: var(--bg-body);\n --border-body: light-dark(var(--gray-300), var(--gray-800));\n --border-muted: light-dark(var(--gray-200), var(--gray-800));\n --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n --border-white: var(--white);\n --border-black: var(--black);\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n color-scheme: light;\n}\n\n@layer reboot {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n :root {\n accent-color: var(--primary-base);\n }\n @media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n }\n body {\n margin: 0;\n font-family: var(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n h6,\n .h6, h5,\n .h5, h4,\n .h4, h3,\n .h3, h2,\n .h2, h1,\n .h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n color: var(--heading-color);\n }\n h1,\n .h1 {\n font-size: var(--font-size-3xl);\n }\n h2,\n .h2 {\n font-size: var(--font-size-2xl);\n }\n h3,\n .h3 {\n font-size: var(--font-size-xl);\n }\n h4,\n .h4 {\n font-size: var(--font-size-lg);\n }\n h5,\n .h5 {\n font-size: var(--font-size-md);\n }\n h6,\n .h6 {\n font-size: var(--font-size-sm);\n }\n p {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n abbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n }\n address {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n }\n ol,\n ul {\n padding-inline-start: 2rem;\n }\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n dt {\n font-weight: 700;\n }\n dd {\n margin-inline-start: 0;\n margin-bottom: 0.5rem;\n }\n blockquote {\n margin: 0 0 1rem;\n }\n blockquote > * {\n margin-block: 0;\n }\n b,\n strong {\n font-weight: bolder;\n }\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n mark,\n .mark {\n --mark-padding: 0.1875em;\n --mark-color: var(--fg-body);\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, 0.75em);\n line-height: 0;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n a {\n color: var(--theme-text, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: 0.2em;\n }\n a:hover {\n color: var(--theme-text-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-decoration));\n }\n a:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n }\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em;\n }\n pre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n }\n pre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n code {\n font-size: var(--code-font-size);\n color: var(--code-color);\n word-wrap: break-word;\n }\n a > code {\n color: inherit;\n }\n kbd {\n --kbd-padding-y: 0.125rem;\n --kbd-padding-x: 0.25rem;\n --kbd-font-size: var(--font-size-xs);\n --kbd-color: var(--bg-body);\n --kbd-bg: var(--fg-2);\n --kbd-border-radius: var(--border-radius-sm);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n border-radius: var(--kbd-border-radius);\n }\n kbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: inherit;\n }\n figure {\n margin: 0 0 1rem;\n }\n img,\n svg {\n vertical-align: middle;\n }\n table {\n caption-side: bottom;\n border-collapse: collapse;\n }\n caption {\n padding-block: 0.5rem;\n color: var(--fg-3);\n text-align: start;\n }\n th {\n text-align: inherit;\n text-align: -webkit-match-parent;\n }\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n label {\n display: inline-block;\n }\n button {\n border-radius: 0;\n }\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n button,\n select {\n text-transform: none;\n }\n [role=button] {\n cursor: pointer;\n }\n select {\n word-wrap: normal;\n }\n select:disabled {\n opacity: 1;\n }\n [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n }\n button,\n [type=button],\n [type=reset],\n [type=submit] {\n -webkit-appearance: button;\n }\n button:not(:disabled),\n [type=button]:not(:disabled),\n [type=reset]:not(:disabled),\n [type=submit]:not(:disabled) {\n cursor: pointer;\n }\n ::-moz-focus-inner {\n padding: 0;\n border-style: none;\n }\n textarea {\n resize: vertical;\n }\n fieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n }\n legend {\n float: inline-start;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n }\n legend + * {\n clear: inline-start;\n }\n ::-webkit-datetime-edit-fields-wrapper,\n ::-webkit-datetime-edit-text,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-ampm-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-week-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-year-field {\n padding: 0;\n }\n ::-webkit-inner-spin-button {\n height: auto;\n }\n [type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n [type=search]::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n }\n [type=tel],\n [type=url],\n [type=email],\n [type=number] {\n direction: ltr;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n ::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n }\n output {\n display: inline-block;\n }\n iframe {\n border: 0;\n }\n summary {\n display: list-item;\n cursor: pointer;\n }\n progress {\n vertical-align: baseline;\n }\n [hidden] {\n display: none !important;\n }\n}\n@layer content {\n .list-unstyled {\n padding-inline-start: 0;\n list-style: none;\n }\n .list-inline {\n padding-inline-start: 0;\n list-style: none;\n }\n .list-inline-item {\n display: inline-block;\n }\n .list-inline-item:not(:last-child) {\n margin-inline-end: var(--list-inline-padding, var(--spacer)/2);\n }\n .initialism {\n font-size: var(--initialism-font-size, var(--font-size-xs));\n text-transform: uppercase;\n }\n .blockquote {\n --blockquote-gap: calc(var(--spacer) / 2);\n --blockquote-padding-x: var(--spacer);\n --blockquote-margin-y: 1rem;\n --blockquote-font-size: var(--font-size-md);\n --blockquote-border-width: 0.25rem;\n --blockquote-border-color: var(--border-color);\n --blockquote-footer-font-size: var(--font-size-sm);\n --blockquote-footer-color: var(--fg-3);\n display: flex;\n flex-direction: column;\n gap: var(--blockquote-gap);\n padding-inline-start: var(--blockquote-padding-x);\n margin-bottom: var(--blockquote-margin-y);\n font-size: var(--blockquote-font-size);\n border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n }\n .blockquote > * {\n margin-bottom: 0;\n }\n figure.blockquote blockquote {\n margin-bottom: 0;\n }\n .blockquote-footer {\n font-size: var(--blockquote-footer-font-size);\n color: var(--blockquote-footer-color);\n }\n .blockquote-footer::before {\n content: \"— \";\n }\n}\n@layer content {\n .table {\n --table-cell-padding-y: 0.5rem;\n --table-cell-padding-x: 0.5rem;\n --table-cell-vertical-align: top;\n --table-color: var(--fg-body);\n --table-bg: var(--bg-body);\n --table-accent-bg: transparent;\n --table-border-width: var(--border-width);\n --table-border-color: var(--border-color);\n --table-group-separator-color: currentcolor;\n --table-striped-color: var(--table-color);\n --table-striped-bg-factor: 0.05;\n --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent);\n --table-active-color: var(--table-color);\n --table-active-bg-factor: 0.1;\n --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent);\n --table-hover-color: var(--table-color);\n --table-hover-bg-factor: 0.075;\n --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent);\n --table-color-type: initial;\n --table-bg-type: initial;\n --table-color-state: initial;\n --table-bg-state: initial;\n width: 100%;\n margin-bottom: 1rem;\n vertical-align: var(--table-cell-vertical-align);\n border-color: var(--theme-border, var(--table-border-color));\n }\n .table > :not(caption) > * > * {\n padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n background-color: var(--theme-bg-subtle, var(--table-bg));\n border-block-end-width: var(--table-border-width);\n box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n }\n .table > tbody {\n vertical-align: inherit;\n }\n .table > thead {\n vertical-align: bottom;\n }\n .table-group-divider {\n border-block-start: calc(var(--table-border-width) * 2) solid var(--table-group-separator-color);\n }\n .caption-top {\n caption-side: top;\n }\n .table-sm > :not(caption) > * > * {\n --table-cell-padding-y: .25rem;\n --table-cell-padding-x: .25rem;\n }\n .table-bordered > :not(caption) > * {\n border-width: var(--table-border-width) 0;\n }\n .table-bordered > :not(caption) > * > * {\n border-width: 0 var(--table-border-width);\n }\n .table-borderless > :not(caption) > * > * {\n border-block-end-width: 0;\n }\n .table-borderless > :not(:first-child) {\n border-block-start-width: 0;\n }\n .table-striped > tbody > tr:nth-of-type(odd) > * {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n .table-striped-columns > :not(caption) > tr > :nth-child(even) {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n .table-active {\n --table-color-state: var(--theme-text, var(--table-active-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n }\n .table-hover > tbody > tr:hover > * {\n --table-color-state: var(--theme-text, var(--table-hover-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n }\n .table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n @media (width < 576px) {\n .sm\\:table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 768px) {\n .md\\:table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 1024px) {\n .lg\\:table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 1280px) {\n .xl\\:table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n @media (width < 1536px) {\n .\\32 xl\\:table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n@layer content {\n .img-fluid {\n max-width: 100%;\n height: auto;\n }\n .img-thumbnail {\n --thumbnail-padding: 0.25rem;\n --thumbnail-bg: var(--bg-body);\n --thumbnail-border-width: var(--border-width);\n --thumbnail-border-color: var(--border-color);\n --thumbnail-border-radius: var(--border-radius);\n --thumbnail-box-shadow: var(--box-shadow-sm);\n padding: var(--thumbnail-padding);\n background-color: var(--thumbnail-bg);\n border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n border-radius: var(--thumbnail-border-radius);\n box-shadow: var(--thumbnail-box-shadow);\n max-width: 100%;\n height: auto;\n }\n .figure {\n --figure-gap: calc(var(--spacer) * 0.5);\n --figure-caption-font-size: var(--font-size-sm);\n --figure-caption-color: var(--fg-3);\n display: flex;\n flex-direction: column;\n gap: var(--figure-gap);\n }\n .figure-caption {\n font-size: var(--figure-caption-font-size);\n color: var(--figure-caption-color);\n }\n}\n@layer content {\n .prose {\n --content-font-size: 1rem;\n --content-gap: 20px;\n --heading-color: light-dark(var(--gray-900), var(--white));\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--content-gap);\n max-width: 1000px;\n margin-inline: auto;\n font-size: var(--content-font-size);\n line-height: 1.5;\n }\n @media (width >= 1024px) {\n .prose {\n --content-font-size: var(--font-size-md);\n --content-gap: 24px;\n }\n }\n .prose :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n margin-block: 0;\n }\n .prose :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n margin-bottom: calc(var(--content-gap) / 4);\n }\n .prose :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) / 4);\n }\n .prose :where(hr):not(:where(.not-prose, .not-prose *)) {\n margin: calc(var(--content-gap) * 1.5) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n margin-top: 0;\n margin-bottom: calc(var(--content-gap) / -2);\n font-weight: 500;\n line-height: 1.25;\n }\n .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) code {\n font-weight: 600;\n color: inherit;\n }\n .prose :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * 0.75);\n }\n .prose :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * 0.5);\n }\n .prose :where(h1):not(:where(.not-prose, .not-prose *)) {\n font-size: 2.25em;\n line-height: 1.1;\n }\n .prose :where(h2):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.75em;\n }\n .prose :where(h3):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.5em;\n }\n .prose :where(h4):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.25em;\n }\n .prose :where(h5):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.125em;\n }\n .prose :where(h6):not(:where(.not-prose, .not-prose *)) {\n font-size: 1em;\n }\n .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n color: var(--link-color);\n text-decoration: underline;\n text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n text-underline-offset: 4px;\n transition: 0.1s text-decoration-color ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n transition: none;\n }\n }\n .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)):hover {\n text-decoration-color: var(--link-hover-color);\n }\n .prose :where(img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n .prose :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n padding-inline-start: calc(var(--content-gap) / 2);\n margin: 0;\n border-inline-start: 4px solid var(--border-color);\n }\n .prose :where(table):not(:where(.not-prose, .not-prose *)) {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n }\n .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) td,\n .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) th {\n padding: 6px 12px;\n text-align: inherit;\n border: 1px solid var(--border-color);\n }\n .prose :where(dt):not(:where(.not-prose, .not-prose *)) {\n font-weight: 500;\n }\n .prose :where(video, img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n}\n@layer layout {\n .container,\n .container-fluid,\n .\\32 xl\\:container,\n .xl\\:container,\n .lg\\:container,\n .md\\:container,\n .sm\\:container {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-inline: auto;\n }\n @media (width >= 576px) {\n .sm\\:container, .container {\n max-width: 540px;\n }\n }\n @media (width >= 768px) {\n .md\\:container, .sm\\:container, .container {\n max-width: 720px;\n }\n }\n @media (width >= 1024px) {\n .lg\\:container, .md\\:container, .sm\\:container, .container {\n max-width: 960px;\n }\n }\n @media (width >= 1280px) {\n .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n max-width: 1200px;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:container, .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n max-width: 1440px;\n }\n }\n}\n@layer layout {\n .row {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-inline: calc(-0.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n }\n .row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-top: var(--gutter-y);\n }\n .col {\n flex: 1 0 0;\n }\n .row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-3 {\n margin-inline-start: 25%;\n }\n .offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-6 {\n margin-inline-start: 50%;\n }\n .offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-9 {\n margin-inline-start: 75%;\n }\n .offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-0,\n .gx-0 {\n --gutter-x: 0;\n }\n .g-0,\n .gy-0 {\n --gutter-y: 0;\n }\n .g-1,\n .gx-1 {\n --gutter-x: 0.25rem;\n }\n .g-1,\n .gy-1 {\n --gutter-y: 0.25rem;\n }\n .g-2,\n .gx-2 {\n --gutter-x: 0.5rem;\n }\n .g-2,\n .gy-2 {\n --gutter-y: 0.5rem;\n }\n .g-3,\n .gx-3 {\n --gutter-x: 1rem;\n }\n .g-3,\n .gy-3 {\n --gutter-y: 1rem;\n }\n .g-4,\n .gx-4 {\n --gutter-x: 1.5rem;\n }\n .g-4,\n .gy-4 {\n --gutter-y: 1.5rem;\n }\n .g-5,\n .gx-5 {\n --gutter-x: 3rem;\n }\n .g-5,\n .gy-5 {\n --gutter-y: 3rem;\n }\n @media (width >= 576px) {\n .sm\\:col {\n flex: 1 0 0;\n }\n .sm\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .sm\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .sm\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .sm\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .sm\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .sm\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .sm\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .sm\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .sm\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .sm\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .sm\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .sm\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .sm\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .sm\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .sm\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .sm\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .sm\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .sm\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .sm\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .sm\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .sm\\:offset-0 {\n margin-inline-start: 0;\n }\n .sm\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .sm\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .sm\\:offset-3 {\n margin-inline-start: 25%;\n }\n .sm\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .sm\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .sm\\:offset-6 {\n margin-inline-start: 50%;\n }\n .sm\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .sm\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .sm\\:offset-9 {\n margin-inline-start: 75%;\n }\n .sm\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .sm\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .sm\\:g-0,\n .sm\\:gx-0 {\n --gutter-x: 0;\n }\n .sm\\:g-0,\n .sm\\:gy-0 {\n --gutter-y: 0;\n }\n .sm\\:g-1,\n .sm\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .sm\\:g-1,\n .sm\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .sm\\:g-2,\n .sm\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .sm\\:g-2,\n .sm\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .sm\\:g-3,\n .sm\\:gx-3 {\n --gutter-x: 1rem;\n }\n .sm\\:g-3,\n .sm\\:gy-3 {\n --gutter-y: 1rem;\n }\n .sm\\:g-4,\n .sm\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .sm\\:g-4,\n .sm\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .sm\\:g-5,\n .sm\\:gx-5 {\n --gutter-x: 3rem;\n }\n .sm\\:g-5,\n .sm\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 768px) {\n .md\\:col {\n flex: 1 0 0;\n }\n .md\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .md\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .md\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .md\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .md\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .md\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .md\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .md\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .md\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .md\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .md\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .md\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .md\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .md\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .md\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .md\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .md\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .md\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .md\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .md\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .md\\:offset-0 {\n margin-inline-start: 0;\n }\n .md\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .md\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .md\\:offset-3 {\n margin-inline-start: 25%;\n }\n .md\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .md\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .md\\:offset-6 {\n margin-inline-start: 50%;\n }\n .md\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .md\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .md\\:offset-9 {\n margin-inline-start: 75%;\n }\n .md\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .md\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .md\\:g-0,\n .md\\:gx-0 {\n --gutter-x: 0;\n }\n .md\\:g-0,\n .md\\:gy-0 {\n --gutter-y: 0;\n }\n .md\\:g-1,\n .md\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .md\\:g-1,\n .md\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .md\\:g-2,\n .md\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .md\\:g-2,\n .md\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .md\\:g-3,\n .md\\:gx-3 {\n --gutter-x: 1rem;\n }\n .md\\:g-3,\n .md\\:gy-3 {\n --gutter-y: 1rem;\n }\n .md\\:g-4,\n .md\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .md\\:g-4,\n .md\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .md\\:g-5,\n .md\\:gx-5 {\n --gutter-x: 3rem;\n }\n .md\\:g-5,\n .md\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1024px) {\n .lg\\:col {\n flex: 1 0 0;\n }\n .lg\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .lg\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .lg\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .lg\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .lg\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .lg\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .lg\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .lg\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .lg\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .lg\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .lg\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .lg\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .lg\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .lg\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .lg\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .lg\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .lg\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .lg\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .lg\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .lg\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .lg\\:offset-0 {\n margin-inline-start: 0;\n }\n .lg\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .lg\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .lg\\:offset-3 {\n margin-inline-start: 25%;\n }\n .lg\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .lg\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .lg\\:offset-6 {\n margin-inline-start: 50%;\n }\n .lg\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .lg\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .lg\\:offset-9 {\n margin-inline-start: 75%;\n }\n .lg\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .lg\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .lg\\:g-0,\n .lg\\:gx-0 {\n --gutter-x: 0;\n }\n .lg\\:g-0,\n .lg\\:gy-0 {\n --gutter-y: 0;\n }\n .lg\\:g-1,\n .lg\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .lg\\:g-1,\n .lg\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .lg\\:g-2,\n .lg\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .lg\\:g-2,\n .lg\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .lg\\:g-3,\n .lg\\:gx-3 {\n --gutter-x: 1rem;\n }\n .lg\\:g-3,\n .lg\\:gy-3 {\n --gutter-y: 1rem;\n }\n .lg\\:g-4,\n .lg\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .lg\\:g-4,\n .lg\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .lg\\:g-5,\n .lg\\:gx-5 {\n --gutter-x: 3rem;\n }\n .lg\\:g-5,\n .lg\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1280px) {\n .xl\\:col {\n flex: 1 0 0;\n }\n .xl\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .xl\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .xl\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .xl\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .xl\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .xl\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .xl\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .xl\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .xl\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .xl\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .xl\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .xl\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .xl\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .xl\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .xl\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .xl\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .xl\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .xl\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .xl\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .xl\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .xl\\:offset-0 {\n margin-inline-start: 0;\n }\n .xl\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .xl\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .xl\\:offset-3 {\n margin-inline-start: 25%;\n }\n .xl\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .xl\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .xl\\:offset-6 {\n margin-inline-start: 50%;\n }\n .xl\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .xl\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .xl\\:offset-9 {\n margin-inline-start: 75%;\n }\n .xl\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .xl\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .xl\\:g-0,\n .xl\\:gx-0 {\n --gutter-x: 0;\n }\n .xl\\:g-0,\n .xl\\:gy-0 {\n --gutter-y: 0;\n }\n .xl\\:g-1,\n .xl\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .xl\\:g-1,\n .xl\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .xl\\:g-2,\n .xl\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .xl\\:g-2,\n .xl\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .xl\\:g-3,\n .xl\\:gx-3 {\n --gutter-x: 1rem;\n }\n .xl\\:g-3,\n .xl\\:gy-3 {\n --gutter-y: 1rem;\n }\n .xl\\:g-4,\n .xl\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .xl\\:g-4,\n .xl\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .xl\\:g-5,\n .xl\\:gx-5 {\n --gutter-x: 3rem;\n }\n .xl\\:g-5,\n .xl\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:col {\n flex: 1 0 0;\n }\n .\\32 xl\\:row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .\\32 xl\\:row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .\\32 xl\\:row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .\\32 xl\\:row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .\\32 xl\\:row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .\\32 xl\\:row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .\\32 xl\\:row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .\\32 xl\\:col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .\\32 xl\\:col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .\\32 xl\\:col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .\\32 xl\\:col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .\\32 xl\\:col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .\\32 xl\\:col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .\\32 xl\\:col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .\\32 xl\\:col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .\\32 xl\\:col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .\\32 xl\\:col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .\\32 xl\\:col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .\\32 xl\\:col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .\\32 xl\\:col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .\\32 xl\\:offset-0 {\n margin-inline-start: 0;\n }\n .\\32 xl\\:offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .\\32 xl\\:offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .\\32 xl\\:offset-3 {\n margin-inline-start: 25%;\n }\n .\\32 xl\\:offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .\\32 xl\\:offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .\\32 xl\\:offset-6 {\n margin-inline-start: 50%;\n }\n .\\32 xl\\:offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .\\32 xl\\:offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .\\32 xl\\:offset-9 {\n margin-inline-start: 75%;\n }\n .\\32 xl\\:offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .\\32 xl\\:offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .\\32 xl\\:g-0,\n .\\32 xl\\:gx-0 {\n --gutter-x: 0;\n }\n .\\32 xl\\:g-0,\n .\\32 xl\\:gy-0 {\n --gutter-y: 0;\n }\n .\\32 xl\\:g-1,\n .\\32 xl\\:gx-1 {\n --gutter-x: 0.25rem;\n }\n .\\32 xl\\:g-1,\n .\\32 xl\\:gy-1 {\n --gutter-y: 0.25rem;\n }\n .\\32 xl\\:g-2,\n .\\32 xl\\:gx-2 {\n --gutter-x: 0.5rem;\n }\n .\\32 xl\\:g-2,\n .\\32 xl\\:gy-2 {\n --gutter-y: 0.5rem;\n }\n .\\32 xl\\:g-3,\n .\\32 xl\\:gx-3 {\n --gutter-x: 1rem;\n }\n .\\32 xl\\:g-3,\n .\\32 xl\\:gy-3 {\n --gutter-y: 1rem;\n }\n .\\32 xl\\:g-4,\n .\\32 xl\\:gx-4 {\n --gutter-x: 1.5rem;\n }\n .\\32 xl\\:g-4,\n .\\32 xl\\:gy-4 {\n --gutter-y: 1.5rem;\n }\n .\\32 xl\\:g-5,\n .\\32 xl\\:gx-5 {\n --gutter-x: 3rem;\n }\n .\\32 xl\\:g-5,\n .\\32 xl\\:gy-5 {\n --gutter-y: 3rem;\n }\n }\n .grid {\n --columns: 12;\n --rows: 1;\n --gap: 1.5rem;\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n }\n .g-col-1 {\n grid-column: auto/span 1;\n }\n .g-col-2 {\n grid-column: auto/span 2;\n }\n .g-col-3 {\n grid-column: auto/span 3;\n }\n .g-col-4 {\n grid-column: auto/span 4;\n }\n .g-col-5 {\n grid-column: auto/span 5;\n }\n .g-col-6 {\n grid-column: auto/span 6;\n }\n .g-col-7 {\n grid-column: auto/span 7;\n }\n .g-col-8 {\n grid-column: auto/span 8;\n }\n .g-col-9 {\n grid-column: auto/span 9;\n }\n .g-col-10 {\n grid-column: auto/span 10;\n }\n .g-col-11 {\n grid-column: auto/span 11;\n }\n .g-col-12 {\n grid-column: auto/span 12;\n }\n .g-start-1 {\n grid-column-start: 1;\n }\n .g-start-2 {\n grid-column-start: 2;\n }\n .g-start-3 {\n grid-column-start: 3;\n }\n .g-start-4 {\n grid-column-start: 4;\n }\n .g-start-5 {\n grid-column-start: 5;\n }\n .g-start-6 {\n grid-column-start: 6;\n }\n .g-start-7 {\n grid-column-start: 7;\n }\n .g-start-8 {\n grid-column-start: 8;\n }\n .g-start-9 {\n grid-column-start: 9;\n }\n .g-start-10 {\n grid-column-start: 10;\n }\n .g-start-11 {\n grid-column-start: 11;\n }\n @media (width >= 576px) {\n .sm\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .sm\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .sm\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .sm\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .sm\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .sm\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .sm\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .sm\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .sm\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .sm\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .sm\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .sm\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .sm\\:g-start-1 {\n grid-column-start: 1;\n }\n .sm\\:g-start-2 {\n grid-column-start: 2;\n }\n .sm\\:g-start-3 {\n grid-column-start: 3;\n }\n .sm\\:g-start-4 {\n grid-column-start: 4;\n }\n .sm\\:g-start-5 {\n grid-column-start: 5;\n }\n .sm\\:g-start-6 {\n grid-column-start: 6;\n }\n .sm\\:g-start-7 {\n grid-column-start: 7;\n }\n .sm\\:g-start-8 {\n grid-column-start: 8;\n }\n .sm\\:g-start-9 {\n grid-column-start: 9;\n }\n .sm\\:g-start-10 {\n grid-column-start: 10;\n }\n .sm\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 768px) {\n .md\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .md\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .md\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .md\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .md\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .md\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .md\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .md\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .md\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .md\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .md\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .md\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .md\\:g-start-1 {\n grid-column-start: 1;\n }\n .md\\:g-start-2 {\n grid-column-start: 2;\n }\n .md\\:g-start-3 {\n grid-column-start: 3;\n }\n .md\\:g-start-4 {\n grid-column-start: 4;\n }\n .md\\:g-start-5 {\n grid-column-start: 5;\n }\n .md\\:g-start-6 {\n grid-column-start: 6;\n }\n .md\\:g-start-7 {\n grid-column-start: 7;\n }\n .md\\:g-start-8 {\n grid-column-start: 8;\n }\n .md\\:g-start-9 {\n grid-column-start: 9;\n }\n .md\\:g-start-10 {\n grid-column-start: 10;\n }\n .md\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1024px) {\n .lg\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .lg\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .lg\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .lg\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .lg\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .lg\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .lg\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .lg\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .lg\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .lg\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .lg\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .lg\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .lg\\:g-start-1 {\n grid-column-start: 1;\n }\n .lg\\:g-start-2 {\n grid-column-start: 2;\n }\n .lg\\:g-start-3 {\n grid-column-start: 3;\n }\n .lg\\:g-start-4 {\n grid-column-start: 4;\n }\n .lg\\:g-start-5 {\n grid-column-start: 5;\n }\n .lg\\:g-start-6 {\n grid-column-start: 6;\n }\n .lg\\:g-start-7 {\n grid-column-start: 7;\n }\n .lg\\:g-start-8 {\n grid-column-start: 8;\n }\n .lg\\:g-start-9 {\n grid-column-start: 9;\n }\n .lg\\:g-start-10 {\n grid-column-start: 10;\n }\n .lg\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1280px) {\n .xl\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .xl\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .xl\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .xl\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .xl\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .xl\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .xl\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .xl\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .xl\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .xl\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .xl\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .xl\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .xl\\:g-start-1 {\n grid-column-start: 1;\n }\n .xl\\:g-start-2 {\n grid-column-start: 2;\n }\n .xl\\:g-start-3 {\n grid-column-start: 3;\n }\n .xl\\:g-start-4 {\n grid-column-start: 4;\n }\n .xl\\:g-start-5 {\n grid-column-start: 5;\n }\n .xl\\:g-start-6 {\n grid-column-start: 6;\n }\n .xl\\:g-start-7 {\n grid-column-start: 7;\n }\n .xl\\:g-start-8 {\n grid-column-start: 8;\n }\n .xl\\:g-start-9 {\n grid-column-start: 9;\n }\n .xl\\:g-start-10 {\n grid-column-start: 10;\n }\n .xl\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:g-col-1 {\n grid-column: auto/span 1;\n }\n .\\32 xl\\:g-col-2 {\n grid-column: auto/span 2;\n }\n .\\32 xl\\:g-col-3 {\n grid-column: auto/span 3;\n }\n .\\32 xl\\:g-col-4 {\n grid-column: auto/span 4;\n }\n .\\32 xl\\:g-col-5 {\n grid-column: auto/span 5;\n }\n .\\32 xl\\:g-col-6 {\n grid-column: auto/span 6;\n }\n .\\32 xl\\:g-col-7 {\n grid-column: auto/span 7;\n }\n .\\32 xl\\:g-col-8 {\n grid-column: auto/span 8;\n }\n .\\32 xl\\:g-col-9 {\n grid-column: auto/span 9;\n }\n .\\32 xl\\:g-col-10 {\n grid-column: auto/span 10;\n }\n .\\32 xl\\:g-col-11 {\n grid-column: auto/span 11;\n }\n .\\32 xl\\:g-col-12 {\n grid-column: auto/span 12;\n }\n .\\32 xl\\:g-start-1 {\n grid-column-start: 1;\n }\n .\\32 xl\\:g-start-2 {\n grid-column-start: 2;\n }\n .\\32 xl\\:g-start-3 {\n grid-column-start: 3;\n }\n .\\32 xl\\:g-start-4 {\n grid-column-start: 4;\n }\n .\\32 xl\\:g-start-5 {\n grid-column-start: 5;\n }\n .\\32 xl\\:g-start-6 {\n grid-column-start: 6;\n }\n .\\32 xl\\:g-start-7 {\n grid-column-start: 7;\n }\n .\\32 xl\\:g-start-8 {\n grid-column-start: 8;\n }\n .\\32 xl\\:g-start-9 {\n grid-column-start: 9;\n }\n .\\32 xl\\:g-start-10 {\n grid-column-start: 10;\n }\n .\\32 xl\\:g-start-11 {\n grid-column-start: 11;\n }\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-fill {\n --gap: 1.5rem;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n}\n@layer forms {\n .form-label,\n .col-form-label {\n font-size: var(--label-font-size, var(--font-size-sm));\n font-style: var(--label-font-style, inherit);\n font-weight: var(--label-font-weight, inherit);\n color: var(--label-color, var(--fg-body));\n }\n .form-label {\n margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\n }\n .col-form-label {\n --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n padding-block: var(--label-padding-y);\n margin-bottom: 0;\n }\n .col-form-label-lg {\n --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n font-size: var(--btn-input-lg-font-size);\n }\n .col-form-label-sm {\n --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n font-size: var(--btn-input-sm-font-size);\n }\n}\n@layer forms {\n .form-text {\n --form-text-margin-top: 0.25rem;\n --form-text-font-size: var(--font-size-sm);\n --form-text-color: var(--fg-3);\n margin-top: var(--form-text-margin-top);\n font-size: var(--form-text-font-size);\n font-style: var(--form-text-font-style);\n font-weight: var(--form-text-font-weight);\n color: var(--form-text-color);\n }\n}\n@layer forms {\n .form-control {\n --control-min-height: var(--btn-input-min-height);\n --control-padding-y: var(--btn-input-padding-y);\n --control-padding-x: var(--btn-input-padding-x);\n --control-font-size: var(--btn-input-font-size);\n --control-line-height: var(--btn-input-line-height);\n --control-fg: var(--btn-input-fg);\n --control-bg: var(--btn-input-bg);\n --control-border-width: var(--border-width);\n --control-border-color: var(--border-color);\n --control-border-radius: var(--border-radius);\n --control-box-shadow: var(--box-shadow-inset);\n --control-action-bg: var(--bg-1);\n --control-action-hover-bg: var(--bg-2);\n --control-transition-property: border-color, box-shadow;\n --control-transition-timing: 0.15s ease-in-out;\n --control-transition: var(--control-transition-property) var(--control-transition-timing);\n --control-placeholder-color: var(--fg-3);\n --control-disabled-color: var(--control-fg);\n --control-disabled-bg: var(--bg-2);\n --control-disabled-border-color: var(--control-border-color);\n --control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n --control-select-bg-position: right 0.75rem center;\n --control-select-bg-size: 16px 12px;\n --control-select-bg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n display: flex;\n width: 100%;\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n font-size: var(--control-font-size);\n line-height: var(--control-line-height);\n color: var(--control-fg);\n appearance: none;\n background-color: var(--control-bg);\n background-clip: padding-box;\n border: var(--control-border-width) solid var(--control-border-color);\n border-radius: var(--control-border-radius);\n box-shadow: var(--control-box-shadow);\n transition: var(--control-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n }\n .form-control:focus-visible {\n --focus-ring-offset: -1px;\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-control::placeholder {\n color: var(--control-placeholder-color);\n opacity: 1;\n }\n .form-control:disabled {\n color: var(--control-disabled-color);\n background-color: var(--control-disabled-bg);\n border-color: var(--control-disabled-border-color);\n opacity: 1;\n }\n .form-control::-webkit-datetime-edit {\n display: block;\n height: 1.5rem;\n padding: 0;\n margin-bottom: -0.125rem;\n }\n .form-control::-webkit-datetime-edit-fields-wrapper {\n height: 1.5rem;\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::file-selector-button {\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n margin-inline-end: var(--control-padding-x);\n color: var(--control-fg);\n background-color: var(--control-action-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--control-border-width);\n border-radius: 0;\n transition: var(--control-transition);\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(--control-action-hover-bg);\n }\n .form-control-plaintext {\n display: block;\n width: 100%;\n padding: var(--control-padding-y) 0;\n margin-bottom: 0;\n line-height: var(--control-line-height);\n color: var(--control-fg);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--control-border-width) 0;\n }\n .form-control-plaintext:focus {\n outline: 0;\n }\n .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-inline: 0;\n }\n select.form-control {\n padding-inline-end: calc(var(--control-padding-x) * 3);\n background-image: var(--control-select-bg);\n background-repeat: no-repeat;\n background-position: var(--control-select-bg-position);\n background-size: var(--control-select-bg-size);\n }\n select.form-control[multiple], select.form-control[size]:not([size=\"1\"]) {\n padding-inline-end: var(--control-padding-x);\n background-image: none;\n }\n @media (prefers-color-scheme: dark) {\n select.form-control {\n background-image: var(--control-select-bg-dark);\n }\n }\n .form-control-sm {\n --control-min-height: var(--btn-input-sm-min-height);\n --control-padding-y: var(--btn-input-sm-padding-y);\n --control-padding-x: var(--btn-input-sm-padding-x);\n --control-font-size: var(--btn-input-sm-font-size);\n --control-line-height: var(--btn-input-sm-line-height);\n --control-border-radius: var(--btn-input-sm-border-radius);\n }\n .form-control-lg {\n --control-min-height: var(--btn-input-lg-min-height);\n --control-padding-y: var(--btn-input-lg-padding-y);\n --control-padding-x: var(--btn-input-lg-padding-x);\n --control-font-size: var(--btn-input-lg-font-size);\n --control-line-height: var(--btn-input-lg-line-height);\n --control-border-radius: var(--btn-input-lg-border-radius);\n }\n .form-control-color {\n width: var(--control-min-height);\n padding: var(--control-padding-y);\n }\n .form-control-color:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n .form-control-color::-moz-color-swatch {\n border: 0 !important;\n border-radius: var(--border-radius-sm);\n }\n .form-control-color::-webkit-color-swatch {\n border: 0 !important;\n border-radius: var(--border-radius-sm);\n }\n .form-ghost {\n display: block;\n width: 100%;\n padding: 0;\n font: inherit;\n color: inherit;\n appearance: none;\n background: transparent;\n border: 0;\n }\n .form-ghost:focus {\n outline: 0;\n }\n .form-ghost::placeholder {\n color: var(--fg-3);\n opacity: 1;\n }\n .form-ghost:disabled {\n color: var(--fg-4);\n cursor: not-allowed;\n }\n}\n@layer forms {\n .checkgroup {\n display: flex;\n gap: var(--gap, 0.5rem);\n align-items: var(--align-items, start);\n }\n .checkgroup .description {\n color: var(--fg-3);\n }\n .check {\n --check-size: 1.25rem;\n --check-margin-block: 0.125rem;\n --check-bg: transparent;\n --check-border-color: var(--border-color);\n --check-border-radius: 0.375rem;\n --check-checked-bg: var(--control-checked-bg);\n --check-checked-border-color: var(--control-checked-border-color);\n --check-indeterminate-bg: var(--control-checked-bg);\n --check-indeterminate-border-color: var(--control-checked-border-color);\n --check-active-bg: var(--control-active-bg);\n --check-active-border-color: var(--control-active-border-color);\n --check-disabled-bg: var(--control-disabled-bg);\n --check-disabled-opacity: var(--control-disabled-opacity);\n display: grid;\n grid-template-columns: repeat(1, minmax(0, 1fr));\n margin-block: var(--check-margin-block);\n }\n .check :where(svg, input) {\n flex-shrink: 0;\n grid-row-start: 1;\n grid-column-start: 1;\n width: var(--check-size);\n height: var(--check-size);\n }\n .check :where(input) {\n appearance: none;\n background-color: var(--theme-bg, var(--check-bg));\n border: 1px solid var(--theme-bg, var(--check-border-color));\n border-radius: 0.3em;\n }\n .check :where(input:checked, input:indeterminate) {\n background-color: var(--theme-bg, var(--check-checked-bg));\n border-color: var(--theme-bg, var(--check-checked-border-color));\n }\n .check :where(input:focus-visible) {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .check:has(input:checked) .checked, .check:has(input:indeterminate) .indeterminate {\n display: block;\n color: var(--theme-contrast, var(--primary-contrast));\n stroke: currentcolor;\n }\n .check:has(input:disabled) {\n --check-bg: var(--check-disabled-bg);\n }\n .check:has(input:disabled) ~ label {\n color: var(--fg-3);\n cursor: default;\n }\n .check:has(input:disabled:checked) {\n opacity: var(--check-disabled-opacity);\n }\n .check :where(svg) {\n pointer-events: none;\n }\n .check :where(svg path) {\n display: none;\n }\n .check-sm {\n --check-size: 1rem;\n }\n .check-lg {\n --check-size: 1.5rem;\n --check-margin-block: 0;\n }\n}\n@layer forms {\n .radiogroup {\n display: flex;\n gap: var(--gap, 0.5rem);\n align-items: var(--align-items, start);\n }\n .radiogroup .description {\n color: var(--fg-3);\n }\n .radio {\n --radio-size: 1.25rem;\n --radio-margin-block: 0.125rem;\n --radio-bg: transparent;\n --radio-border-color: var(--border-color);\n --radio-checked-bg: var(--control-checked-bg);\n --radio-checked-border-color: var(--control-checked-border-color);\n --radio-disabled-bg: var(--control-disabled-bg);\n --radio-disabled-opacity: var(--control-disabled-opacity);\n position: relative;\n flex-shrink: 0;\n width: var(--radio-size);\n height: var(--radio-size);\n margin-block: var(--radio-margin-block);\n appearance: none;\n background-color: var(--theme-bg, var(--radio-bg));\n border: 1px solid var(--theme-bg, var(--radio-border-color));\n border-radius: 50%;\n }\n .radio:checked {\n color: var(--theme-contrast, var(--primary-contrast));\n background-color: var(--theme-bg, var(--radio-checked-bg));\n border-color: var(--theme-bg, var(--radio-checked-border-color));\n }\n .radio:checked::before {\n position: absolute;\n inset: 0.25rem;\n content: \"\";\n background-color: currentcolor;\n border-radius: 50%;\n }\n .radio:disabled {\n --radio-bg: var(--radio-disabled-bg);\n }\n .radio:disabled ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n .radio:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .radio-sm {\n --radio-size: 1rem;\n }\n .radio-lg {\n --radio-size: 1.5rem;\n --radio-margin-block: 0;\n }\n}\n@layer forms {\n .switch {\n --switch-height: 1.25rem;\n --switch-width: calc(var(--switch-height) * 1.5);\n --switch-padding: 0.0625rem;\n --switch-margin-block: 0.125rem;\n --switch-bg: var(--bg-3);\n --switch-border-width: var(--border-width);\n --switch-border-color: var(--border-color);\n --switch-indicator-bg: var(--white);\n --switch-checked-bg: var(--control-checked-bg);\n --switch-checked-border-color: var(--switch-checked-bg);\n --switch-checked-indicator-bg: var(--white);\n --switch-disabled-bg: var(--control-disabled-bg);\n --switch-disabled-indicator-bg: var(--fg-3);\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: stretch;\n justify-content: flex-start;\n width: var(--switch-width);\n height: var(--switch-height);\n padding: var(--switch-padding);\n margin-block: var(--switch-margin-block);\n background-color: var(--switch-bg);\n border: var(--switch-border-width) solid var(--switch-border-color);\n border-radius: 10rem;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);\n transition: 0.15s ease-in-out;\n transition-property: padding-inline-start, background-color;\n }\n .switch::before {\n flex-shrink: 0;\n width: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n height: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n content: \"\";\n background-color: var(--theme-contrast, var(--switch-indicator-bg));\n border-radius: 50%;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n }\n .switch input {\n position: absolute;\n inset: 0;\n appearance: none;\n background-color: transparent;\n outline: 0;\n }\n .switch:focus-within {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .switch:has(input:checked) {\n padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n background-color: var(--theme-bg, var(--switch-checked-bg));\n border-color: var(--theme-bg, var(--switch-checked-border-color));\n }\n .switch:has(input:disabled) {\n --switch-bg: var(--switch-disabled-bg);\n --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n }\n .switch:has(input:disabled)::before {\n opacity: 0.4;\n }\n .switch:has(input:disabled) ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n .switch-sm {\n --switch-height: 1rem;\n }\n .switch-lg {\n --switch-height: 1.5rem;\n --switch-margin-block: 0;\n }\n}\n@layer forms {\n .form-range {\n --range-track-width: 100%;\n --range-track-height: 0.5rem;\n --range-track-cursor: pointer;\n --range-track-bg: var(--bg-3);\n --range-track-border-radius: 1rem;\n --range-track-box-shadow: var(--box-shadow-inset);\n --range-thumb-width: 1rem;\n --range-thumb-height: var(--range-thumb-width);\n --range-thumb-bg: var(--primary-base);\n --range-thumb-border: 0;\n --range-thumb-border-radius: 1rem;\n --range-thumb-box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body));\n --range-thumb-disabled-bg: var(--fg-3);\n --range-thumb-transition-property: background-color, border-color, box-shadow;\n --range-thumb-transition-timing: 0.15s ease-in-out;\n --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing);\n width: 100%;\n height: calc(var(--range-thumb-height) + var(--focus-ring-width) * 2);\n padding: 0;\n appearance: none;\n background-color: transparent;\n }\n .form-range:focus {\n outline: 0;\n }\n .form-range:focus::-webkit-slider-thumb {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .form-range:focus::-moz-range-thumb {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .form-range::-moz-focus-outer {\n border: 0;\n }\n .form-range::-webkit-slider-thumb {\n width: var(--range-thumb-width);\n height: var(--range-thumb-height);\n appearance: none;\n background-color: var(--range-thumb-bg);\n border: var(--range-thumb-border);\n border-radius: var(--range-thumb-border-radius);\n box-shadow: var(--range-thumb-box-shadow);\n transition: var(--range-thumb-transition);\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: var(--range-thumb-active-bg);\n }\n .form-range::-webkit-slider-thumb {\n margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * 0.5);\n }\n .form-range::-moz-range-thumb {\n width: var(--range-thumb-width);\n height: var(--range-thumb-height);\n appearance: none;\n background-color: var(--range-thumb-bg);\n border: var(--range-thumb-border);\n border-radius: var(--range-thumb-border-radius);\n box-shadow: var(--range-thumb-box-shadow);\n transition: var(--range-thumb-transition);\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: var(--range-thumb-active-bg);\n }\n .form-range::-webkit-slider-runnable-track {\n width: var(--range-track-width);\n height: var(--range-track-height);\n color: transparent;\n cursor: var(--range-track-cursor);\n background-color: var(--range-track-bg);\n border-color: transparent;\n border-radius: var(--range-track-border-radius);\n box-shadow: var(--range-track-box-shadow);\n }\n .form-range::-moz-range-track {\n width: var(--range-track-width);\n height: var(--range-track-height);\n color: transparent;\n cursor: var(--range-track-cursor);\n background-color: var(--range-track-bg);\n border-color: transparent;\n border-radius: var(--range-track-border-radius);\n box-shadow: var(--range-track-box-shadow);\n }\n .form-range:disabled {\n pointer-events: none;\n }\n .form-range:disabled::-webkit-slider-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n .form-range:disabled::-moz-range-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n}\n@layer forms {\n .form-floating {\n --form-floating-height: calc(3.5rem + var(--border-width) * 2);\n --form-floating-line-height: 1.25;\n --form-floating-padding-x: var(--btn-input-padding-x);\n --form-floating-padding-y: 1rem;\n --form-floating-input-padding-t: 1.625rem;\n --form-floating-input-padding-b: 0.625rem;\n --form-floating-label-height: 1.5em;\n --form-floating-label-opacity: 0.65;\n --form-floating-label-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n --form-floating-label-disabled-color: var(--fg-3);\n --form-floating-transition-property: opacity, transform;\n --form-floating-transition-timing: 0.1s ease-in-out;\n --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing);\n position: relative;\n }\n .form-floating > label {\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n max-width: 100%;\n height: 100%;\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n overflow: hidden;\n color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--input-btn-border-width) solid transparent;\n transform-origin: 0 0;\n transition: var(--form-floating-transition);\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 height: var(--form-floating-height);\n min-height: var(--form-floating-height);\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n line-height: var(--form-floating-line-height);\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: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n .form-floating > .form-control:-webkit-autofill,\n .form-floating > .form-control-plaintext:-webkit-autofill {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\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 transform: var(--form-floating-label-transform);\n }\n .form-floating > .form-control:-webkit-autofill ~ label {\n transform: var(--form-floating-label-transform);\n }\n .form-floating > textarea:focus ~ label::after,\n .form-floating > textarea:not(:placeholder-shown) ~ label::after {\n position: absolute;\n inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * 0.5);\n z-index: -1;\n height: var(--form-floating-label-height);\n content: \"\";\n background-color: var(--control-bg);\n border-radius: var(--btn-input-border-radius);\n }\n .form-floating > textarea:disabled ~ label::after {\n background-color: var(--control-disabled-bg);\n }\n .form-floating > .form-control-plaintext ~ label {\n border-width: var(--control-border-width) 0;\n }\n .form-floating > :disabled ~ label,\n .form-floating > .form-control:disabled ~ label {\n color: var(--form-floating-label-disabled-color);\n }\n}\n@layer components {\n .input-group {\n --input-group-addon-padding-y: var(--btn-input-padding-y);\n --input-group-addon-padding-x: var(--btn-input-padding-x);\n --input-group-addon-font-size: var(--btn-input-font-size);\n --input-group-addon-line-height: var(--btn-input-line-height);\n --input-group-addon-color: var(--fg-body);\n --input-group-addon-bg: var(--bg-2);\n --input-group-addon-border-color: var(--border-color);\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-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-floating:focus-within {\n z-index: 5;\n }\n .input-group > .input-group-btn {\n position: relative;\n z-index: 2;\n }\n .input-group > .input-group-btn:focus {\n z-index: 5;\n }\n .input-group-text {\n display: flex;\n align-items: center;\n padding: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n font-size: var(--input-group-addon-font-size);\n line-height: var(--input-group-addon-line-height);\n color: var(--input-group-addon-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--input-group-addon-bg);\n border: var(--border-width) solid var(--input-group-addon-border-color);\n border-radius: var(--btn-input-border-radius);\n }\n .input-group-sm > .form-control,\n .input-group-sm > .input-group-text,\n .input-group-sm > .btn {\n min-height: var(--btn-input-sm-min-height);\n padding: var(--btn-input-sm-padding-y) var(--btn-input-sm-padding-x);\n font-size: var(--btn-input-sm-font-size);\n border-radius: var(--btn-input-sm-border-radius);\n }\n .input-group-lg > .form-control,\n .input-group-lg > .input-group-text,\n .input-group-lg > .btn {\n min-height: var(--btn-input-lg-min-height);\n padding: var(--btn-input-lg-padding-y) var(--btn-input-lg-padding-x);\n font-size: var(--btn-input-lg-font-size);\n border-radius: var(--btn-input-lg-border-radius);\n }\n .input-group:not(.has-validation) > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n .input-group:not(.has-validation) > .menu-toggle-split:nth-last-child(n+3),\n .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .input-group.has-validation > :nth-last-child(n+3):not(.menu-toggle-split):not(.menu):not(.form-floating),\n .input-group.has-validation > .menu-toggle-split:nth-last-child(n+4),\n .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .input-group > :not(:first-child):not(.menu) {\n margin-inline-start: calc(-1 * var(--border-width));\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .input-group > .form-floating:not(:first-child) > .form-control,\n .input-group > .form-floating:not(:first-child) > .form-select {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n}\n@layer forms {\n .strength {\n --strength-height: 0.375rem;\n --strength-gap: 0.25rem;\n --strength-margin-top: 0.25rem;\n --strength-border-radius: var(--border-radius-pill);\n --strength-bg: var(--bg-2);\n --strength-color: var(--bg-2);\n --strength-weak-color: var(--danger-bg);\n --strength-fair-color: var(--warning-bg);\n --strength-good-color: var(--info-bg);\n --strength-strong-color: var(--success-bg);\n display: flex;\n gap: var(--strength-gap);\n width: 100%;\n margin-top: var(--strength-margin-top);\n }\n .strength-segment {\n flex: 1;\n height: var(--strength-height);\n background-color: var(--strength-bg);\n border-radius: var(--strength-border-radius);\n transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .strength-segment {\n transition: none;\n }\n }\n .strength-segment.active {\n background-color: var(--strength-color);\n }\n .strength[data-bs-strength=weak] {\n --strength-color: var(--strength-weak-color);\n }\n .strength[data-bs-strength=fair] {\n --strength-color: var(--strength-fair-color);\n }\n .strength[data-bs-strength=good] {\n --strength-color: var(--strength-good-color);\n }\n .strength[data-bs-strength=strong] {\n --strength-color: var(--strength-strong-color);\n }\n .strength-text {\n display: block;\n margin-top: var(--strength-margin-top);\n font-size: var(--font-size-xs);\n color: var(--strength-color, var(--fg-3));\n transition: color 0.2s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .strength-text {\n transition: none;\n }\n }\n .strength-text:empty {\n display: none;\n }\n .strength-bar {\n --strength-height: 0.375rem;\n --strength-gap: 0.25rem;\n --strength-margin-top: 0.25rem;\n --strength-border-radius: var(--border-radius-pill);\n --strength-bg: var(--bg-2);\n --strength-color: var(--bg-2);\n --strength-weak-color: var(--danger-bg);\n --strength-fair-color: var(--warning-bg);\n --strength-good-color: var(--info-bg);\n --strength-strong-color: var(--success-bg);\n --strength-color: transparent;\n --strength-width: 0%;\n width: 100%;\n height: var(--strength-height);\n margin-top: var(--strength-margin-top);\n overflow: hidden;\n background-color: var(--strength-bg);\n border-radius: var(--strength-border-radius);\n }\n .strength-bar::after {\n display: block;\n width: var(--strength-width);\n height: 100%;\n content: \"\";\n background-color: var(--strength-color);\n border-radius: var(--strength-border-radius);\n transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .strength-bar::after {\n transition: none;\n }\n }\n .strength-bar[data-bs-strength=weak] {\n --strength-color: var(--strength-weak-color);\n --strength-width: 25%;\n }\n .strength-bar[data-bs-strength=fair] {\n --strength-color: var(--strength-fair-color);\n --strength-width: 50%;\n }\n .strength-bar[data-bs-strength=good] {\n --strength-color: var(--strength-good-color);\n --strength-width: 75%;\n }\n .strength-bar[data-bs-strength=strong] {\n --strength-color: var(--strength-strong-color);\n --strength-width: 100%;\n }\n}\n@layer components {\n .otp {\n --otp-size: var(--btn-input-lg-min-height);\n --otp-font-size: var(--btn-input-font-size);\n --otp-gap: 0.5rem;\n display: inline-flex;\n gap: var(--otp-gap);\n }\n .otp .form-control {\n width: var(--otp-size);\n min-height: var(--otp-size);\n padding: 0;\n font-size: var(--otp-font-size);\n font-weight: 500;\n line-height: 1;\n text-align: center;\n border-radius: var(--otp-border-radius, var(--btn-input-border-radius));\n }\n .otp .form-control::-webkit-outer-spin-button, .otp .form-control::-webkit-inner-spin-button {\n margin: 0;\n appearance: none;\n }\n .otp .form-control[type=number] {\n appearance: textfield;\n }\n .otp .form-control:focus, .otp .form-control:focus-visible {\n z-index: 1;\n }\n .otp.is-valid .form-control, .was-validated .otp:valid .form-control {\n border-color: var(--form-valid-border-color);\n }\n .otp.is-valid .form-control:focus, .was-validated .otp:valid .form-control:focus {\n --focus-ring-color: rgba(var(--success-rgb), .25);\n border-color: var(--form-valid-border-color);\n }\n .otp.is-invalid .form-control, .was-validated .otp:invalid .form-control {\n border-color: var(--form-invalid-border-color);\n }\n .otp.is-invalid .form-control:focus, .was-validated .otp:invalid .form-control:focus {\n --focus-ring-color: rgba(var(--danger-rgb), .25);\n border-color: var(--form-invalid-border-color);\n }\n .otp.input-group {\n gap: 0;\n width: auto;\n }\n .otp.input-group .form-control {\n flex: 0 0 auto;\n }\n .otp-separator {\n display: flex;\n align-items: center;\n padding-inline: var(--otp-gap);\n font-size: var(--otp-font-size);\n color: var(--fg-4);\n user-select: none;\n }\n .otp-sm {\n --otp-size: var(--btn-input-sm-min-height);\n --otp-font-size: var(--btn-input-sm-font-size);\n --otp-border-radius: var(--btn-input-sm-border-radius);\n }\n .otp-lg {\n --otp-size: var(--btn-input-lg-min-height);\n --otp-font-size: var(--btn-input-lg-font-size);\n --otp-border-radius: var(--btn-input-lg-border-radius);\n }\n}\n@layer forms {\n .form-adorn {\n --form-adorn-gap: 0.375rem;\n --form-adorn-icon-size: 1rem;\n --form-adorn-icon-color: var(--fg-2);\n gap: var(--form-adorn-gap);\n align-items: center;\n }\n .form-adorn:focus-visible {\n outline: 0;\n }\n .form-adorn:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .form-adorn > .form-ghost {\n flex: 1;\n min-width: 0;\n }\n .form-adorn.form-adorn-end > .form-ghost {\n order: -1;\n }\n .form-adorn-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n }\n .form-adorn-icon > svg {\n width: var(--form-adorn-icon-size);\n height: var(--form-adorn-icon-size);\n }\n .form-adorn-text {\n flex-shrink: 0;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n user-select: none;\n }\n}\n@layer forms {\n .chip-input {\n --chip-input-padding-y: 0.75rem;\n --chip-input-padding-x: 0.75rem;\n --chip-input-gap: 0.375rem;\n --chip-input-ghost-min-width: 5rem;\n --control-fg: var(--btn-input-fg);\n --control-bg: var(--btn-input-bg);\n --control-border-width: var(--border-width);\n --control-border-color: var(--border-color);\n --control-border-radius: var(--border-radius);\n display: flex;\n flex-wrap: wrap;\n gap: var(--chip-input-gap);\n align-items: center;\n padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n color: var(--control-fg);\n background-color: var(--control-bg);\n border: var(--control-border-width) solid var(--control-border-color);\n border-radius: var(--control-border-radius);\n }\n .chip-input:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .chip-input > .form-ghost {\n flex: 1 1 0;\n min-width: var(--chip-input-ghost-min-width);\n min-height: 1.75rem;\n }\n .chip-input.disabled, .chip-input:has(.form-ghost:disabled) {\n background-color: var(--bg-2);\n opacity: 1;\n }\n .chip-input.disabled > .chip, .chip-input:has(.form-ghost:disabled) > .chip {\n opacity: var(--control-disabled-opacity);\n }\n .chip-input.disabled > .chip .chip-dismiss, .chip-input:has(.form-ghost:disabled) > .chip .chip-dismiss {\n pointer-events: none;\n }\n .chip-input.disabled > .form-ghost, .chip-input:has(.form-ghost:disabled) > .form-ghost {\n cursor: not-allowed;\n }\n}\n@layer components {\n .combobox-toggle {\n display: inline-flex;\n gap: 0.5rem;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding-inline-end: var(--control-padding-x);\n text-align: start;\n cursor: pointer;\n }\n .combobox-toggle.show {\n background-color: var(--bg-1);\n }\n .combobox-toggle:disabled, .combobox-toggle.disabled {\n cursor: not-allowed;\n opacity: 0.65;\n }\n .combobox-value {\n display: flex;\n flex: 1;\n gap: 0.5rem;\n align-items: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .combobox-placeholder {\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n .combobox-caret {\n flex-shrink: 0;\n transition: transform 0.2s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .combobox-caret {\n transition: none;\n }\n }\n .show > .combobox-caret {\n transform: rotate(180deg);\n }\n .combobox-toggle + .menu {\n --menu-max-height: 300px;\n --menu-overflow-y: auto;\n }\n .combobox-search {\n position: sticky;\n top: 0;\n z-index: 1;\n padding: var(--menu-padding-x, 0.25rem);\n background-color: var(--menu-bg, var(--bg-body));\n }\n .combobox-search-input {\n width: 100%;\n }\n .combobox-no-results {\n padding: 1rem;\n font-size: var(--font-size-sm);\n color: var(--fg-3);\n text-align: center;\n }\n}\n@layer components {\n .tooltip {\n --tooltip-zindex: 1080;\n --tooltip-max-width: 200px;\n --tooltip-padding-x: 0.75rem;\n --tooltip-padding-y: 0.375rem;\n --tooltip-font-size: var(--font-size-sm);\n --tooltip-color: var(--bg-body);\n --tooltip-bg: var(--fg-body);\n --tooltip-border-radius: var(--border-radius);\n --tooltip-opacity: 0.95;\n --tooltip-arrow-width: 0.8rem;\n --tooltip-arrow-height: 0.4rem;\n z-index: var(--tooltip-zindex);\n display: block;\n font-family: var(--body-font-family);\n font-style: normal;\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--tooltip-font-size);\n word-wrap: break-word;\n opacity: 0;\n }\n .tooltip.show {\n opacity: var(--tooltip-opacity);\n }\n .tooltip .tooltip-arrow {\n display: block;\n width: var(--tooltip-arrow-width);\n height: var(--tooltip-arrow-height);\n }\n .tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow {\n bottom: calc(-1 * var(--tooltip-arrow-height));\n }\n .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before {\n top: -1px;\n border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n border-block-start-color: var(--tooltip-bg);\n }\n .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow {\n left: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n }\n .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before {\n right: -1px;\n border-width: calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n border-inline-end-color: var(--tooltip-bg);\n }\n .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow {\n top: calc(-1 * var(--tooltip-arrow-height));\n }\n .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before {\n bottom: -1px;\n border-width: 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n border-block-end-color: var(--tooltip-bg);\n }\n .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow {\n right: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n }\n .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before {\n left: -1px;\n border-width: calc(var(--tooltip-arrow-width) * 0.5) 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n border-inline-start-color: var(--tooltip-bg);\n }\n .tooltip-inner {\n max-width: var(--tooltip-max-width);\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n color: var(--tooltip-color);\n text-align: center;\n background-color: var(--tooltip-bg);\n border-radius: var(--tooltip-border-radius);\n }\n}\n@layer components {\n .valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.5rem;\n font-size: var(--font-size-xs);\n color: var(--form-valid-color);\n }\n .valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n margin-top: 0.1rem;\n font-size: var(--tooltip-font-size);\n color: var(--success-contrast);\n background-color: var(--success-bg);\n border-radius: var(--tooltip-border-radius);\n }\n .was-validated :valid ~ .valid-feedback,\n .was-validated :valid ~ .valid-tooltip,\n .is-valid ~ .valid-feedback,\n .is-valid ~ .valid-tooltip {\n display: block;\n }\n .was-validated .form-control:valid, .form-control.is-valid {\n border-color: var(--success-border);\n padding-inline-end: calc(var(--control-padding-x) * 3.5);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a748' 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 var(--control-padding-x) center;\n background-size: 1rem;\n }\n .was-validated .form-control:valid:focus-visible, .form-control.is-valid:focus-visible {\n outline: var(--focus-ring-width) solid var(--success-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--success-border);\n }\n .was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n background-position: right var(--control-padding-x) top var(--control-padding-x);\n }\n .was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: var(--success-border);\n }\n .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: var(--form-valid-color);\n }\n .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: var(--form-valid-color);\n }\n .form-check-inline .form-check-input ~ .valid-feedback {\n margin-inline-start: 0.5em;\n }\n .was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n .was-validated .input-group > .form-select:not(:focus):valid,\n .input-group > .form-select:not(:focus).is-valid,\n .was-validated .input-group > .form-floating:not(:focus-within):valid,\n .input-group > .form-floating:not(:focus-within).is-valid {\n z-index: 3;\n }\n .invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.5rem;\n font-size: var(--font-size-xs);\n color: var(--form-invalid-color);\n }\n .invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n margin-top: 0.1rem;\n font-size: var(--tooltip-font-size);\n color: var(--danger-contrast);\n background-color: var(--danger-bg);\n border-radius: var(--tooltip-border-radius);\n }\n .was-validated :invalid ~ .invalid-feedback,\n .was-validated :invalid ~ .invalid-tooltip,\n .is-invalid ~ .invalid-feedback,\n .is-invalid ~ .invalid-tooltip {\n display: block;\n }\n .was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: var(--danger-border);\n padding-inline-end: calc(var(--control-padding-x) * 3.5);\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='%23dd0d37'%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='%23dd0d37' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right var(--control-padding-x) center;\n background-size: 1rem;\n }\n .was-validated .form-control:invalid:focus-visible, .form-control.is-invalid:focus-visible {\n outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n outline-offset: var(--focus-ring-offset);\n border-color: var(--danger-border);\n }\n .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n background-position: right var(--control-padding-x) top var(--control-padding-x);\n }\n .was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: var(--danger-border);\n }\n .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: var(--form-invalid-color);\n }\n .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: var(--form-invalid-color);\n }\n .form-check-inline .form-check-input ~ .invalid-feedback {\n margin-inline-start: 0.5em;\n }\n .was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n .was-validated .input-group > .form-select:not(:focus):invalid,\n .input-group > .form-select:not(:focus).is-invalid,\n .was-validated .input-group > .form-floating:not(:focus-within):invalid,\n .input-group > .form-floating:not(:focus-within).is-invalid {\n z-index: 4;\n }\n}\n@layer components {\n .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n --btn-min-height: var(--btn-input-min-height);\n --btn-padding-x: var(--btn-input-padding-x);\n --btn-padding-y: var(--btn-input-padding-y);\n --btn-font-size: var(--btn-input-font-size);\n --btn-font-weight: var(--btn-input-font-weight);\n --btn-line-height: var(--btn-input-line-height);\n --btn-color: var(--fg-body);\n --btn-white-space: nowrap;\n --btn-border-width: var(--border-width);\n --btn-border-color: transparent;\n --btn-border-radius: var(--border-radius);\n --btn-hover-border-color: transparent;\n --btn-disabled-opacity: 0.65;\n --btn-transition-timing: 0.15s ease-in-out;\n --btn-transition-property: color, background-color, border-color, box-shadow;\n --btn-transition: var(--btn-transition-property) var(--btn-transition-timing);\n display: inline-flex;\n gap: var(--btn-gap, 0.25rem);\n align-items: center;\n justify-content: center;\n min-height: var(--btn-min-height);\n padding: var(--btn-padding-y) var(--btn-padding-x);\n font-size: var(--btn-font-size);\n font-weight: var(--btn-font-weight);\n line-height: var(--btn-line-height);\n color: var(--btn-color);\n text-decoration: none;\n white-space: var(--btn-white-space);\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: var(--btn-bg, var(--bg-2));\n border: var(--btn-border-width) solid var(--btn-border-color);\n border-radius: var(--btn-border-radius);\n transition: var(--btn-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n transition: none;\n }\n }\n .btn:hover, .btn-link:hover, .btn-icon:hover, .btn-solid:hover, .btn-outline:hover, .btn-subtle:hover, .btn-text:hover {\n color: var(--btn-hover-color);\n background-color: var(--btn-hover-bg, var(--bg-3));\n border-color: var(--btn-hover-border-color);\n }\n .btn:focus-visible, .btn-link:focus-visible, .btn-icon:focus-visible, .btn-solid:focus-visible, .btn-outline:focus-visible, .btn-subtle:focus-visible, .btn-text:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .btn.active, .btn.show, .btn-link.active, .btn-link.show, .btn-icon.active, .btn-icon.show, .btn-solid.active, .btn-solid.show, .btn-outline.active, .btn-outline.show, .btn-subtle.active, .btn-subtle.show, .btn-text.active, .btn-text.show {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n border-color: var(--btn-active-border-color);\n }\n .btn.active:focus-visible, .btn.show:focus-visible, .btn-link.active:focus-visible, .btn-link.show:focus-visible, .btn-icon.active:focus-visible, .btn-icon.show:focus-visible, .btn-solid.active:focus-visible, .btn-solid.show:focus-visible, .btn-outline.active:focus-visible, .btn-outline.show:focus-visible, .btn-subtle.active:focus-visible, .btn-subtle.show:focus-visible, .btn-text.active:focus-visible, .btn-text.show:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .btn:disabled, .btn.disabled, fieldset:disabled .btn, .btn-link:disabled, .btn-link.disabled, fieldset:disabled .btn-link, .btn-icon:disabled, .btn-icon.disabled, fieldset:disabled .btn-icon, .btn-solid:disabled, .btn-solid.disabled, fieldset:disabled .btn-solid, .btn-outline:disabled, .btn-outline.disabled, fieldset:disabled .btn-outline, .btn-subtle:disabled, .btn-subtle.disabled, fieldset:disabled .btn-subtle, .btn-text:disabled, .btn-text.disabled, fieldset:disabled .btn-text {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n }\n .btn-solid {\n --btn-bg: var(--theme-bg);\n --btn-color: var(--theme-contrast);\n --btn-border-color: var(--theme-bg);\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n --btn-disabled-bg: var(--theme-bg);\n --btn-disabled-color: var(--theme-contrast);\n --btn-disabled-border-color: var(--theme-bg);\n }\n .btn-solid:hover {\n --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n }\n .btn-solid:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-solid:active, .btn-solid.active, .btn-solid.btn-check:has(input:checked) {\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n }\n .btn-solid:disabled, .btn-solid.disabled, .btn-solid.btn-check:has(input:disabled) {\n --btn-disabled-bg: var(--theme-bg);\n --btn-disabled-color: var(--theme-contrast);\n --btn-disabled-border-color: var(--theme-bg);\n }\n .btn-outline {\n --btn-bg: transparent;\n --btn-color: var(--theme-text);\n --btn-border-color: var(--theme-border);\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-disabled-bg: transparent;\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: var(--theme-border);\n }\n .btn-outline:hover {\n --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n }\n .btn-outline:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-outline:active, .btn-outline.active, .btn-outline.btn-check:has(input:checked) {\n --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n }\n .btn-outline:disabled, .btn-outline.disabled, .btn-outline.btn-check:has(input:disabled) {\n --btn-disabled-bg: transparent;\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: var(--theme-border);\n }\n .btn-subtle {\n --btn-bg: var(--theme-bg-subtle);\n --btn-color: var(--theme-text);\n --btn-border-color: transparent;\n --btn-active-bg: var(--theme-bg-subtle);\n --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n --btn-disabled-bg: var(--theme-bg-subtle);\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: transparent;\n }\n .btn-subtle:hover {\n --btn-hover-bg: color-mix(in oklch, var(--theme-bg-muted) 50%, var(--theme-bg-subtle));\n --btn-hover-color: oklch(from var(--theme-text-emphasis) calc(l * .95) calc(c * 1.1) h);\n }\n .btn-subtle:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-subtle:active, .btn-subtle.active, .btn-subtle.btn-check:has(input:checked) {\n --btn-active-bg: var(--theme-bg-subtle);\n --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n }\n .btn-subtle:disabled, .btn-subtle.disabled, .btn-subtle.btn-check:has(input:disabled) {\n --btn-disabled-bg: var(--theme-bg-subtle);\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-border-color: transparent;\n }\n .btn-text {\n --btn-color: var(--theme-text);\n --btn-bg: transparent;\n --btn-border-color: transparent;\n --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n --btn-active-bg: var(--theme-bg-subtle);\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-bg: transparent;\n --btn-disabled-border-color: transparent;\n }\n .btn-text:hover {\n --btn-hover-color: oklch(from var(--theme-text) calc(l * .95) calc(c * 1.1) h);\n --btn-hover-bg: var(--theme-bg-subtle);\n }\n .btn-text:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n .btn-text:active, .btn-text.active, .btn-text.btn-check:has(input:checked) {\n --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n --btn-active-bg: var(--theme-bg-subtle);\n }\n .btn-text:disabled, .btn-text.disabled, .btn-text.btn-check:has(input:disabled) {\n --btn-disabled-color: var(--theme-text);\n --btn-disabled-bg: transparent;\n --btn-disabled-border-color: transparent;\n }\n .btn-link {\n --btn-font-weight: var(--font-weight-normal);\n --btn-color: var(--link-color);\n --btn-bg: transparent;\n --btn-border-color: transparent;\n --btn-hover-color: var(--link-hover-color);\n --btn-hover-bg: transparent;\n --btn-hover-border-color: transparent;\n --btn-active-color: var(--link-hover-color);\n --btn-active-bg: transparent;\n --btn-active-border-color: transparent;\n --btn-disabled-color: var(--fg-3);\n --btn-disabled-border-color: transparent;\n color: var(--theme-text, var(--btn-color));\n text-decoration: var(--link-decoration);\n }\n .btn-link:focus-visible {\n color: var(--theme-text, var(--btn-color));\n }\n .btn-link:hover {\n color: var(--theme-text-emphasis, var(--btn-hover-color));\n }\n .btn-xs,\n .btn-group-xs > [class*=btn-] {\n --btn-min-height: var(--btn-input-xs-min-height);\n --btn-padding-y: var(--btn-input-xs-padding-y);\n --btn-padding-x: var(--btn-input-xs-padding-x);\n --btn-font-size: var(--btn-input-xs-font-size);\n --btn-line-height: var(--btn-input-xs-line-height);\n --btn-border-radius: var(--btn-input-xs-border-radius);\n }\n .btn-sm,\n .btn-group-sm > [class*=btn-] {\n --btn-min-height: var(--btn-input-sm-min-height);\n --btn-padding-y: var(--btn-input-sm-padding-y);\n --btn-padding-x: var(--btn-input-sm-padding-x);\n --btn-font-size: var(--btn-input-sm-font-size);\n --btn-line-height: var(--btn-input-sm-line-height);\n --btn-border-radius: var(--btn-input-sm-border-radius);\n }\n .btn-lg,\n .btn-group-lg > [class*=btn-] {\n --btn-min-height: var(--btn-input-lg-min-height);\n --btn-padding-y: var(--btn-input-lg-padding-y);\n --btn-padding-x: var(--btn-input-lg-padding-x);\n --btn-font-size: var(--btn-input-lg-font-size);\n --btn-line-height: var(--btn-input-lg-line-height);\n --btn-border-radius: var(--btn-input-lg-border-radius);\n }\n .btn-icon {\n align-items: center;\n justify-content: center;\n aspect-ratio: 1;\n padding: 0;\n }\n .btn-check > input {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n .btn-check:has(input:checked) {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n border-color: var(--btn-active-border-color);\n box-shadow: var(--btn-active-shadow);\n }\n .btn-check:has(input:focus-visible) {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n --focus-ring-offset: 1px;\n }\n .btn-check:has(input:disabled) {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n box-shadow: none;\n }\n .btn-styled {\n --btn-gradient-start: rgba(255, 255, 255, 0.125);\n --btn-gradient-end: rgba(0, 0, 0, 0.075);\n --btn-border-mix-color: #000;\n --btn-border-mix-amount: 10%;\n --btn-border-hover-mix-amount: 12.5%;\n --btn-border-active-mix-amount: 20%;\n --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n box-shadow: var(--btn-shadow);\n }\n .btn-styled:hover {\n background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n }\n .btn-styled:active, .btn-styled.active {\n background-image: none;\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n box-shadow: var(--btn-active-shadow);\n }\n .btn-styled:disabled, .btn-styled.disabled {\n background-image: none;\n box-shadow: none;\n }\n}\n@layer components {\n .btn-group,\n .btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n }\n .btn-group > [class*=btn-],\n .btn-group-vertical > [class*=btn-] {\n position: relative;\n flex: 1 1 auto;\n }\n .btn-group > [class*=btn-]:hover,\n .btn-group-vertical > [class*=btn-]:hover {\n z-index: 1;\n }\n .btn-group > .btn-check:has(input:checked),\n .btn-group > [class*=btn-]:active,\n .btn-group > [class*=btn-].active,\n .btn-group-vertical > .btn-check:has(input:checked),\n .btn-group-vertical > [class*=btn-]:active,\n .btn-group-vertical > [class*=btn-].active {\n z-index: 2;\n }\n .btn-group > .btn-check:has(input:focus),\n .btn-group > [class*=btn-]:focus,\n .btn-group-vertical > .btn-check:has(input:focus),\n .btn-group-vertical > [class*=btn-]:focus {\n z-index: 3;\n }\n .btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n justify-content: flex-start;\n }\n .btn-toolbar .input-group {\n width: auto;\n }\n .btn-group {\n border-radius: var(--btn-border-radius);\n }\n .btn-group > [class*=btn-]:not(:first-child),\n .btn-group > .btn-group:not(:first-child) {\n margin-inline-start: calc(-1 * var(--btn-border-width));\n }\n .btn-group > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n .btn-group > .btn-group:not(:last-child) > [class*=btn-] {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .btn-group > [class*=btn-]:not(:first-child),\n .btn-group > .btn-group:not(:first-child) > [class*=btn-] {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n }\n .btn-group-vertical > [class*=btn-],\n .btn-group-vertical > .btn-group {\n width: 100%;\n }\n .btn-group-vertical > [class*=btn-]:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: calc(-1 * var(--btn-border-width));\n }\n .btn-group-vertical > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n .btn-group-vertical > .btn-group:not(:last-child) > [class*=btn-] {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .btn-group-vertical > [class*=btn-]:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) > [class*=btn-] {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n}\n@layer components {\n .btn-close {\n --btn-close-size: 1.25rem;\n --btn-close-color: var(--fg-body);\n --btn-close-opacity: 0.5;\n --btn-close-hover-opacity: 0.75;\n --btn-close-focus-opacity: 0.85;\n --btn-close-disabled-opacity: 0.25;\n box-sizing: content-box;\n width: var(--btn-close-size);\n height: var(--btn-close-size);\n padding: 0;\n color: var(--btn-close-color);\n background: transparent;\n border: 0;\n border-radius: var(--border-radius-sm);\n opacity: var(--btn-close-opacity);\n }\n .btn-close > svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: currentcolor;\n }\n .btn-close:hover {\n color: var(--btn-close-color);\n text-decoration: none;\n opacity: var(--btn-close-hover-opacity);\n }\n .btn-close:focus-visible {\n opacity: var(--btn-close-focus-opacity);\n outline: var(--focus-ring);\n }\n .btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--btn-close-disabled-opacity);\n }\n}\n@layer components {\n .accordion {\n --accordion-padding-x: 1.25rem;\n --accordion-padding-y: 1rem;\n --accordion-color: var(--fg-body);\n --accordion-bg: var(--bg-body);\n --accordion-transition-property: color, background-color, border-radius;\n --accordion-transition-timing: .15s ease-in-out;\n --accordion-transition: var(--accordion-transition-property) var(--accordion-timing);\n --accordion-border-color: var(--border-color);\n --accordion-border-width: var(--border-width);\n --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg));\n --accordion-btn-color: var(--fg-2);\n --accordion-btn-bg: var(--bg-body);\n --accordion-btn-icon-width: 1rem;\n --accordion-btn-icon-transform: rotate(-180deg);\n --accordion-btn-icon-transition: transform 0.2s ease-in-out;\n --accordion-active-color: var(--fg);\n --accordion-active-bg: var(--bg-2);\n }\n .accordion-header {\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n font-size: var(--accordion-font-size, var(--font-size-base));\n color: var(--accordion-btn-color);\n text-align: start;\n list-style: none;\n cursor: pointer;\n background-color: var(--accordion-btn-bg);\n transition: var(--accordion-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .accordion-header {\n transition: none;\n }\n }\n .accordion-header .accordion-icon {\n flex-shrink: 0;\n width: var(--accordion-btn-icon-width);\n height: var(--accordion-btn-icon-width);\n margin-inline-start: auto;\n color: currentcolor;\n transition: var(--accordion-btn-icon-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .accordion-header .accordion-icon {\n transition: none;\n }\n }\n .accordion-header:hover {\n z-index: 2;\n }\n .accordion-header:focus-visible {\n position: relative;\n z-index: 3;\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n outline-offset: -1px;\n }\n .accordion-item {\n color: var(--accordion-color);\n background-color: var(--accordion-bg);\n border: var(--accordion-border-width) solid var(--accordion-border-color);\n }\n .accordion-item:first-of-type {\n border-start-start-radius: var(--accordion-border-radius);\n border-start-end-radius: var(--accordion-border-radius);\n }\n .accordion-item:first-of-type > .accordion-header {\n border-start-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n border-start-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n }\n .accordion-item:not(:first-of-type) {\n border-block-start: 0;\n }\n .accordion-item:last-of-type {\n border-end-start-radius: var(--accordion-border-radius);\n border-end-end-radius: var(--accordion-border-radius);\n }\n .accordion-item:last-of-type > .accordion-header {\n border-end-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n border-end-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n }\n .accordion-item:last-of-type > .accordion-body {\n border-end-start-radius: var(--accordion-border-radius);\n border-end-end-radius: var(--accordion-border-radius);\n }\n .accordion-item[open] {\n border-color: var(--theme-border, var(--accordion-border-color));\n }\n .accordion-item[open] > .accordion-header {\n color: var(--theme-text, var(--accordion-active-color));\n background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n }\n .accordion-item[open] > .accordion-header .accordion-icon {\n transform: var(--accordion-btn-icon-transform);\n }\n .accordion-item[open]:last-of-type > .accordion-header {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .accordion-body {\n padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n }\n .accordion-flush > .accordion-item {\n border-inline: 0;\n border-radius: 0;\n }\n .accordion-flush > .accordion-item:first-child {\n border-block-start: 0;\n }\n .accordion-flush > .accordion-item:last-child {\n border-block-end: 0;\n }\n .accordion-flush > .accordion-item > .accordion-header,\n .accordion-flush > .accordion-item > .accordion-body {\n border-radius: 0;\n }\n}\n@layer components {\n .alert {\n --alert-gap: 0.75rem;\n --alert-bg: var(--theme-bg-subtle, var(--bg-1));\n --alert-padding-x: 1rem;\n --alert-padding-y: 1rem;\n --alert-color: var(--theme-text, inherit);\n --alert-border-color: var(--theme-border, var(--border-color));\n --alert-border: var(--border-width) solid var(--alert-border-color);\n --alert-border-radius: var(--border-radius);\n --alert-link-color: inherit;\n --hr-border-color: var(--theme-border, var(--border-color));\n display: flex;\n gap: var(--alert-gap);\n align-items: start;\n padding: var(--alert-padding-y) var(--alert-padding-x);\n color: var(--alert-color);\n background-color: var(--alert-bg);\n border: var(--alert-border);\n border-radius: var(--alert-border-radius);\n }\n .alert-heading {\n color: inherit;\n }\n .alert-link {\n font-weight: var(--font-weight-semibold);\n color: var(--alert-link-color);\n }\n}\n@layer components {\n .avatar {\n --avatar-size: 2.5rem;\n --avatar-border-radius: 50%;\n --avatar-border-width: 2px;\n --avatar-border-color: var(--bg-body);\n --avatar-bg: var(--bg-2);\n --avatar-color: var(--fg-body);\n --avatar-status-size: 0.75rem;\n --avatar-status-border-width: 2px;\n --avatar-status-border-color: var(--bg-body);\n --avatar-stack-spacing: -0.3;\n --avatar-stack-transition: transform .2s ease-in-out;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--avatar-size);\n height: var(--avatar-size);\n font-size: calc(var(--avatar-size) * 0.4);\n font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n line-height: 1;\n color: var(--theme-contrast, var(--avatar-color));\n text-transform: uppercase;\n vertical-align: middle;\n background-color: var(--theme-bg, var(--avatar-bg));\n border-radius: var(--avatar-border-radius);\n }\n .avatar-subtle {\n color: var(--theme-text, var(--avatar-color));\n background-color: var(--theme-bg-subtle, var(--avatar-bg));\n }\n .avatar-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: inherit;\n }\n .avatar-status {\n position: absolute;\n right: calc(var(--avatar-status-border-width) * -1);\n bottom: calc(var(--avatar-status-border-width) * -1);\n width: var(--avatar-status-size);\n height: var(--avatar-status-size);\n background-color: var(--gray-400);\n border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n border-radius: 50%;\n }\n .avatar-status.status-online {\n background-color: var(--green-500);\n }\n .avatar-status.status-offline {\n background-color: var(--gray-400);\n border-radius: 20%;\n }\n .avatar-status.status-busy {\n background-color: var(--red-500);\n border-radius: 20%;\n }\n .avatar-status.status-away {\n background-color: var(--yellow-500);\n }\n .avatar-stack {\n display: inline-flex;\n flex-direction: row-reverse;\n }\n .avatar-stack .avatar {\n margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n border: var(--avatar-border-width) solid var(--avatar-border-color);\n mask-image: none;\n transition: var(--avatar-stack-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .avatar-stack .avatar {\n transition: none;\n }\n }\n .avatar-stack .avatar:last-child {\n margin-left: 0;\n }\n .avatar-stack .avatar:hover {\n z-index: 1;\n transform: translateY(-2px);\n }\n .avatar-xs,\n .avatar-stack-xs {\n --avatar-size: 1.5rem;\n --avatar-status-size: 0.625rem;\n }\n .avatar-sm,\n .avatar-stack-sm {\n --avatar-size: 2rem;\n }\n .avatar-lg,\n .avatar-stack-lg {\n --avatar-size: 3rem;\n --avatar-status-size: 1rem;\n }\n .avatar-xl,\n .avatar-stack-xl {\n --avatar-size: 4rem;\n --avatar-status-size: 1.25rem;\n }\n}\n@layer components {\n .badge {\n --badge-padding-x: 0.625em;\n --badge-padding-y: 0.25em;\n --badge-font-size: clamp(12px, 0.75em, 0.75em);\n --badge-font-weight: var(--font-weight-semibold);\n --badge-color: inherit;\n --badge-bg: var(--bg-2);\n --badge-border-width: var(--border-width);\n --badge-border-color: transparent;\n --badge-border-radius: var(--border-radius-lg);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 1.375rem;\n padding: var(--badge-padding-y) var(--badge-padding-x);\n font-size: var(--badge-font-size);\n font-weight: var(--badge-font-weight);\n line-height: 1;\n color: var(--theme-contrast, var(--badge-color));\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n background-color: var(--theme-bg, var(--badge-bg));\n border: var(--badge-border-width) solid var(--badge-border-color);\n border-radius: var(--badge-border-radius);\n }\n .badge:empty {\n display: none;\n }\n .btn .badge {\n position: relative;\n top: -1px;\n }\n .badge-subtle {\n --badge-color: var(--theme-text);\n --badge-bg: var(--theme-bg-subtle);\n --badge-border-color: transparent;\n color: var(--badge-color);\n background-color: var(--badge-bg);\n border-color: var(--badge-border-color);\n }\n .badge-outline {\n --badge-color: var(--theme-text);\n --badge-bg: transparent;\n --badge-border-color: var(--theme-border);\n color: var(--badge-color);\n background-color: var(--badge-bg);\n border-color: var(--badge-border-color);\n }\n}\n@layer components {\n .breadcrumb {\n --breadcrumb-margin-bottom: 1rem;\n --breadcrumb-font-size: inherit;\n --breadcrumb-bg: transparent;\n --breadcrumb-border-radius: var(--border-radius);\n --breadcrumb-divider-color: var(--fg-4);\n --breadcrumb-link-padding-x: 0.75rem;\n --breadcrumb-link-padding-y: 0.25rem;\n --breadcrumb-link-color: var(--fg-3);\n --breadcrumb-link-hover-color: var(--fg-2);\n --breadcrumb-link-hover-bg: var(--bg-1);\n --breadcrumb-link-active-color: var(--fg-1);\n --breadcrumb-link-border-radius: var(--border-radius-lg);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n font-size: var(--breadcrumb-font-size);\n list-style: none;\n background-color: var(--breadcrumb-bg);\n border-radius: var(--breadcrumb-border-radius);\n }\n .breadcrumb-item {\n display: flex;\n }\n .breadcrumb-divider {\n margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n color: var(--breadcrumb-divider-color);\n }\n .breadcrumb-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 2.25rem;\n padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n color: var(--breadcrumb-link-color);\n text-decoration: none;\n border-radius: var(--breadcrumb-link-border-radius);\n transition: 0.1s text-decoration-color ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .breadcrumb-link {\n transition: none;\n }\n }\n .breadcrumb-link:hover {\n z-index: 2;\n color: var(--breadcrumb-link-hover-color);\n background-color: var(--breadcrumb-link-hover-bg);\n }\n .breadcrumb-link.active {\n color: var(--breadcrumb-link-active-color);\n }\n}\n@layer components {\n .chip {\n --chip-height: 1.75rem;\n --chip-padding-x: 0.625rem;\n --chip-gap: 0.3125rem;\n --chip-border-radius: var(--border-radius-pill);\n --chip-img-size: 1.25rem;\n --chip-icon-size: 1rem;\n --chip-dismiss-size: 1rem;\n --chip-dismiss-opacity: 0.65;\n --chip-dismiss-hover-opacity: 1;\n --chip-color: var(--theme-text, var(--fg-body));\n --chip-bg: var(--theme-bg-subtle, var(--bg-2));\n --chip-border-color: transparent;\n --chip-selected-color: var(--theme-contrast, var(--primary-contrast));\n --chip-selected-bg: var(--theme-bg, var(--primary-bg));\n --chip-selected-border-color: var(--theme-bg, var(--primary-bg));\n display: inline-flex;\n gap: var(--chip-gap);\n align-items: center;\n height: var(--chip-height);\n padding-inline: var(--chip-padding-x);\n font-size: var(--chip-font-size, var(--font-size-sm));\n font-weight: var(--chip-font-weight, var(--font-weight-base));\n line-height: var(--chip-line-height, 1.25rem);\n color: var(--chip-color);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n background-color: var(--chip-bg);\n border: var(--border-width) solid var(--chip-border-color);\n border-radius: var(--chip-border-radius);\n }\n .chip:hover {\n --chip-bg: var(--theme-bg-muted, var(--bg-3));\n }\n .chip:focus-visible {\n outline: 0;\n }\n .chip.active {\n --chip-color: var(--chip-selected-color);\n --chip-bg: var(--chip-selected-bg);\n --chip-border-color: var(--chip-selected-border-color);\n }\n .chip.active:hover {\n --chip-bg: var(--chip-selected-bg);\n opacity: 0.9;\n }\n .chip.disabled, .chip:disabled {\n pointer-events: none;\n opacity: 0.65;\n }\n .chip-img {\n width: var(--chip-img-size);\n height: var(--chip-img-size);\n border-radius: 50%;\n }\n .chip-img:first-child {\n margin-inline-start: -0.375rem;\n }\n .chip-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n margin-inline-start: calc(var(--chip-gap) * -0.25);\n }\n .chip-icon > svg {\n display: block;\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n }\n .chip-icon > img {\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n object-fit: cover;\n border-radius: 50%;\n }\n .chip-dismiss {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--chip-min-height);\n height: var(--chip-min-height);\n padding: 0;\n margin-inline-end: calc(var(--chip-padding-x) * -0.25);\n color: inherit;\n cursor: pointer;\n background: transparent;\n border: 0;\n opacity: var(--chip-dismiss-opacity);\n }\n .chip-dismiss:hover {\n opacity: var(--chip-dismiss-hover-opacity);\n }\n .chip-dismiss:focus-visible {\n outline: 0;\n opacity: 1;\n outline: var(--focus-ring);\n }\n .chip-dismiss > svg {\n display: block;\n width: var(--chip-dismiss-size);\n height: var(--chip-dismiss-size);\n }\n}\n@layer components {\n .card {\n --card-spacer-y: 1rem;\n --card-spacer-x: 1rem;\n --card-subtitle-color: inherit;\n --card-border-width: var(--border-width);\n --card-border-color: var(--border-color-translucent);\n --card-border-radius: var(--border-radius-lg);\n --card-box-shadow: none;\n --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n --card-cap-padding-y: 0.75rem;\n --card-cap-padding-x: 1rem;\n --card-cap-bg: var(--bg-1);\n --card-cap-color: inherit;\n --card-height: auto;\n --card-color: inherit;\n --card-bg: var(--bg-body);\n --card-img-overlay-padding: 1rem;\n --card-group-margin: 0.75rem;\n --card-body-gap: 0.5rem;\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n height: var(--card-height);\n color: var(--fg-body);\n word-wrap: break-word;\n background-color: var(--card-bg);\n box-shadow: var(--card-box-shadow);\n }\n .card > hr {\n margin-inline: 0;\n }\n .card-body {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--card-body-gap);\n align-items: flex-start;\n padding: var(--card-spacer-y) var(--card-spacer-x);\n color: var(--card-color);\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n }\n .card-body > * {\n margin-block: 0;\n }\n .card-body,\n .card-list {\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n }\n .card-body:first-child,\n .card-list:first-child {\n border-start-start-radius: var(--card-border-radius);\n border-start-end-radius: var(--card-border-radius);\n border-top-width: var(--card-border-width);\n }\n .card-body:last-child,\n .card-list:last-child {\n border-end-start-radius: var(--card-border-radius);\n border-end-end-radius: var(--card-border-radius);\n border-bottom-width: var(--card-border-width);\n }\n .card-body:not(:first-child):not(:last-child),\n .card-list:not(:first-child):not(:last-child) {\n border-block-end-width: var(--card-border-width);\n }\n .card-title,\n .card-subtitle,\n .card-text {\n align-self: stretch;\n }\n .card-subtitle {\n margin-top: calc(var(--card-body-gap) * -0.5);\n }\n .card-header {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n margin-bottom: 0;\n color: var(--theme-contrast, var(--card-cap-color));\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n }\n .card-header:first-child {\n border-radius: var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0;\n }\n .card-footer {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n color: var(--card-cap-color);\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n }\n .card-footer:last-child {\n border-radius: 0 0 var(--card-inner-border-radius) var(--card-inner-border-radius);\n }\n .card-translucent {\n background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n .card-translucent .card-header,\n .card-translucent .card-footer {\n background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n }\n .card-subtle {\n border-color: var(--theme-border, var(--card-border-color));\n }\n .card-subtle .card-header {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n .card-subtle .card-footer {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n .card-subtle .card-body,\n .card-subtle .card-list {\n border-color: var(--theme-border, var(--card-border-color));\n }\n .nav.card-header-tabs {\n margin-inline: calc(-0.5 * var(--card-cap-padding-x));\n margin-bottom: calc(-1 * var(--card-cap-padding-y));\n border-block-end: 0;\n }\n .nav.card-header-tabs .nav-link.active {\n background-color: var(--card-bg);\n border-block-end-color: var(--card-bg);\n }\n .card-img-overlay {\n position: absolute;\n inset: 0;\n padding: var(--card-img-overlay-padding);\n border-radius: var(--card-inner-border-radius);\n }\n .card-img,\n .card-img-top,\n .card-img-bottom {\n width: 100%;\n outline: var(--card-border-width) solid var(--card-border-color);\n outline-offset: calc(var(--card-border-width) * -1);\n }\n .card-img,\n .card-img-top {\n border-start-start-radius: var(--card-inner-border-radius);\n border-start-end-radius: var(--card-inner-border-radius);\n }\n .card-img,\n .card-img-bottom {\n border-end-start-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n }\n .card-row {\n flex-direction: row;\n }\n .card-row .card-body,\n .card-row .card-list {\n border-width: var(--card-border-width) 0;\n border-radius: 0;\n }\n .card-row .card-body:first-child,\n .card-row .card-list:first-child {\n border-start-start-radius: var(--card-inner-border-radius);\n border-end-start-radius: var(--card-inner-border-radius);\n border-inline-start-width: var(--card-border-width);\n }\n .card-row .card-body:last-child,\n .card-row .card-list:last-child {\n border-start-end-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n border-inline-end-width: var(--card-border-width);\n }\n .card-row .card-body:not(:first-child):not(:last-child),\n .card-row .card-list:not(:first-child):not(:last-child) {\n border-inline-end-width: var(--card-border-width);\n }\n .card-img-start {\n border-start-start-radius: var(--card-inner-border-radius);\n border-end-start-radius: var(--card-inner-border-radius);\n }\n .card-img-end {\n border-start-end-radius: var(--card-inner-border-radius);\n border-end-end-radius: var(--card-inner-border-radius);\n }\n .card-group > .card {\n margin-bottom: var(--card-group-margin);\n }\n @media (width >= 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-inline-start: 0;\n border-inline-start: 0;\n }\n .card-group > .card:not(:last-child) {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n .card-group > .card:not(:last-child) > .card-img-top,\n .card-group > .card:not(:last-child) > .card-header {\n border-start-end-radius: 0;\n }\n .card-group > .card:not(:last-child) > .card-img-bottom,\n .card-group > .card:not(:last-child) > .card-footer {\n border-end-end-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n .card-group > .card:not(:first-child) > .card-img-top,\n .card-group > .card:not(:first-child) > .card-header {\n border-start-start-radius: 0;\n }\n .card-group > .card:not(:first-child) > .card-img-bottom,\n .card-group > .card:not(:first-child) > .card-footer {\n border-end-start-radius: 0;\n }\n }\n}\n@layer components {\n .carousel {\n position: relative;\n --carousel-control-color: #fff;\n --carousel-control-width: 15%;\n --carousel-control-opacity: 0.5;\n --carousel-control-hover-opacity: 0.9;\n --carousel-control-transition: opacity 0.15s ease;\n --carousel-control-icon-filter: none;\n --carousel-indicator-width: 30px;\n --carousel-indicator-height: 3px;\n --carousel-indicator-hit-area-height: 10px;\n --carousel-indicator-spacer: 3px;\n --carousel-indicator-opacity: 0.5;\n --carousel-indicator-active-bg: var(--white);\n --carousel-indicator-active-opacity: 1;\n --carousel-indicator-transition: opacity 0.6s ease;\n --carousel-caption-width: 70%;\n --carousel-caption-color: var(--white);\n --carousel-caption-padding-y: 1.25rem;\n --carousel-caption-spacer: 1.25rem;\n --carousel-control-icon-width: 2rem;\n --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\");\n --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\");\n --carousel-transition-duration: 0.6s;\n --carousel-transition: transform 0.6s ease-in-out;\n }\n .carousel.pointer-event {\n touch-action: pan-y;\n }\n .carousel-inner {\n position: relative;\n display: flow-root;\n width: 100%;\n overflow: hidden;\n }\n .carousel-item {\n position: relative;\n display: none;\n float: inline-start;\n width: 100%;\n margin-inline-end: -100%;\n backface-visibility: hidden;\n transition: var(--carousel-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n }\n .carousel-item.active,\n .carousel-item-next,\n .carousel-item-prev {\n display: block;\n }\n .carousel-item-next:not(.carousel-item-start),\n .active.carousel-item-end {\n transform: translateX(100%);\n }\n .carousel-item-prev:not(.carousel-item-end),\n .active.carousel-item-start {\n transform: translateX(-100%);\n }\n .carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n .carousel-fade .carousel-item.active,\n .carousel-fade .carousel-item-next.carousel-item-start,\n .carousel-fade .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n }\n .carousel-fade .active.carousel-item-start,\n .carousel-fade .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s var(--carousel-transition-duration);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-start,\n .carousel-fade .active.carousel-item-end {\n transition: none;\n }\n }\n .carousel-control-prev,\n .carousel-control-next {\n position: absolute;\n inset-block: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--carousel-control-width);\n padding: 0;\n color: var(--carousel-control-color);\n text-align: center;\n background: none;\n filter: var(--carousel-control-icon-filter);\n border: 0;\n opacity: var(--carousel-control-opacity);\n transition: var(--carousel-control-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n }\n .carousel-control-prev:hover, .carousel-control-prev:focus,\n .carousel-control-next:hover,\n .carousel-control-next:focus {\n color: var(--carousel-control-color);\n text-decoration: none;\n outline: 0;\n opacity: var(--carousel-control-hover-opacity);\n }\n .carousel-control-prev {\n inset-inline-start: 0;\n }\n .carousel-control-next {\n inset-inline-end: 0;\n }\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n display: inline-block;\n width: var(--carousel-control-icon-width);\n height: var(--carousel-control-icon-width);\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n }\n .carousel-control-prev-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n [dir=rtl] .carousel-control-prev-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n .carousel-control-next-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n [dir=rtl] .carousel-control-next-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n .carousel-indicators {\n position: absolute;\n inset: auto 0 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n margin-inline: var(--carousel-control-width);\n margin-bottom: 1rem;\n }\n .carousel-indicators [data-bs-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: var(--carousel-indicator-width);\n height: var(--carousel-indicator-height);\n padding: 0;\n margin-inline: var(--carousel-indicator-spacer);\n text-indent: -999px;\n cursor: pointer;\n background-color: var(--carousel-indicator-active-bg);\n background-clip: padding-box;\n border: 0;\n border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n opacity: var(--carousel-indicator-opacity);\n transition: var(--carousel-indicator-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .carousel-indicators [data-bs-target] {\n transition: none;\n }\n }\n .carousel-indicators .active {\n opacity: var(--carousel-indicator-active-opacity);\n }\n .carousel-caption {\n position: absolute;\n right: calc((100% - var(--carousel-caption-width)) * 0.5);\n bottom: var(--carousel-caption-spacer);\n left: calc((100% - var(--carousel-caption-width)) * 0.5);\n padding-top: var(--carousel-caption-padding-y);\n padding-bottom: var(--carousel-caption-padding-y);\n color: var(--carousel-caption-color);\n text-align: center;\n }\n .carousel-dark {\n --carousel-indicator-active-bg: #000;\n --carousel-caption-color: #000;\n --carousel-control-icon-filter: invert(1) grayscale(100);\n }\n @media (prefers-color-scheme: dark) {\n :root {\n --carousel-indicator-active-bg: #000;\n --carousel-caption-color: #000;\n --carousel-control-icon-filter: invert(1) grayscale(100);\n }\n }\n}\n@layer components {\n [data-vc=calendar] {\n --datepicker-padding: 1rem;\n --datepicker-bg: var(--bg-body);\n --datepicker-color: var(--fg-body);\n --datepicker-border-color: var(--border-color-translucent);\n --datepicker-border-width: var(--border-width);\n --datepicker-border-radius: var(--border-radius-lg);\n --datepicker-box-shadow: var(--box-shadow);\n --datepicker-font-size: var(--font-size-sm);\n --datepicker-min-width: 280px;\n --datepicker-zindex: 1000;\n --datepicker-header-font-weight: 600;\n --datepicker-weekday-color: var(--fg-3);\n --datepicker-day-hover-bg: var(--bg-1);\n --datepicker-day-selected-bg: var(--primary-bg);\n --datepicker-day-selected-color: var(--primary-contrast);\n --datepicker-day-today-bg: var(--bg-2);\n --datepicker-day-today-color: var(--fg-1);\n --datepicker-day-disabled-color: var(--fg-4);\n position: absolute;\n z-index: var(--datepicker-zindex);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n min-width: var(--datepicker-min-width);\n padding: var(--datepicker-padding);\n font-family: var(--font-sans-serif);\n font-size: var(--datepicker-font-size);\n color: var(--datepicker-color);\n color-scheme: light dark;\n background-color: var(--datepicker-bg);\n border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n border-radius: var(--datepicker-border-radius);\n box-shadow: var(--datepicker-box-shadow);\n opacity: 1;\n }\n [data-vc=calendar][data-bs-theme=light] {\n color-scheme: light;\n }\n [data-vc=calendar][data-bs-theme=dark] {\n color-scheme: dark;\n }\n [data-vc=calendar] button:focus-visible {\n position: relative;\n z-index: 1;\n outline: var(--focus-ring);\n }\n [data-vc-calendar-hidden] {\n pointer-events: none;\n opacity: 0;\n }\n [data-vc=calendar]:not([data-vc-input]) {\n position: relative;\n width: fit-content;\n padding: 0;\n border: 0;\n box-shadow: none;\n }\n [data-vc-position=bottom] {\n margin-block-start: 0.25rem;\n }\n [data-vc-position=top] {\n margin-block-end: -0.25rem;\n }\n [data-vc-arrow] {\n position: relative;\n display: block;\n width: 2rem;\n height: 2rem;\n color: var(--datepicker-color);\n pointer-events: auto;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc-arrow]::before {\n position: absolute;\n inset: 0.25rem;\n content: \"\";\n background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n background-repeat: no-repeat;\n background-position: center;\n }\n [data-vc-arrow]:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc-arrow=prev]::before {\n transform: rotate(90deg);\n }\n [data-vc-arrow=next]::before {\n transform: rotate(-90deg);\n }\n [data-vc=controls] {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 20;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 1rem;\n padding-right: 1rem;\n padding-left: 1rem;\n pointer-events: none;\n }\n [data-vc=grid] {\n display: flex;\n flex-grow: 1;\n flex-wrap: wrap;\n gap: 1.75rem;\n }\n [data-vc=column] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n min-width: 240px;\n }\n [data-vc=header] {\n position: relative;\n display: flex;\n align-items: center;\n margin-bottom: 0.75rem;\n }\n [data-vc-header=content] {\n display: inline-flex;\n flex-grow: 1;\n align-items: center;\n justify-content: center;\n white-space: pre-wrap;\n }\n [data-vc=month],\n [data-vc=year] {\n padding: 0.25rem 0.5rem;\n margin-inline: -0.125rem;\n font-size: 1rem;\n font-weight: var(--datepicker-header-font-weight);\n color: var(--datepicker-color);\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc=month]:disabled,\n [data-vc=year]:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n [data-vc=month]:hover:not(:disabled),\n [data-vc=year]:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc=content] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n }\n [data-vc=months],\n [data-vc=years] {\n display: grid;\n flex-grow: 1;\n grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n row-gap: 1rem;\n column-gap: 0.25rem;\n align-items: center;\n }\n [data-vc=years] {\n --vc-columns: 5;\n }\n [data-vc-months-month],\n [data-vc-years-year] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 2.5rem;\n padding: 0.25rem;\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n text-align: center;\n word-break: break-all;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc-months-month]:disabled,\n [data-vc-years-year]:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n [data-vc-months-month]:hover:not(:disabled),\n [data-vc-years-year]:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc-months-month][data-vc-months-month-selected], [data-vc-months-month][data-vc-years-year-selected],\n [data-vc-years-year][data-vc-months-month-selected],\n [data-vc-years-year][data-vc-years-year-selected] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n [data-vc-months-month][data-vc-months-month-selected]:hover, [data-vc-months-month][data-vc-years-year-selected]:hover,\n [data-vc-years-year][data-vc-months-month-selected]:hover,\n [data-vc-years-year][data-vc-years-year-selected]:hover {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n [data-vc=week] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n justify-items: center;\n margin-bottom: 0.5rem;\n }\n [data-vc-week-day] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n padding: 0;\n margin: 0;\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n background-color: transparent;\n border: 0;\n }\n button[data-vc-week-day] {\n cursor: pointer;\n }\n [data-vc=dates] {\n pointer-events: none;\n }\n [data-vc-dates=row] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n align-items: center;\n justify-items: center;\n width: 100%;\n }\n [data-vc-date] {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n pointer-events: auto;\n }\n [data-vc-date]:not(:has([data-vc-date-btn])), [data-vc-date][data-vc-date-disabled], [data-vc-date][data-vc-date-disabled] [data-vc-date-btn] {\n pointer-events: none;\n }\n [data-vc-date-btn] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n height: 100%;\n min-height: 1.875rem;\n padding: 0;\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--datepicker-color);\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n }\n [data-vc-date-btn]:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n [data-vc-date-today] [data-vc-date-btn] {\n font-weight: 600;\n color: var(--datepicker-day-today-color);\n background-color: var(--datepicker-day-today-bg);\n }\n [data-vc-date-month=next] [data-vc-date-btn],\n [data-vc-date-month=prev] [data-vc-date-btn] {\n opacity: 0.5;\n }\n [data-vc-date-disabled] [data-vc-date-btn] {\n color: var(--datepicker-day-disabled-color);\n }\n [data-vc-date-hover] [data-vc-date-btn] {\n background-color: var(--datepicker-day-hover-bg);\n border-radius: 0;\n }\n [data-vc-date-hover=first] [data-vc-date-btn] {\n border-start-start-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n [data-vc-date-hover=last] [data-vc-date-btn] {\n border-start-end-radius: var(--border-radius);\n border-end-end-radius: var(--border-radius);\n }\n [data-vc-date-hover=first-and-last] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n [data-vc-date-selected=middle] [data-vc-date-btn] {\n border-radius: 0;\n opacity: 0.8;\n }\n [data-vc-date-selected] [data-vc-date-btn] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n [data-vc-date-selected=first] [data-vc-date-btn] {\n border-top-left-radius: var(--border-radius);\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: var(--border-radius);\n }\n [data-vc-date-selected=last] [data-vc-date-btn] {\n border-top-left-radius: 0;\n border-top-right-radius: var(--border-radius);\n border-bottom-right-radius: var(--border-radius);\n border-bottom-left-radius: 0;\n }\n [data-vc-date-selected=first-and-last] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n}\n@layer components {\n .dialog-open {\n overflow: hidden;\n scrollbar-gutter: stable;\n }\n .dialog {\n --dialog-padding: 1rem;\n --dialog-width: 500px;\n --dialog-margin: 1.75rem;\n --dialog-color: var(--fg-body);\n --dialog-bg: var(--bg-body);\n --dialog-border-color: var(--border-color-translucent);\n --dialog-border-width: var(--border-width);\n --dialog-border-radius: var(--border-radius-lg);\n --dialog-box-shadow: var(--box-shadow-lg);\n --dialog-backdrop-bg: rgba(0, 0, 0, 0.5);\n --dialog-backdrop-blur: 8px;\n --dialog-header-padding: 1rem;\n --dialog-header-border-color: var(--border-color);\n --dialog-header-border-width: var(--border-width);\n --dialog-footer-padding: 1rem;\n --dialog-footer-border-color: var(--border-color);\n --dialog-footer-border-width: var(--border-width);\n --dialog-footer-gap: 0.5rem;\n max-width: var(--dialog-width);\n max-height: calc(100% - var(--dialog-margin) * 2);\n padding: 0;\n margin: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n border-radius: var(--dialog-border-radius);\n box-shadow: var(--dialog-box-shadow);\n }\n .dialog::backdrop {\n background-color: var(--dialog-backdrop-bg);\n backdrop-filter: blur(var(--dialog-backdrop-blur));\n }\n .dialog.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n }\n @media (prefers-reduced-motion: reduce) {\n .dialog.fade {\n transition: none;\n }\n }\n .dialog.fade::backdrop {\n opacity: 0;\n transition: opacity 0.15s linear;\n }\n @media (prefers-reduced-motion: reduce) {\n .dialog.fade::backdrop {\n transition: none;\n }\n }\n .dialog.fade[open] {\n opacity: 1;\n }\n .dialog.fade[open]::backdrop {\n opacity: 1;\n }\n .dialog.dialog-static {\n transform: scale(1.02);\n }\n .dialog.dialog-nonmodal {\n position: fixed;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n z-index: 1055;\n margin-inline: 0;\n transform: translate(-50%, -50%);\n }\n .dialog.dialog-overflow {\n position: fixed;\n inset: 0;\n width: 100%;\n max-width: 100%;\n height: 100%;\n max-height: 100%;\n padding: var(--dialog-margin);\n margin: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n background: transparent;\n border: 0;\n box-shadow: none;\n }\n .dialog.dialog-overflow > .dialog-box {\n max-width: var(--dialog-width);\n margin-block-end: var(--dialog-margin);\n margin-inline: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n border-radius: var(--dialog-border-radius);\n box-shadow: var(--dialog-box-shadow);\n }\n .dialog.dialog-scrollable[open] {\n display: flex;\n flex-direction: column;\n max-height: calc(100% - var(--dialog-margin) * 2);\n }\n .dialog.dialog-scrollable[open] .dialog-body {\n overflow-y: auto;\n }\n .dialog-sm {\n --dialog-width: 280px;\n }\n .dialog-lg {\n --dialog-width: 800px;\n }\n .dialog-xl {\n --dialog-width: 1140px;\n }\n .dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n @media (width < 576px) {\n .sm-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 768px) {\n .md-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 1024px) {\n .lg-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 1280px) {\n .xl-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n @media (width < 1536px) {\n .\\32 xl-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n .dialog-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding: var(--dialog-header-padding);\n border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n }\n .dialog-header .btn-close {\n margin-inline-start: auto;\n }\n .dialog-title {\n margin-bottom: 0;\n font-size: var(--font-size-md);\n line-height: 1.5;\n }\n .dialog-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--dialog-padding);\n overflow-y: auto;\n }\n .dialog-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: var(--dialog-footer-gap);\n align-items: center;\n justify-content: flex-end;\n padding: var(--dialog-footer-padding);\n border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n }\n}\n@layer components {\n .menu {\n --menu-zindex: 1000;\n --menu-gap: 0.125rem;\n --menu-min-width: 10rem;\n --menu-padding-x: 0.25rem;\n --menu-padding-y: 0.25rem;\n --menu-spacer: 0.125rem;\n --menu-font-size: var(--font-size-sm);\n --menu-color: var(--fg-body);\n --menu-bg: var(--bg-body);\n --menu-box-shadow: var(--box-shadow);\n --menu-divider-bg: var(--border-color-translucent);\n --menu-divider-margin-y: 0.125rem;\n --menu-divider-margin-x: 0.25rem;\n --menu-item-color: var(--menu-color, var(--fg-body));\n --menu-item-hover-color: var(--menu-color, var(--fg-body));\n --menu-item-hover-bg: var(--bg-1);\n --menu-item-active-color: var(--primary-contrast);\n --menu-item-active-bg: var(--primary-bg);\n --menu-item-disabled-color: var(--fg-3);\n --menu-item-gap: 0.5rem;\n --menu-item-padding-x: 0.75rem;\n --menu-item-padding-y: 0.25rem;\n --menu-item-border-radius: var(--border-radius);\n --menu-icon-size: 1rem;\n --menu-image-size: 1.5rem;\n --menu-description-font-size: var(--font-size-xs);\n --menu-check-color: currentcolor;\n --menu-header-color: var(--fg-3);\n --menu-header-padding-x: 0.75rem;\n --menu-header-padding-y: 0.25rem;\n position: absolute;\n z-index: var(--menu-zindex);\n display: none;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: var(--menu-min-width);\n max-height: var(--menu-max-height, none);\n padding: var(--menu-padding-y) var(--menu-padding-x);\n margin: 0;\n overflow-y: var(--menu-overflow-y, initial);\n overscroll-behavior: contain;\n font-size: var(--menu-font-size);\n color: var(--menu-color);\n text-align: start;\n list-style: none;\n background-color: var(--menu-bg);\n background-clip: padding-box;\n border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n border-radius: var(--menu-border-radius, var(--border-radius-lg));\n box-shadow: var(--menu-box-shadow);\n }\n .menu.show {\n display: flex;\n }\n .menu-scrollable {\n --menu-max-height: 80dvh;\n --menu-overflow-y: auto;\n }\n .menu-translucent {\n --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n .menu-divider {\n height: 0;\n margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n overflow: hidden;\n border-block-start: 1px solid var(--menu-divider-bg);\n opacity: 1;\n }\n .menu-item {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n width: 100%;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n color: var(--theme-text, var(--menu-item-color));\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n outline: 0;\n border-radius: var(--menu-item-border-radius, 0);\n }\n .menu-item:hover, .menu-item:focus {\n color: var(--theme-text, var(--menu-item-hover-color));\n background-color: var(--theme-bg-subtle, var(--menu-item-hover-bg));\n }\n .menu-item.active, .menu-item:active {\n color: var(--theme-contrast, var(--menu-item-active-color));\n background-color: var(--theme-bg, var(--menu-item-active-bg));\n }\n .menu-item.active .menu-item-icon, .menu-item:active .menu-item-icon {\n color: inherit !important;\n }\n .menu-item.selected {\n font-weight: 600;\n }\n .menu-item.disabled, .menu-item:disabled {\n color: var(--menu-item-disabled-color);\n pointer-events: none;\n background-color: transparent;\n }\n .menu-item-icon {\n flex-shrink: 0;\n align-self: flex-start;\n width: var(--menu-icon-size);\n height: auto;\n margin-top: 0.125rem;\n }\n .menu-image {\n width: var(--menu-image-size);\n height: var(--menu-image-size);\n object-fit: cover;\n border-radius: var(--border-radius-sm);\n }\n .menu-item-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-width: fit-content;\n }\n .menu-item-description {\n font-size: var(--menu-description-font-size);\n font-weight: var(--font-weight-normal);\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n .menu-item-check {\n flex-shrink: 0;\n align-self: flex-start;\n margin-block-start: 0.125rem;\n margin-inline-start: auto;\n color: var(--menu-check-color);\n visibility: hidden;\n }\n .selected > .menu-item-check {\n visibility: visible;\n }\n .menu-header {\n display: block;\n padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n margin-bottom: 0;\n font-size: var(--font-size-sm);\n color: var(--menu-header-color);\n white-space: nowrap;\n }\n .menu-text {\n display: block;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n color: var(--fg-2);\n }\n .submenu {\n position: relative;\n }\n .submenu > .menu-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n .submenu > .menu-item::after {\n display: inline-block;\n flex-shrink: 0;\n width: 0.375em;\n height: 0.375em;\n margin-inline-start: auto;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: 0 0.125em 0.125em 0;\n transform: rotate(-45deg);\n }\n [dir=rtl] .submenu > .menu-item::after {\n transform: rotate(135deg);\n }\n .submenu > .menu {\n top: 0;\n margin-top: calc(-1 * var(--menu-padding-y));\n }\n .submenu:hover > .menu-item, .submenu:focus-within > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n .submenu.show > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n @media (max-width: 575.98px) {\n .submenu:has(.submenu-stacked) {\n position: static;\n }\n .submenu-stacked {\n position: absolute;\n inset: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: 0;\n padding: var(--menu-padding-y) var(--menu-padding-x);\n background-color: var(--menu-bg);\n border: 0;\n border-radius: 0;\n box-shadow: none;\n }\n .submenu-back {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--font-weight-semibold, 600);\n color: var(--menu-item-color);\n }\n .submenu-back::before {\n display: inline-block;\n flex-shrink: 0;\n width: 0.375em;\n height: 0.375em;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: 0.125em 0 0 0.125em;\n transform: rotate(-45deg);\n }\n [dir=rtl] .submenu-back::before {\n border-width: 0 0.125em 0.125em 0;\n }\n .submenu-dimmed {\n pointer-events: none;\n filter: blur(2px);\n opacity: 0.3;\n }\n }\n}\n@layer components {\n .list-group {\n --list-group-color: var(--fg-body);\n --list-group-bg: var(--bg-body);\n --list-group-border-color: var(--border-color);\n --list-group-border-width: var(--border-width);\n --list-group-border-radius: var(--border-radius);\n --list-group-item-padding-x: 1rem;\n --list-group-item-padding-y: 0.5rem;\n --list-group-action-color: var(--fg-2);\n --list-group-action-hover-color: var(--fg-1);\n --list-group-action-hover-bg: var(--bg-1);\n --list-group-action-active-color: var(--fg-body);\n --list-group-action-active-bg: var(--bg-2);\n --list-group-disabled-color: var(--fg-3);\n --list-group-disabled-bg: var(--bg-body);\n --list-group-active-color: var(--primary-contrast);\n --list-group-active-bg: var(--primary-bg);\n --list-group-active-border-color: var(--primary-bg);\n display: flex;\n flex-direction: column;\n padding-inline-start: 0;\n margin-bottom: 0;\n border-radius: var(--list-group-border-radius);\n }\n .list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n }\n .list-group-numbered > .list-group-item::before {\n content: counters(section, \".\") \". \";\n counter-increment: section;\n }\n .list-group-item {\n position: relative;\n display: block;\n padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n color: var(--theme-text, var(--list-group-color));\n background-color: var(--theme-bg-subtle, var(--list-group-bg));\n border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n }\n .list-group-item:first-child {\n border-start-start-radius: inherit;\n border-start-end-radius: inherit;\n }\n .list-group-item:last-child {\n border-end-start-radius: inherit;\n border-end-end-radius: inherit;\n }\n .list-group-item.disabled, .list-group-item:disabled {\n color: var(--list-group-disabled-color);\n pointer-events: none;\n background-color: var(--list-group-disabled-bg);\n }\n .list-group-item.active {\n z-index: 2;\n color: var(--list-group-active-color);\n background-color: var(--list-group-active-bg);\n border-color: var(--list-group-active-border-color);\n }\n .list-group-item + .list-group-item {\n border-block-start-width: 0;\n }\n .list-group-item + .list-group-item.active {\n margin-top: calc(-1 * var(--list-group-border-width));\n border-block-start-width: var(--list-group-border-width);\n }\n .list-group-item-action {\n width: 100%;\n color: var(--theme-text, var(--list-group-action-color));\n text-align: inherit;\n text-decoration: none;\n }\n .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n z-index: 1;\n color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n text-decoration: none;\n background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n }\n .list-group-item-action:not(.active):active {\n color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n }\n .list-group-horizontal {\n flex-direction: row;\n }\n .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n @media (width >= 576px) {\n .sm\\:list-group-horizontal {\n flex-direction: row;\n }\n .sm\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .sm\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .sm\\:list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .sm\\:list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .sm\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 768px) {\n .md\\:list-group-horizontal {\n flex-direction: row;\n }\n .md\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .md\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .md\\:list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .md\\:list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .md\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 1024px) {\n .lg\\:list-group-horizontal {\n flex-direction: row;\n }\n .lg\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .lg\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .lg\\:list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .lg\\:list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .lg\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 1280px) {\n .xl\\:list-group-horizontal {\n flex-direction: row;\n }\n .xl\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .xl\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .xl\\:list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .xl\\:list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .xl\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:list-group-horizontal {\n flex-direction: row;\n }\n .\\32 xl\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-end-start-radius: var(--list-group-border-radius);\n border-start-end-radius: 0;\n }\n .\\32 xl\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-start-end-radius: var(--list-group-border-radius);\n border-end-start-radius: 0;\n }\n .\\32 xl\\:list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n }\n .\\32 xl\\:list-group-horizontal > .list-group-item + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n }\n .\\32 xl\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n .list-group-flush {\n border-radius: 0;\n }\n .list-group-flush > .list-group-item {\n border-width: 0 0 var(--list-group-border-width);\n }\n .list-group-flush > .list-group-item:last-child {\n border-block-end-width: 0;\n }\n}\n@layer components {\n .nav {\n --nav-gap: 0.125rem;\n --nav-link-gap: 0.5rem;\n --nav-link-align: center;\n --nav-link-justify: center;\n --nav-link-padding-x: 0.75rem;\n --nav-link-padding-y: 0.375rem;\n --nav-link-color: var(--fg-2);\n --nav-link-hover-color: var(--fg-1);\n --nav-link-hover-bg: var(--bg-1);\n --nav-link-active-color: var(--fg-body);\n --nav-link-active-bg: var(--bg-2);\n --nav-link-disabled-color: var(--fg-4);\n --nav-link-border-width: var(--border-width);\n --nav-link-transition-property: color, background-color, border-color;\n --nav-link-transition-timing: 0.15s ease-in-out;\n --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing);\n display: flex;\n flex-wrap: wrap;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n }\n .nav-item {\n display: flex;\n }\n .nav-link {\n display: flex;\n gap: var(--nav-link-gap);\n align-items: var(--nav-link-align);\n justify-content: var(--nav-link-justify);\n padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n font-weight: var(--nav-link-font-weight);\n color: var(--nav-link-color);\n text-decoration: none;\n white-space: nowrap;\n background: none;\n border: var(--nav-link-border-width) solid transparent;\n border-radius: var(--border-radius);\n transition: var(--nav-link-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n }\n .nav-link:hover, .nav-link:focus {\n color: var(--nav-link-hover-color);\n background-color: var(--nav-link-hover-bg);\n }\n .nav-link:focus-visible {\n --focus-ring-offset: 1px;\n color: var(--nav-link-hover-color);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .nav-link.active, .nav-link:active {\n color: var(--nav-link-active-color);\n background-color: var(--nav-link-active-bg);\n }\n .nav-link.disabled, .nav-link:disabled {\n color: var(--nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n }\n .nav-tabs {\n --nav-tabs-border-width: var(--border-width);\n --nav-tabs-border-color: var(--border-color);\n --nav-tabs-border-radius: var(--border-radius);\n --nav-tabs-link-hover-border-color: var(--border-subtle);\n --nav-tabs-link-active-color: var(--fg-color);\n --nav-tabs-link-active-bg: var(--bg-body);\n --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body);\n box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n }\n .nav-tabs .nav-link {\n border: var(--nav-tabs-border-width) solid transparent;\n border-bottom-color: var(--nav-tabs-border-color);\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n .nav-tabs .nav-link:hover {\n isolation: isolate;\n border-color: var(--nav-tabs-link-hover-border-color);\n border-bottom-color: var(--nav-tabs-border-color);\n }\n .nav-tabs .nav-link.active,\n .nav-tabs .nav-item.show .nav-link {\n color: var(--nav-tabs-link-active-color);\n background-color: var(--nav-tabs-link-active-bg);\n border-color: var(--nav-tabs-link-active-border-color);\n border-bottom-color: var(--nav-tabs-link-active-bg);\n }\n .nav-tabs .menu {\n margin-top: calc(-1 * var(--nav-tabs-border-width));\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .nav-pills {\n --nav-pills-link-active-color: var(--primary-contrast);\n --nav-pills-link-active-bg: var(--primary-bg);\n }\n .nav-pills .nav-link.active,\n .nav-pills .show > .nav-link {\n color: var(--nav-pills-link-active-color);\n background-color: var(--nav-pills-link-active-bg);\n }\n .nav-underline {\n --nav-gap: 1rem;\n --nav-link-active-bg: transparent;\n --nav-underline-border-width: 0.125rem;\n --nav-underline-link-active-color: var(--fg-color);\n }\n .nav-underline .nav-link {\n padding-inline: 0;\n border: 0;\n border-block-end: var(--nav-underline-border-width) solid transparent;\n border-radius: 0;\n }\n .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n border-block-end-color: currentcolor;\n }\n .nav-underline .nav-link.active,\n .nav-underline .show > .nav-link {\n font-weight: 700;\n color: var(--nav-underline-link-active-color);\n border-block-end-color: currentcolor;\n }\n .nav-fill > .nav-link,\n .nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n .nav-justified > .nav-link,\n .nav-justified .nav-item {\n flex-grow: 1;\n flex-basis: 0;\n text-align: center;\n }\n .nav-fill .nav-item .nav-link,\n .nav-justified .nav-item .nav-link {\n width: 100%;\n }\n .tab-content > .tab-pane {\n display: none;\n }\n .tab-content > .active {\n display: block;\n }\n}\n@layer components {\n .nav-overflow {\n flex-wrap: nowrap;\n min-width: 0;\n }\n .nav-overflow-item {\n flex-shrink: 0;\n margin-inline-start: auto;\n }\n .nav-overflow [data-bs-nav-overflow=true] {\n display: none;\n }\n .nav-overflow-keep {\n flex-shrink: 0;\n }\n}\n@layer components {\n .navbar {\n --navbar-padding-x: 0;\n --navbar-padding-y: 0.5rem;\n --navbar-color: var(--fg-2);\n --navbar-hover-color: var(--fg-1);\n --navbar-disabled-color: var(--fg-3);\n --navbar-active-color: var(--fg-body);\n --navbar-brand-padding-y: 0.75rem;\n --navbar-brand-margin-end: 1rem;\n --navbar-brand-font-size: var(--font-size-md);\n --navbar-brand-font-weight: var(--font-weight-medium);\n --navbar-brand-color: var(--fg-body);\n --navbar-brand-hover-color: var(--fg-body);\n --navbar-nav-link-padding-x: 0.75rem;\n --navbar-toggler-width: 2rem;\n --navbar-toggler-padding-y: 0.25rem;\n --navbar-toggler-padding-x: 0.75rem;\n --navbar-toggler-font-size: var(--font-size-lg);\n --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --navbar-toggler-border-radius: var(--border-radius);\n --navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--navbar-padding-y) var(--navbar-padding-x);\n container-type: inline-size;\n color: var(--navbar-color, var(--fg-body));\n background-color: var(--navbar-bg, var(--bg-body));\n }\n .navbar > .\\32 xl\\:container, .navbar > .xl\\:container, .navbar > .lg\\:container, .navbar > .md\\:container, .navbar > .sm\\:container, .navbar > .container,\n .navbar > .container-fluid {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n .navbar-brand {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n margin-inline-end: var(--navbar-brand-margin-end);\n font-size: var(--navbar-brand-font-size);\n font-weight: var(--navbar-brand-font-weight);\n color: var(--navbar-brand-color);\n text-decoration: none;\n white-space: nowrap;\n }\n .navbar-brand:hover, .navbar-brand:focus {\n color: var(--navbar-brand-hover-color);\n }\n .navbar-nav {\n --nav-gap: 0.25rem;\n --nav-link-gap: 0.5rem;\n --nav-link-padding-x: 0.5rem;\n --nav-link-padding-y: 0.375rem;\n --nav-link-color: var(--navbar-color);\n --nav-link-border-width: var(--border-width);\n --nav-link-hover-color: var(--navbar-hover-color);\n --nav-link-hover-bg: transparent;\n --nav-link-active-color: var(--navbar-active-color);\n --nav-link-active-bg: transparent;\n --nav-link-disabled-color: var(--navbar-disabled-color);\n display: flex;\n flex-direction: column;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n }\n .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n color: var(--navbar-active-color);\n border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n }\n .navbar-text {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n color: var(--navbar-color);\n }\n .navbar-text a,\n .navbar-text a:hover,\n .navbar-text a:focus {\n color: var(--navbar-active-color);\n }\n .navbar-toggler {\n --btn-bg: transparent;\n --btn-hover-bg: var(--bg-2);\n }\n .navbar-expand > .container,\n .navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .navbar-expand .navbar-toggler {\n display: none !important;\n }\n .navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n .navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n @container (width >= 576px) {\n .sm\\:navbar-expand > .container,\n .sm\\:navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .sm\\:navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .sm\\:navbar-expand .navbar-toggler {\n display: none !important;\n }\n .sm\\:navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .sm\\:navbar-expand .offcanvas .offcanvas-header {\n display: none;\n }\n .sm\\:navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 768px) {\n .md\\:navbar-expand > .container,\n .md\\:navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .md\\:navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .md\\:navbar-expand .navbar-toggler {\n display: none !important;\n }\n .md\\:navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .md\\:navbar-expand .offcanvas .offcanvas-header {\n display: none;\n }\n .md\\:navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 1024px) {\n .lg\\:navbar-expand > .container,\n .lg\\:navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .lg\\:navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .lg\\:navbar-expand .navbar-toggler {\n display: none !important;\n }\n .lg\\:navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .lg\\:navbar-expand .offcanvas .offcanvas-header {\n display: none;\n }\n .lg\\:navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 1280px) {\n .xl\\:navbar-expand > .container,\n .xl\\:navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .xl\\:navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .xl\\:navbar-expand .navbar-toggler {\n display: none !important;\n }\n .xl\\:navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .xl\\:navbar-expand .offcanvas .offcanvas-header {\n display: none;\n }\n .xl\\:navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:navbar-expand > .container,\n .\\32 xl\\:navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .\\32 xl\\:navbar-expand .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n .\\32 xl\\:navbar-expand .navbar-toggler {\n display: none !important;\n }\n .\\32 xl\\:navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .\\32 xl\\:navbar-expand .offcanvas .offcanvas-header {\n display: none;\n }\n .\\32 xl\\:navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n .navbar-translucent {\n position: relative;\n background-color: transparent;\n }\n .navbar-translucent::before {\n position: absolute;\n inset: 0;\n z-index: -1;\n content: \"\";\n background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n background-image: none;\n backdrop-filter: blur(5px) saturate(180%);\n }\n .navbar[data-bs-theme=dark] {\n --navbar-color: color-mix(in oklch, var(--white) 0.55, transparent);\n --navbar-hover-color: color-mix(in oklch, var(--white) 0.75, transparent);\n --navbar-disabled-color: color-mix(in oklch, var(--white) 0.25, transparent);\n --navbar-active-color: var(--white);\n --navbar-brand-color: var(--white);\n --navbar-brand-hover-color: var(--white);\n --navbar-toggler-border-color: color-mix(in oklch, var(--white) 0.1, transparent);\n }\n}\n.offcanvas, .\\32 xl\\:offcanvas, .xl\\:offcanvas, .lg\\:offcanvas, .md\\:offcanvas, .sm\\:offcanvas {\n --offcanvas-inset: var(--spacer);\n --offcanvas-zindex: 1045;\n --offcanvas-width: 400px;\n --offcanvas-height: 30vh;\n --offcanvas-padding-x: var(--spacer);\n --offcanvas-padding-y: var(--spacer);\n --offcanvas-color: var(--fg-body);\n --offcanvas-bg: var(--bg-body);\n --offcanvas-border-width: var(--border-width);\n --offcanvas-border-color: var(--border-color-translucent);\n --offcanvas-border-radius: var(--border-radius-lg);\n --offcanvas-box-shadow: var(--box-shadow-lg);\n --offcanvas-transition: transform 0.3s ease-in-out;\n --offcanvas-title-line-height: 1.5;\n}\n\n@layer components {\n @media (width < 576px) {\n .sm\\:offcanvas {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 576px) and (prefers-reduced-motion: reduce) {\n .sm\\:offcanvas {\n transition: none;\n }\n }\n @media (width < 576px) {\n .sm\\:offcanvas:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .sm\\:offcanvas:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .sm\\:offcanvas:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .sm\\:offcanvas:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .sm\\:offcanvas:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .sm\\:offcanvas:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .sm\\:offcanvas:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .sm\\:offcanvas.showing, .sm\\:offcanvas.show:not(.hiding) {\n transform: none;\n }\n .sm\\:offcanvas.showing, .sm\\:offcanvas.hiding, .sm\\:offcanvas.show {\n visibility: visible;\n }\n }\n @media (width >= 576px) {\n .sm\\:offcanvas {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .sm\\:offcanvas .offcanvas-header {\n display: none;\n }\n .sm\\:offcanvas .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 768px) {\n .md\\:offcanvas {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 768px) and (prefers-reduced-motion: reduce) {\n .md\\:offcanvas {\n transition: none;\n }\n }\n @media (width < 768px) {\n .md\\:offcanvas:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .md\\:offcanvas:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .md\\:offcanvas:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .md\\:offcanvas:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .md\\:offcanvas:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .md\\:offcanvas:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .md\\:offcanvas:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .md\\:offcanvas.showing, .md\\:offcanvas.show:not(.hiding) {\n transform: none;\n }\n .md\\:offcanvas.showing, .md\\:offcanvas.hiding, .md\\:offcanvas.show {\n visibility: visible;\n }\n }\n @media (width >= 768px) {\n .md\\:offcanvas {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .md\\:offcanvas .offcanvas-header {\n display: none;\n }\n .md\\:offcanvas .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 1024px) {\n .lg\\:offcanvas {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n .lg\\:offcanvas {\n transition: none;\n }\n }\n @media (width < 1024px) {\n .lg\\:offcanvas:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .lg\\:offcanvas:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .lg\\:offcanvas:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .lg\\:offcanvas:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .lg\\:offcanvas:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .lg\\:offcanvas:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .lg\\:offcanvas:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .lg\\:offcanvas.showing, .lg\\:offcanvas.show:not(.hiding) {\n transform: none;\n }\n .lg\\:offcanvas.showing, .lg\\:offcanvas.hiding, .lg\\:offcanvas.show {\n visibility: visible;\n }\n }\n @media (width >= 1024px) {\n .lg\\:offcanvas {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .lg\\:offcanvas .offcanvas-header {\n display: none;\n }\n .lg\\:offcanvas .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 1280px) {\n .xl\\:offcanvas {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n .xl\\:offcanvas {\n transition: none;\n }\n }\n @media (width < 1280px) {\n .xl\\:offcanvas:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .xl\\:offcanvas:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .xl\\:offcanvas:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .xl\\:offcanvas:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .xl\\:offcanvas:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .xl\\:offcanvas:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .xl\\:offcanvas:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .xl\\:offcanvas.showing, .xl\\:offcanvas.show:not(.hiding) {\n transform: none;\n }\n .xl\\:offcanvas.showing, .xl\\:offcanvas.hiding, .xl\\:offcanvas.show {\n visibility: visible;\n }\n }\n @media (width >= 1280px) {\n .xl\\:offcanvas {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .xl\\:offcanvas .offcanvas-header {\n display: none;\n }\n .xl\\:offcanvas .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n @media (width < 1536px) {\n .\\32 xl\\:offcanvas {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n }\n @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n .\\32 xl\\:offcanvas {\n transition: none;\n }\n }\n @media (width < 1536px) {\n .\\32 xl\\:offcanvas:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .\\32 xl\\:offcanvas:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .\\32 xl\\:offcanvas:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .\\32 xl\\:offcanvas:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .\\32 xl\\:offcanvas:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .\\32 xl\\:offcanvas:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .\\32 xl\\:offcanvas:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .\\32 xl\\:offcanvas.showing, .\\32 xl\\:offcanvas.show:not(.hiding) {\n transform: none;\n }\n .\\32 xl\\:offcanvas.showing, .\\32 xl\\:offcanvas.hiding, .\\32 xl\\:offcanvas.show {\n visibility: visible;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:offcanvas {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .\\32 xl\\:offcanvas .offcanvas-header {\n display: none;\n }\n .\\32 xl\\:offcanvas .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n }\n .offcanvas {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n border-radius: var(--offcanvas-border-radius);\n outline: 0;\n box-shadow: var(--offcanvas-box-shadow);\n transition: var(--offcanvas-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .offcanvas {\n transition: none;\n }\n }\n .offcanvas:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n }\n :root:dir(rtl) .offcanvas:where(.offcanvas-start) {\n transform: translateX(100%);\n }\n .offcanvas:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n }\n :root:dir(rtl) .offcanvas:where(.offcanvas-end) {\n transform: translateX(-100%);\n }\n .offcanvas:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n .offcanvas:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n .offcanvas:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n .offcanvas.showing, .offcanvas.show:not(.hiding) {\n transform: none;\n }\n .offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\n visibility: visible;\n }\n .offcanvas-backdrop {\n --offcanvas-backdrop-bg: var(--bg-body);\n --offcanvas-backdrop-opacity: 25%;\n --offcanvas-backdrop-blur: 8px;\n position: fixed;\n inset: 0;\n z-index: 1040;\n background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n }\n .offcanvas-backdrop.fade {\n opacity: 0;\n }\n .offcanvas-backdrop.show {\n opacity: 1;\n }\n .offcanvas-translucent {\n background-color: color-mix(in oklch, var(--offcanvas-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n .offcanvas-header {\n display: flex;\n align-items: center;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n }\n .offcanvas-header .btn-close {\n padding: calc(var(--offcanvas-padding-y) * 0.5) calc(var(--offcanvas-padding-x) * 0.5);\n margin-inline-start: auto;\n margin-inline-end: calc(-0.5 * var(--offcanvas-padding-x));\n margin-top: calc(-0.5 * var(--offcanvas-padding-y));\n margin-bottom: calc(-0.5 * var(--offcanvas-padding-y));\n }\n .offcanvas-title {\n margin-bottom: 0;\n line-height: var(--offcanvas-title-line-height);\n }\n .offcanvas-body {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n gap: var(--offcanvas-padding-y);\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n overflow-y: auto;\n }\n .offcanvas-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: 0.5rem;\n align-items: center;\n justify-content: flex-end;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n }\n .offcanvas-fit-content {\n inset-block-end: auto;\n }\n}\n@layer components {\n .pagination {\n --pagination-min-height: var(--btn-input-min-height);\n --pagination-padding-x: var(--btn-input-padding-x);\n --pagination-padding-y: var(--btn-input-padding-y);\n --pagination-font-size: var(--btn-input-font-size);\n --pagination-color: var(--link-color);\n --pagination-bg: var(--bg-body);\n --pagination-border-width: var(--border-width);\n --pagination-border-color: var(--border-color);\n --pagination-border-radius: var(--btn-input-border-radius);\n --pagination-hover-color: var(--link-hover-color);\n --pagination-hover-bg: var(--bg-1);\n --pagination-hover-border-color: var(--border-color);\n --pagination-focus-color: var(--link-hover-color);\n --pagination-focus-bg: var(--bg-2);\n --pagination-active-color: var(--primary-contrast);\n --pagination-active-bg: var(--primary-bg);\n --pagination-active-border-color: var(--primary-bg);\n --pagination-disabled-color: var(--fg-3);\n --pagination-disabled-bg: var(--bg-2);\n --pagination-disabled-border-color: var(--border-color);\n display: flex;\n padding-inline-start: 0;\n list-style: none;\n }\n .page-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--pagination-min-height);\n padding: var(--pagination-padding-y) var(--pagination-padding-x);\n font-size: var(--pagination-font-size);\n color: var(--pagination-color);\n text-decoration: none;\n background-color: var(--pagination-bg);\n border: var(--pagination-border-width) solid var(--pagination-border-color);\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n }\n @media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n }\n .page-link:hover {\n z-index: 2;\n color: var(--pagination-hover-color);\n background-color: var(--pagination-hover-bg);\n border-color: var(--pagination-hover-border-color);\n }\n .page-link:focus-visible {\n z-index: 3;\n color: var(--pagination-focus-color);\n background-color: var(--pagination-focus-bg);\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n }\n .page-link.active, .active > .page-link {\n z-index: 3;\n color: var(--pagination-active-color);\n background-color: var(--pagination-active-bg);\n border-color: var(--pagination-active-border-color);\n }\n .page-link.disabled, .disabled > .page-link {\n color: var(--pagination-disabled-color);\n pointer-events: none;\n background-color: var(--pagination-disabled-bg);\n border-color: var(--pagination-disabled-border-color);\n }\n .page-item:not(:first-child) .page-link {\n margin-inline-start: calc(-1 * var(--pagination-border-width));\n }\n .page-item:first-child .page-link {\n border-start-start-radius: var(--pagination-border-radius);\n border-end-start-radius: var(--pagination-border-radius);\n }\n .page-item:last-child .page-link {\n border-start-end-radius: var(--pagination-border-radius);\n border-end-end-radius: var(--pagination-border-radius);\n }\n .pagination-sm {\n --pagination-min-height: var(--bs-btn-input-sm-min-height);\n --pagination-padding-y: var(--btn-input-sm-padding-y);\n --pagination-padding-x: var(--btn-input-sm-padding-x);\n --pagination-font-size: var(--btn-input-sm-font-size);\n --pagination-border-radius: var(--btn-input-sm-border-radius);\n }\n .pagination-lg {\n --pagination-min-height: var(--bs-btn-input-lg-min-height);\n --pagination-padding-y: var(--btn-input-lg-padding-y);\n --pagination-padding-x: var(--btn-input-lg-padding-x);\n --pagination-font-size: var(--btn-input-lg-font-size);\n --pagination-border-radius: var(--btn-input-lg-border-radius);\n }\n}\n@layer components {\n .placeholder {\n --placeholder-opacity-max: 0.5;\n --placeholder-opacity-min: 0.2;\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: var(--placeholder-opacity-max);\n }\n .placeholder.btn::before {\n display: inline-block;\n content: \"\";\n }\n .placeholder-xs {\n min-height: 0.6em;\n }\n .placeholder-sm {\n min-height: 0.8em;\n }\n .placeholder-lg {\n min-height: 1.2em;\n }\n .placeholder-glow .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n }\n @keyframes placeholder-glow {\n 50% {\n opacity: var(--placeholder-opacity-min);\n }\n }\n .placeholder-wave {\n mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, #000 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n }\n @keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n }\n}\n@layer components {\n .popover {\n --popover-zindex: 1070;\n --popover-max-width: 280px;\n --popover-font-size: var(--font-size-sm);\n --popover-bg: var(--bg-body);\n --popover-border-width: var(--border-width);\n --popover-border-color: var(--border-color-translucent);\n --popover-border-radius: var(--border-radius-lg);\n --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n --popover-box-shadow: var(--box-shadow);\n --popover-header-padding-x: 1rem;\n --popover-header-padding-y: 0.75rem;\n --popover-header-font-size: var(--font-size-sm);\n --popover-header-color: inherit;\n --popover-header-bg: var(--bg-1);\n --popover-body-padding-x: 1rem;\n --popover-body-padding-y: 0.75rem;\n --popover-body-color: var(--fg-body);\n --popover-arrow-width: 1rem;\n --popover-arrow-height: 0.5rem;\n --popover-arrow-border: var(--popover-border-color);\n z-index: var(--popover-zindex);\n display: block;\n max-width: var(--popover-max-width);\n font-family: var(--body-font-family);\n font-style: normal;\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--popover-font-size);\n word-wrap: break-word;\n background-color: var(--popover-bg);\n background-clip: padding-box;\n border: var(--popover-border-width) solid var(--popover-border-color);\n border-radius: var(--popover-border-radius);\n box-shadow: var(--popover-box-shadow);\n }\n .popover .popover-arrow {\n display: block;\n width: var(--popover-arrow-width);\n height: var(--popover-arrow-height);\n }\n .popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n }\n .bs-popover-top > .popover-arrow, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow {\n bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n }\n .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n }\n .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before {\n bottom: 0;\n border-block-start-color: var(--popover-arrow-border);\n }\n .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n bottom: var(--popover-border-width);\n border-block-start-color: var(--popover-bg);\n }\n .bs-popover-end > .popover-arrow, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow {\n left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n }\n .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n border-width: calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n }\n .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before {\n left: 0;\n border-inline-end-color: var(--popover-arrow-border);\n }\n .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n left: var(--popover-border-width);\n border-inline-end-color: var(--popover-bg);\n }\n .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow {\n top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n }\n .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n border-width: 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n }\n .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before {\n top: 0;\n border-block-end-color: var(--popover-arrow-border);\n }\n .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n top: var(--popover-border-width);\n border-block-end-color: var(--popover-bg);\n }\n .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-bs-placement^=bottom] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--popover-arrow-width);\n margin-inline-start: calc(-0.5 * var(--popover-arrow-width));\n content: \"\";\n border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n }\n .bs-popover-start > .popover-arrow, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow {\n right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n }\n .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n border-width: calc(var(--popover-arrow-width) * 0.5) 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n }\n .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before {\n right: 0;\n border-inline-start-color: var(--popover-arrow-border);\n }\n .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n right: var(--popover-border-width);\n border-inline-start-color: var(--popover-bg);\n }\n .popover-header {\n padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n margin-bottom: 0;\n font-size: var(--popover-header-font-size);\n color: var(--popover-header-color);\n background-color: var(--popover-header-bg);\n border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n border-start-start-radius: var(--popover-inner-border-radius);\n border-start-end-radius: var(--popover-inner-border-radius);\n }\n .popover-header:empty {\n display: none;\n }\n .popover-body {\n padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n color: var(--popover-body-color);\n }\n}\n@layer components {\n @keyframes progress-bar-stripes {\n 0% {\n background-position-x: var(--progress-height);\n }\n }\n .progress,\n .progress-stacked {\n --progress-height: 1rem;\n --progress-font-size: var(--font-size-sm);\n --progress-bg: var(--bg-2);\n --progress-border-radius: var(--border-radius);\n --progress-box-shadow: var(--box-shadow-inset);\n --progress-bar-color: var(--white);\n --progress-bar-bg: var(--primary-bg);\n --progress-bar-transition: width 0.6s ease;\n --progress-bar-animation: progress-bar-stripes 1s linear infinite;\n display: flex;\n height: var(--progress-height);\n overflow: hidden;\n font-size: var(--progress-font-size);\n background-color: var(--progress-bg);\n border-radius: var(--progress-border-radius);\n box-shadow: var(--progress-box-shadow);\n }\n .progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--theme-contrast, var(--progress-bar-color));\n text-align: center;\n white-space: nowrap;\n background-color: var(--theme-bg, var(--progress-bar-bg));\n transition: var(--progress-bar-transition);\n }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n }\n .progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: var(--progress-height) var(--progress-height);\n }\n .progress-stacked > .progress {\n overflow: visible;\n }\n .progress-stacked > .progress > .progress-bar {\n width: 100%;\n }\n .progress-bar-animated {\n animation: var(--progress-bar-animation);\n }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n }\n}\n@layer components {\n .spinner-grow,\n .spinner-border {\n display: inline-block;\n flex-shrink: 0;\n width: var(--spinner-width);\n height: var(--spinner-height);\n vertical-align: var(--spinner-vertical-align);\n border-radius: 50%;\n animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n }\n @keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n }\n .spinner-border {\n --spinner-width: 2rem;\n --spinner-height: 2rem;\n --spinner-vertical-align: -0.125em;\n --spinner-border-width: 0.25em;\n --spinner-animation-speed: 0.75s;\n --spinner-animation-name: spinner-border;\n border: var(--spinner-border-width) solid currentcolor;\n border-inline-end-color: transparent;\n }\n .spinner-border-sm {\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n --spinner-border-width: .2em;\n }\n @keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n }\n .spinner-grow {\n --spinner-width: 2rem;\n --spinner-height: 2rem;\n --spinner-vertical-align: -0.125em;\n --spinner-animation-speed: 0.75s;\n --spinner-animation-name: spinner-grow;\n background-color: currentcolor;\n opacity: 0;\n }\n .spinner-grow-sm {\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n }\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --spinner-animation-speed: 1.5s;\n }\n }\n}\n@layer components {\n .stepper {\n --stepper-size: 2rem;\n --stepper-gap: 1rem;\n --stepper-font-size: var(--font-size-sm);\n --stepper-text-gap: 0.5rem;\n --stepper-track-size: 0.125rem;\n --stepper-bg: var(--bg-2);\n --stepper-active-color: var(--primary-contrast);\n --stepper-active-bg: var(--primary-bg);\n display: grid;\n grid-auto-rows: 1fr;\n grid-auto-flow: row;\n gap: var(--stepper-gap);\n padding-inline-start: 0;\n list-style: none;\n counter-reset: stepper;\n }\n .stepper-item {\n position: relative;\n display: grid;\n grid-template-rows: auto;\n grid-template-columns: var(--stepper-size) auto;\n gap: var(--stepper-text-gap);\n align-items: var(--stepper-align-items, center);\n text-decoration: none;\n }\n .stepper-item::before {\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--stepper-size);\n height: var(--stepper-size);\n padding: 0.5rem;\n font-size: var(--stepper-font-size);\n font-weight: 600;\n line-height: 1;\n text-align: center;\n content: counter(stepper);\n counter-increment: stepper;\n background-color: var(--stepper-bg);\n border-radius: 50%;\n }\n .stepper-item::after {\n position: absolute;\n inset-block-start: 50%;\n inset-block-end: 100%;\n inset-inline-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n width: var(--stepper-track-size);\n height: calc(100% + var(--stepper-gap));\n content: \"\";\n background-color: var(--stepper-bg);\n }\n .stepper-item:last-child::after {\n display: none;\n }\n .stepper-item.active::before, .stepper-item.active::after {\n color: var(--theme-contrast, var(--stepper-active-color));\n background-color: var(--theme-bg, var(--stepper-active-bg));\n }\n .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n background-color: var(--stepper-bg);\n }\n .stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n @container (width >= 576px) {\n .sm\\:stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .sm\\:stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .sm\\:stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .sm\\:stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 768px) {\n .md\\:stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .md\\:stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .md\\:stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .md\\:stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 1024px) {\n .lg\\:stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .lg\\:stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .lg\\:stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .lg\\:stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 1280px) {\n .xl\\:stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .xl\\:stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .xl\\:stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .xl\\:stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:stepper-horizontal {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n }\n .\\32 xl\\:stepper-horizontal .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n }\n .\\32 xl\\:stepper-horizontal .stepper-item::after {\n inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n .\\32 xl\\:stepper-horizontal .stepper-item:last-child::after {\n right: 100%;\n }\n }\n .stepper-overflow {\n container-type: inline-size;\n overflow-x: auto;\n overscroll-behavior-x: contain;\n -webkit-overflow-scrolling: touch;\n }\n .stepper-overflow > .stepper {\n width: max-content;\n min-width: 100%;\n }\n}\n@layer components {\n .toast {\n --toast-zindex: 1090;\n --toast-padding-x: 0.75rem;\n --toast-padding-y: 0.5rem;\n --toast-spacing: 1.5rem;\n --toast-max-width: 350px;\n --toast-font-size: 0.875rem;\n --toast-bg: rgba(var(--body-bg-rgb), 0.85);\n --toast-border-width: var(--border-width);\n --toast-border-color: var(--border-color-translucent);\n --toast-border-radius: var(--border-radius);\n --toast-box-shadow: var(--box-shadow);\n --toast-header-color: var(--fg-3);\n --toast-header-bg: rgba(var(--body-bg-rgb), 0.85);\n --toast-header-border-color: var(--border-color-translucent);\n width: var(--toast-max-width);\n max-width: 100%;\n font-size: var(--toast-font-size);\n color: var(--toast-color);\n pointer-events: auto;\n background-color: var(--toast-bg);\n background-clip: padding-box;\n border: var(--toast-border-width) solid var(--toast-border-color);\n box-shadow: var(--toast-box-shadow);\n border-radius: var(--toast-border-radius);\n }\n .toast.showing {\n opacity: 0;\n }\n .toast:not(.show) {\n display: none;\n }\n .toast-container {\n --toast-zindex: 1090;\n position: absolute;\n z-index: var(--toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n }\n .toast-container > :not(:last-child) {\n margin-bottom: var(--toast-spacing);\n }\n .toast-header {\n display: flex;\n align-items: center;\n padding: var(--toast-padding-y) var(--toast-padding-x);\n color: var(--toast-header-color);\n background-color: var(--toast-header-bg);\n background-clip: padding-box;\n border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n border-start-start-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n border-start-end-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n }\n .toast-header .btn-close {\n margin-inline-start: var(--toast-padding-x);\n margin-inline-end: calc(-0.5 * var(--toast-padding-x));\n }\n .toast-translucent {\n backdrop-filter: blur(5px) saturate(180%);\n }\n .toast-body {\n padding: var(--toast-padding-x);\n word-wrap: break-word;\n }\n}\n.fade {\n transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n.collapsing.collapse-horizontal {\n width: 0;\n height: auto;\n transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing.collapse-horizontal {\n transition: none;\n }\n}\n\n@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: 0.375rem;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n text-underline-offset: 0.25em;\n backface-visibility: hidden;\n }\n .icon-link > .bi {\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n fill: currentcolor;\n transition: 0.2s ease-in-out transform;\n }\n @media (prefers-reduced-motion: reduce) {\n .icon-link > .bi {\n transition: none;\n }\n }\n .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n }\n}\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: 1030;\n }\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: 1030;\n }\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n @media (width >= 576px) {\n .sm\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sm\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 768px) {\n .md\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .md\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1024px) {\n .lg\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .lg\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1280px) {\n .xl\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .xl\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .\\32 xl\\:sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n }\n}\n@layer helpers {\n .stack-container {\n container-type: inline-size;\n }\n [class*=hstack],\n [class*=vstack] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n .vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n .hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n @container (width >= 576px) {\n .sm\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 576px) {\n .sm\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 768px) {\n .md\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 768px) {\n .md\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1024px) {\n .lg\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1024px) {\n .lg\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1280px) {\n .xl\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1280px) {\n .xl\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:vstack {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n @container (width >= 1536px) {\n .\\32 xl\\:hstack {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n}\n@layer helpers {\n .theme-primary {\n --theme-base: var(--primary-base);\n --theme-text: var(--primary-text);\n --theme-text-emphasis: var(--primary-text-emphasis);\n --theme-bg: var(--primary-bg);\n --theme-bg-subtle: var(--primary-bg-subtle);\n --theme-bg-muted: var(--primary-bg-muted);\n --theme-border: var(--primary-border);\n --theme-focus-ring: var(--primary-focus-ring);\n --theme-contrast: var(--primary-contrast);\n }\n .theme-accent {\n --theme-base: var(--accent-base);\n --theme-text: var(--accent-text);\n --theme-text-emphasis: var(--accent-text-emphasis);\n --theme-bg: var(--accent-bg);\n --theme-bg-subtle: var(--accent-bg-subtle);\n --theme-bg-muted: var(--accent-bg-muted);\n --theme-border: var(--accent-border);\n --theme-focus-ring: var(--accent-focus-ring);\n --theme-contrast: var(--accent-contrast);\n }\n .theme-success {\n --theme-base: var(--success-base);\n --theme-text: var(--success-text);\n --theme-text-emphasis: var(--success-text-emphasis);\n --theme-bg: var(--success-bg);\n --theme-bg-subtle: var(--success-bg-subtle);\n --theme-bg-muted: var(--success-bg-muted);\n --theme-border: var(--success-border);\n --theme-focus-ring: var(--success-focus-ring);\n --theme-contrast: var(--success-contrast);\n }\n .theme-danger {\n --theme-base: var(--danger-base);\n --theme-text: var(--danger-text);\n --theme-text-emphasis: var(--danger-text-emphasis);\n --theme-bg: var(--danger-bg);\n --theme-bg-subtle: var(--danger-bg-subtle);\n --theme-bg-muted: var(--danger-bg-muted);\n --theme-border: var(--danger-border);\n --theme-focus-ring: var(--danger-focus-ring);\n --theme-contrast: var(--danger-contrast);\n }\n .theme-warning {\n --theme-base: var(--warning-base);\n --theme-text: var(--warning-text);\n --theme-text-emphasis: var(--warning-text-emphasis);\n --theme-bg: var(--warning-bg);\n --theme-bg-subtle: var(--warning-bg-subtle);\n --theme-bg-muted: var(--warning-bg-muted);\n --theme-border: var(--warning-border);\n --theme-focus-ring: var(--warning-focus-ring);\n --theme-contrast: var(--warning-contrast);\n }\n .theme-info {\n --theme-base: var(--info-base);\n --theme-text: var(--info-text);\n --theme-text-emphasis: var(--info-text-emphasis);\n --theme-bg: var(--info-bg);\n --theme-bg-subtle: var(--info-bg-subtle);\n --theme-bg-muted: var(--info-bg-muted);\n --theme-border: var(--info-border);\n --theme-focus-ring: var(--info-focus-ring);\n --theme-contrast: var(--info-contrast);\n }\n .theme-inverse {\n --theme-base: var(--inverse-base);\n --theme-text: var(--inverse-text);\n --theme-text-emphasis: var(--inverse-text-emphasis);\n --theme-bg: var(--inverse-bg);\n --theme-bg-subtle: var(--inverse-bg-subtle);\n --theme-bg-muted: var(--inverse-bg-muted);\n --theme-border: var(--inverse-border);\n --theme-focus-ring: var(--inverse-focus-ring);\n --theme-contrast: var(--inverse-contrast);\n }\n .theme-secondary {\n --theme-base: var(--secondary-base);\n --theme-text: var(--secondary-text);\n --theme-text-emphasis: var(--secondary-text-emphasis);\n --theme-bg: var(--secondary-bg);\n --theme-bg-subtle: var(--secondary-bg-subtle);\n --theme-bg-muted: var(--secondary-bg-muted);\n --theme-border: var(--secondary-border);\n --theme-focus-ring: var(--secondary-focus-ring);\n --theme-contrast: var(--secondary-contrast);\n }\n}\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n .visually-hidden:not(caption),\n .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n position: absolute !important;\n }\n .visually-hidden *,\n .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n overflow: hidden !important;\n }\n}\n@layer helpers {\n .stretched-link::after {\n position: absolute;\n inset: 0;\n z-index: 1;\n content: \"\";\n }\n}\n@layer helpers {\n .text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n@layer utilities {\n .align-baseline {\n vertical-align: baseline;\n }\n .align-top {\n vertical-align: top;\n }\n .align-middle {\n vertical-align: middle;\n }\n .align-bottom {\n vertical-align: bottom;\n }\n .align-text-bottom {\n vertical-align: text-bottom;\n }\n .align-text-top {\n vertical-align: text-top;\n }\n [class*=ratio-] {\n aspect-ratio: var(--ratio);\n }\n .ratio-auto {\n --ratio: auto;\n }\n .ratio-1x1 {\n --ratio: 1 / 1;\n }\n .ratio-4x3 {\n --ratio: 4 / 3;\n }\n .ratio-16x9 {\n --ratio: 16 / 9;\n }\n .ratio-21x9 {\n --ratio: 21 / 9;\n }\n .float-start {\n float: inline-start;\n }\n .float-end {\n float: inline-end;\n }\n .float-none {\n float: none;\n }\n .object-fit-contain {\n object-fit: contain;\n }\n .object-fit-cover {\n object-fit: cover;\n }\n .object-fit-fill {\n object-fit: fill;\n }\n .object-fit-scale {\n object-fit: scale-down;\n }\n .object-fit-none {\n object-fit: none;\n }\n .opacity-0 {\n opacity: 0;\n }\n .opacity-25 {\n opacity: 0.25;\n }\n .opacity-50 {\n opacity: 0.5;\n }\n .opacity-75 {\n opacity: 0.75;\n }\n .opacity-100 {\n opacity: 1;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-visible {\n overflow: visible;\n }\n .overflow-scroll {\n overflow: scroll;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n .overflow-x-visible {\n overflow-x: visible;\n }\n .overflow-x-scroll {\n overflow-x: scroll;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .overflow-y-hidden {\n overflow-y: hidden;\n }\n .overflow-y-visible {\n overflow-y: visible;\n }\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n .contains-inline {\n container-type: inline-size;\n }\n .contains-size {\n container-type: size;\n }\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .shadow {\n box-shadow: var(--box-shadow);\n }\n .shadow-sm {\n box-shadow: var(--box-shadow-sm);\n }\n .shadow-lg {\n box-shadow: var(--box-shadow-lg);\n }\n .shadow-none {\n box-shadow: none;\n }\n .focus-ring-primary {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n }\n .focus-ring-accent {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n }\n .focus-ring-success {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n }\n .focus-ring-danger {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n }\n .focus-ring-warning {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n }\n .focus-ring-info {\n --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n }\n .focus-ring-inverse {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n }\n .focus-ring-secondary {\n --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n }\n .position-static {\n position: static;\n }\n .position-relative {\n position: relative;\n }\n .position-absolute {\n position: absolute;\n }\n .position-fixed {\n position: fixed;\n }\n .position-sticky {\n position: sticky;\n }\n .top-0 {\n top: 0;\n }\n .top-50 {\n top: 50%;\n }\n .top-100 {\n top: 100%;\n }\n .bottom-0 {\n bottom: 0;\n }\n .bottom-50 {\n bottom: 50%;\n }\n .bottom-100 {\n bottom: 100%;\n }\n .start-0 {\n left: 0;\n }\n .start-50 {\n left: 50%;\n }\n .start-100 {\n left: 100%;\n }\n .end-0 {\n right: 0;\n }\n .end-50 {\n right: 50%;\n }\n .end-100 {\n right: 100%;\n }\n .translate-middle {\n transform: translate(-50%, -50%);\n }\n .translate-middle-x {\n transform: translateX(-50%);\n }\n .translate-middle-y {\n transform: translateY(-50%);\n }\n .border {\n border: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-0 {\n border: 0;\n }\n .border-top {\n border-block-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-top-0 {\n border-block-start: 0;\n }\n .border-end {\n border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-end-0 {\n border-inline-end: 0;\n }\n .border-bottom {\n border-block-end: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-bottom-0 {\n border-block-end: 0;\n }\n .border-start {\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-start-0 {\n border-inline-start: 0;\n }\n .border-block {\n border-block: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-block-0 {\n border-block: 0;\n }\n .border-inline {\n border-inline: var(--border-width) var(--border-style) var(--border-color);\n }\n .border-inline-0 {\n border-inline: 0;\n }\n .border-primary {\n --border-color: var(--blue-500);\n border-color: var(--border-color);\n }\n .border-accent {\n --border-color: var(--indigo-500);\n border-color: var(--border-color);\n }\n .border-success {\n --border-color: var(--green-500);\n border-color: var(--border-color);\n }\n .border-danger {\n --border-color: var(--red-500);\n border-color: var(--border-color);\n }\n .border-warning {\n --border-color: var(--yellow-500);\n border-color: var(--border-color);\n }\n .border-info {\n --border-color: var(--cyan-500);\n border-color: var(--border-color);\n }\n .border-inverse {\n --border-color: light-dark(var(--gray-900), var(--gray-025));\n border-color: var(--border-color);\n }\n .border-secondary {\n --border-color: light-dark(var(--gray-100), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-bg {\n --border-color: var(--bg-body);\n border-color: var(--border-color);\n }\n .border-body {\n --border-color: light-dark(var(--gray-300), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-muted {\n --border-color: light-dark(var(--gray-200), var(--gray-800));\n border-color: var(--border-color);\n }\n .border-subtle {\n --border-color: light-dark(var(--gray-100), var(--gray-900));\n border-color: var(--border-color);\n }\n .border-emphasized {\n --border-color: light-dark(var(--gray-400), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-white {\n --border-color: var(--white);\n border-color: var(--border-color);\n }\n .border-black {\n --border-color: var(--black);\n border-color: var(--border-color);\n }\n .border-subtle-primary {\n --border-color: light-dark(var(--blue-300), var(--blue-600));\n border-color: var(--border-color);\n }\n .border-subtle-accent {\n --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n border-color: var(--border-color);\n }\n .border-subtle-success {\n --border-color: light-dark(var(--green-300), var(--green-600));\n border-color: var(--border-color);\n }\n .border-subtle-danger {\n --border-color: light-dark(var(--red-300), var(--red-600));\n border-color: var(--border-color);\n }\n .border-subtle-warning {\n --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n border-color: var(--border-color);\n }\n .border-subtle-info {\n --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n border-color: var(--border-color);\n }\n .border-subtle-inverse {\n --border-color: light-dark(var(--gray-400), var(--gray-100));\n border-color: var(--border-color);\n }\n .border-subtle-secondary {\n --border-color: light-dark(var(--gray-300), var(--gray-600));\n border-color: var(--border-color);\n }\n .border-1 {\n border-width: 1px;\n }\n .border-2 {\n border-width: 2px;\n }\n .border-3 {\n border-width: 3px;\n }\n .border-4 {\n border-width: 4px;\n }\n .border-5 {\n border-width: 5px;\n }\n .border-10 {\n border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n }\n .border-20 {\n border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n }\n .border-30 {\n border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n }\n .border-40 {\n border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n }\n .border-50 {\n border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n }\n .border-60 {\n border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n }\n .border-70 {\n border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n }\n .border-80 {\n border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n }\n .border-90 {\n border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n }\n .border-100 {\n border-color: var(--border-color);\n }\n .w-1 {\n width: 1rem;\n }\n .w-2 {\n width: 2rem;\n }\n .w-3 {\n width: 3rem;\n }\n .w-4 {\n width: 4rem;\n }\n .w-5 {\n width: 5rem;\n }\n .w-6 {\n width: 6rem;\n }\n .w-7 {\n width: 7rem;\n }\n .w-8 {\n width: 8rem;\n }\n .w-9 {\n width: 9rem;\n }\n .w-10 {\n width: 10rem;\n }\n .w-11 {\n width: 11rem;\n }\n .w-12 {\n width: 12rem;\n }\n .w-25 {\n width: 25%;\n }\n .w-50 {\n width: 50%;\n }\n .w-75 {\n width: 75%;\n }\n .w-100 {\n width: 100%;\n }\n .w-auto {\n width: auto;\n }\n .w-min {\n width: min-content;\n }\n .w-max {\n width: max-content;\n }\n .w-fit {\n width: fit-content;\n }\n .max-w-100 {\n max-width: 100%;\n }\n .min-w-0 {\n min-width: 0;\n }\n .min-w-100 {\n min-width: 100%;\n }\n .vw-100 {\n width: 100vw;\n }\n .min-vw-100 {\n min-width: 100vw;\n }\n .h-25 {\n height: 25%;\n }\n .h-50 {\n height: 50%;\n }\n .h-75 {\n height: 75%;\n }\n .h-100 {\n height: 100%;\n }\n .h-auto {\n height: auto;\n }\n .h-min {\n height: min-content;\n }\n .h-max {\n height: max-content;\n }\n .h-fit {\n height: fit-content;\n }\n .max-h-100 {\n max-height: 100%;\n }\n .min-h-0 {\n min-height: 0;\n }\n .min-h-100 {\n min-height: 100%;\n }\n .vh-100 {\n height: 100vh;\n }\n .min-vh-100 {\n min-height: 100vh;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .justify-self-start {\n justify-self: flex-start;\n }\n .justify-self-end {\n justify-self: flex-end;\n }\n .justify-self-center {\n justify-self: center;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .grid-cols-fill {\n grid-column: 1 / -1;\n }\n .grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .order-first {\n order: -1;\n }\n .order-0 {\n order: 0;\n }\n .order-1 {\n order: 1;\n }\n .order-2 {\n order: 2;\n }\n .order-3 {\n order: 3;\n }\n .order-4 {\n order: 4;\n }\n .order-5 {\n order: 5;\n }\n .order-last {\n order: 6;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n .gap-0 {\n gap: 0;\n }\n .gap-1 {\n gap: 0.25rem;\n }\n .gap-2 {\n gap: 0.5rem;\n }\n .gap-3 {\n gap: 1rem;\n }\n .gap-4 {\n gap: 1.5rem;\n }\n .gap-5 {\n gap: 3rem;\n }\n .row-gap-0 {\n row-gap: 0;\n }\n .row-gap-1 {\n row-gap: 0.25rem;\n }\n .row-gap-2 {\n row-gap: 0.5rem;\n }\n .row-gap-3 {\n row-gap: 1rem;\n }\n .row-gap-4 {\n row-gap: 1.5rem;\n }\n .row-gap-5 {\n row-gap: 3rem;\n }\n .column-gap-0 {\n column-gap: 0;\n }\n .column-gap-1 {\n column-gap: 0.25rem;\n }\n .column-gap-2 {\n column-gap: 0.5rem;\n }\n .column-gap-3 {\n column-gap: 1rem;\n }\n .column-gap-4 {\n column-gap: 1.5rem;\n }\n .column-gap-5 {\n column-gap: 3rem;\n }\n .font-monospace {\n font-family: var(--font-mono);\n }\n .font-body {\n font-family: var(--body-font-family);\n }\n .fs-xs {\n font-size: 0.75rem;\n }\n .fs-sm {\n font-size: 0.875rem;\n }\n .fs-md {\n font-size: 1rem;\n }\n .fs-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n }\n .fs-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n }\n .fs-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n }\n .fs-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n }\n .fs-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n }\n .fs-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n }\n .fs-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n }\n .text-xs {\n font-size: 0.75rem;\n line-height: 1.25;\n }\n .text-sm {\n font-size: 0.875rem;\n line-height: 1.5;\n }\n .text-md {\n font-size: 1rem;\n line-height: 1.5;\n }\n .text-lg {\n font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n line-height: 1.5;\n }\n .text-xl {\n font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n line-height: 1.4285714286;\n }\n .text-2xl {\n font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n line-height: 1.3333333333;\n }\n .text-3xl {\n font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n line-height: 1.2;\n }\n .text-4xl {\n font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n line-height: 1.1;\n }\n .text-5xl {\n font-size: clamp(3rem, 2rem + 5vw, 4rem);\n line-height: 1.1;\n }\n .text-6xl {\n font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n line-height: 1;\n }\n .fst-italic {\n font-style: italic;\n }\n .fst-normal {\n font-style: normal;\n }\n .fw-lighter {\n font-weight: lighter;\n }\n .fw-light {\n font-weight: 300;\n }\n .fw-normal {\n font-weight: 400;\n }\n .fw-medium {\n font-weight: 500;\n }\n .fw-semibold {\n font-weight: 600;\n }\n .fw-bold {\n font-weight: 700;\n }\n .fw-bolder {\n font-weight: bolder;\n }\n .lh-1 {\n line-height: 1;\n }\n .lh-sm {\n line-height: 1.25;\n }\n .lh-base {\n line-height: 1.5;\n }\n .lh-lg {\n line-height: 2;\n }\n .text-start {\n text-align: start;\n }\n .text-end {\n text-align: end;\n }\n .text-center {\n text-align: center;\n }\n .text-decoration-none {\n text-decoration: none;\n }\n .text-decoration-underline {\n text-decoration: underline;\n }\n .text-decoration-line-through {\n text-decoration: line-through;\n }\n .text-lowercase {\n text-transform: lowercase;\n }\n .text-uppercase {\n text-transform: uppercase;\n }\n .text-capitalize {\n text-transform: capitalize;\n }\n .text-wrap {\n white-space: wrap;\n }\n .text-nowrap {\n white-space: nowrap;\n }\n .text-balance {\n white-space: balance;\n }\n .text-pretty {\n white-space: pretty;\n }\n .text-break {\n word-wrap: break-word;\n word-break: break-word;\n }\n .fg-primary {\n --fg: light-dark(var(--blue-600), var(--blue-400));\n color: var(--fg);\n }\n .fg-accent {\n --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n color: var(--fg);\n }\n .fg-success {\n --fg: light-dark(var(--green-600), var(--green-400));\n color: var(--fg);\n }\n .fg-danger {\n --fg: light-dark(var(--red-600), var(--red-400));\n color: var(--fg);\n }\n .fg-warning {\n --fg: light-dark(var(--yellow-700), var(--yellow-400));\n color: var(--fg);\n }\n .fg-info {\n --fg: light-dark(var(--cyan-600), var(--cyan-400));\n color: var(--fg);\n }\n .fg-inverse {\n --fg: light-dark(var(--gray-900), var(--gray-200));\n color: var(--fg);\n }\n .fg-secondary {\n --fg: light-dark(var(--gray-600), var(--gray-400));\n color: var(--fg);\n }\n .fg-body {\n --fg: light-dark(var(--gray-900), var(--gray-050));\n color: var(--fg);\n }\n .fg-1 {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-2 {\n --fg: light-dark(var(--gray-700), var(--gray-300));\n color: var(--fg);\n }\n .fg-3 {\n --fg: light-dark(var(--gray-600), var(--gray-500));\n color: var(--fg);\n }\n .fg-4 {\n --fg: light-dark(var(--gray-500), var(--gray-600));\n color: var(--fg);\n }\n .fg-white {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-black {\n --fg: var(--black);\n color: var(--fg);\n }\n .fg-inherit {\n --fg: inherit;\n color: var(--fg);\n }\n .fg-emphasis-primary {\n --fg: light-dark(var(--blue-800), var(--blue-200));\n color: var(--fg);\n }\n .fg-emphasis-accent {\n --fg: light-dark(var(--indigo-800), var(--indigo-300));\n color: var(--fg);\n }\n .fg-emphasis-success {\n --fg: light-dark(var(--green-800), var(--green-300));\n color: var(--fg);\n }\n .fg-emphasis-danger {\n --fg: light-dark(var(--red-800), var(--red-300));\n color: var(--fg);\n }\n .fg-emphasis-warning {\n --fg: light-dark(var(--yellow-800), var(--yellow-300));\n color: var(--fg);\n }\n .fg-emphasis-info {\n --fg: light-dark(var(--cyan-800), var(--cyan-300));\n color: var(--fg);\n }\n .fg-emphasis-inverse {\n --fg: light-dark(var(--gray-975), var(--white));\n color: var(--fg);\n }\n .fg-emphasis-secondary {\n --fg: light-dark(var(--gray-800), var(--gray-200));\n color: var(--fg);\n }\n .fg-contrast-primary {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-accent {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-success {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-danger {\n --fg: var(--white);\n color: var(--fg);\n }\n .fg-contrast-warning {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-info {\n --fg: var(--gray-900);\n color: var(--fg);\n }\n .fg-contrast-inverse {\n --fg: light-dark(var(--white), var(--gray-900));\n color: var(--fg);\n }\n .fg-contrast-secondary {\n --fg: light-dark(var(--gray-900), var(--white));\n color: var(--fg);\n }\n .fg-10 {\n color: color-mix(in oklch, var(--fg) 10%, transparent);\n }\n .fg-20 {\n color: color-mix(in oklch, var(--fg) 20%, transparent);\n }\n .fg-30 {\n color: color-mix(in oklch, var(--fg) 30%, transparent);\n }\n .fg-40 {\n color: color-mix(in oklch, var(--fg) 40%, transparent);\n }\n .fg-50 {\n color: color-mix(in oklch, var(--fg) 50%, transparent);\n }\n .fg-60 {\n color: color-mix(in oklch, var(--fg) 60%, transparent);\n }\n .fg-70 {\n color: color-mix(in oklch, var(--fg) 70%, transparent);\n }\n .fg-80 {\n color: color-mix(in oklch, var(--fg) 80%, transparent);\n }\n .fg-90 {\n color: color-mix(in oklch, var(--fg) 90%, transparent);\n }\n .fg-100 {\n color: var(--fg);\n }\n .link-10 {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-10-hover:hover {\n color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .link-20 {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-20-hover:hover {\n color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .link-30 {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-30-hover:hover {\n color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .link-40 {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-40-hover:hover {\n color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .link-50 {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-50-hover:hover {\n color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .link-60 {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-60-hover:hover {\n color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .link-70 {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-70-hover:hover {\n color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .link-80 {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-80-hover:hover {\n color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .link-90 {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-90-hover:hover {\n color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .link-100 {\n color: var(--link-color);\n }\n .link-100-hover:hover {\n color: var(--link-color);\n }\n .underline-offset-1 {\n text-underline-offset: 0.125em;\n }\n .underline-offset-1-hover:hover {\n text-underline-offset: 0.125em;\n }\n .underline-offset-2 {\n text-underline-offset: 0.25em;\n }\n .underline-offset-2-hover:hover {\n text-underline-offset: 0.25em;\n }\n .underline-offset-3 {\n text-underline-offset: 0.375em;\n }\n .underline-offset-3-hover:hover {\n text-underline-offset: 0.375em;\n }\n .underline-primary {\n text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n }\n .underline-accent {\n text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n }\n .underline-success {\n text-decoration-color: light-dark(var(--green-600), var(--green-400));\n }\n .underline-danger {\n text-decoration-color: light-dark(var(--red-600), var(--red-400));\n }\n .underline-warning {\n text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n }\n .underline-info {\n text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n }\n .underline-inverse {\n text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n }\n .underline-secondary {\n text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n }\n .underline-10 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-10-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n }\n .underline-20 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-20-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n }\n .underline-30 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-30-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n }\n .underline-40 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-40-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n }\n .underline-50 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-50-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n }\n .underline-60 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-60-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n }\n .underline-70 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-70-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n }\n .underline-80 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-80-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n }\n .underline-90 {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-90-hover:hover {\n text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n }\n .underline-100 {\n text-decoration-color: var(--link-color);\n }\n .underline-100-hover:hover {\n text-decoration-color: var(--link-color);\n }\n .underline-thickness-1 {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-1-hover:hover {\n text-decoration-thickness: 1px;\n }\n .underline-thickness-2 {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-2-hover:hover {\n text-decoration-thickness: 2px;\n }\n .underline-thickness-3 {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-3-hover:hover {\n text-decoration-thickness: 3px;\n }\n .underline-thickness-4 {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-4-hover:hover {\n text-decoration-thickness: 4px;\n }\n .underline-thickness-5 {\n text-decoration-thickness: 5px;\n }\n .underline-thickness-5-hover:hover {\n text-decoration-thickness: 5px;\n }\n .bg-primary {\n --bg: var(--blue-500);\n background-color: var(--bg);\n }\n .bg-accent {\n --bg: var(--indigo-500);\n background-color: var(--bg);\n }\n .bg-success {\n --bg: var(--green-500);\n background-color: var(--bg);\n }\n .bg-danger {\n --bg: var(--red-500);\n background-color: var(--bg);\n }\n .bg-warning {\n --bg: var(--yellow-500);\n background-color: var(--bg);\n }\n .bg-info {\n --bg: var(--cyan-500);\n background-color: var(--bg);\n }\n .bg-inverse {\n --bg: light-dark(var(--gray-900), var(--gray-025));\n background-color: var(--bg);\n }\n .bg-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-600));\n background-color: var(--bg);\n }\n .bg-body {\n --bg: light-dark(var(--white), var(--gray-975));\n background-color: var(--bg);\n }\n .bg-1 {\n --bg: light-dark(var(--gray-025), var(--gray-950));\n background-color: var(--bg);\n }\n .bg-2 {\n --bg: light-dark(var(--gray-050), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-3 {\n --bg: light-dark(var(--gray-100), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-4 {\n --bg: light-dark(var(--gray-200), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-white {\n --bg: var(--white);\n background-color: var(--bg);\n }\n .bg-black {\n --bg: var(--black);\n background-color: var(--bg);\n }\n .bg-transparent {\n --bg: transparent;\n background-color: var(--bg);\n }\n .bg-inherit {\n --bg: inherit;\n background-color: var(--bg);\n }\n .bg-subtle-primary {\n --bg: light-dark(var(--blue-100), var(--blue-900));\n background-color: var(--bg);\n }\n .bg-subtle-accent {\n --bg: light-dark(var(--indigo-100), var(--indigo-900));\n background-color: var(--bg);\n }\n .bg-subtle-success {\n --bg: light-dark(var(--green-100), var(--green-900));\n background-color: var(--bg);\n }\n .bg-subtle-danger {\n --bg: light-dark(var(--red-100), var(--red-900));\n background-color: var(--bg);\n }\n .bg-subtle-warning {\n --bg: light-dark(var(--yellow-100), var(--yellow-900));\n background-color: var(--bg);\n }\n .bg-subtle-info {\n --bg: light-dark(var(--cyan-100), var(--cyan-900));\n background-color: var(--bg);\n }\n .bg-subtle-inverse {\n --bg: light-dark(var(--gray-100), var(--gray-900));\n background-color: var(--bg);\n }\n .bg-subtle-secondary {\n --bg: light-dark(var(--gray-050), var(--gray-800));\n background-color: var(--bg);\n }\n .bg-muted-primary {\n --bg: light-dark(var(--blue-200), var(--blue-800));\n background-color: var(--bg);\n }\n .bg-muted-accent {\n --bg: light-dark(var(--indigo-200), var(--indigo-800));\n background-color: var(--bg);\n }\n .bg-muted-success {\n --bg: light-dark(var(--green-200), var(--green-800));\n background-color: var(--bg);\n }\n .bg-muted-danger {\n --bg: light-dark(var(--red-200), var(--red-800));\n background-color: var(--bg);\n }\n .bg-muted-warning {\n --bg: light-dark(var(--yellow-200), var(--yellow-800));\n background-color: var(--bg);\n }\n .bg-muted-info {\n --bg: light-dark(var(--cyan-200), var(--cyan-800));\n background-color: var(--bg);\n }\n .bg-muted-inverse {\n --bg: light-dark(var(--gray-200), var(--gray-300));\n background-color: var(--bg);\n }\n .bg-muted-secondary {\n --bg: light-dark(var(--gray-100), var(--gray-700));\n background-color: var(--bg);\n }\n .bg-10 {\n background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n }\n .bg-20 {\n background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n }\n .bg-30 {\n background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n }\n .bg-40 {\n background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n }\n .bg-50 {\n background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n }\n .bg-60 {\n background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n }\n .bg-70 {\n background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n }\n .bg-80 {\n background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n }\n .bg-90 {\n background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n }\n .bg-100 {\n background-color: var(--bg);\n }\n .theme-contrast {\n background-color: var(--theme-bg);\n color: var(--theme-contrast);\n }\n .theme-subtle {\n background-color: var(--theme-bg-subtle);\n color: var(--theme-text);\n }\n .theme-muted {\n background-color: var(--theme-bg-muted);\n color: var(--theme-text-emphasis);\n }\n .theme-border {\n border: var(--border-width) solid var(--theme-border);\n }\n .bg-gradient {\n background-image: var(--gradient);\n }\n .user-select-all {\n user-select: all;\n }\n .user-select-auto {\n user-select: auto;\n }\n .user-select-text {\n user-select: text;\n }\n .user-select-none {\n user-select: none;\n }\n .pe-none {\n pointer-events: none;\n }\n .pe-auto {\n pointer-events: auto;\n }\n .rounded {\n border-radius: var(--border-radius);\n }\n .rounded-0 {\n border-radius: 0;\n }\n .rounded-1 {\n border-radius: var(--border-radius-sm);\n }\n .rounded-2 {\n border-radius: var(--border-radius);\n }\n .rounded-3 {\n border-radius: var(--border-radius-lg);\n }\n .rounded-4 {\n border-radius: var(--border-radius-xl);\n }\n .rounded-5 {\n border-radius: var(--border-radius-2xl);\n }\n .rounded-circle {\n border-radius: 50%;\n }\n .rounded-pill {\n border-radius: var(--border-radius-pill);\n }\n .rounded-top {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-top-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-top-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-top-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-top-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-top-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-top-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-top-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .rounded-end {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-end-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-end-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-end-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-end-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-end-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-end-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-end-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-bottom {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-0 {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n }\n .rounded-bottom-1 {\n border-end-end-radius: var(--border-radius-sm);\n border-end-start-radius: var(--border-radius-sm);\n }\n .rounded-bottom-2 {\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n .rounded-bottom-3 {\n border-end-end-radius: var(--border-radius-lg);\n border-end-start-radius: var(--border-radius-lg);\n }\n .rounded-bottom-4 {\n border-end-end-radius: var(--border-radius-xl);\n border-end-start-radius: var(--border-radius-xl);\n }\n .rounded-bottom-5 {\n border-end-end-radius: var(--border-radius-2xl);\n border-end-start-radius: var(--border-radius-2xl);\n }\n .rounded-bottom-circle {\n border-end-end-radius: 50%;\n border-end-start-radius: 50%;\n }\n .rounded-bottom-pill {\n border-end-end-radius: var(--border-radius-pill);\n border-end-start-radius: var(--border-radius-pill);\n }\n .rounded-start {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-0 {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n .rounded-start-1 {\n border-start-start-radius: var(--border-radius-sm);\n border-start-end-radius: var(--border-radius-sm);\n }\n .rounded-start-2 {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n }\n .rounded-start-3 {\n border-start-start-radius: var(--border-radius-lg);\n border-start-end-radius: var(--border-radius-lg);\n }\n .rounded-start-4 {\n border-start-start-radius: var(--border-radius-xl);\n border-start-end-radius: var(--border-radius-xl);\n }\n .rounded-start-5 {\n border-start-start-radius: var(--border-radius-2xl);\n border-start-end-radius: var(--border-radius-2xl);\n }\n .rounded-start-circle {\n border-start-start-radius: 50%;\n border-start-end-radius: 50%;\n }\n .rounded-start-pill {\n border-start-start-radius: var(--border-radius-pill);\n border-start-end-radius: var(--border-radius-pill);\n }\n .visible {\n visibility: visible;\n }\n .invisible {\n visibility: hidden;\n }\n .z-n1 {\n z-index: -1;\n }\n .z-0 {\n z-index: 0;\n }\n .z-1 {\n z-index: 1;\n }\n .z-2 {\n z-index: 2;\n }\n .z-3 {\n z-index: 3;\n }\n @media (width >= 576px) {\n .sm\\:float-start {\n float: inline-start;\n }\n .sm\\:float-end {\n float: inline-end;\n }\n .sm\\:float-none {\n float: none;\n }\n .sm\\:object-fit-contain {\n object-fit: contain;\n }\n .sm\\:object-fit-cover {\n object-fit: cover;\n }\n .sm\\:object-fit-fill {\n object-fit: fill;\n }\n .sm\\:object-fit-scale {\n object-fit: scale-down;\n }\n .sm\\:object-fit-none {\n object-fit: none;\n }\n .sm\\:d-inline {\n display: inline;\n }\n .sm\\:d-inline-block {\n display: inline-block;\n }\n .sm\\:d-block {\n display: block;\n }\n .sm\\:d-grid {\n display: grid;\n }\n .sm\\:d-inline-grid {\n display: inline-grid;\n }\n .sm\\:d-table {\n display: table;\n }\n .sm\\:d-table-row {\n display: table-row;\n }\n .sm\\:d-table-cell {\n display: table-cell;\n }\n .sm\\:d-flex {\n display: flex;\n }\n .sm\\:d-inline-flex {\n display: inline-flex;\n }\n .sm\\:d-contents {\n display: contents;\n }\n .sm\\:d-flow-root {\n display: flow-root;\n }\n .sm\\:d-none {\n display: none;\n }\n .sm\\:flex-fill {\n flex: 1 1 auto;\n }\n .sm\\:flex-row {\n flex-direction: row;\n }\n .sm\\:flex-column {\n flex-direction: column;\n }\n .sm\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .sm\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .sm\\:flex-grow-0 {\n flex-grow: 0;\n }\n .sm\\:flex-grow-1 {\n flex-grow: 1;\n }\n .sm\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .sm\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .sm\\:flex-wrap {\n flex-wrap: wrap;\n }\n .sm\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .sm\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .sm\\:justify-content-start {\n justify-content: flex-start;\n }\n .sm\\:justify-content-end {\n justify-content: flex-end;\n }\n .sm\\:justify-content-center {\n justify-content: center;\n }\n .sm\\:justify-content-between {\n justify-content: space-between;\n }\n .sm\\:justify-content-around {\n justify-content: space-around;\n }\n .sm\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .sm\\:justify-items-start {\n justify-items: start;\n }\n .sm\\:justify-items-end {\n justify-items: end;\n }\n .sm\\:justify-items-center {\n justify-items: center;\n }\n .sm\\:justify-items-stretch {\n justify-items: stretch;\n }\n .sm\\:justify-self-start {\n justify-self: flex-start;\n }\n .sm\\:justify-self-end {\n justify-self: flex-end;\n }\n .sm\\:justify-self-center {\n justify-self: center;\n }\n .sm\\:align-items-start {\n align-items: flex-start;\n }\n .sm\\:align-items-end {\n align-items: flex-end;\n }\n .sm\\:align-items-center {\n align-items: center;\n }\n .sm\\:align-items-baseline {\n align-items: baseline;\n }\n .sm\\:align-items-stretch {\n align-items: stretch;\n }\n .sm\\:align-content-start {\n align-content: flex-start;\n }\n .sm\\:align-content-end {\n align-content: flex-end;\n }\n .sm\\:align-content-center {\n align-content: center;\n }\n .sm\\:align-content-between {\n align-content: space-between;\n }\n .sm\\:align-content-around {\n align-content: space-around;\n }\n .sm\\:align-content-stretch {\n align-content: stretch;\n }\n .sm\\:align-self-auto {\n align-self: auto;\n }\n .sm\\:align-self-start {\n align-self: flex-start;\n }\n .sm\\:align-self-end {\n align-self: flex-end;\n }\n .sm\\:align-self-center {\n align-self: center;\n }\n .sm\\:align-self-baseline {\n align-self: baseline;\n }\n .sm\\:align-self-stretch {\n align-self: stretch;\n }\n .sm\\:place-items-start {\n place-items: start;\n }\n .sm\\:place-items-end {\n place-items: end;\n }\n .sm\\:place-items-center {\n place-items: center;\n }\n .sm\\:place-items-stretch {\n place-items: stretch;\n }\n .sm\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .sm\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .sm\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .sm\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .sm\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .sm\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .sm\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .sm\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .sm\\:order-first {\n order: -1;\n }\n .sm\\:order-0 {\n order: 0;\n }\n .sm\\:order-1 {\n order: 1;\n }\n .sm\\:order-2 {\n order: 2;\n }\n .sm\\:order-3 {\n order: 3;\n }\n .sm\\:order-4 {\n order: 4;\n }\n .sm\\:order-5 {\n order: 5;\n }\n .sm\\:order-last {\n order: 6;\n }\n .sm\\:m-0 {\n margin: 0;\n }\n .sm\\:m-1 {\n margin: 0.25rem;\n }\n .sm\\:m-2 {\n margin: 0.5rem;\n }\n .sm\\:m-3 {\n margin: 1rem;\n }\n .sm\\:m-4 {\n margin: 1.5rem;\n }\n .sm\\:m-5 {\n margin: 3rem;\n }\n .sm\\:m-auto {\n margin: auto;\n }\n .sm\\:mx-0 {\n margin-inline: 0;\n }\n .sm\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .sm\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .sm\\:mx-3 {\n margin-inline: 1rem;\n }\n .sm\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .sm\\:mx-5 {\n margin-inline: 3rem;\n }\n .sm\\:mx-auto {\n margin-inline: auto;\n }\n .sm\\:my-0 {\n margin-block: 0;\n }\n .sm\\:my-1 {\n margin-block: 0.25rem;\n }\n .sm\\:my-2 {\n margin-block: 0.5rem;\n }\n .sm\\:my-3 {\n margin-block: 1rem;\n }\n .sm\\:my-4 {\n margin-block: 1.5rem;\n }\n .sm\\:my-5 {\n margin-block: 3rem;\n }\n .sm\\:my-auto {\n margin-block: auto;\n }\n .sm\\:mt-0 {\n margin-block-start: 0;\n }\n .sm\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .sm\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .sm\\:mt-3 {\n margin-block-start: 1rem;\n }\n .sm\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .sm\\:mt-5 {\n margin-block-start: 3rem;\n }\n .sm\\:mt-auto {\n margin-block-start: auto;\n }\n .sm\\:me-0 {\n margin-inline-end: 0;\n }\n .sm\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .sm\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .sm\\:me-3 {\n margin-inline-end: 1rem;\n }\n .sm\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .sm\\:me-5 {\n margin-inline-end: 3rem;\n }\n .sm\\:me-auto {\n margin-inline-end: auto;\n }\n .sm\\:mb-0 {\n margin-block-end: 0;\n }\n .sm\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .sm\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .sm\\:mb-3 {\n margin-block-end: 1rem;\n }\n .sm\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .sm\\:mb-5 {\n margin-block-end: 3rem;\n }\n .sm\\:mb-auto {\n margin-block-end: auto;\n }\n .sm\\:ms-0 {\n margin-inline-start: 0;\n }\n .sm\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .sm\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .sm\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .sm\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .sm\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .sm\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .sm\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .sm\\:ms-auto {\n margin-inline-start: auto;\n }\n .sm\\:p-0 {\n padding: 0;\n }\n .sm\\:p-1 {\n padding: 0.25rem;\n }\n .sm\\:p-2 {\n padding: 0.5rem;\n }\n .sm\\:p-3 {\n padding: 1rem;\n }\n .sm\\:p-4 {\n padding: 1.5rem;\n }\n .sm\\:p-5 {\n padding: 3rem;\n }\n .sm\\:px-0 {\n padding-inline: 0;\n }\n .sm\\:px-1 {\n padding-inline: 0.25rem;\n }\n .sm\\:px-2 {\n padding-inline: 0.5rem;\n }\n .sm\\:px-3 {\n padding-inline: 1rem;\n }\n .sm\\:px-4 {\n padding-inline: 1.5rem;\n }\n .sm\\:px-5 {\n padding-inline: 3rem;\n }\n .sm\\:py-0 {\n padding-block: 0;\n }\n .sm\\:py-1 {\n padding-block: 0.25rem;\n }\n .sm\\:py-2 {\n padding-block: 0.5rem;\n }\n .sm\\:py-3 {\n padding-block: 1rem;\n }\n .sm\\:py-4 {\n padding-block: 1.5rem;\n }\n .sm\\:py-5 {\n padding-block: 3rem;\n }\n .sm\\:pt-0 {\n padding-block-start: 0;\n }\n .sm\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .sm\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .sm\\:pt-3 {\n padding-block-start: 1rem;\n }\n .sm\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .sm\\:pt-5 {\n padding-block-start: 3rem;\n }\n .sm\\:pe-0 {\n padding-inline-end: 0;\n }\n .sm\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .sm\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .sm\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .sm\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .sm\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .sm\\:pb-0 {\n padding-block-end: 0;\n }\n .sm\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .sm\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .sm\\:pb-3 {\n padding-block-end: 1rem;\n }\n .sm\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .sm\\:pb-5 {\n padding-block-end: 3rem;\n }\n .sm\\:ps-0 {\n padding-inline-start: 0;\n }\n .sm\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .sm\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .sm\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .sm\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .sm\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .sm\\:gap-0 {\n gap: 0;\n }\n .sm\\:gap-1 {\n gap: 0.25rem;\n }\n .sm\\:gap-2 {\n gap: 0.5rem;\n }\n .sm\\:gap-3 {\n gap: 1rem;\n }\n .sm\\:gap-4 {\n gap: 1.5rem;\n }\n .sm\\:gap-5 {\n gap: 3rem;\n }\n .sm\\:row-gap-0 {\n row-gap: 0;\n }\n .sm\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .sm\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .sm\\:row-gap-3 {\n row-gap: 1rem;\n }\n .sm\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .sm\\:row-gap-5 {\n row-gap: 3rem;\n }\n .sm\\:column-gap-0 {\n column-gap: 0;\n }\n .sm\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .sm\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .sm\\:column-gap-3 {\n column-gap: 1rem;\n }\n .sm\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .sm\\:column-gap-5 {\n column-gap: 3rem;\n }\n .sm\\:text-start {\n text-align: start;\n }\n .sm\\:text-end {\n text-align: end;\n }\n .sm\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 768px) {\n .md\\:float-start {\n float: inline-start;\n }\n .md\\:float-end {\n float: inline-end;\n }\n .md\\:float-none {\n float: none;\n }\n .md\\:object-fit-contain {\n object-fit: contain;\n }\n .md\\:object-fit-cover {\n object-fit: cover;\n }\n .md\\:object-fit-fill {\n object-fit: fill;\n }\n .md\\:object-fit-scale {\n object-fit: scale-down;\n }\n .md\\:object-fit-none {\n object-fit: none;\n }\n .md\\:d-inline {\n display: inline;\n }\n .md\\:d-inline-block {\n display: inline-block;\n }\n .md\\:d-block {\n display: block;\n }\n .md\\:d-grid {\n display: grid;\n }\n .md\\:d-inline-grid {\n display: inline-grid;\n }\n .md\\:d-table {\n display: table;\n }\n .md\\:d-table-row {\n display: table-row;\n }\n .md\\:d-table-cell {\n display: table-cell;\n }\n .md\\:d-flex {\n display: flex;\n }\n .md\\:d-inline-flex {\n display: inline-flex;\n }\n .md\\:d-contents {\n display: contents;\n }\n .md\\:d-flow-root {\n display: flow-root;\n }\n .md\\:d-none {\n display: none;\n }\n .md\\:flex-fill {\n flex: 1 1 auto;\n }\n .md\\:flex-row {\n flex-direction: row;\n }\n .md\\:flex-column {\n flex-direction: column;\n }\n .md\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .md\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .md\\:flex-grow-0 {\n flex-grow: 0;\n }\n .md\\:flex-grow-1 {\n flex-grow: 1;\n }\n .md\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .md\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .md\\:flex-wrap {\n flex-wrap: wrap;\n }\n .md\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .md\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .md\\:justify-content-start {\n justify-content: flex-start;\n }\n .md\\:justify-content-end {\n justify-content: flex-end;\n }\n .md\\:justify-content-center {\n justify-content: center;\n }\n .md\\:justify-content-between {\n justify-content: space-between;\n }\n .md\\:justify-content-around {\n justify-content: space-around;\n }\n .md\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .md\\:justify-items-start {\n justify-items: start;\n }\n .md\\:justify-items-end {\n justify-items: end;\n }\n .md\\:justify-items-center {\n justify-items: center;\n }\n .md\\:justify-items-stretch {\n justify-items: stretch;\n }\n .md\\:justify-self-start {\n justify-self: flex-start;\n }\n .md\\:justify-self-end {\n justify-self: flex-end;\n }\n .md\\:justify-self-center {\n justify-self: center;\n }\n .md\\:align-items-start {\n align-items: flex-start;\n }\n .md\\:align-items-end {\n align-items: flex-end;\n }\n .md\\:align-items-center {\n align-items: center;\n }\n .md\\:align-items-baseline {\n align-items: baseline;\n }\n .md\\:align-items-stretch {\n align-items: stretch;\n }\n .md\\:align-content-start {\n align-content: flex-start;\n }\n .md\\:align-content-end {\n align-content: flex-end;\n }\n .md\\:align-content-center {\n align-content: center;\n }\n .md\\:align-content-between {\n align-content: space-between;\n }\n .md\\:align-content-around {\n align-content: space-around;\n }\n .md\\:align-content-stretch {\n align-content: stretch;\n }\n .md\\:align-self-auto {\n align-self: auto;\n }\n .md\\:align-self-start {\n align-self: flex-start;\n }\n .md\\:align-self-end {\n align-self: flex-end;\n }\n .md\\:align-self-center {\n align-self: center;\n }\n .md\\:align-self-baseline {\n align-self: baseline;\n }\n .md\\:align-self-stretch {\n align-self: stretch;\n }\n .md\\:place-items-start {\n place-items: start;\n }\n .md\\:place-items-end {\n place-items: end;\n }\n .md\\:place-items-center {\n place-items: center;\n }\n .md\\:place-items-stretch {\n place-items: stretch;\n }\n .md\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .md\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .md\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .md\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .md\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .md\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .md\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .md\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .md\\:order-first {\n order: -1;\n }\n .md\\:order-0 {\n order: 0;\n }\n .md\\:order-1 {\n order: 1;\n }\n .md\\:order-2 {\n order: 2;\n }\n .md\\:order-3 {\n order: 3;\n }\n .md\\:order-4 {\n order: 4;\n }\n .md\\:order-5 {\n order: 5;\n }\n .md\\:order-last {\n order: 6;\n }\n .md\\:m-0 {\n margin: 0;\n }\n .md\\:m-1 {\n margin: 0.25rem;\n }\n .md\\:m-2 {\n margin: 0.5rem;\n }\n .md\\:m-3 {\n margin: 1rem;\n }\n .md\\:m-4 {\n margin: 1.5rem;\n }\n .md\\:m-5 {\n margin: 3rem;\n }\n .md\\:m-auto {\n margin: auto;\n }\n .md\\:mx-0 {\n margin-inline: 0;\n }\n .md\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .md\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .md\\:mx-3 {\n margin-inline: 1rem;\n }\n .md\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .md\\:mx-5 {\n margin-inline: 3rem;\n }\n .md\\:mx-auto {\n margin-inline: auto;\n }\n .md\\:my-0 {\n margin-block: 0;\n }\n .md\\:my-1 {\n margin-block: 0.25rem;\n }\n .md\\:my-2 {\n margin-block: 0.5rem;\n }\n .md\\:my-3 {\n margin-block: 1rem;\n }\n .md\\:my-4 {\n margin-block: 1.5rem;\n }\n .md\\:my-5 {\n margin-block: 3rem;\n }\n .md\\:my-auto {\n margin-block: auto;\n }\n .md\\:mt-0 {\n margin-block-start: 0;\n }\n .md\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .md\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .md\\:mt-3 {\n margin-block-start: 1rem;\n }\n .md\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .md\\:mt-5 {\n margin-block-start: 3rem;\n }\n .md\\:mt-auto {\n margin-block-start: auto;\n }\n .md\\:me-0 {\n margin-inline-end: 0;\n }\n .md\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .md\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .md\\:me-3 {\n margin-inline-end: 1rem;\n }\n .md\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .md\\:me-5 {\n margin-inline-end: 3rem;\n }\n .md\\:me-auto {\n margin-inline-end: auto;\n }\n .md\\:mb-0 {\n margin-block-end: 0;\n }\n .md\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .md\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .md\\:mb-3 {\n margin-block-end: 1rem;\n }\n .md\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .md\\:mb-5 {\n margin-block-end: 3rem;\n }\n .md\\:mb-auto {\n margin-block-end: auto;\n }\n .md\\:ms-0 {\n margin-inline-start: 0;\n }\n .md\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .md\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .md\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .md\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .md\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .md\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .md\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .md\\:ms-auto {\n margin-inline-start: auto;\n }\n .md\\:p-0 {\n padding: 0;\n }\n .md\\:p-1 {\n padding: 0.25rem;\n }\n .md\\:p-2 {\n padding: 0.5rem;\n }\n .md\\:p-3 {\n padding: 1rem;\n }\n .md\\:p-4 {\n padding: 1.5rem;\n }\n .md\\:p-5 {\n padding: 3rem;\n }\n .md\\:px-0 {\n padding-inline: 0;\n }\n .md\\:px-1 {\n padding-inline: 0.25rem;\n }\n .md\\:px-2 {\n padding-inline: 0.5rem;\n }\n .md\\:px-3 {\n padding-inline: 1rem;\n }\n .md\\:px-4 {\n padding-inline: 1.5rem;\n }\n .md\\:px-5 {\n padding-inline: 3rem;\n }\n .md\\:py-0 {\n padding-block: 0;\n }\n .md\\:py-1 {\n padding-block: 0.25rem;\n }\n .md\\:py-2 {\n padding-block: 0.5rem;\n }\n .md\\:py-3 {\n padding-block: 1rem;\n }\n .md\\:py-4 {\n padding-block: 1.5rem;\n }\n .md\\:py-5 {\n padding-block: 3rem;\n }\n .md\\:pt-0 {\n padding-block-start: 0;\n }\n .md\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .md\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .md\\:pt-3 {\n padding-block-start: 1rem;\n }\n .md\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .md\\:pt-5 {\n padding-block-start: 3rem;\n }\n .md\\:pe-0 {\n padding-inline-end: 0;\n }\n .md\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .md\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .md\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .md\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .md\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .md\\:pb-0 {\n padding-block-end: 0;\n }\n .md\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .md\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .md\\:pb-3 {\n padding-block-end: 1rem;\n }\n .md\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .md\\:pb-5 {\n padding-block-end: 3rem;\n }\n .md\\:ps-0 {\n padding-inline-start: 0;\n }\n .md\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .md\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .md\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .md\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .md\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .md\\:gap-0 {\n gap: 0;\n }\n .md\\:gap-1 {\n gap: 0.25rem;\n }\n .md\\:gap-2 {\n gap: 0.5rem;\n }\n .md\\:gap-3 {\n gap: 1rem;\n }\n .md\\:gap-4 {\n gap: 1.5rem;\n }\n .md\\:gap-5 {\n gap: 3rem;\n }\n .md\\:row-gap-0 {\n row-gap: 0;\n }\n .md\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .md\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .md\\:row-gap-3 {\n row-gap: 1rem;\n }\n .md\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .md\\:row-gap-5 {\n row-gap: 3rem;\n }\n .md\\:column-gap-0 {\n column-gap: 0;\n }\n .md\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .md\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .md\\:column-gap-3 {\n column-gap: 1rem;\n }\n .md\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .md\\:column-gap-5 {\n column-gap: 3rem;\n }\n .md\\:text-start {\n text-align: start;\n }\n .md\\:text-end {\n text-align: end;\n }\n .md\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 1024px) {\n .lg\\:float-start {\n float: inline-start;\n }\n .lg\\:float-end {\n float: inline-end;\n }\n .lg\\:float-none {\n float: none;\n }\n .lg\\:object-fit-contain {\n object-fit: contain;\n }\n .lg\\:object-fit-cover {\n object-fit: cover;\n }\n .lg\\:object-fit-fill {\n object-fit: fill;\n }\n .lg\\:object-fit-scale {\n object-fit: scale-down;\n }\n .lg\\:object-fit-none {\n object-fit: none;\n }\n .lg\\:d-inline {\n display: inline;\n }\n .lg\\:d-inline-block {\n display: inline-block;\n }\n .lg\\:d-block {\n display: block;\n }\n .lg\\:d-grid {\n display: grid;\n }\n .lg\\:d-inline-grid {\n display: inline-grid;\n }\n .lg\\:d-table {\n display: table;\n }\n .lg\\:d-table-row {\n display: table-row;\n }\n .lg\\:d-table-cell {\n display: table-cell;\n }\n .lg\\:d-flex {\n display: flex;\n }\n .lg\\:d-inline-flex {\n display: inline-flex;\n }\n .lg\\:d-contents {\n display: contents;\n }\n .lg\\:d-flow-root {\n display: flow-root;\n }\n .lg\\:d-none {\n display: none;\n }\n .lg\\:flex-fill {\n flex: 1 1 auto;\n }\n .lg\\:flex-row {\n flex-direction: row;\n }\n .lg\\:flex-column {\n flex-direction: column;\n }\n .lg\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .lg\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .lg\\:flex-grow-0 {\n flex-grow: 0;\n }\n .lg\\:flex-grow-1 {\n flex-grow: 1;\n }\n .lg\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .lg\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .lg\\:flex-wrap {\n flex-wrap: wrap;\n }\n .lg\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .lg\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .lg\\:justify-content-start {\n justify-content: flex-start;\n }\n .lg\\:justify-content-end {\n justify-content: flex-end;\n }\n .lg\\:justify-content-center {\n justify-content: center;\n }\n .lg\\:justify-content-between {\n justify-content: space-between;\n }\n .lg\\:justify-content-around {\n justify-content: space-around;\n }\n .lg\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .lg\\:justify-items-start {\n justify-items: start;\n }\n .lg\\:justify-items-end {\n justify-items: end;\n }\n .lg\\:justify-items-center {\n justify-items: center;\n }\n .lg\\:justify-items-stretch {\n justify-items: stretch;\n }\n .lg\\:justify-self-start {\n justify-self: flex-start;\n }\n .lg\\:justify-self-end {\n justify-self: flex-end;\n }\n .lg\\:justify-self-center {\n justify-self: center;\n }\n .lg\\:align-items-start {\n align-items: flex-start;\n }\n .lg\\:align-items-end {\n align-items: flex-end;\n }\n .lg\\:align-items-center {\n align-items: center;\n }\n .lg\\:align-items-baseline {\n align-items: baseline;\n }\n .lg\\:align-items-stretch {\n align-items: stretch;\n }\n .lg\\:align-content-start {\n align-content: flex-start;\n }\n .lg\\:align-content-end {\n align-content: flex-end;\n }\n .lg\\:align-content-center {\n align-content: center;\n }\n .lg\\:align-content-between {\n align-content: space-between;\n }\n .lg\\:align-content-around {\n align-content: space-around;\n }\n .lg\\:align-content-stretch {\n align-content: stretch;\n }\n .lg\\:align-self-auto {\n align-self: auto;\n }\n .lg\\:align-self-start {\n align-self: flex-start;\n }\n .lg\\:align-self-end {\n align-self: flex-end;\n }\n .lg\\:align-self-center {\n align-self: center;\n }\n .lg\\:align-self-baseline {\n align-self: baseline;\n }\n .lg\\:align-self-stretch {\n align-self: stretch;\n }\n .lg\\:place-items-start {\n place-items: start;\n }\n .lg\\:place-items-end {\n place-items: end;\n }\n .lg\\:place-items-center {\n place-items: center;\n }\n .lg\\:place-items-stretch {\n place-items: stretch;\n }\n .lg\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .lg\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .lg\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .lg\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .lg\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .lg\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .lg\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .lg\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .lg\\:order-first {\n order: -1;\n }\n .lg\\:order-0 {\n order: 0;\n }\n .lg\\:order-1 {\n order: 1;\n }\n .lg\\:order-2 {\n order: 2;\n }\n .lg\\:order-3 {\n order: 3;\n }\n .lg\\:order-4 {\n order: 4;\n }\n .lg\\:order-5 {\n order: 5;\n }\n .lg\\:order-last {\n order: 6;\n }\n .lg\\:m-0 {\n margin: 0;\n }\n .lg\\:m-1 {\n margin: 0.25rem;\n }\n .lg\\:m-2 {\n margin: 0.5rem;\n }\n .lg\\:m-3 {\n margin: 1rem;\n }\n .lg\\:m-4 {\n margin: 1.5rem;\n }\n .lg\\:m-5 {\n margin: 3rem;\n }\n .lg\\:m-auto {\n margin: auto;\n }\n .lg\\:mx-0 {\n margin-inline: 0;\n }\n .lg\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .lg\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .lg\\:mx-3 {\n margin-inline: 1rem;\n }\n .lg\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .lg\\:mx-5 {\n margin-inline: 3rem;\n }\n .lg\\:mx-auto {\n margin-inline: auto;\n }\n .lg\\:my-0 {\n margin-block: 0;\n }\n .lg\\:my-1 {\n margin-block: 0.25rem;\n }\n .lg\\:my-2 {\n margin-block: 0.5rem;\n }\n .lg\\:my-3 {\n margin-block: 1rem;\n }\n .lg\\:my-4 {\n margin-block: 1.5rem;\n }\n .lg\\:my-5 {\n margin-block: 3rem;\n }\n .lg\\:my-auto {\n margin-block: auto;\n }\n .lg\\:mt-0 {\n margin-block-start: 0;\n }\n .lg\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .lg\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .lg\\:mt-3 {\n margin-block-start: 1rem;\n }\n .lg\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .lg\\:mt-5 {\n margin-block-start: 3rem;\n }\n .lg\\:mt-auto {\n margin-block-start: auto;\n }\n .lg\\:me-0 {\n margin-inline-end: 0;\n }\n .lg\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .lg\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .lg\\:me-3 {\n margin-inline-end: 1rem;\n }\n .lg\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .lg\\:me-5 {\n margin-inline-end: 3rem;\n }\n .lg\\:me-auto {\n margin-inline-end: auto;\n }\n .lg\\:mb-0 {\n margin-block-end: 0;\n }\n .lg\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .lg\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .lg\\:mb-3 {\n margin-block-end: 1rem;\n }\n .lg\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .lg\\:mb-5 {\n margin-block-end: 3rem;\n }\n .lg\\:mb-auto {\n margin-block-end: auto;\n }\n .lg\\:ms-0 {\n margin-inline-start: 0;\n }\n .lg\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .lg\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .lg\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .lg\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .lg\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .lg\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .lg\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .lg\\:ms-auto {\n margin-inline-start: auto;\n }\n .lg\\:p-0 {\n padding: 0;\n }\n .lg\\:p-1 {\n padding: 0.25rem;\n }\n .lg\\:p-2 {\n padding: 0.5rem;\n }\n .lg\\:p-3 {\n padding: 1rem;\n }\n .lg\\:p-4 {\n padding: 1.5rem;\n }\n .lg\\:p-5 {\n padding: 3rem;\n }\n .lg\\:px-0 {\n padding-inline: 0;\n }\n .lg\\:px-1 {\n padding-inline: 0.25rem;\n }\n .lg\\:px-2 {\n padding-inline: 0.5rem;\n }\n .lg\\:px-3 {\n padding-inline: 1rem;\n }\n .lg\\:px-4 {\n padding-inline: 1.5rem;\n }\n .lg\\:px-5 {\n padding-inline: 3rem;\n }\n .lg\\:py-0 {\n padding-block: 0;\n }\n .lg\\:py-1 {\n padding-block: 0.25rem;\n }\n .lg\\:py-2 {\n padding-block: 0.5rem;\n }\n .lg\\:py-3 {\n padding-block: 1rem;\n }\n .lg\\:py-4 {\n padding-block: 1.5rem;\n }\n .lg\\:py-5 {\n padding-block: 3rem;\n }\n .lg\\:pt-0 {\n padding-block-start: 0;\n }\n .lg\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .lg\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .lg\\:pt-3 {\n padding-block-start: 1rem;\n }\n .lg\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .lg\\:pt-5 {\n padding-block-start: 3rem;\n }\n .lg\\:pe-0 {\n padding-inline-end: 0;\n }\n .lg\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .lg\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .lg\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .lg\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .lg\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .lg\\:pb-0 {\n padding-block-end: 0;\n }\n .lg\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .lg\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .lg\\:pb-3 {\n padding-block-end: 1rem;\n }\n .lg\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .lg\\:pb-5 {\n padding-block-end: 3rem;\n }\n .lg\\:ps-0 {\n padding-inline-start: 0;\n }\n .lg\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .lg\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .lg\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .lg\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .lg\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .lg\\:gap-0 {\n gap: 0;\n }\n .lg\\:gap-1 {\n gap: 0.25rem;\n }\n .lg\\:gap-2 {\n gap: 0.5rem;\n }\n .lg\\:gap-3 {\n gap: 1rem;\n }\n .lg\\:gap-4 {\n gap: 1.5rem;\n }\n .lg\\:gap-5 {\n gap: 3rem;\n }\n .lg\\:row-gap-0 {\n row-gap: 0;\n }\n .lg\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .lg\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .lg\\:row-gap-3 {\n row-gap: 1rem;\n }\n .lg\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .lg\\:row-gap-5 {\n row-gap: 3rem;\n }\n .lg\\:column-gap-0 {\n column-gap: 0;\n }\n .lg\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .lg\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .lg\\:column-gap-3 {\n column-gap: 1rem;\n }\n .lg\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .lg\\:column-gap-5 {\n column-gap: 3rem;\n }\n .lg\\:text-start {\n text-align: start;\n }\n .lg\\:text-end {\n text-align: end;\n }\n .lg\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 1280px) {\n .xl\\:float-start {\n float: inline-start;\n }\n .xl\\:float-end {\n float: inline-end;\n }\n .xl\\:float-none {\n float: none;\n }\n .xl\\:object-fit-contain {\n object-fit: contain;\n }\n .xl\\:object-fit-cover {\n object-fit: cover;\n }\n .xl\\:object-fit-fill {\n object-fit: fill;\n }\n .xl\\:object-fit-scale {\n object-fit: scale-down;\n }\n .xl\\:object-fit-none {\n object-fit: none;\n }\n .xl\\:d-inline {\n display: inline;\n }\n .xl\\:d-inline-block {\n display: inline-block;\n }\n .xl\\:d-block {\n display: block;\n }\n .xl\\:d-grid {\n display: grid;\n }\n .xl\\:d-inline-grid {\n display: inline-grid;\n }\n .xl\\:d-table {\n display: table;\n }\n .xl\\:d-table-row {\n display: table-row;\n }\n .xl\\:d-table-cell {\n display: table-cell;\n }\n .xl\\:d-flex {\n display: flex;\n }\n .xl\\:d-inline-flex {\n display: inline-flex;\n }\n .xl\\:d-contents {\n display: contents;\n }\n .xl\\:d-flow-root {\n display: flow-root;\n }\n .xl\\:d-none {\n display: none;\n }\n .xl\\:flex-fill {\n flex: 1 1 auto;\n }\n .xl\\:flex-row {\n flex-direction: row;\n }\n .xl\\:flex-column {\n flex-direction: column;\n }\n .xl\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .xl\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .xl\\:flex-grow-0 {\n flex-grow: 0;\n }\n .xl\\:flex-grow-1 {\n flex-grow: 1;\n }\n .xl\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .xl\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .xl\\:flex-wrap {\n flex-wrap: wrap;\n }\n .xl\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .xl\\:justify-content-start {\n justify-content: flex-start;\n }\n .xl\\:justify-content-end {\n justify-content: flex-end;\n }\n .xl\\:justify-content-center {\n justify-content: center;\n }\n .xl\\:justify-content-between {\n justify-content: space-between;\n }\n .xl\\:justify-content-around {\n justify-content: space-around;\n }\n .xl\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .xl\\:justify-items-start {\n justify-items: start;\n }\n .xl\\:justify-items-end {\n justify-items: end;\n }\n .xl\\:justify-items-center {\n justify-items: center;\n }\n .xl\\:justify-items-stretch {\n justify-items: stretch;\n }\n .xl\\:justify-self-start {\n justify-self: flex-start;\n }\n .xl\\:justify-self-end {\n justify-self: flex-end;\n }\n .xl\\:justify-self-center {\n justify-self: center;\n }\n .xl\\:align-items-start {\n align-items: flex-start;\n }\n .xl\\:align-items-end {\n align-items: flex-end;\n }\n .xl\\:align-items-center {\n align-items: center;\n }\n .xl\\:align-items-baseline {\n align-items: baseline;\n }\n .xl\\:align-items-stretch {\n align-items: stretch;\n }\n .xl\\:align-content-start {\n align-content: flex-start;\n }\n .xl\\:align-content-end {\n align-content: flex-end;\n }\n .xl\\:align-content-center {\n align-content: center;\n }\n .xl\\:align-content-between {\n align-content: space-between;\n }\n .xl\\:align-content-around {\n align-content: space-around;\n }\n .xl\\:align-content-stretch {\n align-content: stretch;\n }\n .xl\\:align-self-auto {\n align-self: auto;\n }\n .xl\\:align-self-start {\n align-self: flex-start;\n }\n .xl\\:align-self-end {\n align-self: flex-end;\n }\n .xl\\:align-self-center {\n align-self: center;\n }\n .xl\\:align-self-baseline {\n align-self: baseline;\n }\n .xl\\:align-self-stretch {\n align-self: stretch;\n }\n .xl\\:place-items-start {\n place-items: start;\n }\n .xl\\:place-items-end {\n place-items: end;\n }\n .xl\\:place-items-center {\n place-items: center;\n }\n .xl\\:place-items-stretch {\n place-items: stretch;\n }\n .xl\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .xl\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .xl\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .xl\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .xl\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .xl\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .xl\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .xl\\:order-first {\n order: -1;\n }\n .xl\\:order-0 {\n order: 0;\n }\n .xl\\:order-1 {\n order: 1;\n }\n .xl\\:order-2 {\n order: 2;\n }\n .xl\\:order-3 {\n order: 3;\n }\n .xl\\:order-4 {\n order: 4;\n }\n .xl\\:order-5 {\n order: 5;\n }\n .xl\\:order-last {\n order: 6;\n }\n .xl\\:m-0 {\n margin: 0;\n }\n .xl\\:m-1 {\n margin: 0.25rem;\n }\n .xl\\:m-2 {\n margin: 0.5rem;\n }\n .xl\\:m-3 {\n margin: 1rem;\n }\n .xl\\:m-4 {\n margin: 1.5rem;\n }\n .xl\\:m-5 {\n margin: 3rem;\n }\n .xl\\:m-auto {\n margin: auto;\n }\n .xl\\:mx-0 {\n margin-inline: 0;\n }\n .xl\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .xl\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .xl\\:mx-3 {\n margin-inline: 1rem;\n }\n .xl\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .xl\\:mx-5 {\n margin-inline: 3rem;\n }\n .xl\\:mx-auto {\n margin-inline: auto;\n }\n .xl\\:my-0 {\n margin-block: 0;\n }\n .xl\\:my-1 {\n margin-block: 0.25rem;\n }\n .xl\\:my-2 {\n margin-block: 0.5rem;\n }\n .xl\\:my-3 {\n margin-block: 1rem;\n }\n .xl\\:my-4 {\n margin-block: 1.5rem;\n }\n .xl\\:my-5 {\n margin-block: 3rem;\n }\n .xl\\:my-auto {\n margin-block: auto;\n }\n .xl\\:mt-0 {\n margin-block-start: 0;\n }\n .xl\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .xl\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .xl\\:mt-3 {\n margin-block-start: 1rem;\n }\n .xl\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .xl\\:mt-5 {\n margin-block-start: 3rem;\n }\n .xl\\:mt-auto {\n margin-block-start: auto;\n }\n .xl\\:me-0 {\n margin-inline-end: 0;\n }\n .xl\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .xl\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .xl\\:me-3 {\n margin-inline-end: 1rem;\n }\n .xl\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .xl\\:me-5 {\n margin-inline-end: 3rem;\n }\n .xl\\:me-auto {\n margin-inline-end: auto;\n }\n .xl\\:mb-0 {\n margin-block-end: 0;\n }\n .xl\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .xl\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .xl\\:mb-3 {\n margin-block-end: 1rem;\n }\n .xl\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .xl\\:mb-5 {\n margin-block-end: 3rem;\n }\n .xl\\:mb-auto {\n margin-block-end: auto;\n }\n .xl\\:ms-0 {\n margin-inline-start: 0;\n }\n .xl\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .xl\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .xl\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .xl\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .xl\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .xl\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .xl\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .xl\\:ms-auto {\n margin-inline-start: auto;\n }\n .xl\\:p-0 {\n padding: 0;\n }\n .xl\\:p-1 {\n padding: 0.25rem;\n }\n .xl\\:p-2 {\n padding: 0.5rem;\n }\n .xl\\:p-3 {\n padding: 1rem;\n }\n .xl\\:p-4 {\n padding: 1.5rem;\n }\n .xl\\:p-5 {\n padding: 3rem;\n }\n .xl\\:px-0 {\n padding-inline: 0;\n }\n .xl\\:px-1 {\n padding-inline: 0.25rem;\n }\n .xl\\:px-2 {\n padding-inline: 0.5rem;\n }\n .xl\\:px-3 {\n padding-inline: 1rem;\n }\n .xl\\:px-4 {\n padding-inline: 1.5rem;\n }\n .xl\\:px-5 {\n padding-inline: 3rem;\n }\n .xl\\:py-0 {\n padding-block: 0;\n }\n .xl\\:py-1 {\n padding-block: 0.25rem;\n }\n .xl\\:py-2 {\n padding-block: 0.5rem;\n }\n .xl\\:py-3 {\n padding-block: 1rem;\n }\n .xl\\:py-4 {\n padding-block: 1.5rem;\n }\n .xl\\:py-5 {\n padding-block: 3rem;\n }\n .xl\\:pt-0 {\n padding-block-start: 0;\n }\n .xl\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .xl\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .xl\\:pt-3 {\n padding-block-start: 1rem;\n }\n .xl\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .xl\\:pt-5 {\n padding-block-start: 3rem;\n }\n .xl\\:pe-0 {\n padding-inline-end: 0;\n }\n .xl\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .xl\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .xl\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .xl\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .xl\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .xl\\:pb-0 {\n padding-block-end: 0;\n }\n .xl\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .xl\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .xl\\:pb-3 {\n padding-block-end: 1rem;\n }\n .xl\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .xl\\:pb-5 {\n padding-block-end: 3rem;\n }\n .xl\\:ps-0 {\n padding-inline-start: 0;\n }\n .xl\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .xl\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .xl\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .xl\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .xl\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .xl\\:gap-0 {\n gap: 0;\n }\n .xl\\:gap-1 {\n gap: 0.25rem;\n }\n .xl\\:gap-2 {\n gap: 0.5rem;\n }\n .xl\\:gap-3 {\n gap: 1rem;\n }\n .xl\\:gap-4 {\n gap: 1.5rem;\n }\n .xl\\:gap-5 {\n gap: 3rem;\n }\n .xl\\:row-gap-0 {\n row-gap: 0;\n }\n .xl\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .xl\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .xl\\:row-gap-3 {\n row-gap: 1rem;\n }\n .xl\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .xl\\:row-gap-5 {\n row-gap: 3rem;\n }\n .xl\\:column-gap-0 {\n column-gap: 0;\n }\n .xl\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .xl\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .xl\\:column-gap-3 {\n column-gap: 1rem;\n }\n .xl\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .xl\\:column-gap-5 {\n column-gap: 3rem;\n }\n .xl\\:text-start {\n text-align: start;\n }\n .xl\\:text-end {\n text-align: end;\n }\n .xl\\:text-center {\n text-align: center;\n }\n }\n @media (width >= 1536px) {\n .\\32 xl\\:float-start {\n float: inline-start;\n }\n .\\32 xl\\:float-end {\n float: inline-end;\n }\n .\\32 xl\\:float-none {\n float: none;\n }\n .\\32 xl\\:object-fit-contain {\n object-fit: contain;\n }\n .\\32 xl\\:object-fit-cover {\n object-fit: cover;\n }\n .\\32 xl\\:object-fit-fill {\n object-fit: fill;\n }\n .\\32 xl\\:object-fit-scale {\n object-fit: scale-down;\n }\n .\\32 xl\\:object-fit-none {\n object-fit: none;\n }\n .\\32 xl\\:d-inline {\n display: inline;\n }\n .\\32 xl\\:d-inline-block {\n display: inline-block;\n }\n .\\32 xl\\:d-block {\n display: block;\n }\n .\\32 xl\\:d-grid {\n display: grid;\n }\n .\\32 xl\\:d-inline-grid {\n display: inline-grid;\n }\n .\\32 xl\\:d-table {\n display: table;\n }\n .\\32 xl\\:d-table-row {\n display: table-row;\n }\n .\\32 xl\\:d-table-cell {\n display: table-cell;\n }\n .\\32 xl\\:d-flex {\n display: flex;\n }\n .\\32 xl\\:d-inline-flex {\n display: inline-flex;\n }\n .\\32 xl\\:d-contents {\n display: contents;\n }\n .\\32 xl\\:d-flow-root {\n display: flow-root;\n }\n .\\32 xl\\:d-none {\n display: none;\n }\n .\\32 xl\\:flex-fill {\n flex: 1 1 auto;\n }\n .\\32 xl\\:flex-row {\n flex-direction: row;\n }\n .\\32 xl\\:flex-column {\n flex-direction: column;\n }\n .\\32 xl\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .\\32 xl\\:flex-column-reverse {\n flex-direction: column-reverse;\n }\n .\\32 xl\\:flex-grow-0 {\n flex-grow: 0;\n }\n .\\32 xl\\:flex-grow-1 {\n flex-grow: 1;\n }\n .\\32 xl\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .\\32 xl\\:flex-shrink-1 {\n flex-shrink: 1;\n }\n .\\32 xl\\:flex-wrap {\n flex-wrap: wrap;\n }\n .\\32 xl\\:flex-nowrap {\n flex-wrap: nowrap;\n }\n .\\32 xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .\\32 xl\\:justify-content-start {\n justify-content: flex-start;\n }\n .\\32 xl\\:justify-content-end {\n justify-content: flex-end;\n }\n .\\32 xl\\:justify-content-center {\n justify-content: center;\n }\n .\\32 xl\\:justify-content-between {\n justify-content: space-between;\n }\n .\\32 xl\\:justify-content-around {\n justify-content: space-around;\n }\n .\\32 xl\\:justify-content-evenly {\n justify-content: space-evenly;\n }\n .\\32 xl\\:justify-items-start {\n justify-items: start;\n }\n .\\32 xl\\:justify-items-end {\n justify-items: end;\n }\n .\\32 xl\\:justify-items-center {\n justify-items: center;\n }\n .\\32 xl\\:justify-items-stretch {\n justify-items: stretch;\n }\n .\\32 xl\\:justify-self-start {\n justify-self: flex-start;\n }\n .\\32 xl\\:justify-self-end {\n justify-self: flex-end;\n }\n .\\32 xl\\:justify-self-center {\n justify-self: center;\n }\n .\\32 xl\\:align-items-start {\n align-items: flex-start;\n }\n .\\32 xl\\:align-items-end {\n align-items: flex-end;\n }\n .\\32 xl\\:align-items-center {\n align-items: center;\n }\n .\\32 xl\\:align-items-baseline {\n align-items: baseline;\n }\n .\\32 xl\\:align-items-stretch {\n align-items: stretch;\n }\n .\\32 xl\\:align-content-start {\n align-content: flex-start;\n }\n .\\32 xl\\:align-content-end {\n align-content: flex-end;\n }\n .\\32 xl\\:align-content-center {\n align-content: center;\n }\n .\\32 xl\\:align-content-between {\n align-content: space-between;\n }\n .\\32 xl\\:align-content-around {\n align-content: space-around;\n }\n .\\32 xl\\:align-content-stretch {\n align-content: stretch;\n }\n .\\32 xl\\:align-self-auto {\n align-self: auto;\n }\n .\\32 xl\\:align-self-start {\n align-self: flex-start;\n }\n .\\32 xl\\:align-self-end {\n align-self: flex-end;\n }\n .\\32 xl\\:align-self-center {\n align-self: center;\n }\n .\\32 xl\\:align-self-baseline {\n align-self: baseline;\n }\n .\\32 xl\\:align-self-stretch {\n align-self: stretch;\n }\n .\\32 xl\\:place-items-start {\n place-items: start;\n }\n .\\32 xl\\:place-items-end {\n place-items: end;\n }\n .\\32 xl\\:place-items-center {\n place-items: center;\n }\n .\\32 xl\\:place-items-stretch {\n place-items: stretch;\n }\n .\\32 xl\\:grid-cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n .\\32 xl\\:grid-cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n .\\32 xl\\:grid-cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n .\\32 xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n .\\32 xl\\:grid-cols-fill {\n grid-column: 1 / -1;\n }\n .\\32 xl\\:grid-auto-flow-row {\n grid-auto-flow: row;\n }\n .\\32 xl\\:grid-auto-flow-column {\n grid-auto-flow: column;\n }\n .\\32 xl\\:grid-auto-flow-dense {\n grid-auto-flow: dense;\n }\n .\\32 xl\\:order-first {\n order: -1;\n }\n .\\32 xl\\:order-0 {\n order: 0;\n }\n .\\32 xl\\:order-1 {\n order: 1;\n }\n .\\32 xl\\:order-2 {\n order: 2;\n }\n .\\32 xl\\:order-3 {\n order: 3;\n }\n .\\32 xl\\:order-4 {\n order: 4;\n }\n .\\32 xl\\:order-5 {\n order: 5;\n }\n .\\32 xl\\:order-last {\n order: 6;\n }\n .\\32 xl\\:m-0 {\n margin: 0;\n }\n .\\32 xl\\:m-1 {\n margin: 0.25rem;\n }\n .\\32 xl\\:m-2 {\n margin: 0.5rem;\n }\n .\\32 xl\\:m-3 {\n margin: 1rem;\n }\n .\\32 xl\\:m-4 {\n margin: 1.5rem;\n }\n .\\32 xl\\:m-5 {\n margin: 3rem;\n }\n .\\32 xl\\:m-auto {\n margin: auto;\n }\n .\\32 xl\\:mx-0 {\n margin-inline: 0;\n }\n .\\32 xl\\:mx-1 {\n margin-inline: 0.25rem;\n }\n .\\32 xl\\:mx-2 {\n margin-inline: 0.5rem;\n }\n .\\32 xl\\:mx-3 {\n margin-inline: 1rem;\n }\n .\\32 xl\\:mx-4 {\n margin-inline: 1.5rem;\n }\n .\\32 xl\\:mx-5 {\n margin-inline: 3rem;\n }\n .\\32 xl\\:mx-auto {\n margin-inline: auto;\n }\n .\\32 xl\\:my-0 {\n margin-block: 0;\n }\n .\\32 xl\\:my-1 {\n margin-block: 0.25rem;\n }\n .\\32 xl\\:my-2 {\n margin-block: 0.5rem;\n }\n .\\32 xl\\:my-3 {\n margin-block: 1rem;\n }\n .\\32 xl\\:my-4 {\n margin-block: 1.5rem;\n }\n .\\32 xl\\:my-5 {\n margin-block: 3rem;\n }\n .\\32 xl\\:my-auto {\n margin-block: auto;\n }\n .\\32 xl\\:mt-0 {\n margin-block-start: 0;\n }\n .\\32 xl\\:mt-1 {\n margin-block-start: 0.25rem;\n }\n .\\32 xl\\:mt-2 {\n margin-block-start: 0.5rem;\n }\n .\\32 xl\\:mt-3 {\n margin-block-start: 1rem;\n }\n .\\32 xl\\:mt-4 {\n margin-block-start: 1.5rem;\n }\n .\\32 xl\\:mt-5 {\n margin-block-start: 3rem;\n }\n .\\32 xl\\:mt-auto {\n margin-block-start: auto;\n }\n .\\32 xl\\:me-0 {\n margin-inline-end: 0;\n }\n .\\32 xl\\:me-1 {\n margin-inline-end: 0.25rem;\n }\n .\\32 xl\\:me-2 {\n margin-inline-end: 0.5rem;\n }\n .\\32 xl\\:me-3 {\n margin-inline-end: 1rem;\n }\n .\\32 xl\\:me-4 {\n margin-inline-end: 1.5rem;\n }\n .\\32 xl\\:me-5 {\n margin-inline-end: 3rem;\n }\n .\\32 xl\\:me-auto {\n margin-inline-end: auto;\n }\n .\\32 xl\\:mb-0 {\n margin-block-end: 0;\n }\n .\\32 xl\\:mb-1 {\n margin-block-end: 0.25rem;\n }\n .\\32 xl\\:mb-2 {\n margin-block-end: 0.5rem;\n }\n .\\32 xl\\:mb-3 {\n margin-block-end: 1rem;\n }\n .\\32 xl\\:mb-4 {\n margin-block-end: 1.5rem;\n }\n .\\32 xl\\:mb-5 {\n margin-block-end: 3rem;\n }\n .\\32 xl\\:mb-auto {\n margin-block-end: auto;\n }\n .\\32 xl\\:ms-0 {\n margin-inline-start: 0;\n }\n .\\32 xl\\:ms-1 {\n margin-inline-start: 0.25rem;\n }\n .\\32 xl\\:ms-2 {\n margin-inline-start: 0.5rem;\n }\n .\\32 xl\\:ms-3 {\n margin-inline-start: 1rem;\n }\n .\\32 xl\\:ms-4 {\n margin-inline-start: 1.5rem;\n }\n .\\32 xl\\:ms-5 {\n margin-inline-start: 3rem;\n }\n .\\32 xl\\:ms--1 {\n margin-inline-start: -0.25rem;\n }\n .\\32 xl\\:ms--2 {\n margin-inline-start: -0.5rem;\n }\n .\\32 xl\\:ms-auto {\n margin-inline-start: auto;\n }\n .\\32 xl\\:p-0 {\n padding: 0;\n }\n .\\32 xl\\:p-1 {\n padding: 0.25rem;\n }\n .\\32 xl\\:p-2 {\n padding: 0.5rem;\n }\n .\\32 xl\\:p-3 {\n padding: 1rem;\n }\n .\\32 xl\\:p-4 {\n padding: 1.5rem;\n }\n .\\32 xl\\:p-5 {\n padding: 3rem;\n }\n .\\32 xl\\:px-0 {\n padding-inline: 0;\n }\n .\\32 xl\\:px-1 {\n padding-inline: 0.25rem;\n }\n .\\32 xl\\:px-2 {\n padding-inline: 0.5rem;\n }\n .\\32 xl\\:px-3 {\n padding-inline: 1rem;\n }\n .\\32 xl\\:px-4 {\n padding-inline: 1.5rem;\n }\n .\\32 xl\\:px-5 {\n padding-inline: 3rem;\n }\n .\\32 xl\\:py-0 {\n padding-block: 0;\n }\n .\\32 xl\\:py-1 {\n padding-block: 0.25rem;\n }\n .\\32 xl\\:py-2 {\n padding-block: 0.5rem;\n }\n .\\32 xl\\:py-3 {\n padding-block: 1rem;\n }\n .\\32 xl\\:py-4 {\n padding-block: 1.5rem;\n }\n .\\32 xl\\:py-5 {\n padding-block: 3rem;\n }\n .\\32 xl\\:pt-0 {\n padding-block-start: 0;\n }\n .\\32 xl\\:pt-1 {\n padding-block-start: 0.25rem;\n }\n .\\32 xl\\:pt-2 {\n padding-block-start: 0.5rem;\n }\n .\\32 xl\\:pt-3 {\n padding-block-start: 1rem;\n }\n .\\32 xl\\:pt-4 {\n padding-block-start: 1.5rem;\n }\n .\\32 xl\\:pt-5 {\n padding-block-start: 3rem;\n }\n .\\32 xl\\:pe-0 {\n padding-inline-end: 0;\n }\n .\\32 xl\\:pe-1 {\n padding-inline-end: 0.25rem;\n }\n .\\32 xl\\:pe-2 {\n padding-inline-end: 0.5rem;\n }\n .\\32 xl\\:pe-3 {\n padding-inline-end: 1rem;\n }\n .\\32 xl\\:pe-4 {\n padding-inline-end: 1.5rem;\n }\n .\\32 xl\\:pe-5 {\n padding-inline-end: 3rem;\n }\n .\\32 xl\\:pb-0 {\n padding-block-end: 0;\n }\n .\\32 xl\\:pb-1 {\n padding-block-end: 0.25rem;\n }\n .\\32 xl\\:pb-2 {\n padding-block-end: 0.5rem;\n }\n .\\32 xl\\:pb-3 {\n padding-block-end: 1rem;\n }\n .\\32 xl\\:pb-4 {\n padding-block-end: 1.5rem;\n }\n .\\32 xl\\:pb-5 {\n padding-block-end: 3rem;\n }\n .\\32 xl\\:ps-0 {\n padding-inline-start: 0;\n }\n .\\32 xl\\:ps-1 {\n padding-inline-start: 0.25rem;\n }\n .\\32 xl\\:ps-2 {\n padding-inline-start: 0.5rem;\n }\n .\\32 xl\\:ps-3 {\n padding-inline-start: 1rem;\n }\n .\\32 xl\\:ps-4 {\n padding-inline-start: 1.5rem;\n }\n .\\32 xl\\:ps-5 {\n padding-inline-start: 3rem;\n }\n .\\32 xl\\:gap-0 {\n gap: 0;\n }\n .\\32 xl\\:gap-1 {\n gap: 0.25rem;\n }\n .\\32 xl\\:gap-2 {\n gap: 0.5rem;\n }\n .\\32 xl\\:gap-3 {\n gap: 1rem;\n }\n .\\32 xl\\:gap-4 {\n gap: 1.5rem;\n }\n .\\32 xl\\:gap-5 {\n gap: 3rem;\n }\n .\\32 xl\\:row-gap-0 {\n row-gap: 0;\n }\n .\\32 xl\\:row-gap-1 {\n row-gap: 0.25rem;\n }\n .\\32 xl\\:row-gap-2 {\n row-gap: 0.5rem;\n }\n .\\32 xl\\:row-gap-3 {\n row-gap: 1rem;\n }\n .\\32 xl\\:row-gap-4 {\n row-gap: 1.5rem;\n }\n .\\32 xl\\:row-gap-5 {\n row-gap: 3rem;\n }\n .\\32 xl\\:column-gap-0 {\n column-gap: 0;\n }\n .\\32 xl\\:column-gap-1 {\n column-gap: 0.25rem;\n }\n .\\32 xl\\:column-gap-2 {\n column-gap: 0.5rem;\n }\n .\\32 xl\\:column-gap-3 {\n column-gap: 1rem;\n }\n .\\32 xl\\:column-gap-4 {\n column-gap: 1.5rem;\n }\n .\\32 xl\\:column-gap-5 {\n column-gap: 3rem;\n }\n .\\32 xl\\:text-start {\n text-align: start;\n }\n .\\32 xl\\:text-end {\n text-align: end;\n }\n .\\32 xl\\:text-center {\n text-align: center;\n }\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */\n","$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"violet\": $violet,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"amber\": $amber,\n \"yellow\": $yellow,\n \"lime\": $lime,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"brown\": $brown,\n \"gray\": $gray,\n \"pewter\": $pewter,\n ),\n $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n \"025\": 94%,\n \"050\": 90%,\n \"100\": 80%,\n \"200\": 60%,\n \"300\": 40%,\n \"400\": 20%,\n) !default;\n\n$color-shades: (\n \"600\": 16%,\n \"700\": 32%,\n \"800\": 48%,\n \"900\": 64%,\n \"950\": 76%,\n \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n @each $stop, $percent in $color-tints {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n }\n $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n @each $stop, $percent in $color-shades {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n @each $prop, $value in $map {\n #{$prop}: #{$value};\n }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n (\n --black: #{$black},\n --white: #{$white},\n\n --gradient: #{$gradient},\n\n // scss-docs-start root-font-weight-variables\n --font-weight-lighter: lighter,\n --font-weight-light: 300,\n --font-weight-normal: 400,\n --font-weight-medium: 500,\n --font-weight-semibold: 600,\n --font-weight-bold: 700,\n --font-weight-bolder: bolder,\n // scss-docs-end root-font-weight-variables\n\n // scss-docs-start root-body-variables\n --body-font-family: system-ui,\n --body-font-size: var(--font-size-base),\n --body-font-weight: #{$font-weight-base},\n --body-line-height: #{$line-height-base},\n\n --heading-color: #{$headings-color},\n\n --hr-border-color: var(--border-color),\n\n --link-color: light-dark(var(--primary-base), var(--primary-text)),\n --link-decoration: #{$link-decoration},\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n --code-font-size: 95%,\n --code-color: var(--fg-2),\n\n // scss-docs-start root-border-var\n --border-width: #{$border-width},\n --border-style: #{$border-style},\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n // scss-docs-end root-border-var\n\n // scss-docs-start root-border-radius-var\n --border-radius: .5rem,\n --border-radius-xs: .375rem,\n --border-radius-sm: .5rem,\n --border-radius-lg: .75rem,\n --border-radius-xl: 1rem,\n --border-radius-2xl: 2rem,\n --border-radius-pill: 50rem,\n // scss-docs-end root-border-radius-var\n\n // scss-docs-start root-box-shadow-variables\n --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n // scss-docs-end root-box-shadow-variables\n\n --spacer: 1rem,\n\n // scss-docs-start root-focus-variables\n --focus-ring-width: 3px,\n --focus-ring-offset: 1px,\n --focus-ring-color: var(--primary-focus-ring),\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-variables\n --control-checked-bg: var(--primary-base),\n --control-checked-border-color: var(--control-checked-bg),\n --control-active-bg: var(--primary-base),\n --control-active-border-color: var(--control-active-bg),\n --control-disabled-bg: var(--bg-3),\n --control-disabled-opacity: .65,\n\n --btn-input-fg: var(--fg-body),\n --btn-input-bg: var(--bg-body),\n\n --btn-input-min-height: 2.375rem,\n --btn-input-padding-y: .375rem,\n --btn-input-padding-x: .75rem,\n --btn-input-font-size: var(--font-size-base),\n --btn-input-line-height: var(--line-height-base),\n --btn-input-border-radius: var(--border-radius),\n\n --btn-input-xs-min-height: 1.5rem,\n --btn-input-xs-padding-y: .125rem,\n --btn-input-xs-padding-x: .5rem,\n --btn-input-xs-font-size: var(--font-size-xs),\n --btn-input-xs-line-height: 1.125,\n --btn-input-xs-border-radius: var(--border-radius-xs),\n\n --btn-input-sm-min-height: 2rem,\n --btn-input-sm-padding-y: .25rem,\n --btn-input-sm-padding-x: .625rem,\n --btn-input-sm-font-size: var(--font-size-sm),\n --btn-input-sm-line-height: var(--line-height-sm),\n --btn-input-sm-border-radius: var(--border-radius-sm),\n\n --btn-input-lg-min-height: 2.75rem,\n --btn-input-lg-padding-y: .5rem,\n --btn-input-lg-padding-x: 1rem,\n --btn-input-lg-font-size: var(--font-size-md),\n --btn-input-lg-line-height: var(--line-height-md),\n --btn-input-lg-border-radius: var(--border-radius-lg),\n // scss-docs-end root-form-variables\n\n // scss-docs-start root-form-validation-variables\n --form-valid-color: #{$form-valid-color},\n --form-valid-border-color: #{$form-valid-border-color},\n --form-invalid-color: #{$form-invalid-color},\n --form-invalid-border-color: #{$form-invalid-border-color},\n // scss-docs-end root-form-validation-variables\n ),\n $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n @each $key, $value in $color-map {\n $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n @include tokens($root-tokens);\n\n color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n color-scheme: light;\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$reboot-kbd-tokens: () !default;\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n (\n --kbd-padding-y: .125rem,\n --kbd-padding-x: .25rem,\n --kbd-font-size: var(--font-size-xs),\n --kbd-color: var(--bg-body),\n --kbd-bg: var(--fg-2),\n --kbd-border-radius: var(--border-radius-sm),\n ),\n $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n (\n --mark-padding: .1875em,\n --mark-color: var(--fg-body),\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n ),\n $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\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 // 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 // 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 // Assume browser default font-size of 16px, or a user's preference\n accent-color: var(--primary-base);\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\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(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n }\n // scss-docs-end reboot-body-rules\n\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n\n // Typography\n //\n // 1. Remove top margins from headings\n // By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n // margin for easier control within type scales as it avoids margin collapsing.\n\n %heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--heading-color);\n }\n\n h1,\n .h1 {\n @extend %heading;\n font-size: var(--font-size-3xl);\n }\n\n h2,\n .h2 {\n @extend %heading;\n font-size: var(--font-size-2xl);\n }\n\n h3,\n .h3 {\n @extend %heading;\n font-size: var(--font-size-xl);\n }\n\n h4,\n .h4 {\n @extend %heading;\n font-size: var(--font-size-lg);\n }\n\n h5,\n .h5 {\n @extend %heading;\n font-size: var(--font-size-md);\n }\n\n h6,\n .h6 {\n @extend %heading;\n font-size: var(--font-size-sm);\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 // 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 // Address\n\n address {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n }\n\n // Lists\n\n ol,\n ul {\n padding-inline-start: 2rem;\n }\n\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n\n dt {\n font-weight: $dt-font-weight;\n }\n\n // 1. Undo browser default\n\n dd {\n margin-inline-start: 0; // 1\n margin-bottom: .5rem;\n }\n\n // Blockquote\n\n blockquote {\n margin: 0 0 1rem;\n > * {\n margin-block: 0;\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 // Small\n //\n // Add the correct font size in all browsers\n\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n\n // Mark\n\n mark,\n .mark {\n @include tokens($reboot-mark-tokens);\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n\n // Sub and Sup\n //\n // Prevent `sub` and `sup` elements from affecting the line height in\n // all browsers.\n\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, .75em);\n line-height: 0;\n vertical-align: baseline;\n }\n\n sub { bottom: -.25em; }\n sup { top: -.5em; }\n\n // Links\n\n a {\n color: var(--theme-text, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: $link-underline-offset;\n\n &:hover {\n // --link-color: var(--link-hover-color);\n // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n color: var(--theme-text-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-decoration));\n }\n }\n\n // And undo these styles for placeholder links/named anchors (without href).\n // It would be more straightforward to just use a[href] in previous block, but that\n // causes specificity issues in many other styles that are too complex to fix.\n // See https://github.com/twbs/bootstrap/issues/19402\n\n a:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n }\n\n // Code\n\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n }\n\n // 1. Remove browser default top margin\n // 2. Reset browser default of `1em` to use `rem`s\n // 3. Don't allow content to break outside\n\n pre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n }\n\n code {\n font-size: var(--code-font-size);\n color: var(--code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n }\n\n kbd {\n @include tokens($reboot-kbd-tokens);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n @include border-radius(var(--kbd-border-radius));\n\n kbd {\n padding: 0;\n font-size: 1em;\n font-weight: inherit; // mdo-do: check if this is needed\n }\n }\n\n // Figures\n //\n // Apply a consistent margin strategy (matches our type styles).\n\n figure {\n margin: 0 0 1rem;\n }\n\n // Images and content\n\n img,\n svg {\n vertical-align: middle;\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(--fg-3);\n text-align: start;\n }\n\n // 1. Removes font-weight bold by inheriting\n // 2. Matches default `<td>` alignment by inheriting `text-align`.\n // 3. Fix alignment for Safari\n\n th {\n // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n }\n\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n\n // Forms\n //\n // 1. Allow labels to use `margin` for spacing.\n\n label {\n display: inline-block; // 1\n }\n\n // Remove the default `border-radius` that macOS Chrome adds.\n // See https://github.com/twbs/bootstrap/issues/24093\n\n button {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n }\n\n // Explicitly remove focus outline in Chromium when it shouldn't be\n // visible (e.g. as result of mouse click or touch tap). It already\n // should be doing this automatically, but seems to currently be\n // confused and applies its very visible two-tone outline anyway.\n\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n\n // 1. Remove the margin in Firefox and Safari\n\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0; // 1\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n // Remove the inheritance of text transform in Firefox\n button,\n select {\n text-transform: none;\n }\n // Set the cursor for non-`<button>` buttons\n //\n // Details at https://github.com/twbs/bootstrap/pull/30562\n [role=\"button\"] {\n cursor: pointer;\n }\n\n select {\n // Remove the inheritance of word-wrap in Safari.\n // See https://github.com/twbs/bootstrap/issues/24990\n word-wrap: normal;\n\n // Undo the opacity change from Chrome\n &:disabled {\n opacity: 1;\n }\n }\n\n // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n // See https://stackoverflow.com/a/54997118\n\n [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n display: none !important;\n }\n\n // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n // controls in Android 4.\n // 2. Correct the inability to style clickable types in iOS and Safari.\n // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n button,\n [type=\"button\"], // 1\n [type=\"reset\"],\n [type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n }\n\n // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n ::-moz-focus-inner {\n padding: 0;\n border-style: none;\n }\n\n // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n textarea {\n resize: vertical; // 1\n }\n\n // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n fieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n }\n\n // 1. By using `float: inline-start`, the legend will behave like a block element.\n // This way the border of a fieldset wraps around the legend if present.\n // 2. Fix wrapping bug.\n // See https://github.com/twbs/bootstrap/issues/29712\n\n legend {\n float: inline-start; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n font-size: $legend-font-size;\n font-weight: $legend-font-weight;\n line-height: inherit;\n\n + * {\n clear: inline-start; // 2\n }\n }\n\n // Fix height of inputs with a type of datetime-local, date, month, week, or time\n // See https://github.com/twbs/bootstrap/issues/18842\n\n ::-webkit-datetime-edit-fields-wrapper,\n ::-webkit-datetime-edit-text,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-ampm-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-week-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-year-field {\n padding: 0;\n }\n\n ::-webkit-inner-spin-button {\n height: auto;\n }\n\n // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n // 2. Correct the outline style in Safari.\n\n [type=\"search\"] {\n -webkit-appearance: textfield; // 1\n outline-offset: -2px; // 2\n\n // 3. Better affordance and consistent appearance for search cancel button\n &::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n }\n }\n\n // A few input types should stay LTR regardless of document direction\n // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n [type=\"tel\"],\n [type=\"url\"],\n [type=\"email\"],\n [type=\"number\"] {\n direction: ltr;\n }\n\n // Remove the inner padding in Chrome and Safari on macOS.\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n // Remove padding around color pickers in webkit browsers\n\n ::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n // 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 // Progress\n //\n // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n progress {\n vertical-align: baseline;\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:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n @if meta.type-of($defaults) == \"list\" {\n $map: ();\n @each $key in $defaults {\n $map: map.merge($map, ($key: true));\n }\n $defaults: $map;\n }\n $merged: map.merge($defaults, $overrides);\n @each $key, $value in $merged {\n @if $value == null {\n $merged: map.remove($merged, $key);\n }\n }\n @return $merged;\n}\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n\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\n$negative-spacers: (\n \"-1\": $spacer * -.25,\n \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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 breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !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\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, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\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// Links\n//\n// Style anchor elements.\n\n$link-decoration: underline !default;\n$link-underline-offset: .2em !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// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n\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$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// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n (\n \"xs\": (\n \"font-size\": .75rem,\n \"line-height\": 1.25\n ),\n \"sm\": (\n \"font-size\": .875rem,\n \"line-height\": 1.5\n ),\n \"md\": (\n \"font-size\": 1rem,\n \"line-height\": 1.5\n ),\n \"lg\": (\n \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n \"line-height\": 1.5\n ),\n \"xl\": (\n \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n \"line-height\": calc(2.5 / 1.75)\n ),\n \"2xl\": (\n \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n \"line-height\": calc(3 / 2.25)\n ),\n \"3xl\": (\n \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n \"line-height\": 1.2\n ),\n \"4xl\": (\n \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n \"line-height\": 1.1\n ),\n \"5xl\": (\n \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n \"line-height\": 1.1\n ),\n \"6xl\": (\n \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n \"line-height\": 1\n ),\n ),\n $font-sizes\n);\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 type-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// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-dialog: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" 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: var(--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: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n border-start-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-end-radius: valid-radius($radius);\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-start-radius: valid-radius($radius);\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n border-end-start-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-start-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-start-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-end-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-end-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-start-radius($radius: var(--border-radius)) {\n @if $enable-rounded {\n border-end-start-radius: valid-radius($radius);\n }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/lists\" as *;\n@use \"../mixins/tokens\" as *;\n\n$blockquote-tokens: () !default;\n\n// scss-docs-start blockquote-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$blockquote-tokens: defaults(\n (\n --blockquote-gap: calc(var(--spacer) / 2),\n --blockquote-padding-x: var(--spacer),\n --blockquote-margin-y: 1rem,\n --blockquote-font-size: var(--font-size-md),\n --blockquote-border-width: .25rem,\n --blockquote-border-color: var(--border-color),\n --blockquote-footer-font-size: var(--font-size-sm),\n --blockquote-footer-color: var(--fg-3),\n ),\n $blockquote-tokens\n);\n// scss-docs-end blockquote-tokens\n\n@layer content {\n //\n // Lists\n //\n\n .list-unstyled {\n @include list-unstyled();\n }\n\n // Inline turns list items into inline-block\n .list-inline {\n @include list-unstyled();\n }\n .list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-inline-end: var(--list-inline-padding, var(--spacer) / 2);\n }\n }\n\n //\n // Misc\n //\n\n // Builds on `abbr`\n .initialism {\n font-size: var(--initialism-font-size, var(--font-size-xs));\n text-transform: uppercase;\n }\n\n // Blockquotes\n .blockquote {\n @include tokens($blockquote-tokens);\n display: flex;\n flex-direction: column;\n gap: var(--blockquote-gap);\n padding-inline-start: var(--blockquote-padding-x);\n margin-bottom: var(--blockquote-margin-y);\n font-size: var(--blockquote-font-size);\n border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n\n > * {\n margin-bottom: 0;\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n figure.blockquote {\n blockquote {\n margin-bottom: 0;\n }\n }\n\n .blockquote-footer {\n font-size: var(--blockquote-footer-font-size);\n color: var(--blockquote-footer-color);\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-inline-start: 0;\n list-style: none;\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$table-tokens: () !default;\n\n// scss-docs-start table-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$table-tokens: defaults(\n (\n --table-cell-padding-y: .5rem,\n --table-cell-padding-x: .5rem,\n --table-cell-vertical-align: top,\n --table-color: var(--fg-body),\n --table-bg: var(--bg-body),\n --table-accent-bg: transparent,\n --table-border-width: var(--border-width),\n --table-border-color: var(--border-color),\n --table-group-separator-color: currentcolor,\n --table-striped-color: var(--table-color),\n --table-striped-bg-factor: .05,\n --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent),\n --table-active-color: var(--table-color),\n --table-active-bg-factor: .1,\n --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent),\n --table-hover-color: var(--table-color),\n --table-hover-bg-factor: .075,\n --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent),\n ),\n $table-tokens\n);\n// scss-docs-end table-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n .table {\n @include tokens($table-tokens);\n\n // Reset needed for nesting tables\n --table-color-type: initial;\n --table-bg-type: initial;\n --table-color-state: initial;\n --table-bg-state: initial;\n // End of reset\n\n width: 100%;\n margin-bottom: $spacer;\n vertical-align: var(--table-cell-vertical-align);\n border-color: var(--theme-border, var(--table-border-color));\n\n // Target th & td\n // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n background-color: var(--theme-bg-subtle, var(--table-bg));\n border-block-end-width: var(--table-border-width);\n box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n }\n\n .table-group-divider {\n border-block-start: calc(var(--table-border-width) * 2) solid var(--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 // Condensed table w/ half padding\n //\n\n .table-sm {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n --table-cell-padding-y: .25rem;\n --table-cell-padding-x: .25rem;\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: var(--table-border-width) 0;\n\n // stylelint-disable-next-line selector-max-universal\n > * {\n border-width: 0 var(--table-border-width);\n }\n }\n }\n\n .table-borderless {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n border-block-end-width: 0;\n }\n\n > :not(:first-child) {\n border-block-start-width: 0;\n }\n }\n\n // Zebra-striping\n //\n // Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n // For rows\n .table-striped {\n > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n }\n\n // For columns\n .table-striped-columns {\n > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n --table-color-type: var(--theme-text, var(--table-striped-color));\n --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n }\n }\n\n // Active table\n //\n // The `.table-active` class can be added to highlight rows or cells\n\n .table-active {\n --table-color-state: var(--theme-text, var(--table-active-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n }\n\n // Hover effect\n //\n // Placed here since it has to come after the potential zebra striping\n\n .table-hover {\n > tbody > tr:hover > * {\n --table-color-state: var(--theme-text, var(--table-hover-color));\n --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n }\n }\n\n // Responsive tables\n //\n // Generate series of responsive `.table-responsive` classes for configuring\n // the screen size of where your table will overflow.\n\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @include media-breakpoint-down($breakpoint) {\n .#{$prefix}table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n $name-str: \"#{$name}\";\n $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n $first: string.slice($name-str, 1, 1);\n\n @if list.index($digits, $first) {\n @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n }\n\n @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n// >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"sm\\:\"\n// >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n @if breakpoint-min($name, $breakpoints) == null {\n @return \"\";\n }\n\n @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n @content($breakpoint, $prefix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $prefix: breakpoint-prefix($next, $breakpoints);\n @content($breakpoint, $next, $prefix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n @content($breakpoint, $next, $prefix);\n }\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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (width >= $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (width < $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $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 @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/image\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/tokens\" as *;\n\n$thumbnail-tokens: () !default;\n\n// scss-docs-start thumbnail-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$thumbnail-tokens: defaults(\n (\n --thumbnail-padding: .25rem,\n --thumbnail-bg: var(--bg-body),\n --thumbnail-border-width: var(--border-width),\n --thumbnail-border-color: var(--border-color),\n --thumbnail-border-radius: var(--border-radius),\n --thumbnail-box-shadow: var(--box-shadow-sm),\n ),\n $thumbnail-tokens\n);\n// scss-docs-end thumbnail-tokens\n\n$figure-tokens: () !default;\n\n// scss-docs-start figure-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$figure-tokens: defaults(\n (\n --figure-gap: calc(var(--spacer) * .5),\n --figure-caption-font-size: var(--font-size-sm),\n --figure-caption-color: var(--fg-3),\n ),\n $figure-tokens\n);\n// scss-docs-end figure-tokens\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 .img-thumbnail {\n @include tokens($thumbnail-tokens);\n padding: var(--thumbnail-padding);\n background-color: var(--thumbnail-bg);\n border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n @include border-radius(var(--thumbnail-border-radius));\n @include box-shadow(var(--thumbnail-box-shadow));\n\n // Keep them at most 100% wide\n @include img-fluid();\n }\n\n .figure {\n @include tokens($figure-tokens);\n // Ensures the caption's text aligns with the image.\n display: flex;\n flex-direction: column;\n gap: var(--figure-gap);\n }\n\n .figure-caption {\n font-size: var(--figure-caption-font-size);\n color: var(--figure-caption-color);\n }\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n@mixin box-shadow($shadow...) {\n @if $enable-shadows {\n $result: ();\n $has-single-value: false;\n $single-value: null;\n\n @each $value in $shadow {\n @if $value != null {\n @if $value == none or $value == initial or $value == inherit or $value == unset {\n $has-single-value: true;\n $single-value: $value;\n } @else {\n $result: list.append($result, $value, \"comma\");\n }\n }\n }\n\n @if $has-single-value {\n box-shadow: $single-value;\n } @else if (list.length($result) > 0) {\n box-shadow: $result;\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$prose-tokens: () !default;\n\n// scss-docs-start prose-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$prose-tokens: defaults(\n (\n --content-font-size: 1rem,\n --content-gap: 20px,\n --heading-color: light-dark(var(--gray-900), var(--white)),\n ),\n $prose-tokens\n);\n// scss-docs-end prose-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer content {\n .prose {\n @include tokens($prose-tokens);\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--content-gap);\n max-width: 1000px;\n margin-inline: auto;\n font-size: var(--content-font-size);\n line-height: 1.5;\n\n @media (width >= 1024px) {\n --content-font-size: var(--font-size-md);\n --content-gap: 24px;\n }\n\n :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n margin-block: 0;\n }\n\n :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n margin-bottom: calc(var(--content-gap) / 4);\n }\n\n :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) / 4);\n }\n\n :where(hr):not(:where(.not-prose, .not-prose *)) {\n margin: calc(var(--content-gap) * 1.5) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n\n :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n margin-top: 0;\n margin-bottom: calc(var(--content-gap) / -2);\n font-weight: 500;\n line-height: 1.25;\n\n code {\n font-weight: 600;\n color: inherit;\n }\n }\n\n :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * .75);\n }\n\n :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n margin-top: calc(var(--content-gap) * .5);\n }\n\n :where(h1):not(:where(.not-prose, .not-prose *)) {\n font-size: 2.25em;\n line-height: 1.1;\n }\n :where(h2):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.75em;\n }\n :where(h3):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.5em;\n }\n :where(h4):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.25em;\n }\n :where(h5):not(:where(.not-prose, .not-prose *)) {\n font-size: 1.125em;\n }\n :where(h6):not(:where(.not-prose, .not-prose *)) {\n font-size: 1em;\n }\n\n :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n color: var(--link-color);\n text-decoration: underline;\n text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n text-underline-offset: 4px;\n @include transition(.1s text-decoration-color ease-in-out);\n\n &:hover {\n text-decoration-color: var(--link-hover-color);\n }\n }\n\n :where(img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n\n :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n padding-inline-start: calc(var(--content-gap) / 2);\n margin: 0;\n border-inline-start: 4px solid var(--border-color);\n }\n\n :where(table):not(:where(.not-prose, .not-prose *)) {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n }\n\n :where(table:not([class])):not(:where(.not-prose, .not-prose *)) {\n td,\n th {\n padding: 6px 12px;\n text-align: inherit;\n border: 1px solid var(--border-color);\n }\n }\n\n :where(dt):not(:where(.not-prose, .not-prose *)) {\n font-weight: 500;\n }\n\n :where(video, img):not(:where(.not-prose, .not-prose *)) {\n max-width: 100%;\n }\n }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if list.length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if list.length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if list.nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --gutter-x: #{$gutter};\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * .5);\n margin-inline: auto;\n}\n\n@layer layout {\n @if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .#{breakpoint-prefix($breakpoint, $breakpoints)}container {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $breakpoints {\n @if ($extend-breakpoint) {\n .#{breakpoint-prefix($name, $breakpoints)}container {\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 \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n @if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n\n @include make-grid-columns();\n }\n\n @if $enable-cssgrid {\n .grid {\n --columns: #{$grid-columns};\n --rows: 1;\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n\n }\n\n @include make-cssgrid();\n }\n\n // mdo-do: add to utilities?\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n\n .grid-fill {\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n\n // .g-col-auto {\n // grid-column: auto;\n // }\n\n // mdo-do: add to utilities?\n // .grid-cols-3 {\n // --columns: 3;\n // }\n // .grid-cols-4 {\n // --columns: 4;\n // }\n // .grid-cols-6 {\n // --columns: 6;\n // }\n\n // .grid-full {\n // grid-column: 1 / -1;\n // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n --gutter-x: #{$gutter-x};\n --gutter-y: #{$gutter-y};\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-inline: calc(-.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n // stylelint-disable-next-line scss/at-function-named-arguments\n box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-inline: calc(var(--gutter-x) * .5);\n margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: math.percentage(math.div($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: math.div($size, $columns);\n // stylelint-disable-next-line scss/at-function-named-arguments\n margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n .#{$prefix}col {\n flex: 1 0 0;\n }\n\n .#{$prefix}row-cols-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .#{$prefix}row-cols-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .#{$prefix}col-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .#{$prefix}col-#{$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 ($prefix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .#{$prefix}offset-#{$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 .#{$prefix}g-#{$key},\n .#{$prefix}gx-#{$key} {\n --gutter-x: #{$value};\n }\n\n .#{$prefix}g-#{$key},\n .#{$prefix}gy-#{$key} {\n --gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .#{$prefix}g-col-#{$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 .#{$prefix}g-start-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","@use \"../functions\" as *;\n\n$form-label-tokens: () !default;\n\n// scss-docs-start form-label-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-label-tokens: defaults(\n (\n --label-margin-bottom: calc(var(--spacer) / 2),\n --label-font-size: null,\n --label-font-style: null,\n --label-font-weight: null,\n --label-color: null,\n ),\n $form-label-tokens\n);\n// scss-docs-end form-label-tokens\n\n@layer forms {\n .form-label,\n .col-form-label {\n font-size: var(--label-font-size, var(--font-size-sm));\n font-style: var(--label-font-style, inherit);\n font-weight: var(--label-font-weight, inherit);\n color: var(--label-color, var(--fg-body));\n }\n\n .form-label {\n margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\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 --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n padding-block: var(--label-padding-y);\n margin-bottom: 0; // Override the `<legend>` default\n }\n\n .col-form-label-lg {\n --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n font-size: var(--btn-input-lg-font-size);\n }\n\n .col-form-label-sm {\n --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n font-size: var(--btn-input-sm-font-size);\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-text-tokens: () !default;\n\n// scss-docs-start form-text-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-text-tokens: defaults(\n (\n --form-text-margin-top: .25rem,\n --form-text-font-size: var(--font-size-sm),\n --form-text-font-style: null,\n --form-text-font-weight: null,\n --form-text-color: var(--fg-3),\n ),\n $form-text-tokens\n);\n// scss-docs-end form-text-tokens\n\n@layer forms {\n .form-text {\n @include tokens($form-text-tokens);\n\n margin-top: var(--form-text-margin-top);\n font-size: var(--form-text-font-size);\n font-style: var(--form-text-font-style);\n font-weight: var(--form-text-font-weight);\n color: var(--form-text-color);\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-control-tokens: () !default;\n\n// scss-docs-start form-control-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-tokens: defaults(\n (\n --control-min-height: var(--btn-input-min-height),\n --control-padding-y: var(--btn-input-padding-y),\n --control-padding-x: var(--btn-input-padding-x),\n --control-font-size: var(--btn-input-font-size),\n --control-line-height: var(--btn-input-line-height),\n --control-fg: var(--btn-input-fg),\n --control-bg: var(--btn-input-bg),\n --control-border-width: var(--border-width),\n --control-border-color: var(--border-color),\n --control-border-radius: var(--border-radius),\n --control-box-shadow: var(--box-shadow-inset),\n --control-action-bg: var(--bg-1),\n --control-action-hover-bg: var(--bg-2),\n --control-transition-property: \"border-color, box-shadow\",\n --control-transition-timing: .15s ease-in-out,\n --control-transition: var(--control-transition-property) var(--control-transition-timing),\n --control-placeholder-color: var(--fg-3),\n --control-disabled-color: var(--control-fg),\n --control-disabled-bg: var(--bg-2),\n --control-disabled-border-color: var(--control-border-color),\n --control-select-bg: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#00000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n --control-select-bg-position: right .75rem center,\n --control-select-bg-size: 16px 12px,\n --control-select-bg-dark: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n ),\n $form-control-tokens\n);\n// scss-docs-end form-control-tokens\n\n// scss-docs-start form-control-sizes\n$form-control-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-sizes: defaults(\n (\"sm\", \"lg\"),\n $form-control-sizes\n);\n// scss-docs-end form-control-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .form-control {\n @include tokens($form-control-tokens);\n\n display: flex;\n width: 100%;\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n font-size: var(--control-font-size);\n line-height: var(--control-line-height);\n color: var(--control-fg);\n appearance: none;\n background-color: var(--control-bg);\n background-clip: padding-box;\n border: var(--control-border-width) solid var(--control-border-color);\n @include border-radius(var(--control-border-radius), 0);\n @include box-shadow(var(--control-box-shadow));\n @include transition(var(--control-transition));\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus-visible {\n --focus-ring-offset: -1px;\n @include focus-ring(true);\n }\n\n // Placeholder\n &::placeholder {\n color: var(--control-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: var(--control-disabled-color);\n background-color: var(--control-disabled-bg);\n border-color: var(--control-disabled-border-color);\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n\n // Date and time inputs\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: 1.5em;\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 // background-color: var(--red-500);\n // }\n\n // Prevent excessive date input height in Webkit\n // https://github.com/twbs/bootstrap/issues/34433\n\n // mdo-do: need to check this stuff out across browsers\n &::-webkit-datetime-edit {\n display: block;\n height: 1.5rem;\n padding: 0;\n margin-bottom: -.125rem;\n }\n &::-webkit-datetime-edit-fields-wrapper {\n height: 1.5rem;\n }\n\n // File inputs\n &[type=\"file\"] {\n overflow: hidden; // prevent pseudo element button overlap\n\n &:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n }\n &::file-selector-button {\n min-height: var(--control-min-height);\n padding: var(--control-padding-y) var(--control-padding-x);\n margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n margin-inline-end: var(--control-padding-x);\n color: var(--control-fg);\n @include gradient-bg(var(--control-action-bg));\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--control-border-width);\n border-radius: 0; // stylelint-disable-line property-disallowed-list\n @include transition(var(--control-transition));\n }\n\n &:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: var(--control-action-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: var(--control-padding-y) 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: var(--control-line-height);\n color: var(--control-fg);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--control-border-width) 0;\n\n &:focus {\n outline: 0;\n }\n\n &.form-control-sm,\n &.form-control-lg {\n padding-inline: 0;\n }\n }\n\n // stylelint-disable selector-no-qualifying-type\n select.form-control {\n padding-inline-end: calc(var(--control-padding-x) * 3);\n background-image: var(--control-select-bg);\n background-repeat: no-repeat;\n background-position: var(--control-select-bg-position);\n background-size: var(--control-select-bg-size);\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n padding-inline-end: var(--control-padding-x);\n background-image: none;\n }\n }\n\n @media (prefers-color-scheme: dark) {\n select.form-control {\n background-image: var(--control-select-bg-dark);\n }\n }\n // stylelint-enable selector-no-qualifying-type\n\n // Form control sizing\n //\n // Build on `.form-control` with modifier classes to decrease or increase the\n // height and font-size of form controls.\n //\n // Repeated in `_input_group.scss` to avoid Sass extend issues.\n @each $size, $_ in $form-control-sizes {\n .form-control-#{$size} {\n --control-min-height: var(--btn-input-#{$size}-min-height);\n --control-padding-y: var(--btn-input-#{$size}-padding-y);\n --control-padding-x: var(--btn-input-#{$size}-padding-x);\n --control-font-size: var(--btn-input-#{$size}-font-size);\n --control-line-height: var(--btn-input-#{$size}-line-height);\n --control-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n\n .form-control-color {\n width: var(--control-min-height);\n padding: var(--control-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(var(--border-radius-sm));\n }\n\n &::-webkit-color-swatch {\n border: 0 !important; // stylelint-disable-line declaration-no-important\n @include border-radius(var(--border-radius-sm));\n }\n }\n\n // Ghost input - removes all visual styling\n // Used inside custom wrappers that handle their own styling\n .form-ghost {\n display: block;\n width: 100%;\n padding: 0;\n font: inherit;\n color: inherit;\n appearance: none;\n background: transparent;\n border: 0;\n\n &:focus {\n outline: 0;\n }\n\n &::placeholder {\n color: var(--fg-3);\n opacity: 1;\n }\n\n &:disabled {\n color: var(--fg-4);\n cursor: not-allowed;\n }\n }\n}\n","@mixin focus-ring($offset: false, $color: null) {\n @if $color != null {\n outline: var(--focus-ring-width) solid #{$color};\n } @else {\n outline: var(--focus-ring);\n }\n @if $offset {\n outline-offset: var(--focus-ring-offset);\n }\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n\n// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n background-color: $color;\n\n @if $enable-gradients {\n background-image: var(--gradient);\n }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: var(--gray-700), $end-color: var(--gray-800), $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: var(--gray-700), $outer-color: var(--gray-800)) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$check-tokens: () !default;\n\n// scss-docs-start check-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$check-tokens: defaults(\n (\n --check-size: 1.25rem,\n --check-margin-block: .125rem,\n --check-bg: transparent,\n --check-border-color: var(--border-color),\n --check-border-radius: .375rem,\n --check-checked-bg: var(--control-checked-bg),\n --check-checked-border-color: var(--control-checked-border-color),\n --check-indeterminate-bg: var(--control-checked-bg),\n --check-indeterminate-border-color: var(--control-checked-border-color),\n --check-active-bg: var(--control-active-bg),\n --check-active-border-color: var(--control-active-border-color),\n --check-disabled-bg: var(--control-disabled-bg),\n --check-disabled-opacity: var(--control-disabled-opacity),\n ),\n $check-tokens\n);\n// scss-docs-end check-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .checkgroup {\n display: flex;\n gap: var(--gap, .5rem);\n align-items: var(--align-items, start);\n\n .description {\n color: var(--fg-3);\n }\n }\n\n .check {\n @include tokens($check-tokens);\n\n display: grid;\n grid-template-columns: repeat(1, minmax(0, 1fr));\n margin-block: var(--check-margin-block);\n\n :where(svg, input) {\n flex-shrink: 0;\n grid-row-start: 1;\n grid-column-start: 1;\n width: var(--check-size);\n height: var(--check-size);\n }\n\n :where(input) {\n appearance: none;\n // later: maybe set a tertiary bg color?\n background-color: var(--theme-bg, var(--check-bg));\n border: 1px solid var(--theme-bg, var(--check-border-color));\n // stylelint-disable-next-line property-disallowed-list\n border-radius: .3em;\n }\n\n :where(input:checked, input:indeterminate) {\n background-color: var(--theme-bg, var(--check-checked-bg));\n border-color: var(--theme-bg, var(--check-checked-border-color));\n }\n\n :where(input:focus-visible) {\n @include focus-ring(true);\n }\n\n &:has(input:checked) .checked,\n &:has(input:indeterminate) .indeterminate {\n display: block;\n color: var(--theme-contrast, var(--primary-contrast));\n stroke: currentcolor;\n }\n\n &:has(input:disabled) {\n --check-bg: var(--check-disabled-bg);\n\n ~ label {\n color: var(--fg-3);\n cursor: default;\n }\n }\n &:has(input:disabled:checked) {\n opacity: var(--check-disabled-opacity);\n }\n\n :where(svg) {\n pointer-events: none;\n }\n\n :where(svg path) {\n display: none;\n }\n }\n\n .check-sm {\n --check-size: 1rem;\n }\n .check-lg {\n --check-size: 1.5rem;\n --check-margin-block: 0;\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$radio-tokens: () !default;\n\n// scss-docs-start radio-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$radio-tokens: defaults(\n (\n --radio-size: 1.25rem,\n --radio-margin-block: .125rem,\n --radio-bg: transparent,\n --radio-border-color: var(--border-color),\n --radio-checked-bg: var(--control-checked-bg),\n --radio-checked-border-color: var(--control-checked-border-color),\n --radio-disabled-bg: var(--control-disabled-bg),\n --radio-disabled-opacity: var(--control-disabled-opacity),\n ),\n $radio-tokens\n);\n// scss-docs-end radio-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .radiogroup {\n display: flex;\n gap: var(--gap, .5rem);\n align-items: var(--align-items, start);\n\n .description {\n color: var(--fg-3);\n }\n }\n\n .radio {\n @include tokens($radio-tokens);\n\n position: relative;\n flex-shrink: 0;\n width: var(--radio-size);\n height: var(--radio-size);\n margin-block: var(--radio-margin-block);\n appearance: none;\n background-color: var(--theme-bg, var(--radio-bg));\n border: 1px solid var(--theme-bg, var(--radio-border-color));\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n\n &:checked {\n color: var(--theme-contrast, var(--primary-contrast));\n background-color: var(--theme-bg, var(--radio-checked-bg));\n border-color: var(--theme-bg, var(--radio-checked-border-color));\n\n &::before {\n position: absolute;\n inset: .25rem;\n content: \"\";\n background-color: currentcolor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n }\n }\n\n &:disabled {\n --radio-bg: var(--radio-disabled-bg);\n\n ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n }\n\n &:focus-visible {\n @include focus-ring(true);\n }\n }\n\n .radio-sm {\n --radio-size: 1rem;\n }\n .radio-lg {\n --radio-size: 1.5rem;\n --radio-margin-block: 0;\n }\n}\n","@use \"../colors\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$switch-tokens: () !default;\n\n// scss-docs-start switch-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$switch-tokens: defaults(\n (\n --switch-height: 1.25rem,\n --switch-width: calc(var(--switch-height) * 1.5),\n --switch-padding: .0625rem,\n --switch-margin-block: .125rem,\n --switch-bg: var(--bg-3),\n --switch-border-width: var(--border-width),\n --switch-border-color: var(--border-color),\n --switch-indicator-bg: var(--white),\n --switch-checked-bg: var(--control-checked-bg),\n --switch-checked-border-color: var(--switch-checked-bg),\n --switch-checked-indicator-bg: var(--white),\n --switch-disabled-bg: var(--control-disabled-bg),\n --switch-disabled-indicator-bg: var(--fg-3),\n ),\n $switch-tokens\n);\n// scss-docs-end switch-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n .switch {\n @include tokens($switch-tokens);\n\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: stretch;\n justify-content: flex-start;\n width: var(--switch-width);\n height: var(--switch-height);\n padding: var(--switch-padding);\n margin-block: var(--switch-margin-block);\n background-color: var(--switch-bg);\n border: var(--switch-border-width) solid var(--switch-border-color);\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 10rem;\n box-shadow: inset 0 1px 2px rgba($black, .05);\n // stylelint-disable-next-line property-disallowed-list\n transition: .15s ease-in-out;\n transition-property: padding-inline-start, background-color;\n\n &::before {\n flex-shrink: 0;\n width: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n height: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n content: \"\";\n background-color: var(--theme-contrast, var(--switch-indicator-bg));\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n box-shadow: 0 1px 2px rgba($black, .1);\n }\n\n input {\n position: absolute;\n inset: 0;\n appearance: none;\n background-color: transparent;\n outline: 0;\n }\n\n &:focus-within {\n @include focus-ring(true);\n }\n\n &:has(input:checked) {\n padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n background-color: var(--theme-bg, var(--switch-checked-bg));\n border-color: var(--theme-bg, var(--switch-checked-border-color));\n }\n\n &:has(input:disabled) {\n --switch-bg: var(--switch-disabled-bg);\n --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n\n &::before { opacity: .4; }\n\n ~ label {\n color: var(--secondary-text);\n cursor: default;\n }\n }\n }\n .switch-sm {\n --switch-height: 1rem;\n }\n .switch-lg {\n --switch-height: 1.5rem;\n --switch-margin-block: 0;\n }\n}\n","@use \"../colors\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n\n$range-tokens: () !default;\n\n// scss-docs-start range-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$range-tokens: defaults(\n (\n --range-track-width: 100%,\n --range-track-height: .5rem,\n --range-track-cursor: pointer,\n --range-track-bg: var(--bg-3),\n --range-track-border-radius: 1rem,\n --range-track-box-shadow: var(--box-shadow-inset),\n --range-thumb-width: 1rem,\n --range-thumb-height: var(--range-thumb-width),\n --range-thumb-bg: var(--primary-base),\n --range-thumb-border: 0,\n --range-thumb-border-radius: 1rem,\n --range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1),\n --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body)),\n --range-thumb-disabled-bg: var(--fg-3),\n --range-thumb-transition-property: \"background-color, border-color, box-shadow\",\n --range-thumb-transition-timing: .15s ease-in-out,\n --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing),\n ),\n $range-tokens\n);\n// scss-docs-end range-tokens\n\n// scss-docs-start range-mixins\n@mixin range-thumb() {\n width: var(--range-thumb-width);\n height: var(--range-thumb-height);\n appearance: none;\n @include gradient-bg(var(--range-thumb-bg));\n border: var(--range-thumb-border);\n @include border-radius(var(--range-thumb-border-radius));\n @include box-shadow(var(--range-thumb-box-shadow));\n @include transition(var(--range-thumb-transition));\n\n &:active {\n @include gradient-bg(var(--range-thumb-active-bg));\n }\n}\n\n@mixin range-track() {\n width: var(--range-track-width);\n height: var(--range-track-height);\n color: transparent; // Why?\n cursor: var(--range-track-cursor);\n background-color: var(--range-track-bg);\n border-color: transparent; // Firefox specific?\n @include border-radius(var(--range-track-border-radius));\n @include box-shadow(var(--range-track-box-shadow));\n}\n// scss-docs-end range-mixins\n\n@layer forms {\n .form-range {\n @include tokens($range-tokens);\n\n width: 100%;\n height: calc(var(--range-thumb-height) + (var(--focus-ring-width) * 2));\n padding: 0; // Need to reset padding\n appearance: none;\n background-color: transparent;\n\n &:focus {\n outline: 0;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n &::-webkit-slider-thumb {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n &::-moz-range-thumb {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n @include range-thumb();\n margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * .5); // Webkit specific\n }\n\n &::-moz-range-thumb {\n @include range-thumb();\n }\n\n &::-webkit-slider-runnable-track {\n @include range-track();\n }\n\n &::-moz-range-track {\n @include range-track();\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n\n &::-moz-range-thumb {\n background-color: var(--range-thumb-disabled-bg);\n }\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-floating-tokens: () !default;\n\n// scss-docs-start form-floating-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-floating-tokens: defaults(\n (\n --form-floating-height: calc(3.5rem + (var(--border-width) * 2)),\n --form-floating-line-height: 1.25,\n --form-floating-padding-x: var(--btn-input-padding-x),\n --form-floating-padding-y: 1rem,\n --form-floating-input-padding-t: 1.625rem,\n --form-floating-input-padding-b: .625rem,\n --form-floating-label-height: 1.5em,\n --form-floating-label-opacity: .65,\n --form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem),\n --form-floating-label-disabled-color: var(--fg-3),\n --form-floating-transition-property: \"opacity, transform\",\n --form-floating-transition-timing: .1s ease-in-out,\n --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing),\n ),\n $form-floating-tokens\n);\n// scss-docs-end form-floating-tokens\n\n@layer forms {\n .form-floating {\n @include tokens($form-floating-tokens);\n\n position: relative;\n\n > label {\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n max-width: 100%;\n height: 100%; // allow textareas\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n overflow: hidden;\n color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--input-btn-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(var(--form-floating-transition));\n }\n\n > .form-control,\n > .form-control-plaintext {\n height: var(--form-floating-height);\n min-height: var(--form-floating-height);\n padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n line-height: var(--form-floating-line-height);\n\n &::placeholder {\n color: transparent;\n }\n\n &:focus,\n &:not(:placeholder-shown) {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n &:-webkit-autofill {\n padding-top: var(--form-floating-input-padding-t);\n padding-bottom: var(--form-floating-input-padding-b);\n }\n }\n\n > .form-control:focus,\n > .form-control:not(:placeholder-shown),\n > .form-control-plaintext {\n ~ label {\n transform: var(--form-floating-label-transform);\n }\n }\n\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n > .form-control:-webkit-autofill {\n ~ label {\n transform: var(--form-floating-label-transform);\n }\n }\n > textarea:focus,\n > textarea:not(:placeholder-shown) {\n ~ label::after {\n position: absolute;\n inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * .5);\n z-index: -1;\n height: var(--form-floating-label-height);\n content: \"\";\n background-color: var(--control-bg);\n @include border-radius(var(--btn-input-border-radius));\n }\n }\n > textarea:disabled ~ label::after {\n background-color: var(--control-disabled-bg);\n }\n\n > .form-control-plaintext {\n ~ label {\n border-width: var(--control-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: var(--form-floating-label-disabled-color);\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"form-variables\" as *;\n\n$input-group-addon-tokens: () !default;\n\n// scss-docs-start input-group-addon-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-addon-tokens: defaults(\n (\n --input-group-addon-padding-y: var(--btn-input-padding-y),\n --input-group-addon-padding-x: var(--btn-input-padding-x),\n --input-group-addon-font-size: var(--btn-input-font-size),\n --input-group-addon-line-height: var(--btn-input-line-height),\n --input-group-addon-color: var(--fg-body),\n --input-group-addon-bg: var(--bg-2),\n --input-group-addon-border-color: var(--border-color),\n ),\n $input-group-addon-tokens\n);\n// scss-docs-end input-group-addon-tokens\n\n// scss-docs-start input-group-sizes\n$input-group-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-sizes: defaults(\n (\"sm\", \"lg\"),\n $input-group-sizes\n);\n// scss-docs-end input-group-sizes\n\n@layer components {\n .input-group {\n @include tokens($input-group-addon-tokens);\n\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-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-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 > .input-group-btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 5;\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: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n font-size: var(--input-group-addon-font-size); // Match inputs\n // font-weight: $input-group-addon-font-weight;\n line-height: var(--input-group-addon-line-height);\n color: var(--input-group-addon-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--input-group-addon-bg);\n border: var(--border-width) solid var(--input-group-addon-border-color);\n @include border-radius(var(--btn-input-border-radius));\n }\n\n // Sizing\n //\n // Remix the default form control sizing classes into new ones for easier\n // manipulation.\n\n @each $size, $_ in $input-group-sizes {\n .input-group-#{$size} {\n > .form-control,\n > .input-group-text,\n > .btn {\n min-height: var(--btn-input-#{$size}-min-height);\n padding: var(--btn-input-#{$size}-padding-y) var(--btn-input-#{$size}-padding-x);\n font-size: var(--btn-input-#{$size}-font-size);\n @include border-radius(var(--btn-input-#{$size}-border-radius));\n }\n }\n }\n\n // Rounded corners\n //\n // These rulesets must come after the sizing ones to properly override sm and lg\n // border-radius values when extending. They're more specific than we'd like\n // with the `.input-group >` part, but without it, we cannot override the sizing.\n\n // stylelint-disable-next-line no-duplicate-selectors\n .input-group {\n\n $validation-messages: \"\";\n &:not(.has-validation) {\n > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n > .menu-toggle-split: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(.menu-toggle-split):not(.menu):not(.form-floating),\n > .menu-toggle-split:nth-last-child(n + 4),\n > .form-floating:nth-last-child(n + 3) > .form-control,\n > .form-floating:nth-last-child(n + 3) > .form-select {\n @include border-end-radius(0);\n }\n }\n\n > :not(:first-child):not(.menu)#{$validation-messages} {\n margin-inline-start: calc(-1 * var(--border-width));\n @include border-start-radius(0);\n }\n\n > .form-floating:not(:first-child) > .form-control,\n > .form-floating:not(:first-child) > .form-select {\n @include border-start-radius(0);\n }\n @each $state in map.keys($form-validation-states) {\n $validation-messages: $validation-messages + \":not(.\" + string.unquote($state) + \"-tooltip)\" + \":not(.\" + string.unquote($state) + \"-feedback)\";\n }\n }\n}\n","@use \"sass:list\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$strength-tokens: () !default;\n\n// scss-docs-start strength-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$strength-tokens: defaults(\n (\n --strength-height: .375rem,\n --strength-gap: .25rem,\n --strength-margin-top: .25rem,\n --strength-border-radius: var(--border-radius-pill),\n --strength-bg: var(--bg-2),\n --strength-color: var(--bg-2),\n --strength-weak-color: var(--danger-bg),\n --strength-fair-color: var(--warning-bg),\n --strength-good-color: var(--info-bg),\n --strength-strong-color: var(--success-bg),\n ),\n $strength-tokens\n);\n// scss-docs-end strength-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start strength-levels\n$strength-levels: weak, fair, good, strong !default;\n// scss-docs-end strength-levels\n\n$strength-transition: background-color .2s ease-in-out, width .3s ease-in-out !default;\n\n@layer forms {\n // Strength meter container\n .strength {\n @include tokens($strength-tokens);\n\n display: flex;\n gap: var(--strength-gap);\n width: 100%;\n margin-top: var(--strength-margin-top);\n }\n\n // Individual strength segments\n .strength-segment {\n flex: 1;\n height: var(--strength-height);\n background-color: var(--strength-bg);\n @include border-radius(var(--strength-border-radius));\n @include transition($strength-transition);\n\n // Filled state\n &.active {\n background-color: var(--strength-color);\n }\n }\n\n @each $level in $strength-levels {\n .strength[data-bs-strength=\"#{$level}\"] {\n --strength-color: var(--strength-#{$level}-color);\n }\n }\n // Optional text feedback\n .strength-text {\n display: block;\n margin-top: var(--strength-margin-top);\n font-size: var(--font-size-xs);\n color: var(--strength-color, var(--fg-3));\n @include transition(color .2s ease-in-out);\n\n // Hide when empty\n &:empty {\n display: none;\n }\n }\n\n // Alternative: Single bar variant (like a progress bar)\n .strength-bar {\n @include tokens($strength-tokens);\n\n --strength-color: transparent;\n --strength-width: 0%;\n\n width: 100%;\n height: var(--strength-height);\n margin-top: var(--strength-margin-top);\n overflow: hidden;\n background-color: var(--strength-bg);\n @include border-radius(var(--strength-border-radius));\n\n &::after {\n display: block;\n width: var(--strength-width);\n height: 100%;\n content: \"\";\n background-color: var(--strength-color);\n @include border-radius(var(--strength-border-radius));\n @include transition($strength-transition);\n }\n\n @each $level in $strength-levels {\n &[data-bs-strength=\"#{$level}\"] {\n --strength-color: var(--strength-#{$level}-color);\n --strength-width: #{list.index($strength-levels, $level) * 25%};\n }\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$otp-tokens: () !default;\n\n// scss-docs-start otp-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-tokens: defaults(\n (\n --otp-size: var(--btn-input-lg-min-height),\n --otp-font-size: var(--btn-input-font-size),\n --otp-gap: .5rem,\n ),\n $otp-tokens\n);\n// scss-docs-end otp-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start otp-sizes\n$otp-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-sizes: defaults(\n (\"sm\", \"lg\"),\n $otp-sizes\n);\n// scss-docs-end otp-sizes\n\n@layer components {\n .otp {\n @include tokens($otp-tokens);\n\n display: inline-flex;\n gap: var(--otp-gap);\n\n .form-control {\n width: var(--otp-size);\n min-height: var(--otp-size);\n padding: 0;\n font-size: var(--otp-font-size);\n font-weight: 500;\n line-height: 1;\n text-align: center;\n @include border-radius(var(--otp-border-radius, var(--btn-input-border-radius)));\n\n // Remove default number spinners\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n margin: 0;\n appearance: none;\n }\n\n &[type=\"number\"] {\n appearance: textfield;\n }\n\n &:focus,\n &:focus-visible {\n z-index: 1;\n }\n }\n\n &.is-valid .form-control,\n .was-validated &:valid .form-control {\n border-color: var(--form-valid-border-color);\n\n &:focus {\n --focus-ring-color: rgba(var(--success-rgb), .25);\n border-color: var(--form-valid-border-color);\n }\n }\n\n &.is-invalid .form-control,\n .was-validated &:invalid .form-control {\n border-color: var(--form-invalid-border-color);\n\n &:focus {\n --focus-ring-color: rgba(var(--danger-rgb), .25);\n border-color: var(--form-invalid-border-color);\n }\n }\n }\n\n // When used with .input-group, disable the gap and prevent inputs from stretching\n .otp.input-group {\n gap: 0;\n width: auto; // Override input-group's width: 100%\n\n .form-control {\n flex: 0 0 auto; // Don't grow or shrink, use fixed width\n }\n }\n\n .otp-separator {\n display: flex;\n align-items: center;\n padding-inline: var(--otp-gap);\n font-size: var(--otp-font-size);\n color: var(--fg-4);\n user-select: none;\n }\n\n @each $size, $_ in $otp-sizes {\n .otp-#{$size} {\n --otp-size: var(--btn-input-#{$size}-min-height);\n --otp-font-size: var(--btn-input-#{$size}-font-size);\n --otp-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-adorn-tokens: () !default;\n\n// scss-docs-start form-adorn-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-adorn-tokens: defaults(\n (\n --form-adorn-gap: .375rem,\n --form-adorn-icon-size: 1rem,\n --form-adorn-icon-color: var(--fg-2),\n ),\n $form-adorn-tokens\n);\n// scss-docs-end form-adorn-tokens\n\n@layer forms {\n .form-adorn {\n @include tokens($form-adorn-tokens);\n\n gap: var(--form-adorn-gap);\n align-items: center;\n\n // Prevent default `.form-control` focus\n &:focus-visible {\n outline: 0;\n }\n\n &:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n @include focus-ring(true);\n }\n\n // Ghost input fills remaining space\n > .form-ghost {\n flex: 1;\n min-width: 0; // Prevent text overflow\n }\n\n &.form-adorn-end > .form-ghost {\n order: -1;\n }\n }\n\n .form-adorn-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n\n > svg {\n width: var(--form-adorn-icon-size);\n height: var(--form-adorn-icon-size);\n }\n }\n\n .form-adorn-text {\n flex-shrink: 0;\n color: var(--form-adorn-icon-color);\n pointer-events: none;\n user-select: none;\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$chip-input-tokens: () !default;\n\n// scss-docs-start chip-input-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-input-tokens: defaults(\n (\n --chip-input-padding-y: .75rem,\n --chip-input-padding-x: .75rem,\n --chip-input-gap: .375rem,\n --chip-input-ghost-min-width: 5rem,\n --control-fg: var(--btn-input-fg),\n --control-bg: var(--btn-input-bg),\n --control-border-width: var(--border-width),\n --control-border-color: var(--border-color),\n --control-border-radius: var(--border-radius),\n ),\n $chip-input-tokens\n);\n// scss-docs-end chip-input-tokens\n\n@layer forms {\n .chip-input {\n @include tokens($chip-input-tokens);\n\n // Flexbox wrapping layout\n display: flex;\n flex-wrap: wrap;\n gap: var(--chip-input-gap);\n align-items: center;\n padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n\n color: var(--control-fg);\n background-color: var(--control-bg);\n border: var(--control-border-width) solid var(--control-border-color);\n @include border-radius(var(--control-border-radius), 0);\n\n // Focus state when ghost input is focused\n &:focus-within {\n --focus-ring-offset: -1px;\n border-color: var(--focus-ring-color);\n @include focus-ring(true);\n }\n\n // Ghost input fills remaining space\n > .form-ghost {\n flex: 1 1 0;\n min-width: var(--chip-input-ghost-min-width);\n min-height: 1.75rem;\n }\n\n // Disabled state\n &.disabled,\n &:has(.form-ghost:disabled) {\n background-color: var(--bg-2);\n opacity: 1;\n\n > .chip {\n opacity: var(--control-disabled-opacity);\n\n .chip-dismiss {\n pointer-events: none;\n }\n }\n\n > .form-ghost {\n cursor: not-allowed;\n }\n }\n }\n\n // Theme cascade: .chip-input.theme-* passes theme to child chips\n // Chips inherit theme variables from parent\n // @each $color-name, $theme-props in $theme-map {\n // .chip-input.theme-#{$color-name} > .chip {\n // // Subtle default state\n // --chip-color: var(--theme-text);\n // --chip-bg: var(--theme-bg-subtle);\n\n // // Selected/active solid state\n // --chip-selected-color: var(--theme-contrast);\n // --chip-selected-bg: var(--theme-bg);\n // --chip-selected-border-color: var(--theme-bg);\n // }\n // }\n\n // // Sizing variants\n // .chip-input-sm {\n // --control-min-height: #{$control-min-height-sm};\n // --control-padding-y: #{$control-padding-y-sm};\n // --control-padding-x: #{$control-padding-x-sm};\n // --control-font-size: #{$control-font-size-sm};\n // --control-line-height: #{$control-line-height-sm};\n // --control-border-radius: #{$control-border-radius-sm};\n // --chip-input-gap: .25rem;\n // --chip-input-chip-font-size: .8125em;\n // }\n\n // .chip-input-lg {\n // --control-min-height: #{$control-min-height-lg};\n // --control-padding-y: #{$control-padding-y-lg};\n // --control-padding-x: #{$control-padding-x-lg};\n // --control-font-size: #{$control-font-size-lg};\n // --control-line-height: #{$control-line-height-lg};\n // --control-border-radius: #{$control-border-radius-lg};\n // --chip-input-gap: .5rem;\n // --chip-input-chip-font-size: .9375em;\n // }\n}\n","@use \"../mixins/transition\" as *;\n\n@layer components {\n .combobox-toggle {\n display: inline-flex;\n gap: .5rem;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding-inline-end: var(--control-padding-x);\n text-align: start;\n cursor: pointer;\n\n &.show {\n background-color: var(--bg-1);\n }\n\n &:disabled,\n &.disabled {\n cursor: not-allowed;\n opacity: .65;\n }\n }\n\n .combobox-value {\n display: flex;\n flex: 1;\n gap: .5rem;\n align-items: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .combobox-placeholder {\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n\n .combobox-caret {\n flex-shrink: 0;\n @include transition(transform .2s ease-in-out);\n\n .show > & {\n transform: rotate(180deg);\n }\n }\n\n .combobox-toggle + .menu {\n --menu-max-height: 300px;\n --menu-overflow-y: auto;\n }\n\n .combobox-search {\n position: sticky;\n top: 0;\n z-index: 1;\n padding: var(--menu-padding-x, .25rem);\n background-color: var(--menu-bg, var(--bg-body));\n }\n\n .combobox-search-input {\n width: 100%;\n }\n\n .combobox-no-results {\n padding: 1rem;\n font-size: var(--font-size-sm);\n color: var(--fg-3);\n text-align: center;\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$tooltip-tokens: () !default;\n\n// scss-docs-start tooltip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$tooltip-tokens: defaults(\n (\n --tooltip-zindex: #{$zindex-tooltip},\n --tooltip-max-width: 200px,\n --tooltip-padding-x: #{$spacer * .75},\n --tooltip-padding-y: #{$spacer * .375},\n --tooltip-font-size: var(--font-size-sm),\n --tooltip-color: var(--bg-body),\n --tooltip-bg: var(--fg-body),\n --tooltip-border-radius: var(--border-radius),\n --tooltip-opacity: .95,\n --tooltip-arrow-width: .8rem,\n --tooltip-arrow-height: .4rem,\n ),\n $tooltip-tokens\n);\n// scss-docs-end tooltip-tokens\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: var(--tooltip-padding-y) !default;\n$form-feedback-tooltip-padding-x: var(--tooltip-padding-x) !default;\n$form-feedback-tooltip-font-size: var(--tooltip-font-size) !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: var(--tooltip-opacity) !default;\n$form-feedback-tooltip-border-radius: var(--tooltip-border-radius) !default;\n// scss-docs-end tooltip-feedback-variables\n\n@layer components {\n .tooltip {\n @include tokens($tooltip-tokens);\n\n z-index: var(--tooltip-zindex);\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: var(--tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: var(--tooltip-opacity); }\n\n .tooltip-arrow {\n display: block;\n width: var(--tooltip-arrow-width);\n height: var(--tooltip-arrow-height);\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n }\n\n .bs-tooltip-top .tooltip-arrow {\n bottom: calc(-1 * var(--tooltip-arrow-height));\n\n &::before {\n top: -1px;\n border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n border-block-start-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-end .tooltip-arrow {\n left: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n\n &::before {\n right: -1px;\n border-width: calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n border-inline-end-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-bottom .tooltip-arrow {\n top: calc(-1 * var(--tooltip-arrow-height));\n\n &::before {\n bottom: -1px;\n border-width: 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n border-block-end-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-start .tooltip-arrow {\n right: calc(-1 * var(--tooltip-arrow-height));\n width: var(--tooltip-arrow-height);\n height: var(--tooltip-arrow-width);\n\n &::before {\n left: -1px;\n border-width: calc(var(--tooltip-arrow-width) * .5) 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n border-inline-start-color: var(--tooltip-bg);\n }\n }\n\n .bs-tooltip-auto {\n &[data-bs-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[data-bs-placement^=\"right\"] {\n @extend .bs-tooltip-end;\n }\n &[data-bs-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[data-bs-placement^=\"left\"] {\n @extend .bs-tooltip-start;\n }\n }\n\n // Wrapper for the tooltip content\n .tooltip-inner {\n max-width: var(--tooltip-max-width);\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n color: var(--tooltip-color);\n text-align: center;\n background-color: var(--tooltip-bg);\n @include border-radius(var(--tooltip-border-radius));\n }\n}\n","@mixin reset-text {\n font-family: var(--body-font-family);\n // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n font-style: normal;\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\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 \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"form-variables\" as *;\n@use \"../tooltip\" as *; // bring in tooltip variables\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server-side validation.\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(sass(&): \"&\"; else: \"\")}:#{$state},\n #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state(\n $state,\n $color,\n $icon,\n $tooltip-color: color-contrast($color),\n $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n $focus-ring-color: null, // mdo-do: fix\n $border-color: $color\n) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n font-size: $form-feedback-font-size;\n font-style: $form-feedback-font-style;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n font-size: $form-feedback-tooltip-font-size;\n line-height: $form-feedback-tooltip-line-height;\n color: $tooltip-color;\n background-color: $tooltip-bg-color;\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $border-color;\n\n @if $enable-validation-icons {\n padding-inline-end: calc(var(--control-padding-x) * 3.5);\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right var(--control-padding-x) center;\n background-size: 1rem;\n }\n\n &:focus-visible {\n @include focus-ring(true, $color: $focus-ring-color);\n border-color: $border-color;\n }\n }\n\n &::-webkit-contacts-auto-fill-button {\n @if $enable-validation-icons {\n // margin-inline-end: calc(var(--control-padding-x) * 3);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n // padding-inline-end: $input-height-inner;\n background-position: right var(--control-padding-x) top var(--control-padding-x);\n // background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-control-color {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n // width: add($form-color-width, $input-height-inner);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $border-color;\n\n &:checked {\n background-color: $color;\n }\n\n &:focus {\n // box-shadow: $focus-box-shadow;\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-inline-start: .5em;\n }\n }\n\n .input-group {\n > .form-control:not(:focus),\n > .form-select:not(:focus),\n > .form-floating:not(:focus-within) {\n @include form-validation-state-selector($state) {\n @if $state == \"valid\" {\n z-index: 3;\n } @else if $state == \"invalid\" {\n z-index: 4;\n }\n }\n }\n }\n}\n// scss-docs-end form-validation-mixins\n\n@layer components {\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","// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: .5rem !default;\n$form-feedback-font-size: var(--font-size-xs) !default;\n$form-feedback-font-style: null !default;\n$form-feedback-valid-color: var(--success-text) !default;\n$form-feedback-invalid-color: var(--danger-text) !default;\n\n$form-feedback-icon-valid-color: #00a748 !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: #dd0d37 !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": var(--form-valid-color),\n \"icon\": $form-feedback-icon-valid,\n \"tooltip-color\": var(--success-contrast),\n \"tooltip-bg-color\": var(--success-bg),\n \"focus-ring-color\": var(--success-focus-ring),\n \"border-color\": var(--success-border),\n ),\n \"invalid\": (\n \"color\": var(--form-invalid-color),\n \"icon\": $form-feedback-icon-invalid,\n \"tooltip-color\": var(--danger-contrast),\n \"tooltip-bg-color\": var(--danger-bg),\n \"focus-ring-color\": var(--danger-focus-ring),\n \"border-color\": var(--danger-border),\n )\n) !default;\n// scss-docs-end form-validation-states\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n$button-tokens: () !default;\n\n// scss-docs-start btn-tokens\n$button-tokens: defaults(\n (\n --btn-min-height: var(--btn-input-min-height),\n --btn-padding-x: var(--btn-input-padding-x),\n --btn-padding-y: var(--btn-input-padding-y),\n --btn-font-size: var(--btn-input-font-size),\n --btn-font-weight: var(--btn-input-font-weight),\n --btn-line-height: var(--btn-input-line-height),\n --btn-color: var(--fg-body),\n --btn-white-space: nowrap,\n --btn-border-width: var(--border-width),\n --btn-border-color: transparent,\n --btn-border-radius: var(--border-radius),\n --btn-hover-border-color: transparent,\n --btn-disabled-opacity: .65,\n --btn-transition-timing: .15s ease-in-out,\n --btn-transition-property: \"color, background-color, border-color, box-shadow\",\n --btn-transition: var(--btn-transition-property) var(--btn-transition-timing),\n ),\n $button-tokens\n);\n// scss-docs-end btn-tokens\n\n$button-link-tokens: () !default;\n\n// scss-docs-start button-link-tokens\n$button-link-tokens: defaults(\n (\n --btn-font-weight: var(--font-weight-normal),\n --btn-color: var(--link-color),\n --btn-bg: transparent,\n --btn-border-color: transparent,\n --btn-hover-color: var(--link-hover-color),\n --btn-hover-bg: transparent,\n --btn-hover-border-color: transparent,\n --btn-active-color: var(--link-hover-color),\n --btn-active-bg: transparent,\n --btn-active-border-color: transparent,\n --btn-disabled-color: var(--fg-3),\n --btn-disabled-border-color: transparent,\n ),\n $button-link-tokens\n);\n// scss-docs-end button-link-tokens\n\n$button-styled-tokens: () !default;\n\n// scss-docs-start button-styled-tokens\n$button-styled-tokens: defaults(\n (\n --btn-gradient-start: rgb(255 255 255 / 12.5%),\n --btn-gradient-end: rgb(0 0 0 / 7.5%) ,\n --btn-border-mix-color: #000,\n --btn-border-mix-amount: 10%,\n --btn-border-hover-mix-amount: 12.5%,\n --btn-border-active-mix-amount: 20%,\n --btn-shadow: \"0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%)\",\n --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15) ,\n ),\n $button-styled-tokens\n);\n// scss-docs-end button-styled-tokens\n\n// scss-docs-start button-sizes\n$button-sizes: () !default;\n$button-sizes: defaults(\n (\"xs\", \"sm\", \"lg\"),\n $button-sizes\n);\n// scss-docs-end button-sizes\n\n$button-variants: () !default;\n\n// scss-docs-start btn-variants\n$button-variants: defaults(\n (\n \"solid\": (\n \"base\": (\n \"bg\": \"bg\",\n \"color\": \"contrast\",\n \"border-color\": \"bg\"\n ),\n \"hover\": (\n \"bg\": \"bg\",\n \"border-color\": \"bg\",\n \"color\": \"contrast\"\n ),\n \"active\": (\n \"bg\": \"bg\",\n \"border-color\": \"bg\",\n \"color\": \"contrast\"\n )\n ),\n \"outline\": (\n \"base\": (\n \"bg\": \"transparent\",\n \"color\": \"text\",\n \"border-color\": \"border\"\n ),\n \"hover\": (\n \"bg\": \"bg\",\n \"color\": \"contrast\",\n \"border-color\": \"bg\"\n ),\n \"active\": (\n \"bg\": \"bg\",\n \"color\": \"contrast\",\n \"border-color\": \"bg\"\n )\n ),\n \"subtle\": (\n \"base\": (\n \"bg\": \"bg-subtle\",\n \"color\": \"text\",\n \"border-color\": \"transparent\"\n ),\n \"hover\": (\n \"bg\": (\"bg-muted\", \"bg-subtle\"),\n \"color\": \"text-emphasis\"\n ),\n \"active\": (\n \"bg\": \"bg-subtle\",\n \"color\": \"text-emphasis\"\n )\n ),\n \"text\": (\n \"base\": (\n \"color\": \"text\",\n \"bg\": \"transparent\",\n \"border-color\": \"transparent\"\n ),\n \"hover\": (\n \"color\": \"text\",\n \"bg\": \"bg-subtle\"\n ),\n \"active\": (\n \"color\": \"text\",\n \"bg\": \"bg-subtle\"\n )\n )\n ),\n $button-variants\n);\n// scss-docs-end btn-variants\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n//\n// Base styles\n//\n\n// scss-docs-start btn-variant-selectors\n$btn-variant-selectors: (string.unquote(\".btn\"), string.unquote(\".btn-link\"), string.unquote(\".btn-icon\")) !default;\n@each $variant, $config in $button-variants {\n $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(\".btn-#{$variant}\"), comma);\n}\n// scss-docs-end btn-variant-selectors\n\n@layer components {\n #{$btn-variant-selectors} {\n @include tokens($button-tokens);\n\n display: inline-flex;\n gap: var(--btn-gap, .25rem);\n align-items: center;\n justify-content: center;\n min-height: var(--btn-min-height);\n padding: var(--btn-padding-y) var(--btn-padding-x);\n // font-family: var(--btn-font-family);\n font-size: var(--btn-font-size);\n font-weight: var(--btn-font-weight);\n line-height: var(--btn-line-height);\n color: var(--btn-color);\n text-decoration: none;\n white-space: var(--btn-white-space);\n vertical-align: middle;\n // stylelint-disable-next-line scss/at-function-named-arguments\n cursor: if(sass($enable-button-pointers): pointer; else: null);\n user-select: none;\n background-color: var(--btn-bg, var(--bg-2));\n border: var(--btn-border-width) solid var(--btn-border-color);\n @include border-radius(var(--btn-border-radius));\n @include transition(var(--btn-transition));\n\n &:hover {\n color: var(--btn-hover-color);\n background-color: var(--btn-hover-bg, var(--bg-3));\n border-color: var(--btn-hover-border-color);\n }\n\n &:focus-visible {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n\n &.active,\n &.show {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n border-color: var(--btn-active-border-color);\n\n &:focus-visible {\n @include focus-ring(true);\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n }\n }\n\n // Main button style generator mixin\n // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)\n // scss-docs-start btn-variant-mixin\n @each $variant, $config in $button-variants {\n .btn-#{$variant} {\n @each $property, $value in map.get($button-variants, $variant, \"base\") {\n @if $value == \"transparent\" {\n --btn-#{$property}: transparent;\n } @else {\n --btn-#{$property}: var(--theme-#{$value});\n }\n }\n\n @each $property, $value in map.get($button-variants, $variant, \"active\") {\n @if $value == \"transparent\" {\n --btn-active-#{$property}: transparent;\n } @else if $value == \"bg-subtle\" {\n --btn-active-#{$property}: var(--theme-#{$value});\n } @else {\n --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n }\n }\n @each $property, $value in map.get($button-variants, $variant, \"base\") {\n @if $value == \"transparent\" {\n --btn-disabled-#{$property}: transparent;\n } @else {\n --btn-disabled-#{$property}: var(--theme-#{$value});\n }\n }\n\n &:hover {\n @each $property, $value in map.get($button-variants, $variant, \"hover\") {\n @if $value == \"transparent\" {\n --btn-hover-#{$property}: transparent;\n } @else if meta.type-of($value) == \"list\" {\n $first-value: list.nth($value, 1);\n $second-value: list.nth($value, 2);\n --btn-hover-#{$property}: color-mix(in oklch, var(--theme-#{$first-value}) 50%, var(--theme-#{$second-value}));\n } @else if $value == \"bg-subtle\" {\n --btn-hover-#{$property}: var(--theme-#{$value});\n } @else {\n --btn-hover-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .95) calc(c * 1.1) h);\n }\n }\n }\n\n &:focus-visible {\n outline-color: var(--theme-focus-ring);\n }\n\n &:active,\n &.active,\n &.btn-check:has(input:checked) {\n @each $property, $value in map.get($button-variants, $variant, \"active\") {\n @if $value == \"transparent\" {\n --btn-active-#{$property}: transparent;\n } @else if $value == \"bg-subtle\" {\n --btn-active-#{$property}: var(--theme-#{$value});\n } @else {\n --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n }\n }\n }\n\n // Disabled state for toggle buttons\n &:disabled,\n &.disabled,\n &.btn-check:has(input:disabled) {\n @each $property, $value in map.get($button-variants, $variant, \"base\") {\n @if $value == \"transparent\" {\n --btn-disabled-#{$property}: transparent;\n } @else {\n --btn-disabled-#{$property}: var(--theme-#{$value});\n }\n }\n }\n }\n }\n // scss-docs-end btn-variant-mixin\n\n //\n // Link buttons\n //\n\n // Make a button look and behave like a link\n .btn-link {\n @include tokens($button-link-tokens);\n\n color: var(--theme-text, var(--btn-color));\n text-decoration: var(--link-decoration);\n\n @if $enable-gradients {\n background-image: none;\n }\n\n &:focus-visible {\n color: var(--theme-text, var(--btn-color));\n }\n\n &:hover {\n color: var(--theme-text-emphasis, var(--btn-hover-color));\n }\n\n // No need for an active state here\n }\n\n //\n // Button Sizes\n //\n\n // Generate button size classes from the $button-sizes map\n // Skip \"md\" as it's the default size for .btn\n\n // scss-docs-start btn-sizes-loop\n @each $size, $_ in $button-sizes {\n .btn-#{$size},\n .btn-group-#{$size} > [class*=\"btn-\"] {\n --btn-min-height: var(--btn-input-#{$size}-min-height);\n --btn-padding-y: var(--btn-input-#{$size}-padding-y);\n --btn-padding-x: var(--btn-input-#{$size}-padding-x);\n --btn-font-size: var(--btn-input-#{$size}-font-size);\n --btn-line-height: var(--btn-input-#{$size}-line-height);\n --btn-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n // scss-docs-end btn-sizes-loop\n\n .btn-icon {\n align-items: center;\n justify-content: center;\n aspect-ratio: 1;\n padding: 0;\n }\n\n //\n // Toggle buttons (.btn-check)\n //\n // Checkbox and radio inputs that look like buttons. Add .btn-check to a\n // label with button classes, with the input nested inside.\n //\n // Example: <label class=\"btn-check btn-solid theme-primary\"><input type=\"checkbox\">Toggle</label>\n\n .btn-check {\n > input {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n\n &:has(input:checked) {\n color: var(--btn-active-color);\n background-color: var(--btn-active-bg, var(--bg-3));\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n border-color: var(--btn-active-border-color);\n @include box-shadow(var(--btn-active-shadow));\n }\n\n &:has(input:focus-visible) {\n @include focus-ring(true);\n --focus-ring-offset: 1px;\n }\n\n &:has(input:disabled) {\n color: var(--btn-disabled-color);\n pointer-events: none;\n background-color: var(--btn-disabled-bg, var(--bg-1));\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n border-color: var(--btn-disabled-border-color);\n opacity: var(--btn-disabled-opacity);\n @include box-shadow(none);\n }\n }\n\n //\n // Styled buttons\n //\n // Add visual depth with gradients and shadows. Customize via CSS variables.\n\n .btn-styled {\n @include tokens($button-styled-tokens);\n\n background-image:\n linear-gradient(\n to bottom,\n var(--btn-gradient-start),\n var(--btn-gradient-end)\n );\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n box-shadow: var(--btn-shadow);\n\n &:hover {\n background-image:\n linear-gradient(\n to bottom,\n var(--btn-gradient-start),\n var(--btn-gradient-end)\n );\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n }\n\n &:active,\n &.active {\n background-image: none;\n border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n box-shadow: var(--btn-active-shadow);\n }\n\n &:disabled,\n &.disabled {\n background-image: none;\n box-shadow: none;\n }\n }\n}\n","@use \"../mixins/border-radius\" as *;\n\n@layer components {\n // Make the div behave like a button\n .btn-group,\n .btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > [class*=\"btn-\"] {\n position: relative;\n flex: 1 1 auto;\n\n &:hover {\n z-index: 1;\n }\n }\n\n > .btn-check:has(input:checked),\n > [class*=\"btn-\"]:active,\n > [class*=\"btn-\"].active {\n z-index: 2;\n }\n\n > .btn-check:has(input:focus),\n > [class*=\"btn-\"]:focus {\n z-index: 3;\n }\n }\n\n // Optional: Group multiple button groups together for a toolbar\n .btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n gap: .5rem;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n }\n\n .btn-group {\n @include border-radius(var(--btn-border-radius));\n\n // Prevent double borders when buttons are next to each other\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-inline-start: calc(-1 * var(--btn-border-width));\n }\n\n // Reset rounded corners\n > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n @include border-end-radius(0);\n }\n\n // The left radius should be 0 if the button is not the first child\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n @include border-start-radius(0);\n }\n }\n\n //\n // Vertical button groups\n //\n\n .btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > [class*=\"btn-\"],\n > .btn-group {\n width: 100%;\n }\n\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: calc(-1 * var(--btn-border-width));\n }\n\n // Reset rounded corners\n > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n @include border-bottom-radius(0);\n }\n\n // The top radius should be 0 if the button is not the first child\n > [class*=\"btn-\"]:not(:first-child),\n > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n @include border-top-radius(0);\n }\n }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$btn-close-tokens: () !default;\n\n// scss-docs-start btn-close-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$btn-close-tokens: defaults(\n (\n --btn-close-size: 1.25rem,\n --btn-close-color: var(--fg-body),\n --btn-close-opacity: .5,\n --btn-close-hover-opacity: .75,\n --btn-close-focus-opacity: .85,\n --btn-close-disabled-opacity: .25,\n ),\n $btn-close-tokens\n);\n// scss-docs-end btn-close-tokens\n\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 @include tokens($btn-close-tokens);\n\n box-sizing: content-box;\n width: var(--btn-close-size);\n height: var(--btn-close-size);\n padding: 0;\n color: var(--btn-close-color);\n background: transparent; // for button elements\n border: 0; // for button elements\n @include border-radius(var(--border-radius-sm));\n opacity: var(--btn-close-opacity);\n\n > svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: currentcolor;\n }\n\n // Override <a>'s hover style\n &:hover {\n color: var(--btn-close-color);\n text-decoration: none;\n opacity: var(--btn-close-hover-opacity);\n }\n\n &:focus-visible {\n opacity: var(--btn-close-focus-opacity);\n @include focus-ring();\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--btn-close-disabled-opacity);\n }\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$accordion-tokens: () !default;\n\n// scss-docs-start accordion-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$accordion-tokens: defaults(\n (\n --accordion-padding-x: 1.25rem,\n --accordion-padding-y: 1rem,\n --accordion-color: var(--fg-body),\n --accordion-bg: var(--bg-body),\n --accordion-transition-property: \"color, background-color, border-radius\",\n --accordion-transition-timing: \".15s ease-in-out\",\n --accordion-transition: var(--accordion-transition-property) var(--accordion-timing),\n --accordion-border-color: var(--border-color),\n --accordion-border-width: var(--border-width),\n --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg)),\n --accordion-btn-color: var(--fg-2),\n --accordion-btn-bg: var(--bg-body),\n --accordion-btn-icon-width: 1rem,\n --accordion-btn-icon-transform: rotate(-180deg),\n --accordion-btn-icon-transition: transform .2s ease-in-out,\n --accordion-active-color: var(--fg),\n --accordion-active-bg: var(--bg-2),\n ),\n $accordion-tokens\n);\n// scss-docs-end accordion-tokens\n\n@layer components {\n .accordion {\n @include tokens($accordion-tokens);\n }\n\n .accordion-header {\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n font-size: var(--accordion-font-size, var(--font-size-base));\n color: var(--accordion-btn-color);\n text-align: start;\n list-style: none; // Remove default marker\n cursor: pointer;\n background-color: var(--accordion-btn-bg);\n @include transition(var(--accordion-transition));\n\n .accordion-icon {\n flex-shrink: 0;\n width: var(--accordion-btn-icon-width);\n height: var(--accordion-btn-icon-width);\n margin-inline-start: auto;\n color: currentcolor;\n @include transition(var(--accordion-btn-icon-transition));\n }\n\n &:hover {\n z-index: 2;\n }\n\n &:focus-visible {\n position: relative;\n z-index: 3;\n @include focus-ring(true);\n outline-offset: -1px;\n }\n }\n\n .accordion-item {\n color: var(--accordion-color);\n background-color: var(--accordion-bg);\n border: var(--accordion-border-width) solid var(--accordion-border-color);\n\n &:first-of-type {\n @include border-top-radius(var(--accordion-border-radius));\n\n > .accordion-header {\n @include border-top-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n }\n }\n\n &:not(:first-of-type) {\n border-block-start: 0;\n }\n\n // Only set a border-radius on the last item if the accordion is collapsed\n &:last-of-type {\n @include border-bottom-radius(var(--accordion-border-radius));\n\n > .accordion-header {\n @include border-bottom-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n }\n\n > .accordion-body {\n @include border-bottom-radius(var(--accordion-border-radius));\n }\n }\n\n // Open state - details[open] applies these styles\n &[open] {\n border-color: var(--theme-border, var(--accordion-border-color));\n\n > .accordion-header {\n color: var(--theme-text, var(--accordion-active-color));\n background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n\n .accordion-icon {\n transform: var(--accordion-btn-icon-transform);\n }\n }\n\n // Remove bottom radius from header when open (even on last item)\n &:last-of-type > .accordion-header {\n @include border-bottom-radius(0);\n }\n }\n }\n\n .accordion-body {\n padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n }\n\n\n // Flush accordion items\n //\n // Remove borders and border-radius to keep accordion items edge-to-edge.\n\n .accordion-flush {\n > .accordion-item {\n border-inline: 0;\n @include border-radius(0);\n\n &:first-child {\n border-block-start: 0;\n }\n\n &:last-child {\n border-block-end: 0;\n }\n\n > .accordion-header,\n > .accordion-body {\n @include border-radius(0);\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$alert-tokens: () !default;\n\n// scss-docs-start alert-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$alert-tokens: defaults(\n (\n --alert-gap: #{$spacer * .75},\n --alert-bg: var(--theme-bg-subtle, var(--bg-1)),\n --alert-padding-x: #{$spacer},\n --alert-padding-y: #{$spacer},\n --alert-color: var(--theme-text, inherit),\n --alert-border-color: var(--theme-border, var(--border-color)),\n --alert-border: var(--border-width) solid var(--alert-border-color),\n --alert-border-radius: var(--border-radius),\n --alert-link-color: inherit,\n --hr-border-color: var(--theme-border, var(--border-color)),\n ),\n $alert-tokens\n);\n// scss-docs-end alert-tokens\n\n@layer components {\n .alert {\n @include tokens($alert-tokens);\n\n display: flex;\n gap: var(--alert-gap);\n align-items: start;\n padding: var(--alert-padding-y) var(--alert-padding-x);\n color: var(--alert-color);\n background-color: var(--alert-bg);\n border: var(--alert-border);\n @include border-radius(var(--alert-border-radius));\n }\n\n .alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: var(--font-weight-semibold);\n color: var(--alert-link-color);\n }\n}\n","@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$avatar-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start avatar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-tokens: defaults(\n (\n --avatar-size: 2.5rem,\n --avatar-border-radius: 50%,\n --avatar-border-width: 2px,\n --avatar-border-color: var(--bg-body),\n --avatar-bg: var(--bg-2),\n --avatar-color: var(--fg-body),\n // --avatar-font-weight: var(--font-weight-medium), // Defaults to fallback\n --avatar-status-size: .75rem,\n --avatar-status-border-width: 2px,\n --avatar-status-border-color: var(--bg-body),\n --avatar-stack-spacing: -.3,\n --avatar-stack-transition: \"transform .2s ease-in-out\",\n ),\n $avatar-tokens\n);\n// scss-docs-end avatar-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start avatar-sizes\n$avatar-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-sizes: defaults(\n (\n \"xs\": (\n size: 1.5rem,\n status-size: .625rem,\n ),\n \"sm\": (\n size: 2rem,\n ),\n \"lg\": (\n size: 3rem,\n status-size: 1rem,\n ),\n \"xl\": (\n size: 4rem,\n status-size: 1.25rem,\n ),\n ),\n $avatar-sizes\n);\n// scss-docs-end avatar-sizes\n\n@layer components {\n .avatar {\n @include tokens($avatar-tokens);\n\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--avatar-size);\n height: var(--avatar-size);\n font-size: calc(var(--avatar-size) * .4);\n font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n line-height: 1;\n color: var(--theme-contrast, var(--avatar-color));\n text-transform: uppercase;\n vertical-align: middle;\n background-color: var(--theme-bg, var(--avatar-bg));\n @include border-radius(var(--avatar-border-radius));\n }\n\n .avatar-subtle {\n color: var(--theme-text, var(--avatar-color));\n background-color: var(--theme-bg-subtle, var(--avatar-bg));\n }\n\n .avatar-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n @include border-radius(inherit);\n }\n\n .avatar-status {\n position: absolute;\n right: calc(var(--avatar-status-border-width) * -1);\n bottom: calc(var(--avatar-status-border-width) * -1);\n width: var(--avatar-status-size);\n height: var(--avatar-status-size);\n background-color: var(--gray-400);\n border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n @include border-radius(50%);\n\n &.status-online {\n background-color: var(--green-500);\n }\n\n &.status-offline {\n background-color: var(--gray-400);\n @include border-radius(20%);\n }\n\n &.status-busy {\n background-color: var(--red-500);\n @include border-radius(20%);\n }\n\n &.status-away {\n background-color: var(--yellow-500);\n }\n }\n\n .avatar-stack {\n display: inline-flex;\n flex-direction: row-reverse;\n\n .avatar {\n // Stack spacing is calculated as a percentage of avatar size\n margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n border: var(--avatar-border-width) solid var(--avatar-border-color);\n mask-image: none;\n @include transition(var(--avatar-stack-transition));\n\n &:last-child {\n margin-left: 0;\n }\n\n &:hover {\n z-index: 1;\n transform: translateY(-2px);\n }\n }\n }\n\n @each $size, $tokens in $avatar-sizes {\n .avatar-#{$size},\n .avatar-stack-#{$size} {\n --avatar-size: #{map.get($tokens, size)};\n\n @if map.has-key($tokens, status-size) {\n --avatar-status-size: #{map.get($tokens, status-size)};\n }\n }\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n\n$badge-tokens: () !default;\n\n// scss-docs-start badge-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$badge-tokens: defaults(\n (\n --badge-padding-x: .625em,\n --badge-padding-y: .25em,\n --badge-font-size: clamp(12px, .75em, .75em),\n --badge-font-weight: var(--font-weight-semibold),\n --badge-color: inherit,\n --badge-bg: var(--bg-2),\n --badge-border-width: var(--border-width),\n --badge-border-color: transparent,\n --badge-border-radius: var(--border-radius-lg),\n ),\n $badge-tokens\n);\n// scss-docs-end badge-tokens\n\n// scss-docs-start badge-variants\n$badge-variants: (\n \"subtle\": (\n \"color\": \"text\",\n \"bg\": \"bg-subtle\",\n \"border-color\": \"transparent\"\n ),\n \"outline\": (\n \"color\": \"text\",\n \"bg\": \"transparent\",\n \"border-color\": \"border\"\n )\n) !default;\n// scss-docs-end badge-variants\n\n@layer components {\n .badge {\n @include tokens($badge-tokens);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 1.375rem;\n padding: var(--badge-padding-y) var(--badge-padding-x);\n font-size: var(--badge-font-size);\n font-weight: var(--badge-font-weight);\n line-height: 1;\n color: var(--theme-contrast, var(--badge-color));\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n background-color: var(--theme-bg, var(--badge-bg));\n border: var(--badge-border-width) solid var(--badge-border-color);\n @include border-radius(var(--badge-border-radius));\n @include gradient-bg();\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n }\n\n // Quick fix for badges in buttons\n .btn .badge {\n position: relative;\n top: -1px;\n }\n\n // scss-docs-start badge-variant-loop\n @each $variant, $properties in $badge-variants {\n .badge-#{$variant} {\n @each $property, $value in $properties {\n @if $value == \"transparent\" {\n --badge-#{$property}: transparent;\n } @else {\n --badge-#{$property}: var(--theme-#{$value});\n }\n }\n\n color: var(--badge-color);\n background-color: var(--badge-bg);\n border-color: var(--badge-border-color);\n }\n }\n // scss-docs-end badge-variant-loop\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$breadcrumb-tokens: () !default;\n\n// scss-docs-start breadcrumb-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$breadcrumb-tokens: defaults(\n (\n --breadcrumb-margin-bottom: 1rem,\n --breadcrumb-font-size: inherit,\n --breadcrumb-bg: transparent,\n --breadcrumb-border-radius: var(--border-radius),\n --breadcrumb-divider-color: var(--fg-4),\n --breadcrumb-link-padding-x: .75rem,\n --breadcrumb-link-padding-y: .25rem,\n --breadcrumb-link-color: var(--fg-3),\n --breadcrumb-link-hover-color: var(--fg-2),\n --breadcrumb-link-hover-bg: var(--bg-1),\n --breadcrumb-link-active-color: var(--fg-1),\n --breadcrumb-link-border-radius: var(--border-radius-lg),\n ),\n $breadcrumb-tokens\n);\n// scss-docs-end breadcrumb-tokens\n\n@layer components {\n .breadcrumb {\n @include tokens($breadcrumb-tokens);\n\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n font-size: var(--breadcrumb-font-size);\n list-style: none;\n background-color: var(--breadcrumb-bg);\n @include border-radius(var(--breadcrumb-border-radius));\n }\n\n .breadcrumb-item {\n display: flex;\n }\n\n .breadcrumb-divider {\n margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n color: var(--breadcrumb-divider-color);\n }\n\n .breadcrumb-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 2.25rem;\n padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n color: var(--breadcrumb-link-color);\n text-decoration: none;\n @include border-radius(var(--breadcrumb-link-border-radius));\n @include transition(.1s text-decoration-color ease-in-out);\n\n &:hover {\n z-index: 2;\n color: var(--breadcrumb-link-hover-color);\n background-color: var(--breadcrumb-link-hover-bg);\n }\n\n &.active {\n color: var(--breadcrumb-link-active-color);\n }\n }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$chip-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start chip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-tokens: defaults(\n (\n --chip-height: 1.75rem,\n --chip-padding-x: .625rem,\n --chip-gap: .3125rem,\n --chip-border-radius: var(--border-radius-pill),\n --chip-img-size: 1.25rem,\n --chip-icon-size: 1rem,\n --chip-dismiss-size: 1rem,\n --chip-dismiss-opacity: .65,\n --chip-dismiss-hover-opacity: 1,\n --chip-color: var(--theme-text, var(--fg-body)),\n --chip-bg: var(--theme-bg-subtle, var(--bg-2)),\n --chip-border-color: transparent,\n --chip-selected-color: var(--theme-contrast, var(--primary-contrast)),\n --chip-selected-bg: var(--theme-bg, var(--primary-bg)),\n --chip-selected-border-color: var(--theme-bg, var(--primary-bg)),\n ),\n $chip-tokens\n);\n// scss-docs-end chip-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n .chip {\n @include tokens($chip-tokens);\n\n display: inline-flex;\n gap: var(--chip-gap);\n align-items: center;\n height: var(--chip-height);\n padding-inline: var(--chip-padding-x);\n font-size: var(--chip-font-size, var(--font-size-sm));\n font-weight: var(--chip-font-weight, var(--font-weight-base));\n line-height: var(--chip-line-height, 1.25rem);\n color: var(--chip-color);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n background-color: var(--chip-bg);\n border: var(--border-width) solid var(--chip-border-color);\n @include border-radius(var(--chip-border-radius));\n\n &:hover {\n --chip-bg: var(--theme-bg-muted, var(--bg-3));\n }\n\n &:focus-visible {\n outline: 0;\n // @include focus-ring();\n }\n\n &.active {\n --chip-color: var(--chip-selected-color);\n --chip-bg: var(--chip-selected-bg);\n --chip-border-color: var(--chip-selected-border-color);\n\n &:hover {\n --chip-bg: var(--chip-selected-bg);\n opacity: .9;\n }\n }\n\n &.disabled,\n &:disabled {\n pointer-events: none;\n opacity: .65;\n }\n }\n\n .chip-img {\n width: var(--chip-img-size);\n height: var(--chip-img-size);\n @include border-radius(50%);\n\n &:first-child {\n margin-inline-start: -.375rem;\n }\n }\n\n // Chip icon (left side)\n .chip-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n margin-inline-start: calc(var(--chip-gap) * -.25);\n\n > svg {\n display: block; // Prevents baseline alignment issues\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n }\n\n > img {\n width: var(--chip-icon-size);\n height: var(--chip-icon-size);\n object-fit: cover;\n @include border-radius(50%);\n }\n }\n\n // Dismiss button (right side)\n .chip-dismiss {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--chip-min-height);\n height: var(--chip-min-height);\n padding: 0;\n // margin-inline-start: calc(var(--chip-padding-x) * -.5);\n margin-inline-end: calc(var(--chip-padding-x) * -.25);\n color: inherit;\n cursor: pointer;\n background: transparent;\n border: 0;\n opacity: var(--chip-dismiss-opacity);\n // @include transition(opacity .15s ease-in-out);\n\n &:hover {\n opacity: var(--chip-dismiss-hover-opacity);\n }\n\n &:focus-visible {\n outline: 0;\n opacity: 1;\n @include focus-ring();\n }\n\n > svg {\n display: block; // Prevents baseline alignment issues\n width: var(--chip-dismiss-size);\n height: var(--chip-dismiss-size);\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n@use \"layout/breakpoints\" as *;\n\n$card-tokens: () !default;\n\n// scss-docs-start card-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$card-tokens: defaults(\n (\n --card-spacer-y: #{$spacer},\n --card-spacer-x: #{$spacer},\n --card-subtitle-color: inherit,\n --card-border-width: var(--border-width),\n --card-border-color: var(--border-color-translucent),\n --card-border-radius: var(--border-radius-lg),\n --card-box-shadow: none,\n --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n --card-cap-padding-y: #{$spacer * .75},\n --card-cap-padding-x: #{$spacer},\n --card-cap-bg: var(--bg-1),\n --card-cap-color: inherit,\n --card-height: auto,\n --card-color: inherit,\n --card-bg: var(--bg-body),\n --card-img-overlay-padding: #{$spacer},\n --card-group-margin: #{$grid-gutter-x * .5},\n --card-body-gap: #{$spacer * .5},\n ),\n $card-tokens\n);\n// scss-docs-end card-tokens\n\n@layer components {\n .card {\n @include tokens($card-tokens);\n\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: var(--card-height);\n color: var(--fg-body);\n word-wrap: break-word;\n background-color: var(--card-bg);\n // border: var(--card-border-width) solid var(--card-border-color);\n // @include border-radius(var(--card-border-radius));\n @include box-shadow(var(--card-box-shadow));\n\n > hr {\n margin-inline: 0;\n }\n }\n\n .card-body {\n display: flex;\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--card-body-gap);\n align-items: flex-start;\n padding: var(--card-spacer-y) var(--card-spacer-x);\n color: var(--card-color);\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n\n > * {\n margin-block: 0;\n }\n }\n\n .card-body,\n .card-list {\n border: solid var(--theme-bg, var(--card-border-color));\n border-width: 0 var(--card-border-width);\n\n &:first-child {\n @include border-top-radius(var(--card-border-radius));\n border-top-width: var(--card-border-width);\n }\n\n &:last-child {\n @include border-bottom-radius(var(--card-border-radius));\n border-bottom-width: var(--card-border-width);\n }\n\n &:not(:first-child):not(:last-child) {\n border-block-end-width: var(--card-border-width);\n }\n }\n\n .card-title,\n .card-subtitle,\n .card-text {\n align-self: stretch;\n }\n\n .card-subtitle {\n margin-top: calc(var(--card-body-gap) * -.5);\n }\n\n .card-header {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: var(--theme-contrast, var(--card-cap-color));\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n &:first-child {\n @include border-radius(var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0);\n }\n }\n\n .card-footer {\n padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n color: var(--card-cap-color);\n background-color: var(--theme-bg, var(--card-cap-bg));\n border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n &:last-child {\n @include border-radius(0 0 var(--card-inner-border-radius) var(--card-inner-border-radius));\n }\n }\n\n .card-translucent {\n background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n\n .card-header,\n .card-footer {\n background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n }\n }\n\n .card-subtle {\n border-color: var(--theme-border, var(--card-border-color));\n\n .card-header {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n\n .card-footer {\n color: var(--theme-text-emphasis, currentcolor);\n background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n border-color: var(--theme-border, var(--card-border-color));\n }\n\n .card-body,\n .card-list {\n border-color: var(--theme-border, var(--card-border-color));\n }\n }\n\n //\n // Header navs\n //\n\n // Combined selector because of specificity match with `.nav` base class\n .nav.card-header-tabs {\n margin-inline: calc(-.5 * var(--card-cap-padding-x));\n margin-bottom: calc(-1 * var(--card-cap-padding-y));\n border-block-end: 0;\n\n .nav-link.active {\n background-color: var(--card-bg);\n border-block-end-color: var(--card-bg);\n }\n }\n\n // Card image\n .card-img-overlay {\n position: absolute;\n inset: 0;\n padding: var(--card-img-overlay-padding);\n @include border-radius(var(--card-inner-border-radius));\n }\n\n .card-img,\n .card-img-top,\n .card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n outline: var(--card-border-width) solid var(--card-border-color);\n outline-offset: calc(var(--card-border-width) * -1);\n }\n\n .card-img,\n .card-img-top {\n @include border-top-radius(var(--card-inner-border-radius));\n }\n\n .card-img,\n .card-img-bottom {\n @include border-bottom-radius(var(--card-inner-border-radius));\n }\n\n .card-row {\n flex-direction: row;\n\n .card-body,\n .card-list {\n border-width: var(--card-border-width) 0;\n @include border-radius(0);\n\n &:first-child {\n @include border-start-radius(var(--card-inner-border-radius));\n border-inline-start-width: var(--card-border-width);\n }\n\n &:last-child {\n @include border-end-radius(var(--card-inner-border-radius));\n border-inline-end-width: var(--card-border-width);\n }\n\n &:not(:first-child):not(:last-child) {\n border-inline-end-width: var(--card-border-width);\n }\n }\n }\n\n .card-img-start {\n @include border-start-radius(var(--card-inner-border-radius));\n }\n\n .card-img-end {\n @include border-end-radius(var(--card-inner-border-radius));\n }\n\n //\n // Card groups\n //\n\n .card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: var(--card-group-margin);\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n flex: 1 0 0;\n margin-bottom: 0;\n\n + .card {\n margin-inline-start: 0;\n border-inline-start: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-end-radius(0);\n\n > .card-img-top,\n > .card-header {\n border-start-end-radius: 0;\n }\n > .card-img-bottom,\n > .card-footer {\n border-end-end-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-start-radius(0);\n\n > .card-img-top,\n > .card-header {\n border-start-start-radius: 0;\n }\n > .card-img-bottom,\n > .card-footer {\n border-end-start-radius: 0;\n }\n }\n }\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"mixins/tokens\" as *;\n\n$carousel-tokens: () !default;\n\n// scss-docs-start carousel-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-tokens: defaults(\n (\n --carousel-control-color: #{$white},\n --carousel-control-width: 15%,\n --carousel-control-opacity: .5,\n --carousel-control-hover-opacity: .9,\n --carousel-control-transition: opacity .15s ease,\n --carousel-control-icon-filter: none,\n --carousel-indicator-width: 30px,\n --carousel-indicator-height: 3px,\n --carousel-indicator-hit-area-height: 10px,\n --carousel-indicator-spacer: 3px,\n --carousel-indicator-opacity: .5,\n --carousel-indicator-active-bg: var(--white),\n --carousel-indicator-active-opacity: 1,\n --carousel-indicator-transition: opacity .6s ease,\n --carousel-caption-width: 70%,\n --carousel-caption-color: var(--white),\n --carousel-caption-padding-y: 1.25rem,\n --carousel-caption-spacer: 1.25rem,\n --carousel-control-icon-width: 2rem,\n --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"),\n --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"),\n --carousel-transition-duration: .6s,\n --carousel-transition: transform .6s ease-in-out,\n ),\n $carousel-tokens\n);\n// scss-docs-end carousel-tokens\n\n$carousel-dark-tokens: () !default;\n\n// scss-docs-start carousel-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-dark-tokens: defaults(\n (\n --carousel-indicator-active-bg: #{$black},\n --carousel-caption-color: #{$black},\n --carousel-control-icon-filter: invert(1) grayscale(100),\n ),\n $carousel-dark-tokens\n);\n// scss-docs-end carousel-dark-tokens\n\n// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n// is the upcoming slide in transition.\n\n@layer components {\n .carousel {\n position: relative;\n @include tokens($carousel-tokens);\n }\n\n .carousel.pointer-event {\n touch-action: pan-y;\n }\n\n .carousel-inner {\n position: relative;\n display: flow-root;\n width: 100%;\n overflow: hidden;\n }\n\n .carousel-item {\n position: relative;\n display: none;\n float: inline-start;\n width: 100%;\n margin-inline-end: -100%;\n backface-visibility: hidden;\n @include transition(var(--carousel-transition));\n }\n\n .carousel-item.active,\n .carousel-item-next,\n .carousel-item-prev {\n display: block;\n }\n\n .carousel-item-next:not(.carousel-item-start),\n .active.carousel-item-end {\n transform: translateX(100%);\n }\n\n .carousel-item-prev:not(.carousel-item-end),\n .active.carousel-item-start {\n transform: translateX(-100%);\n }\n\n //\n // Alternate transitions\n //\n\n .carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-start,\n .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-start,\n .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s var(--carousel-transition-duration));\n }\n }\n\n //\n // Left/right controls for nav\n //\n\n .carousel-control-prev,\n .carousel-control-next {\n position: absolute;\n inset-block: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: var(--carousel-control-width);\n padding: 0;\n color: var(--carousel-control-color);\n text-align: center;\n background: none;\n filter: var(--carousel-control-icon-filter);\n border: 0;\n opacity: var(--carousel-control-opacity);\n @include transition(var(--carousel-control-transition));\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: var(--carousel-control-color);\n text-decoration: none;\n outline: 0;\n opacity: var(--carousel-control-hover-opacity);\n }\n }\n .carousel-control-prev {\n inset-inline-start: 0;\n // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n background-image: if(sass($enable-gradients): linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); else: null);\n }\n .carousel-control-next {\n inset-inline-end: 0;\n // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n background-image: if(sass($enable-gradients): linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); else: null);\n }\n\n // Icons for within\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n display: inline-block;\n width: var(--carousel-control-icon-width);\n height: var(--carousel-control-icon-width);\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n }\n\n .carousel-control-prev-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n\n [dir=\"rtl\"] .carousel-control-prev-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n\n .carousel-control-next-icon {\n background-image: var(--carousel-control-next-icon-bg);\n }\n\n [dir=\"rtl\"] .carousel-control-next-icon {\n background-image: var(--carousel-control-prev-icon-bg);\n }\n\n // Optional indicator pips/controls\n //\n // Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n // like a button) with data-bs-target for each slide your carousel holds.\n\n .carousel-indicators {\n position: absolute;\n inset: auto 0 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-inline: var(--carousel-control-width);\n margin-bottom: 1rem;\n\n [data-bs-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: var(--carousel-indicator-width);\n height: var(--carousel-indicator-height);\n padding: 0;\n margin-inline: var(--carousel-indicator-spacer);\n text-indent: -999px;\n cursor: pointer;\n background-color: var(--carousel-indicator-active-bg);\n background-clip: padding-box;\n border: 0;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n opacity: var(--carousel-indicator-opacity);\n @include transition(var(--carousel-indicator-transition));\n }\n\n .active {\n opacity: var(--carousel-indicator-active-opacity);\n }\n }\n\n // Optional captions\n //\n //\n\n .carousel-caption {\n position: absolute;\n right: calc((100% - var(--carousel-caption-width)) * .5);\n bottom: var(--carousel-caption-spacer);\n left: calc((100% - var(--carousel-caption-width)) * .5);\n padding-top: var(--carousel-caption-padding-y);\n padding-bottom: var(--carousel-caption-padding-y);\n color: var(--carousel-caption-color);\n text-align: center;\n }\n\n // Dark mode carousel\n\n @mixin carousel-dark() {\n @include tokens($carousel-dark-tokens);\n }\n\n .carousel-dark {\n @include carousel-dark();\n }\n\n @if $enable-dark-mode {\n @include color-mode(dark, true) {\n @include carousel-dark();\n }\n }\n}\n","@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","// stylelint-disable selector-max-attribute, property-disallowed-list, selector-no-qualifying-type -- VCP uses extensive data attributes and requires direct border-radius properties for range selection\n\n@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$datepicker-tokens: () !default;\n\n// scss-docs-start datepicker-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$datepicker-tokens: defaults(\n (\n --datepicker-padding: 1rem,\n --datepicker-bg: var(--bg-body),\n --datepicker-color: var(--fg-body),\n --datepicker-border-color: var(--border-color-translucent),\n --datepicker-border-width: var(--border-width),\n --datepicker-border-radius: var(--border-radius-lg),\n --datepicker-box-shadow: var(--box-shadow),\n --datepicker-font-size: var(--font-size-sm),\n --datepicker-min-width: 280px,\n --datepicker-zindex: #{$zindex-menu},\n --datepicker-header-font-weight: 600,\n --datepicker-weekday-color: var(--fg-3),\n --datepicker-day-hover-bg: var(--bg-1),\n --datepicker-day-selected-bg: var(--primary-bg),\n --datepicker-day-selected-color: var(--primary-contrast),\n --datepicker-day-today-bg: var(--bg-2),\n --datepicker-day-today-color: var(--fg-1),\n --datepicker-day-disabled-color: var(--fg-4),\n ),\n $datepicker-tokens\n);\n// scss-docs-end datepicker-tokens\n\n@layer components {\n [data-vc=\"calendar\"] {\n @include tokens($datepicker-tokens);\n\n position: absolute;\n z-index: var(--datepicker-zindex);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n min-width: var(--datepicker-min-width);\n padding: var(--datepicker-padding);\n font-family: var(--font-sans-serif);\n font-size: var(--datepicker-font-size);\n color: var(--datepicker-color);\n color-scheme: light dark;\n background-color: var(--datepicker-bg);\n border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n @include border-radius(var(--datepicker-border-radius));\n box-shadow: var(--datepicker-box-shadow);\n opacity: 1;\n\n // Respond to Bootstrap's color mode system\n &[data-bs-theme=\"light\"] {\n color-scheme: light;\n }\n\n &[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n }\n\n // Catch-all for focus styles\n button:focus-visible {\n position: relative;\n z-index: 1;\n @include focus-ring();\n }\n }\n\n [data-vc-calendar-hidden] {\n pointer-events: none;\n opacity: 0;\n }\n\n // Inline calendars\n //\n // Remove popover styling for more neutral styling\n [data-vc=\"calendar\"]:not([data-vc-input]) {\n position: relative;\n width: fit-content;\n padding: 0;\n border: 0;\n box-shadow: none;\n }\n\n [data-vc-position=\"bottom\"] {\n margin-block-start: .25rem;\n }\n\n [data-vc-position=\"top\"] {\n margin-block-end: -.25rem;\n }\n\n [data-vc-arrow] {\n position: relative;\n display: block;\n width: 2rem;\n height: 2rem;\n color: var(--datepicker-color);\n pointer-events: auto;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n @include border-radius(var(--border-radius));\n\n &::before {\n position: absolute;\n inset: .25rem;\n content: \"\";\n background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n background-repeat: no-repeat;\n background-position: center;\n }\n\n &:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n }\n\n [data-vc-arrow=\"prev\"]::before {\n transform: rotate(90deg);\n }\n\n [data-vc-arrow=\"next\"]::before {\n transform: rotate(-90deg);\n }\n\n // Grid layout\n [data-vc=\"controls\"] {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 20;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 1rem;\n padding-right: 1rem;\n padding-left: 1rem;\n pointer-events: none;\n }\n\n [data-vc=\"grid\"] {\n display: flex;\n flex-grow: 1;\n flex-wrap: wrap;\n gap: 1.75rem;\n }\n\n [data-vc=\"column\"] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n min-width: 240px;\n }\n\n //\n // Header\n //\n\n [data-vc=\"header\"] {\n position: relative;\n display: flex;\n align-items: center;\n margin-bottom: .75rem;\n }\n\n // Month and year\n [data-vc-header=\"content\"] {\n display: inline-flex;\n flex-grow: 1;\n align-items: center;\n justify-content: center;\n white-space: pre-wrap;\n }\n\n [data-vc=\"month\"],\n [data-vc=\"year\"] {\n padding: .25rem .5rem;\n margin-inline: -.125rem;\n font-size: 1rem;\n font-weight: var(--datepicker-header-font-weight);\n color: var(--datepicker-color);\n // cursor: pointer;\n background-color: transparent;\n border: 0;\n @include border-radius(var(--border-radius));\n\n &:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n }\n\n [data-vc=\"content\"] {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n }\n\n // Month/Year grids\n [data-vc=\"months\"],\n [data-vc=\"years\"] {\n display: grid;\n flex-grow: 1;\n grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n row-gap: 1rem;\n column-gap: .25rem;\n align-items: center;\n }\n\n [data-vc=\"years\"] {\n --vc-columns: 5;\n }\n\n [data-vc-months-month],\n [data-vc-years-year] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 2.5rem;\n padding: .25rem;\n font-size: .75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n text-align: center;\n word-break: break-all;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n @include border-radius(var(--border-radius));\n\n &:disabled {\n color: var(--datepicker-day-disabled-color);\n pointer-events: none;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--datepicker-day-hover-bg);\n }\n\n &[data-vc-months-month-selected],\n &[data-vc-years-year-selected] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n\n &:hover {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n }\n }\n }\n\n // Week days header\n [data-vc=\"week\"] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n justify-items: center;\n margin-bottom: .5rem;\n }\n\n [data-vc-week-day] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n padding: 0;\n margin: 0;\n font-size: .75rem;\n font-weight: 600;\n line-height: 1rem;\n color: var(--datepicker-weekday-color);\n background-color: transparent;\n border: 0;\n }\n\n button[data-vc-week-day] {\n cursor: pointer;\n }\n\n // Dates grid\n [data-vc=\"dates\"] {\n pointer-events: none;\n }\n\n [data-vc-dates=\"row\"] {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n align-items: center;\n justify-items: center;\n width: 100%;\n }\n\n [data-vc-date] {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding-top: .125rem;\n padding-bottom: .125rem;\n pointer-events: auto;\n\n &:not(:has([data-vc-date-btn])),\n &[data-vc-date-disabled],\n &[data-vc-date-disabled] [data-vc-date-btn] {\n pointer-events: none;\n }\n }\n\n // Date button\n [data-vc-date-btn] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 1.875rem;\n height: 100%;\n min-height: 1.875rem;\n padding: 0;\n font-size: .75rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--datepicker-color);\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n\n &:hover {\n background-color: var(--datepicker-day-hover-bg);\n }\n }\n\n // Today\n [data-vc-date-today] [data-vc-date-btn] {\n font-weight: 600;\n color: var(--datepicker-day-today-color);\n background-color: var(--datepicker-day-today-bg);\n }\n\n // Outside month\n [data-vc-date-month=\"next\"] [data-vc-date-btn],\n [data-vc-date-month=\"prev\"] [data-vc-date-btn] {\n opacity: .5;\n }\n\n // Disabled\n [data-vc-date-disabled] [data-vc-date-btn] {\n color: var(--datepicker-day-disabled-color);\n }\n\n // Range selection styles\n [data-vc-date-hover] [data-vc-date-btn] {\n background-color: var(--datepicker-day-hover-bg);\n border-radius: 0;\n }\n\n [data-vc-date-hover=\"first\"] [data-vc-date-btn] {\n border-start-start-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n }\n\n [data-vc-date-hover=\"last\"] [data-vc-date-btn] {\n border-start-end-radius: var(--border-radius);\n border-end-end-radius: var(--border-radius);\n }\n\n [data-vc-date-hover=\"first-and-last\"] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n\n [data-vc-date-selected=\"middle\"] [data-vc-date-btn] {\n border-radius: 0;\n opacity: .8;\n }\n\n // Selected\n [data-vc-date-selected] [data-vc-date-btn] {\n color: var(--datepicker-day-selected-color);\n background-color: var(--datepicker-day-selected-bg);\n\n }\n\n [data-vc-date-selected=\"first\"] [data-vc-date-btn] {\n border-top-left-radius: var(--border-radius);\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: var(--border-radius);\n }\n\n [data-vc-date-selected=\"last\"] [data-vc-date-btn] {\n border-top-left-radius: 0;\n border-top-right-radius: var(--border-radius);\n border-bottom-right-radius: var(--border-radius);\n border-bottom-left-radius: 0;\n }\n\n [data-vc-date-selected=\"first-and-last\"] [data-vc-date-btn] {\n border-radius: var(--border-radius);\n }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// Native <dialog> component\n// Uses the browser's native dialog element with showModal()/show()/close() APIs\n// Leverages native [open] attribute and ::backdrop pseudo-element\n\n// stylelint-disable custom-property-no-missing-var-function\n$dialog-tokens: () !default;\n\n// scss-docs-start dialog-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-tokens: defaults(\n (\n --dialog-padding: 1rem,\n --dialog-width: 500px,\n --dialog-margin: 1.75rem,\n --dialog-color: var(--fg-body),\n --dialog-bg: var(--bg-body),\n --dialog-border-color: var(--border-color-translucent),\n --dialog-border-width: var(--border-width),\n --dialog-border-radius: var(--border-radius-lg),\n --dialog-box-shadow: var(--box-shadow-lg),\n --dialog-backdrop-bg: rgb(0 0 0 / 50%),\n --dialog-backdrop-blur: 8px,\n --dialog-header-padding: 1rem,\n --dialog-header-border-color: var(--border-color),\n --dialog-header-border-width: var(--border-width),\n --dialog-footer-padding: 1rem,\n --dialog-footer-border-color: var(--border-color),\n --dialog-footer-border-width: var(--border-width),\n --dialog-footer-gap: .5rem,\n ),\n $dialog-tokens\n);\n// scss-docs-end dialog-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start dialog-sizes\n$dialog-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-sizes: defaults(\n (\n sm: 280px,\n lg: 800px,\n xl: 1140px,\n ),\n $dialog-sizes\n);\n// scss-docs-end dialog-sizes\n\n@layer components {\n // Prevent body scroll when dialog is open\n .dialog-open {\n overflow: hidden;\n scrollbar-gutter: stable;\n }\n\n .dialog {\n @include tokens($dialog-tokens);\n\n // Reset native dialog styles\n max-width: var(--dialog-width);\n max-height: calc(100% - var(--dialog-margin) * 2);\n padding: 0;\n margin: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n @include border-radius(var(--dialog-border-radius));\n @include box-shadow(var(--dialog-box-shadow));\n\n // Native backdrop styling via ::backdrop pseudo-element\n &::backdrop {\n background-color: var(--dialog-backdrop-bg);\n backdrop-filter: blur(var(--dialog-backdrop-blur));\n }\n\n // Animation support using native [open] attribute\n &.fade {\n opacity: 0;\n @include transition(opacity .15s linear);\n\n &::backdrop {\n opacity: 0;\n @include transition(opacity .15s linear);\n }\n\n &[open] {\n opacity: 1;\n\n &::backdrop {\n opacity: 1;\n }\n }\n }\n\n // Static backdrop \"bounce\" animation (modal dialogs only)\n &.dialog-static {\n transform: scale(1.02);\n }\n\n // Non-modal dialog positioning\n // show() doesn't use the top layer, so we need explicit positioning and z-index\n &.dialog-nonmodal {\n position: fixed;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n z-index: $zindex-dialog;\n margin-inline: 0;\n transform: translate(-50%, -50%);\n }\n\n // Overflow dialog - scrollable viewport container with dialog box inside\n &.dialog-overflow {\n // Make dialog element the full-viewport scrollable container\n position: fixed;\n inset: 0;\n width: 100%;\n max-width: 100%;\n height: 100%;\n max-height: 100%;\n padding: var(--dialog-margin);\n margin: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n background: transparent;\n border: 0;\n box-shadow: none;\n\n // The visual dialog box is a child wrapper\n > .dialog-box {\n max-width: var(--dialog-width);\n margin-block-end: var(--dialog-margin);\n margin-inline: auto;\n color: var(--dialog-color);\n background-color: var(--dialog-bg);\n background-clip: padding-box;\n border: var(--dialog-border-width) solid var(--dialog-border-color);\n @include border-radius(var(--dialog-border-radius));\n @include box-shadow(var(--dialog-box-shadow));\n }\n }\n\n // Scrollable dialog body (header/footer stay fixed)\n &.dialog-scrollable[open] {\n display: flex;\n flex-direction: column;\n max-height: calc(100% - var(--dialog-margin) * 2);\n\n .dialog-body {\n overflow-y: auto;\n }\n }\n }\n\n // Dialog sizes\n @each $size, $value in $dialog-sizes {\n .dialog-#{$size} { --dialog-width: #{$value}; }\n }\n\n // Fullscreen dialog\n .dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n\n // Responsive fullscreen dialogs\n @each $breakpoint in map.keys($breakpoints) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n @if $prefix != \"\" {\n @include media-breakpoint-down($breakpoint) {\n .#{css-escape-ident($breakpoint)}-down\\:dialog-fullscreen {\n --dialog-width: 100vw;\n --dialog-margin: 0;\n --dialog-border-radius: 0;\n\n width: 100%;\n max-width: none;\n height: 100%;\n max-height: none;\n }\n }\n }\n }\n\n // Dialog header\n .dialog-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding: var(--dialog-header-padding);\n border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n\n .btn-close {\n margin-inline-start: auto;\n }\n }\n\n // Dialog title\n .dialog-title {\n margin-bottom: 0;\n font-size: var(--font-size-md);\n line-height: 1.5;\n }\n\n // Dialog body\n .dialog-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--dialog-padding);\n overflow-y: auto;\n }\n\n // Dialog footer\n .dialog-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: var(--dialog-footer-gap);\n align-items: center;\n justify-content: flex-end;\n padding: var(--dialog-footer-padding);\n border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable scss/dollar-variable-default, custom-property-no-missing-var-function\n$menu-tokens: () !default;\n\n// scss-docs-start menu-tokens\n$menu-tokens: defaults(\n (\n --menu-zindex: #{$zindex-menu},\n --menu-gap: .125rem,\n --menu-min-width: 10rem,\n --menu-padding-x: .25rem,\n --menu-padding-y: .25rem,\n --menu-spacer: .125rem,\n --menu-font-size: var(--font-size-sm),\n --menu-color: var(--fg-body),\n --menu-bg: var(--bg-body),\n // --menu-border-color: var(--border-color-translucent),\n // --menu-border-radius: var(--border-radius-lg),\n // --menu-border-width: var(--border-width),\n --menu-box-shadow: var(--box-shadow),\n // --menu-max-height: none,\n --menu-divider-bg: var(--border-color-translucent),\n --menu-divider-margin-y: .125rem,\n --menu-divider-margin-x: .25rem,\n --menu-item-color: var(--menu-color, var(--fg-body)),\n --menu-item-hover-color: var(--menu-color, var(--fg-body)),\n --menu-item-hover-bg: var(--bg-1),\n --menu-item-active-color: var(--primary-contrast),\n --menu-item-active-bg: var(--primary-bg),\n --menu-item-disabled-color: var(--fg-3),\n --menu-item-gap: .5rem,\n --menu-item-padding-x: .75rem,\n --menu-item-padding-y: .25rem,\n --menu-item-border-radius: var(--border-radius),\n --menu-icon-size: 1rem,\n --menu-image-size: 1.5rem,\n --menu-description-font-size: var(--font-size-xs),\n --menu-check-color: currentcolor,\n --menu-header-color: var(--fg-3),\n --menu-header-padding-x: .75rem,\n --menu-header-padding-y: .25rem,\n ),\n $menu-tokens\n);\n// scss-docs-end menu-tokens\n\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n@layer components {\n .menu {\n @include tokens($menu-tokens);\n\n position: absolute;\n z-index: var(--menu-zindex);\n display: none;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: var(--menu-min-width);\n max-height: var(--menu-max-height, none);\n padding: var(--menu-padding-y) var(--menu-padding-x);\n margin: 0;\n overflow-y: var(--menu-overflow-y, initial);\n overscroll-behavior: contain;\n font-size: var(--menu-font-size);\n color: var(--menu-color);\n text-align: start;\n list-style: none;\n background-color: var(--menu-bg);\n background-clip: padding-box;\n border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n @include border-radius(var(--menu-border-radius, var(--border-radius-lg)));\n @include box-shadow(var(--menu-box-shadow));\n\n &.show {\n display: flex;\n }\n }\n\n .menu-scrollable {\n --menu-max-height: 80dvh;\n --menu-overflow-y: auto;\n }\n\n .menu-translucent {\n --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n\n --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n\n --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n\n background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n\n .menu-divider {\n height: 0;\n margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n overflow: hidden;\n border-block-start: 1px solid var(--menu-divider-bg);\n opacity: 1;\n }\n\n .menu-item {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n width: 100%;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n color: var(--theme-text, var(--menu-item-color));\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n outline: 0;\n @include border-radius(var(--menu-item-border-radius, 0));\n\n &:hover,\n &:focus {\n color: var(--theme-text, var(--menu-item-hover-color));\n @include gradient-bg(var(--theme-bg-subtle, var(--menu-item-hover-bg)));\n }\n\n &.active,\n &:active {\n color: var(--theme-contrast, var(--menu-item-active-color));\n @include gradient-bg(var(--theme-bg, var(--menu-item-active-bg)));\n\n .menu-item-icon {\n color: inherit !important; // stylelint-disable-line declaration-no-important\n }\n }\n\n &.selected {\n font-weight: $font-weight-semibold;\n }\n\n &.disabled,\n &:disabled {\n color: var(--menu-item-disabled-color);\n pointer-events: none;\n background-color: transparent;\n // stylelint-disable-next-line scss/at-function-named-arguments\n background-image: if(sass($enable-gradients): none; else: null);\n }\n }\n\n .menu-item-icon {\n flex-shrink: 0;\n align-self: flex-start;\n width: var(--menu-icon-size);\n height: auto;\n margin-top: .125rem;\n }\n\n .menu-image {\n width: var(--menu-image-size);\n height: var(--menu-image-size);\n object-fit: cover;\n @include border-radius(var(--border-radius-sm));\n }\n\n .menu-item-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-width: fit-content;\n }\n\n .menu-item-description {\n font-size: var(--menu-description-font-size);\n font-weight: var(--font-weight-normal);\n color: color-mix(in oklch, currentcolor 65%, transparent);\n }\n\n .menu-item-check {\n flex-shrink: 0;\n align-self: flex-start;\n margin-block-start: .125rem;\n margin-inline-start: auto;\n color: var(--menu-check-color);\n visibility: hidden;\n\n .selected > & {\n visibility: visible;\n }\n }\n\n .menu-header {\n display: block;\n padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n margin-bottom: 0;\n font-size: var(--font-size-sm);\n color: var(--menu-header-color);\n white-space: nowrap;\n }\n\n .menu-text {\n display: block;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n color: var(--fg-2);\n }\n\n // scss-docs-start submenu\n .submenu {\n position: relative;\n\n > .menu-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n > .menu-item::after {\n display: inline-block;\n flex-shrink: 0;\n width: .375em;\n height: .375em;\n margin-inline-start: auto;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: 0 .125em .125em 0;\n transform: rotate(-45deg);\n\n [dir=\"rtl\"] & {\n transform: rotate(135deg);\n }\n }\n\n > .menu {\n top: 0;\n margin-top: calc(-1 * var(--menu-padding-y));\n }\n\n &:hover > .menu-item,\n &:focus-within > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n\n &.show > .menu-item {\n color: var(--menu-item-hover-color);\n background-color: var(--menu-item-hover-bg);\n }\n }\n\n // Mobile stacking: submenu covers the parent menu in-place\n @media (max-width: 575.98px) {\n .submenu:has(.submenu-stacked) {\n position: static;\n }\n\n .submenu-stacked {\n position: absolute;\n inset: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n gap: var(--menu-gap);\n min-width: 0;\n padding: var(--menu-padding-y) var(--menu-padding-x);\n background-color: var(--menu-bg);\n border: 0;\n @include border-radius(0);\n box-shadow: none;\n }\n\n .submenu-back {\n display: flex;\n gap: var(--menu-item-gap);\n align-items: center;\n padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n font-weight: var(--font-weight-semibold, 600);\n color: var(--menu-item-color);\n\n &::before {\n display: inline-block;\n flex-shrink: 0;\n width: .375em;\n height: .375em;\n content: \"\";\n border-color: currentcolor;\n border-style: solid;\n border-width: .125em 0 0 .125em;\n transform: rotate(-45deg);\n\n [dir=\"rtl\"] & {\n border-width: 0 .125em .125em 0;\n }\n }\n }\n\n .submenu-dimmed {\n pointer-events: none;\n filter: blur(2px);\n opacity: .3;\n }\n }\n // scss-docs-end submenu\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n$list-group-tokens: () !default;\n\n// scss-docs-start list-group-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$list-group-tokens: defaults(\n (\n --list-group-color: var(--fg-body),\n --list-group-bg: var(--bg-body),\n --list-group-border-color: var(--border-color),\n --list-group-border-width: var(--border-width),\n --list-group-border-radius: var(--border-radius),\n --list-group-item-padding-x: #{$spacer},\n --list-group-item-padding-y: #{$spacer * .5},\n --list-group-action-color: var(--fg-2),\n --list-group-action-hover-color: var(--fg-1),\n --list-group-action-hover-bg: var(--bg-1),\n --list-group-action-active-color: var(--fg-body),\n --list-group-action-active-bg: var(--bg-2),\n --list-group-disabled-color: var(--fg-3),\n --list-group-disabled-bg: var(--bg-body),\n --list-group-active-color: var(--primary-contrast),\n --list-group-active-bg: var(--primary-bg),\n --list-group-active-border-color: var(--primary-bg),\n ),\n $list-group-tokens\n);\n// scss-docs-end list-group-tokens\n\n@layer components {\n .list-group {\n @include tokens($list-group-tokens);\n\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-inline-start: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius(var(--list-group-border-radius));\n }\n\n .list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n\n > .list-group-item::before {\n // Increments only this instance of the section counter\n content: counters(section, \".\") \". \";\n counter-increment: section;\n }\n }\n\n // Individual list items\n //\n // Use on `li`s or `div`s within the `.list-group` parent.\n\n .list-group-item {\n position: relative;\n display: block;\n padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n color: var(--theme-text, var(--list-group-color));\n // stylelint-disable-next-line scss/at-function-named-arguments\n text-decoration: if(sass($link-decoration == none): null);\n background-color: var(--theme-bg-subtle, var(--list-group-bg));\n border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: var(--list-group-disabled-color);\n pointer-events: none;\n background-color: var(--list-group-disabled-bg);\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: var(--list-group-active-color);\n background-color: var(--list-group-active-bg);\n border-color: var(--list-group-active-border-color);\n }\n\n // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n & + .list-group-item {\n border-block-start-width: 0;\n\n &.active {\n margin-top: calc(-1 * var(--list-group-border-width));\n border-block-start-width: var(--list-group-border-width);\n }\n }\n }\n\n // Interactive list items\n //\n // Use anchor or button elements instead of `li`s or `div`s to create interactive\n // list items. Includes an extra `.active` modifier class for selected items.\n\n .list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: var(--theme-text, var(--list-group-action-color));\n text-align: inherit; // For `<button>`s (anchors inherit)\n text-decoration: none;\n\n &:not(.active) {\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n text-decoration: none;\n background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n }\n\n &:active {\n color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n }\n }\n }\n\n // Horizontal\n //\n // Change the layout of list group items from vertical (default) to horizontal.\n\n @each $breakpoint in map.keys($breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n .#{$prefix}list-group-horizontal {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child:not(:last-child) {\n @include border-bottom-start-radius(var(--list-group-border-radius));\n @include border-top-end-radius(0);\n }\n\n &:last-child:not(:first-child) {\n @include border-top-end-radius(var(--list-group-border-radius));\n @include border-bottom-start-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-block-start-width: var(--list-group-border-width);\n border-inline-start-width: 0;\n\n &.active {\n margin-inline-start: calc(-1 * var(--list-group-border-width));\n border-inline-start-width: var(--list-group-border-width);\n }\n }\n }\n }\n }\n }\n\n // Flush list items\n //\n // Remove borders and border-radius to keep list group items edge-to-edge. Most\n // useful within other components (e.g., cards).\n\n .list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 var(--list-group-border-width);\n\n &:last-child {\n border-block-end-width: 0;\n }\n }\n }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n$nav-tokens: () !default;\n\n// scss-docs-start nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tokens: defaults(\n (\n --nav-gap: .125rem,\n --nav-link-gap: .5rem,\n --nav-link-align: center,\n --nav-link-justify: center,\n --nav-link-padding-x: .75rem,\n --nav-link-padding-y: .375rem,\n --nav-link-color: var(--fg-2),\n --nav-link-hover-color: var(--fg-1),\n --nav-link-hover-bg: var(--bg-1),\n --nav-link-active-color: var(--fg-body),\n --nav-link-active-bg: var(--bg-2),\n --nav-link-disabled-color: var(--fg-4),\n --nav-link-border-width: var(--border-width),\n --nav-link-transition-property: \"color, background-color, border-color\",\n --nav-link-transition-timing: .15s ease-in-out,\n --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing),\n ),\n $nav-tokens\n);\n// scss-docs-end nav-tokens\n\n$nav-tabs-tokens: () !default;\n\n// scss-docs-start nav-tabs-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tabs-tokens: defaults(\n (\n --nav-tabs-border-width: var(--border-width),\n --nav-tabs-border-color: var(--border-color),\n --nav-tabs-border-radius: var(--border-radius),\n --nav-tabs-link-hover-border-color: var(--border-subtle),\n --nav-tabs-link-active-color: var(--fg-color),\n --nav-tabs-link-active-bg: var(--bg-body),\n --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body),\n ),\n $nav-tabs-tokens\n);\n// scss-docs-end nav-tabs-tokens\n\n$nav-pills-tokens: () !default;\n\n// scss-docs-start nav-pills-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-pills-tokens: defaults(\n (\n --nav-pills-link-active-color: var(--primary-contrast),\n --nav-pills-link-active-bg: var(--primary-bg),\n ),\n $nav-pills-tokens\n);\n// scss-docs-end nav-pills-tokens\n\n$nav-underline-tokens: () !default;\n\n// scss-docs-start nav-underline-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-underline-tokens: defaults(\n (\n --nav-gap: 1rem,\n --nav-link-active-bg: transparent,\n --nav-underline-border-width: .125rem,\n --nav-underline-link-active-color: var(--fg-color),\n ),\n $nav-underline-tokens\n);\n// scss-docs-end nav-underline-tokens\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 @include tokens($nav-tokens);\n\n display: flex;\n flex-wrap: wrap;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n }\n\n .nav-item {\n display: flex;\n }\n\n .nav-link {\n display: flex;\n gap: var(--nav-link-gap);\n align-items: var(--nav-link-align);\n justify-content: var(--nav-link-justify);\n padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n font-weight: var(--nav-link-font-weight);\n color: var(--nav-link-color);\n text-decoration: none;\n white-space: nowrap;\n background: none;\n border: var(--nav-link-border-width) solid transparent;\n @include border-radius(var(--border-radius));\n @include transition(var(--nav-link-transition));\n\n &:hover,\n &:focus {\n color: var(--nav-link-hover-color);\n background-color: var(--nav-link-hover-bg);\n }\n\n &:focus-visible {\n --focus-ring-offset: 1px;\n color: var(--nav-link-hover-color);\n @include focus-ring(true);\n }\n\n &.active,\n &:active {\n color: var(--nav-link-active-color);\n background-color: var(--nav-link-active-bg);\n }\n\n // Disabled state lightens text\n &.disabled,\n &:disabled {\n color: var(--nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n }\n }\n\n //\n // Tabs\n //\n\n .nav-tabs {\n // scss-docs-start nav-tabs-css-vars\n @include tokens($nav-tabs-tokens);\n // scss-docs-end nav-tabs-css-vars\n\n box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n\n .nav-link {\n border: var(--nav-tabs-border-width) solid transparent;\n border-bottom-color: var(--nav-tabs-border-color);\n @include border-bottom-radius(0);\n\n &:hover {\n // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n isolation: isolate;\n border-color: var(--nav-tabs-link-hover-border-color);\n border-bottom-color: var(--nav-tabs-border-color);\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: var(--nav-tabs-link-active-color);\n background-color: var(--nav-tabs-link-active-bg);\n border-color: var(--nav-tabs-link-active-border-color);\n border-bottom-color: var(--nav-tabs-link-active-bg);\n }\n\n .menu {\n margin-top: calc(-1 * var(--nav-tabs-border-width));\n @include border-top-radius(0);\n }\n }\n\n //\n // Pills\n //\n\n .nav-pills {\n // scss-docs-start nav-pills-css-vars\n @include tokens($nav-pills-tokens);\n // scss-docs-end nav-pills-css-vars\n\n .nav-link.active,\n .show > .nav-link {\n color: var(--nav-pills-link-active-color);\n @include gradient-bg(var(--nav-pills-link-active-bg));\n }\n }\n\n //\n // Underline\n //\n\n .nav-underline {\n // scss-docs-start nav-underline-css-vars\n @include tokens($nav-underline-tokens);\n // scss-docs-end nav-underline-css-vars\n\n .nav-link {\n padding-inline: 0;\n border: 0;\n border-block-end: var(--nav-underline-border-width) solid transparent;\n @include border-radius(0);\n\n &:hover,\n &:focus {\n border-block-end-color: currentcolor;\n }\n }\n\n .nav-link.active,\n .show > .nav-link {\n font-weight: $font-weight-bold;\n color: var(--nav-underline-link-active-color);\n border-block-end-color: currentcolor;\n }\n }\n\n //\n // 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 // 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","// Nav Overflow (Priority+ Pattern)\n//\n// A responsive navigation pattern that automatically moves items\n// to an overflow menu when space is limited.\n\n@layer components {\n .nav-overflow {\n flex-wrap: nowrap;\n min-width: 0; // Allow flex child to shrink below content width\n }\n\n // Container item for overflow\n .nav-overflow-item {\n flex-shrink: 0;\n margin-inline-start: auto;\n }\n\n // Hide items that have been moved to overflow\n .nav-overflow [data-bs-nav-overflow=\"true\"] {\n display: none;\n }\n\n // Preserve items that should never overflow\n .nav-overflow-keep {\n flex-shrink: 0;\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n// mdo-do: fix nav-link-height and navbar-brand-height, which we previously calculated with font-size, line-height, and block padding\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start navbar-breakpoints\n$navbar-breakpoints: $breakpoints !default;\n// scss-docs-end navbar-breakpoints\n\n$navbar-tokens: () !default;\n$navbar-dark-tokens: () !default;\n$navbar-nav-tokens: () !default;\n\n// scss-docs-start navbar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-tokens: defaults(\n (\n --navbar-padding-x: 0,\n --navbar-padding-y: .5rem,\n --navbar-color: var(--fg-2),\n --navbar-hover-color: var(--fg-1),\n --navbar-disabled-color: var(--fg-3),\n --navbar-active-color: var(--fg-body),\n --navbar-brand-padding-y: .75rem,\n --navbar-brand-margin-end: 1rem,\n --navbar-brand-font-size: var(--font-size-md),\n --navbar-brand-font-weight: var(--font-weight-medium),\n --navbar-brand-color: var(--fg-body),\n --navbar-brand-hover-color: var(--fg-body),\n --navbar-nav-link-padding-x: .75rem,\n --navbar-toggler-width: 2rem,\n --navbar-toggler-padding-y: .25rem,\n --navbar-toggler-padding-x: .75rem,\n --navbar-toggler-font-size: var(--font-size-lg),\n --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent),\n --navbar-toggler-border-radius: var(--border-radius),\n --navbar-toggler-transition: box-shadow .15s ease-in-out,\n ),\n $navbar-tokens\n);\n// scss-docs-end navbar-tokens\n\n// scss-docs-start navbar-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-dark-tokens: defaults(\n (\n --navbar-color: color-mix(in oklch, var(--white) .55, transparent),\n --navbar-hover-color: color-mix(in oklch, var(--white) .75, transparent),\n --navbar-disabled-color: color-mix(in oklch, var(--white) .25, transparent),\n --navbar-active-color: var(--white),\n --navbar-brand-color: var(--white),\n --navbar-brand-hover-color: var(--white),\n --navbar-toggler-border-color: color-mix(in oklch, var(--white) .1, transparent),\n ),\n $navbar-dark-tokens\n);\n// scss-docs-end navbar-dark-tokens\n\n// scss-docs-start navbar-nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-nav-tokens: defaults(\n (\n --nav-gap: .25rem,\n --nav-link-gap: .5rem,\n --nav-link-padding-x: .5rem,\n --nav-link-padding-y: .375rem,\n --nav-link-color: var(--navbar-color),\n --nav-link-border-width: var(--border-width),\n //--nav-link-border-color: var(--border-color),\n --nav-link-hover-color: var(--navbar-hover-color),\n --nav-link-hover-bg: transparent,\n --nav-link-active-color: var(--navbar-active-color),\n --nav-link-active-bg: transparent,\n --nav-link-disabled-color: var(--navbar-disabled-color),\n ),\n $navbar-nav-tokens\n);\n// scss-docs-end navbar-nav-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n // Base navbar\n .navbar {\n @include tokens($navbar-tokens);\n\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--navbar-padding-y) var(--navbar-padding-x);\n @include set-container();\n color: var(--navbar-color, var(--fg-body));\n @include gradient-bg(var(--navbar-bg, var(--bg-body)));\n\n // Container properties for nested containers\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 > .#{breakpoint-prefix($breakpoint, $container-max-widths)}container {\n @extend %container-flex-properties;\n }\n }\n }\n\n // Navbar brand\n //\n // Used for brand, project, or site names.\n .navbar-brand {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n margin-inline-end: var(--navbar-brand-margin-end);\n font-size: var(--navbar-brand-font-size);\n font-weight: var(--navbar-brand-font-weight);\n color: var(--navbar-brand-color);\n text-decoration: none;\n white-space: nowrap;\n\n &:hover,\n &:focus {\n color: var(--navbar-brand-hover-color);\n }\n }\n\n // Navigation within navbars. Sets all nav-link CSS variables needed for\n // proper styling.\n //\n // Relies on `.nav` base class.\n .navbar-nav {\n @include tokens($navbar-nav-tokens);\n\n display: flex;\n flex-direction: column;\n gap: var(--nav-gap);\n padding-inline-start: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n &.active,\n &.show {\n color: var(--navbar-active-color);\n border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n }\n }\n }\n\n // Navbar text\n //\n // For adding text or inline elements to the navbar\n .navbar-text {\n padding-top: var(--navbar-brand-padding-y);\n padding-bottom: var(--navbar-brand-padding-y);\n color: var(--navbar-color);\n\n a,\n a:hover,\n a:focus {\n color: var(--navbar-active-color);\n }\n }\n\n // Button for toggling the navbar when in its collapsed state\n .navbar-toggler {\n --btn-bg: transparent;\n --btn-hover-bg: var(--bg-2);\n }\n\n // scss-docs-start navbar-expand-loop\n // Generate series of responsive `.navbar-expand` classes for configuring\n // where your navbar collapses and expands. Uses container queries so the\n // navbar responds to its own width, not the viewport width.\n\n // Mixin for expanded state styles (applied to descendants)\n @mixin navbar-expanded {\n // Style the inner container since we can't style .navbar itself with container queries\n > .container,\n > .container-fluid,\n %navbar-expand-container {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n\n .navbar-nav {\n --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n flex-direction: row;\n }\n\n .navbar-toggler {\n display: none !important; // stylelint-disable-line declaration-no-important\n }\n\n .offcanvas {\n // stylelint-disable declaration-no-important\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n @include box-shadow(none);\n @include transition(none);\n // stylelint-enable declaration-no-important\n\n .offcanvas-header {\n display: none;\n }\n\n .offcanvas-body {\n display: flex;\n flex-grow: 0;\n flex-direction: row;\n align-items: center;\n padding: 0;\n overflow-y: visible;\n }\n }\n }\n\n // Always expanded (no responsive behavior)\n .navbar-expand {\n @include navbar-expanded();\n\n // Also set on navbar itself for non-responsive case\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n\n // Responsive navbar expand classes using container queries\n @include loop-breakpoints-down($navbar-breakpoints) using ($breakpoint, $next, $prefix) {\n @if $next {\n .#{$prefix}navbar-expand {\n @include container-breakpoint-up($next) {\n @include navbar-expanded();\n }\n }\n }\n }\n // scss-docs-end navbar-expand-loop\n\n .navbar-translucent {\n position: relative;\n background-color: transparent;\n\n &::before {\n position: absolute;\n inset: 0;\n z-index: -1;\n content: \"\";\n background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n background-image: none;\n backdrop-filter: blur(5px) saturate(180%);\n }\n }\n\n .navbar[data-bs-theme=\"dark\"] {\n @include tokens($navbar-dark-tokens);\n }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/backdrop\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$offcanvas-tokens: () !default;\n\n// scss-docs-start offcanvas-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$offcanvas-tokens: defaults(\n (\n --offcanvas-inset: var(--spacer),\n --offcanvas-zindex: #{$zindex-offcanvas},\n --offcanvas-width: 400px,\n --offcanvas-height: 30vh,\n --offcanvas-padding-x: var(--spacer),\n --offcanvas-padding-y: var(--spacer),\n --offcanvas-color: var(--fg-body),\n --offcanvas-bg: var(--bg-body),\n --offcanvas-border-width: var(--border-width),\n --offcanvas-border-color: var(--border-color-translucent),\n --offcanvas-border-radius: var(--border-radius-lg),\n --offcanvas-box-shadow: var(--box-shadow-lg),\n --offcanvas-transition: transform .3s ease-in-out,\n --offcanvas-title-line-height: 1.5,\n ),\n $offcanvas-tokens\n);\n// scss-docs-end offcanvas-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$offcanvas-backdrop-tokens: () !default;\n\n// scss-docs-start offcanvas-backdrop-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$offcanvas-backdrop-tokens: defaults(\n (\n --offcanvas-backdrop-bg: var(--bg-body),\n --offcanvas-backdrop-opacity: 25%,\n --offcanvas-backdrop-blur: 8px,\n ),\n $offcanvas-backdrop-tokens\n);\n// scss-docs-end offcanvas-backdrop-tokens\n\n%offcanvas-css-vars {\n @include tokens($offcanvas-tokens);\n}\n\n@layer components {\n // Apply CSS vars to all offcanvas responsive variants\n @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n .#{$prefix}offcanvas {\n @extend %offcanvas-css-vars;\n }\n }\n\n // Responsive offcanvas styles\n @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n .#{$prefix}offcanvas {\n @include media-breakpoint-down($next) {\n position: fixed;\n z-index: var(--offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--offcanvas-inset) * 2);\n max-height: calc(100% - var(--offcanvas-inset) * 2);\n color: var(--offcanvas-color);\n visibility: hidden;\n background-color: var(--offcanvas-bg);\n background-clip: padding-box;\n border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n @include border-radius(var(--offcanvas-border-radius));\n outline: 0;\n @include box-shadow(var(--offcanvas-box-shadow));\n @include transition(var(--offcanvas-transition));\n\n // Placement: Start (left in LTR, right in RTL)\n &:where(.offcanvas-start) {\n inset-block: var(--offcanvas-inset);\n inset-inline-start: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(-100%);\n\n :root:dir(rtl) & {\n transform: translateX(100%);\n }\n }\n\n // Placement: End (right in LTR, left in RTL)\n &:where(.offcanvas-end) {\n inset-block: var(--offcanvas-inset);\n inset-inline-end: var(--offcanvas-inset);\n width: var(--offcanvas-width);\n transform: translateX(100%);\n\n :root:dir(rtl) & {\n transform: translateX(-100%);\n }\n }\n\n // Placement: Top\n &:where(.offcanvas-top) {\n inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n height: var(--offcanvas-height);\n transform: translateY(-100%);\n }\n\n // Placement: Bottom\n &:where(.offcanvas-bottom) {\n inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n height: var(--offcanvas-height);\n transform: translateY(100%);\n }\n\n // Fullscreen variant - covers entire viewport\n &:where(.offcanvas-fullscreen) {\n inset: var(--offcanvas-inset);\n width: auto;\n max-width: none;\n height: auto;\n max-height: none;\n transform: translateY(100%);\n }\n\n // Show/hide states\n &.showing,\n &.show:not(.hiding) {\n transform: none;\n }\n\n &.showing,\n &.hiding,\n &.show {\n visibility: visible;\n }\n }\n\n // Above breakpoint - show content inline (for responsive offcanvas)\n @if not ($prefix == \"\") {\n @include media-breakpoint-up($next) {\n --offcanvas-height: auto;\n --offcanvas-border-width: 0;\n background-color: transparent !important; // stylelint-disable-line declaration-no-important\n\n .offcanvas-header {\n display: none;\n }\n\n .offcanvas-body {\n flex-grow: 0;\n flex-direction: row;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important; // stylelint-disable-line declaration-no-important\n }\n }\n }\n }\n }\n\n // Backdrop overlay\n .offcanvas-backdrop {\n @include tokens($offcanvas-backdrop-tokens);\n @include overlay-backdrop($zindex-offcanvas-backdrop, var(--offcanvas-backdrop-bg), var(--offcanvas-backdrop-opacity), var(--offcanvas-backdrop-blur));\n }\n\n .offcanvas-translucent {\n background-color: color-mix(in oklch, var(--offcanvas-bg) 80%, transparent);\n backdrop-filter: blur(5px) saturate(180%);\n }\n\n // Header with close button\n .offcanvas-header {\n display: flex;\n align-items: center;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n\n .btn-close {\n padding: calc(var(--offcanvas-padding-y) * .5) calc(var(--offcanvas-padding-x) * .5);\n margin-inline-start: auto;\n margin-inline-end: calc(-.5 * var(--offcanvas-padding-x));\n margin-top: calc(-.5 * var(--offcanvas-padding-y));\n margin-bottom: calc(-.5 * var(--offcanvas-padding-y));\n }\n }\n\n // Title\n .offcanvas-title {\n margin-bottom: 0;\n line-height: var(--offcanvas-title-line-height);\n }\n\n // Scrollable body\n .offcanvas-body {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n gap: var(--offcanvas-padding-y);\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n overflow-y: auto;\n }\n\n // Optional footer\n .offcanvas-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: .5rem;\n align-items: center;\n justify-content: flex-end;\n padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n }\n\n .offcanvas-fit-content {\n inset-block-end: auto;\n }\n}\n","// Shared between modals and offcanvases\n@mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity, $backdrop-blur) {\n position: fixed;\n inset: 0;\n z-index: $zindex;\n background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n @if $backdrop-blur {\n backdrop-filter: blur($backdrop-blur);\n }\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: 1; }\n}\n","@use \"functions\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// mdo-do: Update pagination to support variant themes\n\n// stylelint-disable custom-property-no-missing-var-function\n$pagination-tokens: () !default;\n\n// scss-docs-start pagination-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-tokens: defaults(\n (\n --pagination-min-height: var(--btn-input-min-height),\n --pagination-padding-x: var(--btn-input-padding-x),\n --pagination-padding-y: var(--btn-input-padding-y),\n --pagination-font-size: var(--btn-input-font-size),\n --pagination-color: var(--link-color),\n --pagination-bg: var(--bg-body),\n --pagination-border-width: var(--border-width),\n --pagination-border-color: var(--border-color),\n --pagination-border-radius: var(--btn-input-border-radius),\n --pagination-hover-color: var(--link-hover-color),\n --pagination-hover-bg: var(--bg-1),\n --pagination-hover-border-color: var(--border-color),\n --pagination-focus-color: var(--link-hover-color),\n --pagination-focus-bg: var(--bg-2),\n --pagination-active-color: var(--primary-contrast),\n --pagination-active-bg: var(--primary-bg),\n --pagination-active-border-color: var(--primary-bg),\n --pagination-disabled-color: var(--fg-3),\n --pagination-disabled-bg: var(--bg-2),\n --pagination-disabled-border-color: var(--border-color),\n ),\n $pagination-tokens\n);\n// scss-docs-end pagination-tokens\n\n// scss-docs-start pagination-sizes\n$pagination-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-sizes: defaults(\n (\"sm\", \"lg\"),\n $pagination-sizes\n);\n// scss-docs-end pagination-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n .pagination {\n @include tokens($pagination-tokens);\n\n display: flex;\n @include list-unstyled();\n }\n\n .page-link {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--pagination-min-height);\n padding: var(--pagination-padding-y) var(--pagination-padding-x);\n font-size: var(--pagination-font-size);\n color: var(--pagination-color);\n text-decoration: none;\n background-color: var(--pagination-bg);\n border: var(--pagination-border-width) solid var(--pagination-border-color);\n @include transition(color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out);\n\n &:hover {\n z-index: 2;\n color: var(--pagination-hover-color);\n background-color: var(--pagination-hover-bg);\n border-color: var(--pagination-hover-border-color);\n }\n\n &:focus-visible {\n z-index: 3;\n color: var(--pagination-focus-color);\n background-color: var(--pagination-focus-bg);\n @include focus-ring(true);\n }\n\n &.active,\n .active > & {\n z-index: 3;\n color: var(--pagination-active-color);\n @include gradient-bg(var(--pagination-active-bg));\n border-color: var(--pagination-active-border-color);\n }\n\n &.disabled,\n .disabled > & {\n color: var(--pagination-disabled-color);\n pointer-events: none;\n background-color: var(--pagination-disabled-bg);\n border-color: var(--pagination-disabled-border-color);\n }\n }\n\n .page-item {\n &:not(:first-child) .page-link {\n margin-inline-start: calc(-1 * var(--pagination-border-width));\n }\n\n &:first-child {\n .page-link {\n @include border-start-radius(var(--pagination-border-radius));\n }\n }\n\n &:last-child {\n .page-link {\n @include border-end-radius(var(--pagination-border-radius));\n }\n }\n }\n\n //\n // Sizing\n //\n\n // scss-docs-start pagination-sizes-loop\n @each $size, $_ in $pagination-sizes {\n .pagination-#{$size} {\n --pagination-min-height: var(--bs-btn-input-#{$size}-min-height);\n --pagination-padding-y: var(--btn-input-#{$size}-padding-y);\n --pagination-padding-x: var(--btn-input-#{$size}-padding-x);\n --pagination-font-size: var(--btn-input-#{$size}-font-size);\n --pagination-border-radius: var(--btn-input-#{$size}-border-radius);\n }\n }\n // scss-docs-end pagination-sizes-loop\n}\n","@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n$placeholder-tokens: () !default;\n\n// scss-docs-start placeholder-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$placeholder-tokens: defaults(\n (\n --placeholder-opacity-max: .5,\n --placeholder-opacity-min: .2,\n ),\n $placeholder-tokens\n);\n// scss-docs-end placeholder-tokens\n\n@layer components {\n .placeholder {\n @include tokens($placeholder-tokens);\n\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: var(--placeholder-opacity-max);\n\n &.btn::before {\n display: inline-block;\n content: \"\";\n }\n }\n\n // Sizing\n .placeholder-xs {\n min-height: .6em;\n }\n\n .placeholder-sm {\n min-height: .8em;\n }\n\n .placeholder-lg {\n min-height: 1.2em;\n }\n\n // Animation\n .placeholder-glow {\n .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n }\n }\n\n @keyframes placeholder-glow {\n 50% {\n opacity: var(--placeholder-opacity-min);\n }\n }\n\n .placeholder-wave {\n mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, $black 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n }\n\n @keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$popover-tokens: () !default;\n\n// scss-docs-start popover-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$popover-tokens: defaults(\n (\n --popover-zindex: #{$zindex-popover},\n --popover-max-width: 280px,\n --popover-font-size: var(--font-size-sm),\n --popover-bg: var(--bg-body),\n --popover-border-width: var(--border-width),\n --popover-border-color: var(--border-color-translucent),\n --popover-border-radius: var(--border-radius-lg),\n --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n --popover-box-shadow: var(--box-shadow),\n --popover-header-padding-x: #{$spacer},\n --popover-header-padding-y: #{$spacer * .75},\n --popover-header-font-size: var(--font-size-sm),\n --popover-header-color: #{$headings-color},\n --popover-header-bg: var(--bg-1),\n --popover-body-padding-x: #{$spacer},\n --popover-body-padding-y: #{$spacer * .75},\n --popover-body-color: var(--fg-body),\n --popover-arrow-width: 1rem,\n --popover-arrow-height: .5rem,\n --popover-arrow-border: var(--popover-border-color),\n ),\n $popover-tokens\n);\n// scss-docs-end popover-tokens\n\n@layer components {\n .popover {\n // scss-docs-start popover-css-vars\n @include tokens($popover-tokens);\n // scss-docs-end popover-css-vars\n\n z-index: var(--popover-zindex);\n display: block;\n max-width: var(--popover-max-width);\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: var(--popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: var(--popover-bg);\n background-clip: padding-box;\n border: var(--popover-border-width) solid var(--popover-border-color);\n @include border-radius(var(--popover-border-radius));\n @include box-shadow(var(--popover-box-shadow));\n\n .popover-arrow {\n display: block;\n width: var(--popover-arrow-width);\n height: var(--popover-arrow-height);\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n }\n }\n }\n\n .bs-popover-top {\n > .popover-arrow {\n bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n &::before,\n &::after {\n border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n }\n\n &::before {\n bottom: 0;\n border-block-start-color: var(--popover-arrow-border);\n }\n\n &::after {\n bottom: var(--popover-border-width);\n border-block-start-color: var(--popover-bg);\n }\n }\n }\n\n .bs-popover-end {\n > .popover-arrow {\n left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n\n &::before,\n &::after {\n border-width: calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n }\n\n &::before {\n left: 0;\n border-inline-end-color: var(--popover-arrow-border);\n }\n\n &::after {\n left: var(--popover-border-width);\n border-inline-end-color: var(--popover-bg);\n }\n }\n }\n\n .bs-popover-bottom {\n > .popover-arrow {\n top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n &::before,\n &::after {\n border-width: 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n }\n\n &::before {\n top: 0;\n border-block-end-color: var(--popover-arrow-border);\n }\n\n &::after {\n top: var(--popover-border-width);\n border-block-end-color: var(--popover-bg);\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--popover-arrow-width);\n margin-inline-start: calc(-.5 * var(--popover-arrow-width));\n content: \"\";\n border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n }\n }\n\n .bs-popover-start {\n > .popover-arrow {\n right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n width: var(--popover-arrow-height);\n height: var(--popover-arrow-width);\n\n &::before,\n &::after {\n border-width: calc(var(--popover-arrow-width) * .5) 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n }\n\n &::before {\n right: 0;\n border-inline-start-color: var(--popover-arrow-border);\n }\n\n &::after {\n right: var(--popover-border-width);\n border-inline-start-color: var(--popover-bg);\n }\n }\n }\n\n .bs-popover-auto {\n &[data-bs-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[data-bs-placement^=\"right\"] {\n @extend .bs-popover-end;\n }\n &[data-bs-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[data-bs-placement^=\"left\"] {\n @extend .bs-popover-start;\n }\n }\n\n // Offset the popover to account for the popover arrow\n .popover-header {\n padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n margin-bottom: 0; // Reset the default from Reboot\n font-size: var(--popover-header-font-size);\n color: var(--popover-header-color);\n background-color: var(--popover-header-bg);\n border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n @include border-top-radius(var(--popover-inner-border-radius));\n\n &:empty {\n display: none;\n }\n }\n\n .popover-body {\n padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n color: var(--popover-body-color);\n }\n}\n","@use \"config\" as *;\n@use \"functions\" 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 \"mixins/tokens\" as *;\n\n$progress-tokens: () !default;\n\n// scss-docs-start progress-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$progress-tokens: defaults(\n (\n --progress-height: 1rem,\n --progress-font-size: var(--font-size-sm),\n --progress-bg: var(--bg-2),\n --progress-border-radius: var(--border-radius),\n --progress-box-shadow: var(--box-shadow-inset),\n --progress-bar-color: var(--white),\n --progress-bar-bg: var(--primary-bg),\n --progress-bar-transition: width .6s ease,\n --progress-bar-animation: progress-bar-stripes 1s linear infinite,\n ),\n $progress-tokens\n);\n// scss-docs-end progress-tokens\n\n// Disable animation if transitions are disabled\n\n@layer components {\n // scss-docs-start progress-keyframes\n @if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: var(--progress-height); }\n }\n }\n // scss-docs-end progress-keyframes\n\n .progress,\n .progress-stacked {\n @include tokens($progress-tokens);\n\n display: flex;\n height: var(--progress-height);\n overflow: hidden;\n font-size: var(--progress-font-size);\n background-color: var(--progress-bg);\n @include border-radius(var(--progress-border-radius));\n @include box-shadow(var(--progress-box-shadow));\n }\n\n .progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--theme-contrast, var(--progress-bar-color));\n text-align: center;\n white-space: nowrap;\n background-color: var(--theme-bg, var(--progress-bar-bg));\n @include transition(var(--progress-bar-transition));\n }\n\n .progress-bar-striped {\n @include gradient-striped();\n background-size: var(--progress-height) var(--progress-height);\n }\n\n .progress-stacked > .progress {\n overflow: visible;\n }\n\n .progress-stacked > .progress > .progress-bar {\n width: 100%;\n }\n\n @if $enable-transitions {\n .progress-bar-animated {\n animation: var(--progress-bar-animation);\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$spinner-border-tokens: () !default;\n\n// scss-docs-start spinner-border-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-border-tokens: defaults(\n (\n --spinner-width: 2rem,\n --spinner-height: 2rem,\n --spinner-vertical-align: -.125em,\n --spinner-border-width: .25em,\n --spinner-animation-speed: .75s,\n --spinner-animation-name: spinner-border,\n ),\n $spinner-border-tokens\n);\n// scss-docs-end spinner-border-tokens\n\n$spinner-grow-tokens: () !default;\n\n// scss-docs-start spinner-grow-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-grow-tokens: defaults(\n (\n --spinner-width: 2rem,\n --spinner-height: 2rem,\n --spinner-vertical-align: -.125em,\n --spinner-animation-speed: .75s,\n --spinner-animation-name: spinner-grow,\n ),\n $spinner-grow-tokens\n);\n// scss-docs-end spinner-grow-tokens\n\n// stylelint-enable custom-property-no-missing-var-function\n\n//\n// Rotating border\n//\n\n@layer components {\n // mdo-do: Refactor this to assume flex parent and remove `vertical-align`\n .spinner-grow,\n .spinner-border {\n display: inline-block;\n flex-shrink: 0;\n width: var(--spinner-width);\n height: var(--spinner-height);\n vertical-align: var(--spinner-vertical-align);\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n }\n\n // scss-docs-start spinner-border-keyframes\n @keyframes spinner-border {\n to { transform: rotate(360deg); }\n }\n // scss-docs-end spinner-border-keyframes\n\n .spinner-border {\n @include tokens($spinner-border-tokens);\n\n border: var(--spinner-border-width) solid currentcolor;\n border-inline-end-color: transparent;\n }\n\n .spinner-border-sm {\n // scss-docs-start spinner-border-sm-css-vars\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n --spinner-border-width: .2em;\n // scss-docs-end spinner-border-sm-css-vars\n }\n\n //\n // Growing circle\n //\n\n // scss-docs-start spinner-grow-keyframes\n @keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n }\n // scss-docs-end spinner-grow-keyframes\n\n .spinner-grow {\n @include tokens($spinner-grow-tokens);\n\n background-color: currentcolor;\n opacity: 0;\n }\n\n .spinner-grow-sm {\n // scss-docs-start spinner-grow-sm-css-vars\n --spinner-width: 1rem;\n --spinner-height: 1rem;\n // scss-docs-end spinner-grow-sm-css-vars\n }\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --spinner-animation-speed: 1.5s;\n }\n }\n }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$stepper-tokens: () !default;\n\n// scss-docs-start stepper-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$stepper-tokens: defaults(\n (\n --stepper-size: 2rem,\n --stepper-gap: 1rem,\n --stepper-font-size: var(--font-size-sm),\n --stepper-text-gap: .5rem,\n --stepper-track-size: .125rem,\n --stepper-bg: var(--bg-2),\n --stepper-active-color: var(--primary-contrast),\n --stepper-active-bg: var(--primary-bg),\n ),\n $stepper-tokens\n);\n// scss-docs-end stepper-tokens\n\n// scss-docs-start stepper-horizontal-mixin\n@mixin stepper-horizontal() {\n display: inline-grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n\n .stepper-item {\n grid-template-rows: var(--stepper-size) auto;\n grid-template-columns: auto;\n align-items: start;\n justify-items: center;\n text-align: center;\n\n &::after {\n inset-block-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n inset-block-end: auto;\n inset-inline-start: 50%;\n inset-inline-end: 100%;\n width: calc(100% + var(--stepper-gap));\n height: var(--stepper-track-size);\n }\n\n &:last-child::after {\n right: 100%;\n }\n }\n}\n// scss-docs-end stepper-horizontal-mixin\n\n@layer components {\n .stepper {\n @include tokens($stepper-tokens);\n\n display: grid;\n grid-auto-rows: 1fr;\n grid-auto-flow: row;\n gap: var(--stepper-gap);\n padding-inline-start: 0;\n list-style: none;\n counter-reset: stepper;\n }\n\n .stepper-item {\n position: relative;\n display: grid;\n grid-template-rows: auto;\n grid-template-columns: var(--stepper-size) auto;\n gap: var(--stepper-text-gap);\n align-items: var(--stepper-align-items, center);\n text-decoration: none;\n\n // The counter\n &::before {\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--stepper-size);\n height: var(--stepper-size);\n padding: .5rem;\n font-size: var(--stepper-font-size);\n font-weight: 600;\n line-height: 1;\n text-align: center;\n content: counter(stepper);\n counter-increment: stepper;\n background-color: var(--stepper-bg);\n @include border-radius(50%);\n }\n\n // Connecting lines\n &::after {\n position: absolute;\n inset-block-start: 50%;\n inset-block-end: 100%;\n inset-inline-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n width: var(--stepper-track-size);\n height: calc(100% + var(--stepper-gap));\n content: \"\";\n background-color: var(--stepper-bg);\n }\n\n // Avoid sibling selector for easier CSS overrides\n &:last-child::after {\n display: none;\n }\n\n &.active {\n &::before,\n &::after {\n color: var(--theme-contrast, var(--stepper-active-color));\n background-color: var(--theme-bg, var(--stepper-active-bg));\n }\n }\n }\n\n // Targets the last .active element from a sequence of active elements\n .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n background-color: var(--stepper-bg);\n }\n\n .stepper-horizontal {\n @include stepper-horizontal();\n }\n\n @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n @if $next {\n .#{$prefix}stepper-horizontal {\n @include container-breakpoint-up($next) {\n @include stepper-horizontal();\n }\n }\n }\n }\n\n // scss-docs-start stepper-overflow\n .stepper-overflow {\n container-type: inline-size;\n overflow-x: auto;\n overscroll-behavior-x: contain;\n -webkit-overflow-scrolling: touch;\n\n > .stepper {\n width: max-content;\n min-width: 100%;\n }\n }\n // scss-docs-end stepper-overflow\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$toast-tokens: () !default;\n\n// scss-docs-start toast-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$toast-tokens: defaults(\n (\n --toast-zindex: #{$zindex-toast},\n --toast-padding-x: .75rem,\n --toast-padding-y: .5rem,\n --toast-spacing: #{$container-padding-x},\n --toast-max-width: 350px,\n --toast-font-size: .875rem,\n --toast-color: null,\n --toast-bg: rgba(var(--body-bg-rgb), .85),\n --toast-border-width: var(--border-width),\n --toast-border-color: var(--border-color-translucent),\n --toast-border-radius: var(--border-radius),\n --toast-box-shadow: var(--box-shadow),\n --toast-header-color: var(--fg-3),\n --toast-header-bg: rgba(var(--body-bg-rgb), .85),\n --toast-header-border-color: var(--border-color-translucent),\n ),\n $toast-tokens\n);\n// stylelint-enable custom-property-no-missing-var-function\n// scss-docs-end toast-tokens\n\n@layer components {\n .toast {\n @include tokens($toast-tokens);\n\n width: var(--toast-max-width);\n max-width: 100%;\n font-size: var(--toast-font-size);\n color: var(--toast-color);\n pointer-events: auto;\n background-color: var(--toast-bg);\n background-clip: padding-box;\n border: var(--toast-border-width) solid var(--toast-border-color);\n box-shadow: var(--toast-box-shadow);\n @include border-radius(var(--toast-border-radius));\n\n &.showing {\n opacity: 0;\n }\n\n &:not(.show) {\n display: none;\n }\n }\n\n .toast-container {\n --toast-zindex: #{$zindex-toast};\n\n position: absolute;\n z-index: var(--toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n\n > :not(:last-child) {\n margin-bottom: var(--toast-spacing);\n }\n }\n\n .toast-header {\n display: flex;\n align-items: center;\n padding: var(--toast-padding-y) var(--toast-padding-x);\n color: var(--toast-header-color);\n background-color: var(--toast-header-bg);\n background-clip: padding-box;\n border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n @include border-top-radius(calc(var(--toast-border-radius) - var(--toast-border-width)));\n\n .btn-close {\n margin-inline-start: var(--toast-padding-x);\n margin-inline-end: calc(-.5 * var(--toast-padding-x));\n }\n }\n\n .toast-translucent {\n backdrop-filter: blur(5px) saturate(180%);\n }\n\n .toast-body {\n padding: var(--toast-padding-x);\n word-wrap: break-word;\n }\n}\n","@use \"config\" 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","@layer helpers {\n .focus-ring:focus-visible {\n outline: var(--focus-ring);\n }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n .icon-link {\n display: inline-flex;\n gap: $icon-link-gap;\n align-items: center;\n text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n text-underline-offset: $icon-link-underline-offset;\n backface-visibility: hidden;\n\n > .bi {\n flex-shrink: 0;\n width: $icon-link-icon-size;\n height: $icon-link-icon-size;\n fill: currentcolor;\n @include transition($icon-link-icon-transition);\n }\n }\n\n .icon-link-hover {\n &:hover,\n &:focus-visible {\n > .bi {\n transform: var(--icon-link-transform, $icon-link-icon-transform);\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n .fixed-top {\n position: fixed;\n inset: 0 0 auto;\n z-index: $zindex-fixed;\n }\n\n .fixed-bottom {\n position: fixed;\n inset: auto 0 0;\n z-index: $zindex-fixed;\n }\n\n // Responsive sticky top and bottom\n @each $breakpoint in map.keys($breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n .#{$prefix}sticky-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n\n .#{$prefix}sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: $zindex-sticky;\n }\n }\n }\n}\n","@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n // scss-docs-start stacks\n .stack-container {\n @include set-container();\n }\n\n [class*=\"hstack\"],\n [class*=\"vstack\"] {\n display: flex;\n flex: var(--stack-flex, 1 1 auto);\n flex-direction: var(--stack-direction, row);\n align-items: var(--stack-align-items, center);\n align-self: var(--stack-align-self, stretch);\n }\n\n @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n .#{$prefix}vstack {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: column;\n --stack-align-items: stretch;\n }\n }\n .#{$prefix}hstack {\n @include container-breakpoint-up($breakpoint) {\n --stack-direction: row;\n --stack-align-items: flex-start;\n }\n }\n }\n // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n @include generate-theme-classes();\n}\n","@use \"sass:meta\";\n@use \"sass:map\";\n\n@function theme-color-values($key) {\n $result: ();\n\n @each $color-name, $color-map in $theme-colors {\n @if map.has-key($color-map, $key) {\n $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n }\n }\n\n @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n $result: ();\n\n @each $key, $value in $opacities {\n @if $key == 100 {\n // For 100%, use direct variable reference (more efficient)\n $result: map.merge($result, ($key: var($color-var)));\n } @else {\n // For other values, use color-mix()\n $percentage: $key * 1%;\n $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n }\n }\n\n @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n @each $color-name, $color-map in $theme-colors {\n .theme-#{$color-name} {\n @each $key, $value in $color-map {\n --theme-#{$key}: var(--#{$color-name}-#{$key});\n }\n }\n }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n @each $key, $value in $map {\n // stylelint-disable-next-line scss/at-function-named-arguments\n $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n @if meta.type-of($value) == \"map\" {\n @include create-css-vars($value, $current-key);\n } @else {\n --#{$current-key}: #{$value};\n }\n }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n \"primary\": (\n \"base\": var(--blue-500),\n \"text\": light-dark(var(--blue-600), var(--blue-400)),\n \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n \"bg\": var(--blue-500),\n \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n \"border\": light-dark(var(--blue-300), var(--blue-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"accent\": (\n \"base\": var(--indigo-500),\n \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n \"bg\": var(--indigo-500),\n \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"success\": (\n \"base\": var(--green-500),\n \"text\": light-dark(var(--green-600), var(--green-400)),\n \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n \"bg\": var(--green-500),\n \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n \"border\": light-dark(var(--green-300), var(--green-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"danger\": (\n \"base\": var(--red-500),\n \"text\": light-dark(var(--red-600), var(--red-400)),\n \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n \"bg\": var(--red-500),\n \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n \"border\": light-dark(var(--red-300), var(--red-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n \"contrast\": var(--white)\n ),\n \"warning\": (\n \"base\": var(--yellow-500),\n \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n \"bg\": var(--yellow-500),\n \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"info\": (\n \"base\": var(--cyan-500),\n \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n \"bg\": var(--cyan-500),\n \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n \"contrast\": var(--gray-900)\n ),\n \"inverse\": (\n \"base\": var(--gray-900),\n \"text\": light-dark(var(--gray-900), var(--gray-200)),\n \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n \"border\": light-dark(var(--gray-400), var(--gray-100)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--white), var(--gray-900))\n ),\n \"secondary\": (\n \"base\": var(--gray-200),\n \"text\": light-dark(var(--gray-600), var(--gray-400)),\n \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n \"border\": light-dark(var(--gray-300), var(--gray-600)),\n \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n \"contrast\": light-dark(var(--gray-900), var(--white))\n )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n \"body\": light-dark(var(--white), var(--gray-975)),\n \"1\": light-dark(var(--gray-025), var(--gray-950)),\n \"2\": light-dark(var(--gray-050), var(--gray-900)),\n \"3\": light-dark(var(--gray-100), var(--gray-800)),\n \"4\": light-dark(var(--gray-200), var(--gray-700)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"transparent\": transparent,\n \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n \"body\": light-dark(var(--gray-900), var(--gray-050)),\n \"1\": light-dark(var(--gray-800), var(--gray-200)),\n \"2\": light-dark(var(--gray-700), var(--gray-300)),\n \"3\": light-dark(var(--gray-600), var(--gray-500)),\n \"4\": light-dark(var(--gray-500), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n \"bg\": var(--bg-body),\n \"body\": light-dark(var(--gray-300), var(--gray-800)),\n \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n \"white\": var(--white),\n \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n 10: .1,\n 20: .2,\n 30: .3,\n 40: .4,\n 50: .5,\n 60: .6,\n 70: .7,\n 80: .8,\n 90: .9,\n 100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n .visually-hidden,\n .visually-hidden-focusable:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n\n // Fix for positioned table caption that could become anonymous cells\n &:not(caption) {\n position: absolute !important;\n }\n\n // Fix to prevent overflowing children to become focusable\n * {\n overflow: hidden !important;\n }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n &:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n .stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n inset: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n .text-truncate {\n @include text-truncate();\n }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","@layer helpers {\n .vr {\n display: inline-block;\n align-self: stretch;\n width: var(--vr-border-width, var(--border-width));\n min-height: 1em;\n background-color: var(--border-color);\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../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($breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $prefix: breakpoint-prefix($breakpoint, $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 $prefix == \"\") {\n @include generate-utility($utility, $prefix);\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\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n // Validate required keys\n @if not map.has-key($utility, property) {\n @error \"Utility is missing required `property` key: #{$utility}\";\n }\n @if not map.has-key($utility, values) {\n @error \"Utility is missing required `values` key: #{$utility}\";\n }\n\n // Warn on unknown keys (likely typos)\n $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n @each $key in map.keys($utility) {\n @if not list.index($valid-keys, $key) {\n @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n }\n }\n\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selectorType) {\n @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selectorType != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n }\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // Don't add a dash before value key if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $prefix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n @if $customClass != \"\" {\n $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n } @else if $selectorClass != null and $selectorClass != \"\" {\n $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n } @else {\n $selector: \".#{$prefix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n"],"names":[]}
\ No newline at end of file
-{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../js/src/util/floating-ui.js","../../js/src/menu.js","../../js/src/combobox.js","../../node_modules/vanilla-calendar-pro/index.mjs","../../js/src/datepicker.js","../../js/src/dialog.js","../../js/src/nav-overflow.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/chip-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n element.dispatchEvent(evt)\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n if (isElement(object)) {\n return object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n // Private\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n if (typeof callback === 'function') {\n callback({ ...data, instances })\n }\n\n for (const instance of instances) {\n instance[method]()\n }\n })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n EventHandler.on(document, onEvent, selector, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n const selector = SelectorEngine.getSelectorFromElement(this)\n const targets = selector ? SelectorEngine.find(selector) : [this]\n\n callback({ targets, event })\n })\n}\n\nexport {\n enableDismissTrigger,\n eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: 'number',\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (document.visibilityState === 'visible' && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n getElement,\n reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n // Private\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\nexport default Collapse\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n const firstChar = placement[0];\n return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n const side = getSide(placement);\n return oppositeSideMap[side] + placement.slice(side.length);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n// Maximum number of resets that can occur before bailing to avoid infinite reset loops.\nconst MAX_RESET_COUNT = 50;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const platformWithDetectOverflow = platform.detectOverflow ? platform : {\n ...platform,\n detectOverflow\n };\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let resetCount = 0;\n const middlewareData = {};\n for (let i = 0; i < middleware.length; i++) {\n const currentMiddleware = middleware[i];\n if (!currentMiddleware) {\n continue;\n }\n const {\n name,\n fn\n } = currentMiddleware;\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platformWithDetectOverflow,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData[name] = {\n ...middlewareData[name],\n ...data\n };\n if (reset && resetCount < MAX_RESET_COUNT) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects,\n platform\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n platform\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';\n}\nfunction isTableElement(element) {\n return /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n try {\n if (element.matches(':popover-open')) {\n return true;\n }\n } catch (_e) {\n // no-op\n }\n try {\n return element.matches(':modal');\n } catch (_e) {\n return false;\n }\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = value => !!value && value !== 'none';\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (isWebKitValue == null) {\n isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');\n }\n return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n return /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n } else {\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n }\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the <html> but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the <body> scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n let top = firstRect.top;\n let right = firstRect.right;\n let bottom = firstRect.bottom;\n let left = firstRect.left;\n for (let i = 1; i < clippingAncestors.length; i++) {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n top = max(rect.top, top);\n right = min(rect.right, right);\n bottom = min(rect.bottom, bottom);\n left = max(rect.left, left);\n }\n return {\n width: right - left,\n height: bottom - top,\n x: left,\n y: top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n if (floating) {\n resizeObserver.observe(floating);\n }\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $breakpoints)\n */\nexport const BREAKPOINTS = {\n sm: 576,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n if (fallback.includes('-start') || fallback.includes('-end')) {\n const [side, alignment] = fallback.split('-')\n const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n return isRTL() ? `${side}-${flippedAlignment}` : fallback\n }\n\n return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n if (!placementString || !placementString.includes(':')) {\n return null\n }\n\n // Parse the placement string into breakpoint-keyed object\n const parts = placementString.split(/\\s+/)\n const placements = { xs: defaultPlacement } // Default fallback\n\n for (const part of parts) {\n if (part.includes(':')) {\n // Responsive placement like \"md:top-end\"\n const [breakpoint, placement] = part.split(':')\n if (BREAKPOINTS[breakpoint] !== undefined) {\n placements[breakpoint] = placement\n }\n } else {\n // Base placement (no prefix = xs/default)\n placements.xs = part\n }\n }\n\n return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n if (!responsivePlacements) {\n return defaultPlacement\n }\n\n // Get current viewport width\n const viewportWidth = window.innerWidth\n\n // Find the largest breakpoint that matches\n let activePlacement = responsivePlacements.xs || defaultPlacement\n\n // Check breakpoints in order (sm, md, lg, xl, 2xl)\n const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n for (const breakpoint of breakpointOrder) {\n const minWidth = BREAKPOINTS[breakpoint]\n if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n activePlacement = responsivePlacements[breakpoint]\n }\n }\n\n return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n const listeners = []\n\n for (const breakpoint of Object.keys(BREAKPOINTS)) {\n const minWidth = BREAKPOINTS[breakpoint]\n const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n mql.addEventListener('change', callback)\n listeners.push({ mql, handler: callback })\n }\n\n return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n for (const { mql, handler } of listeners) {\n mql.removeEventListener('change', handler)\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap menu.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n computePosition,\n flip,\n shift,\n offset,\n autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\nimport {\n parseResponsivePlacement,\n getResponsivePlacement,\n createBreakpointListeners,\n disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'menu'\nconst DATA_KEY = 'bs.menu'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"menu\"]:not(.disabled):not(:disabled)'\n\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_SUBMENU = '.submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.submenu > .menu-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item:not(.disabled):not(:disabled)'\n\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\nconst resolveLogicalPlacement = placement => {\n if (isRTL()) {\n return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n }\n\n return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\nconst triangleSign = (p1, p2, p3) =>\n ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n container: false,\n display: 'dynamic',\n offset: [0, 2],\n floatingConfig: null,\n menu: null,\n placement: DEFAULT_PLACEMENT,\n reference: 'toggle',\n strategy: 'absolute',\n submenuTrigger: 'both',\n submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n display: 'string',\n offset: '(array|string|function)',\n floatingConfig: '(null|object|function)',\n menu: '(null|element)',\n placement: 'string',\n reference: '(string|element|object)',\n strategy: 'string',\n submenuTrigger: 'string',\n submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Menu extends BaseComponent {\n static _openInstances = new Set()\n\n constructor(element, config) {\n if (typeof computePosition === 'undefined') {\n throw new TypeError('Bootstrap\\'s menus require Floating UI (https://floating-ui.com)')\n }\n\n super(element, config)\n\n this._floatingCleanup = null\n this._mediaQueryListeners = []\n this._responsivePlacements = null\n this._parent = this._element.parentNode\n this._isSubmenu = this._parent.classList?.contains('submenu')\n this._openSubmenus = new Map()\n this._submenuCloseTimeouts = new Map()\n this._hoverIntentData = null\n\n this._menu = this._config.menu || this._findMenu()\n\n this._menuOriginalParent = this._menu?.parentNode\n\n this._parseResponsivePlacements()\n this._setupSubmenuListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._moveMenuToContainer()\n this._createFloating()\n\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({ focusVisible: false })\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\n if (this._parent) {\n this._parent.classList.add(CLASS_NAME_SHOW)\n }\n\n Menu._openInstances.add(this)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n this._disposeFloating()\n this._restoreMenuToOriginalParent()\n this._disposeMediaQueryListeners()\n this._closeAllSubmenus()\n this._clearAllSubmenuTimeouts()\n Menu._openInstances.delete(this)\n super.dispose()\n }\n\n update() {\n if (this._floatingCleanup) {\n this._updateFloatingPosition()\n }\n }\n\n // Private\n _findMenu() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n }\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._closeAllSubmenus()\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._disposeFloating()\n this._restoreMenuToOriginalParent()\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n if (this._parent) {\n this._parent.classList.remove(CLASS_NAME_SHOW)\n }\n\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'placement')\n Manipulator.removeDataAttribute(this._menu, 'display')\n Menu._openInstances.delete(this)\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 throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createFloating() {\n if (this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'display', 'static')\n return\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n this._updateFloatingPosition(referenceElement)\n\n this._floatingCleanup = autoUpdate(\n referenceElement,\n this._menu,\n () => this._updateFloatingPosition(referenceElement)\n )\n }\n\n async _updateFloatingPosition(referenceElement = null) {\n if (!this._menu) {\n return\n }\n\n if (!referenceElement) {\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n } else {\n referenceElement = this._element\n }\n }\n\n const placement = this._getPlacement()\n const middleware = this._getFloatingMiddleware()\n const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n await this._applyFloatingPosition(\n referenceElement,\n this._menu,\n floatingConfig.placement,\n floatingConfig.middleware,\n floatingConfig.strategy\n )\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const placement = this._responsivePlacements ?\n getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n this._config.placement\n\n return resolveLogicalPlacement(placement)\n }\n\n _parseResponsivePlacements() {\n this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n if (this._responsivePlacements) {\n this._setupMediaQueryListeners()\n }\n }\n\n _setupMediaQueryListeners() {\n this._disposeMediaQueryListeners()\n this._mediaQueryListeners = createBreakpointListeners(() => {\n if (this._isShown()) {\n this._updateFloatingPosition()\n }\n })\n }\n\n _disposeMediaQueryListeners() {\n disposeBreakpointListeners(this._mediaQueryListeners)\n this._mediaQueryListeners = []\n }\n\n _getOffset() {\n const { offset: offsetConfig } = this._config\n\n if (typeof offsetConfig === 'string') {\n return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offsetConfig === 'function') {\n return ({ placement, rects }) => {\n const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n return result\n }\n }\n\n return offsetConfig\n }\n\n _getFloatingMiddleware() {\n const offsetValue = this._getOffset()\n\n const middleware = [\n offset(\n typeof offsetValue === 'function' ?\n offsetValue :\n { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n ),\n flip({\n fallbackPlacements: this._getFallbackPlacements()\n }),\n shift({\n boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n })\n ]\n\n return middleware\n }\n\n _getFallbackPlacements() {\n const placement = this._getPlacement()\n\n const fallbackMap = {\n bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n 'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n 'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n 'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n 'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n 'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n 'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n 'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n 'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n }\n\n return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n }\n\n _getFloatingConfig(placement, middleware) {\n const defaultConfig = {\n placement,\n middleware,\n strategy: this._config.strategy\n }\n\n return {\n ...defaultConfig,\n ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n }\n }\n\n _disposeFloating() {\n if (this._floatingCleanup) {\n this._floatingCleanup()\n this._floatingCleanup = null\n }\n }\n\n _getContainer() {\n const { container } = this._config\n if (container === false) {\n return null\n }\n\n return container === true ? document.body : getElement(container)\n }\n\n _moveMenuToContainer() {\n const container = this._getContainer()\n if (!container || !this._menu) {\n return\n }\n\n if (this._menu.parentNode !== container) {\n container.append(this._menu)\n }\n }\n\n _restoreMenuToOriginalParent() {\n if (!this._menuOriginalParent || !this._menu) {\n return\n }\n\n if (this._menu.parentNode !== this._menuOriginalParent) {\n this._menuOriginalParent.append(this._menu)\n }\n }\n\n async _applyFloatingPosition(reference, floating, placement, middleware, strategy = 'absolute') {\n if (!floating.isConnected) {\n return null\n }\n\n const { x, y, placement: finalPlacement } = await computePosition(\n reference,\n floating,\n { placement, middleware, strategy }\n )\n\n if (!floating.isConnected) {\n return null\n }\n\n Object.assign(floating.style, {\n position: strategy,\n left: `${x}px`,\n top: `${y}px`,\n margin: '0'\n })\n\n Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n return finalPlacement\n }\n\n // -------------------------------------------------------------------------\n // Submenu handling\n // -------------------------------------------------------------------------\n\n _setupSubmenuListeners() {\n if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n this._onSubmenuTriggerEnter(event)\n })\n\n EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n this._onSubmenuLeave(event)\n })\n\n EventHandler.on(this._menu, 'mousemove', event => {\n this._trackMousePosition(event)\n })\n }\n\n if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n this._onSubmenuTriggerClick(event)\n })\n }\n }\n\n _onSubmenuTriggerEnter(event) {\n const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n if (!trigger) {\n return\n }\n\n const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (!submenu) {\n return\n }\n\n this._cancelSubmenuCloseTimeout(submenu)\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(trigger, submenu, submenuWrapper)\n }\n\n _onSubmenuLeave(event) {\n const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (!submenu || !this._openSubmenus.has(submenu)) {\n return\n }\n\n if (this._isMovingTowardSubmenu(event, submenu)) {\n return\n }\n\n this._scheduleSubmenuClose(submenu, submenuWrapper)\n }\n\n _onSubmenuTriggerClick(event) {\n const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n if (!trigger) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (!submenu) {\n return\n }\n\n if (this._openSubmenus.has(submenu)) {\n this._closeSubmenu(submenu, submenuWrapper)\n } else {\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(trigger, submenu, submenuWrapper)\n }\n }\n\n _openSubmenu(trigger, submenu, submenuWrapper) {\n if (this._openSubmenus.has(submenu)) {\n return\n }\n\n trigger.setAttribute('aria-expanded', 'true')\n trigger.setAttribute('aria-haspopup', 'true')\n\n submenu.classList.add(CLASS_NAME_SHOW)\n submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n this._openSubmenus.set(submenu, cleanup)\n\n EventHandler.on(submenu, 'mouseenter', () => {\n this._cancelSubmenuCloseTimeout(submenu)\n })\n }\n\n _closeSubmenu(submenu, submenuWrapper) {\n if (!this._openSubmenus.has(submenu)) {\n return\n }\n\n const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n for (const nested of nestedSubmenus) {\n const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n this._closeSubmenu(nested, nestedWrapper)\n }\n\n const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n const cleanup = this._openSubmenus.get(submenu)\n if (cleanup) {\n cleanup()\n }\n\n this._openSubmenus.delete(submenu)\n EventHandler.off(submenu, 'mouseenter')\n\n if (trigger) {\n trigger.setAttribute('aria-expanded', 'false')\n }\n\n submenu.classList.remove(CLASS_NAME_SHOW)\n submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n submenu.style.position = ''\n submenu.style.left = ''\n submenu.style.top = ''\n submenu.style.margin = ''\n }\n\n _closeAllSubmenus() {\n for (const [submenu] of this._openSubmenus) {\n const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n this._closeSubmenu(submenu, submenuWrapper)\n }\n }\n\n _closeSiblingSubmenus(currentSubmenuWrapper) {\n const parent = currentSubmenuWrapper.parentNode\n const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n for (const siblingMenu of siblingSubmenus) {\n const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n if (siblingWrapper !== currentSubmenuWrapper) {\n this._closeSubmenu(siblingMenu, siblingWrapper)\n }\n }\n }\n\n _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n const referenceElement = submenuWrapper\n const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n const middleware = [\n offset({ mainAxis: 0, crossAxis: -4 }),\n flip({\n fallbackPlacements: [\n resolveLogicalPlacement('start-start'),\n resolveLogicalPlacement('end-end'),\n resolveLogicalPlacement('start-end')\n ]\n }),\n shift({ padding: 8 })\n ]\n\n const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n updatePosition()\n return autoUpdate(referenceElement, submenu, updatePosition)\n }\n\n _scheduleSubmenuClose(submenu, submenuWrapper) {\n this._cancelSubmenuCloseTimeout(submenu)\n\n const timeoutId = setTimeout(() => {\n this._closeSubmenu(submenu, submenuWrapper)\n this._submenuCloseTimeouts.delete(submenu)\n }, this._config.submenuDelay)\n\n this._submenuCloseTimeouts.set(submenu, timeoutId)\n }\n\n _cancelSubmenuCloseTimeout(submenu) {\n const timeoutId = this._submenuCloseTimeouts.get(submenu)\n if (timeoutId) {\n clearTimeout(timeoutId)\n this._submenuCloseTimeouts.delete(submenu)\n }\n }\n\n _clearAllSubmenuTimeouts() {\n for (const timeoutId of this._submenuCloseTimeouts.values()) {\n clearTimeout(timeoutId)\n }\n\n this._submenuCloseTimeouts.clear()\n }\n\n // -------------------------------------------------------------------------\n // Hover intent / Safe triangle\n // -------------------------------------------------------------------------\n\n _trackMousePosition(event) {\n this._hoverIntentData = {\n x: event.clientX,\n y: event.clientY,\n timestamp: Date.now()\n }\n }\n\n _isMovingTowardSubmenu(event, submenu) {\n if (!this._hoverIntentData) {\n return false\n }\n\n const submenuRect = submenu.getBoundingClientRect()\n const currentPos = { x: event.clientX, y: event.clientY }\n const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n const isRtl = isRTL()\n const targetX = isRtl ? submenuRect.right : submenuRect.left\n const topCorner = { x: targetX, y: submenuRect.top }\n const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n }\n\n _pointInTriangle(point, v1, v2, v3) {\n const d1 = triangleSign(point, v1, v2)\n const d2 = triangleSign(point, v2, v3)\n const d3 = triangleSign(point, v3, v1)\n\n const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n return !(hasNeg && hasPos)\n }\n\n // -------------------------------------------------------------------------\n // Keyboard navigation\n // -------------------------------------------------------------------------\n\n _selectMenuItem({ key, target }) {\n const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n .filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n _handleSubmenuKeydown(event) {\n const { key, target } = event\n const isRtl = isRTL()\n\n const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n event.preventDefault()\n event.stopPropagation()\n\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (submenu) {\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(target, submenu, submenuWrapper)\n requestAnimationFrame(() => {\n const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n if (firstItem) {\n firstItem.focus()\n }\n })\n }\n\n return true\n }\n\n if (key === enterKey && isSubmenuTrigger) {\n event.preventDefault()\n event.stopPropagation()\n\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (submenu) {\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(target, submenu, submenuWrapper)\n requestAnimationFrame(() => {\n const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n if (firstItem) {\n firstItem.focus()\n }\n })\n }\n\n return true\n }\n\n if (key === exitKey) {\n const currentMenu = target.closest(SELECTOR_MENU)\n const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n if (parentSubmenuWrapper) {\n event.preventDefault()\n event.stopPropagation()\n\n const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n if (parentTrigger) {\n parentTrigger.focus()\n }\n\n return true\n }\n }\n\n if (key === HOME_KEY || key === END_KEY) {\n event.preventDefault()\n event.stopPropagation()\n\n const currentMenu = target.closest(SELECTOR_MENU)\n const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n .filter(element => isVisible(element))\n\n if (items.length) {\n const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n targetItem.focus()\n }\n\n return true\n }\n\n return false\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n for (const instance of Menu._openInstances) {\n if (instance._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(instance._menu)\n if (\n composedPath.includes(instance._element) ||\n (instance._config.autoClose === 'inside' && !isMenuTarget) ||\n (instance._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n if (instance._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: instance._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n instance._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n if (!getToggleButton) {\n return\n }\n\n const instance = Menu.getOrCreateInstance(getToggleButton)\n\n if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n return\n }\n\n if (isUpOrDownEvent) {\n event.preventDefault()\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (isEscapeEvent && instance._isShown()) {\n event.preventDefault()\n event.stopPropagation()\n\n const currentMenu = event.target.closest(SELECTOR_MENU)\n const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n if (parentTrigger) {\n parentTrigger.focus()\n }\n\n return\n }\n\n 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, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Menu.getOrCreateInstance(this).toggle()\n})\n\nexport default Menu\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap combobox.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 Menu from './menu.js'\nimport { getNextActiveElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'combobox'\nconst DATA_KEY = 'bs.combobox'\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 HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SELECTED = 'selected'\nconst CLASS_NAME_PLACEHOLDER = 'combobox-placeholder'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"combobox\"]'\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_MENU_ITEM = '.menu-item[data-bs-value]'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item[data-bs-value]:not(.disabled):not(:disabled)'\nconst SELECTOR_VALUE = '.combobox-value'\nconst SELECTOR_SEARCH_INPUT = '.combobox-search-input'\nconst SELECTOR_NO_RESULTS = '.combobox-no-results'\n\nconst Default = {\n boundary: 'clippingParents',\n multiple: false,\n name: null,\n offset: [0, 2],\n placeholder: '',\n placement: 'bottom-start',\n search: false,\n searchNormalize: false\n}\n\nconst DefaultType = {\n boundary: '(string|element)',\n multiple: 'boolean',\n name: '(string|null)',\n offset: '(array|string|function)',\n placeholder: 'string',\n placement: 'string',\n search: 'boolean',\n searchNormalize: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Combobox extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._toggle = this._element\n this._menu = SelectorEngine.next(this._toggle, SELECTOR_MENU)[0]\n this._valueDisplay = SelectorEngine.findOne(SELECTOR_VALUE, this._toggle)\n this._searchInput = SelectorEngine.findOne(SELECTOR_SEARCH_INPUT, this._menu)\n this._noResults = SelectorEngine.findOne(SELECTOR_NO_RESULTS, this._menu)\n this._hiddenInput = null\n this._menuInstance = null\n\n this._createHiddenInput()\n this._createMenuInstance()\n this._syncInitialSelection()\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() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._toggle) || this._isShown()) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW)\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._menuInstance.show()\n\n if (this._searchInput) {\n this._searchInput.value = ''\n this._filterItems('')\n requestAnimationFrame(() => this._searchInput.focus())\n }\n\n EventHandler.trigger(this._toggle, EVENT_SHOWN)\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._menuInstance.hide()\n EventHandler.trigger(this._toggle, EVENT_HIDDEN)\n }\n\n dispose() {\n if (this._menuInstance) {\n this._menuInstance.dispose()\n this._menuInstance = null\n }\n\n if (this._hiddenInput) {\n this._hiddenInput.remove()\n this._hiddenInput = null\n }\n\n EventHandler.off(this._menu, EVENT_KEY)\n EventHandler.off(this._toggle, EVENT_KEY)\n\n super.dispose()\n }\n\n // Private\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createHiddenInput() {\n const { name } = this._config\n if (!name) {\n return\n }\n\n this._hiddenInput = document.createElement('input')\n this._hiddenInput.type = 'hidden'\n this._hiddenInput.name = name\n this._hiddenInput.value = ''\n this._toggle.parentNode.insertBefore(this._hiddenInput, this._toggle)\n }\n\n _createMenuInstance() {\n this._menuInstance = new Menu(this._toggle, {\n menu: this._menu,\n autoClose: this._config.multiple ? 'outside' : true,\n boundary: this._config.boundary,\n offset: this._config.offset,\n placement: this._config.placement\n })\n }\n\n _syncInitialSelection() {\n const selectedItems = this._getSelectedItems()\n if (selectedItems.length > 0) {\n this._updateToggleText()\n this._updateHiddenInput()\n } else {\n this._showPlaceholder()\n }\n }\n\n _addEventListeners() {\n EventHandler.on(this._menu, 'click', SELECTOR_MENU_ITEM, event => {\n const item = event.target.closest(SELECTOR_MENU_ITEM)\n if (!item || isDisabled(item)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n this._selectItem(item)\n })\n\n EventHandler.on(this._toggle, 'keydown', event => {\n this._handleToggleKeydown(event)\n })\n\n EventHandler.on(this._menu, 'keydown', event => {\n this._handleMenuKeydown(event)\n })\n\n if (this._searchInput) {\n EventHandler.on(this._searchInput, 'input', () => {\n this._filterItems(this._searchInput.value)\n })\n\n EventHandler.on(this._searchInput, 'keydown', event => {\n if (event.key === ARROW_DOWN_KEY) {\n event.preventDefault()\n const items = this._getVisibleItems()\n if (items.length > 0) {\n items[0].focus()\n }\n }\n\n if (event.key === ESCAPE_KEY) {\n this.hide()\n this._toggle.focus()\n }\n })\n }\n }\n\n _selectItem(item) {\n if (this._config.multiple) {\n item.classList.toggle(CLASS_NAME_SELECTED)\n item.setAttribute('aria-selected', item.classList.contains(CLASS_NAME_SELECTED))\n } else {\n const previouslySelected = SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n for (const prev of previouslySelected) {\n prev.classList.remove(CLASS_NAME_SELECTED)\n prev.setAttribute('aria-selected', 'false')\n }\n\n item.classList.add(CLASS_NAME_SELECTED)\n item.setAttribute('aria-selected', 'true')\n }\n\n this._updateToggleText()\n this._updateHiddenInput()\n\n const value = this._config.multiple ?\n this._getSelectedItems().map(el => el.dataset.bsValue) :\n item.dataset.bsValue\n\n EventHandler.trigger(this._toggle, EVENT_CHANGE, {\n value,\n item\n })\n\n if (!this._config.multiple) {\n this.hide()\n this._toggle.focus()\n }\n }\n\n _updateToggleText() {\n const selectedItems = this._getSelectedItems()\n\n if (selectedItems.length === 0) {\n this._showPlaceholder()\n return\n }\n\n this._valueDisplay.classList.remove(CLASS_NAME_PLACEHOLDER)\n\n if (this._config.multiple && selectedItems.length > 1) {\n this._valueDisplay.textContent = `${selectedItems.length} selected`\n } else {\n const item = selectedItems[0]\n const label = SelectorEngine.findOne('.menu-item-content > span:first-child', item)\n this._valueDisplay.textContent = label ? label.textContent : item.textContent.trim()\n }\n }\n\n _showPlaceholder() {\n const { placeholder } = this._config\n if (placeholder) {\n this._valueDisplay.textContent = placeholder\n this._valueDisplay.classList.add(CLASS_NAME_PLACEHOLDER)\n }\n }\n\n _updateHiddenInput() {\n if (!this._hiddenInput) {\n return\n }\n\n const selectedItems = this._getSelectedItems()\n const values = selectedItems.map(el => el.dataset.bsValue)\n this._hiddenInput.value = this._config.multiple ? values.join(',') : (values[0] || '')\n }\n\n _getSelectedItems() {\n return SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n }\n\n _getVisibleItems() {\n return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu)\n .filter(item => isVisible(item))\n }\n\n _filterItems(query) {\n const normalizedQuery = this._normalizeText(query.toLowerCase().trim())\n const items = SelectorEngine.find(SELECTOR_MENU_ITEM, this._menu)\n let visibleCount = 0\n\n for (const item of items) {\n const text = this._normalizeText(item.textContent.toLowerCase().trim())\n const matches = !normalizedQuery || text.includes(normalizedQuery)\n item.style.display = matches ? '' : 'none'\n if (matches) {\n visibleCount++\n }\n }\n\n if (this._noResults) {\n this._noResults.classList.toggle('d-none', visibleCount > 0)\n }\n }\n\n _normalizeText(text) {\n if (this._config.searchNormalize) {\n return text.normalize('NFD').replace(/[\\u0300-\\u036F]/g, '')\n }\n\n return text\n }\n\n _handleToggleKeydown(event) {\n const { key } = event\n\n if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n event.preventDefault()\n if (!this._isShown()) {\n this.show()\n }\n\n const items = this._getVisibleItems()\n if (items.length > 0) {\n const target = key === ARROW_DOWN_KEY ? items[0] : items[items.length - 1]\n target.focus()\n }\n\n return\n }\n\n if ((key === ENTER_KEY || key === SPACE_KEY) && !this._isShown()) {\n event.preventDefault()\n this.show()\n }\n }\n\n _handleMenuKeydown(event) {\n const { key, target } = event\n\n if (key === ESCAPE_KEY) {\n event.preventDefault()\n event.stopPropagation()\n this.hide()\n this._toggle.focus()\n return\n }\n\n if (key === TAB_KEY) {\n this.hide()\n return\n }\n\n const isInput = target.matches('input')\n\n if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n event.preventDefault()\n const items = this._getVisibleItems()\n if (items.length > 0) {\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n return\n }\n\n if (key === HOME_KEY || key === END_KEY) {\n event.preventDefault()\n const items = this._getVisibleItems()\n if (items.length > 0) {\n const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n targetItem.focus()\n }\n\n return\n }\n\n if ((key === ENTER_KEY || key === SPACE_KEY) && !isInput) {\n event.preventDefault()\n const item = target.closest(SELECTOR_MENU_ITEM)\n if (item && !isDisabled(item)) {\n this._selectItem(item)\n }\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Combobox.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]()\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Combobox.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n for (const toggle of SelectorEngine.find(SELECTOR_DATA_TOGGLE)) {\n Combobox.getOrCreateInstance(toggle)\n }\n})\n\nexport default Combobox\n","/*! name: vanilla-calendar-pro v3.1.0 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */\nvar __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,\"symbol\"!=typeof t?t+\"\":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the \"init()\" method first.',notLocale:\"You specified an incorrect language label or did not specify the required number of values for «locale.weekdays» or «locale.months».\",incorrectTime:\"The value of the time property can be: false, 12 or 24.\",incorrectMonthsCount:\"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1.\"},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,a,o,l;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(a=null==(n=e.context.inputElement)?void 0:n.replaceWith)||a.call(n,e.context.originalElement),setContext(e,\"inputElement\",void 0)):null==(l=(o=e.context.mainElement).replaceWith)||l.call(o,e.context.originalElement),setContext(e,\"mainElement\",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},skipOpenOnFocus=new WeakSet,shouldSkipOpenOnFocus=e=>skipOpenOnFocus.has(e),setSkipOpenOnFocus=e=>{skipOpenOnFocus.add(e)},clearSkipOpenOnFocus=e=>{skipOpenOnFocus.delete(e)},PREV_TABINDEX_ATTR=\"data-vc-prev-tabindex\",isFocusable=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),storePrevTabIndex=e=>{if(e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(\"tabindex\");e.setAttribute(PREV_TABINDEX_ATTR,null!=t?t:\"\")},restorePrevTabIndex=e=>{if(!e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(PREV_TABINDEX_ATTR);\"\"===t||null===t?e.removeAttribute(\"tabindex\"):e.setAttribute(\"tabindex\",t),e.removeAttribute(PREV_TABINDEX_ATTR)},disableTabbing=e=>{isFocusable(e)&&(storePrevTabIndex(e),e.tabIndex=-1);const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>isFocusable(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();){const e=t.currentNode;storePrevTabIndex(e),e.tabIndex=-1}},restoreTabbing=e=>{restorePrevTabIndex(e),e.querySelectorAll(`[${PREV_TABINDEX_ATTR}]`).forEach(restorePrevTabIndex)},hide=e=>{if(e.context.isShowInInputMode&&e.context.currentType){if(e.context.mainElement.dataset.vcCalendarHidden=\"\",setContext(e,\"isShowInInputMode\",!1),e.inputMode&&disableTabbing(e.context.mainElement),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach((e=>e())),setContext(e,\"cleanupHandlers\",[])),e.inputMode&&e.context.inputElement&&e.context.mainElement.contains(document.activeElement)){(\"function\"==typeof e.openOnFocus||!0===e.openOnFocus)&&setSkipOpenOnFocus(e),e.context.inputElement.focus()}e.onHide&&e.onHide(e)}};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:a,left:o}=getOffset(e),{vh:l,vw:s}=getViewportDimensions(),i=a-t,r=o-n;return{top:i,bottom:l-(i+e.clientHeight),left:r,right:s-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const a={top:!0,bottom:!0,left:!0,right:!0},o=[];if(!t||!e)return{canShow:a,parentPositions:o};const{bottom:l,top:s}=calculateAvailableSpace(e),{top:i,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:m}=getViewportDimensions(),p=m/2,h=u/2;return[{condition:i<h,position:\"top\"},{condition:i>h,position:\"bottom\"},{condition:r<p,position:\"left\"},{condition:r>p,position:\"right\"}].forEach((({condition:e,position:t})=>{e&&o.push(t)})),Object.assign(a,{top:c<=s-n,bottom:c<=l-n,left:d<=r,right:d<=m-r}),{canShow:a,parentPositions:o}}const handleDay=(e,t,n,a)=>{var o;const l=a.querySelector(`[data-vc-date=\"${t}\"]`),s=null==l?void 0:l.querySelector(\"[data-vc-date-btn]\");if(!l||!s)return;if((null==n?void 0:n.modifier)&&s.classList.add(...n.modifier.trim().split(\" \")),!(null==n?void 0:n.html))return;const i=document.createElement(\"div\");i.className=e.styles.datePopup,i.dataset.vcDatePopup=\"\",i.innerHTML=e.sanitizerHTML(n.html),s.ariaExpanded=\"true\",s.ariaLabel=`${s.ariaLabel}, ${null==(o=null==i?void 0:i.textContent)?void 0:o.replace(/^\\s+|\\s+(?=\\s)|\\s+$/g,\"\").replace(/ /g,\" \")}`,l.appendChild(i),requestAnimationFrame((()=>{if(!i)return;const{canShow:e}=getAvailablePosition(l,i),t=e.bottom?l.offsetHeight:-i.offsetHeight,n=e.left&&!e.right?l.offsetWidth-i.offsetWidth/2:!e.left&&e.right?i.offsetWidth/2:0;Object.assign(i.style,{left:`${n}px`,top:`${t}px`})}))},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach((([n,a])=>handleDay(e,n,a,t))))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,\"0\")}-${String(e.getDate()).padStart(2,\"0\")}`,parseDates=e=>e.reduce(((e,t)=>{if(t instanceof Date||\"number\"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\\d{4}-\\d{2}-\\d{2})$/g)?e.push(t):t.replace(/(\\d{4}-\\d{2}-\\d{2}).*?(\\d{4}-\\d{2}-\\d{2})/g,((t,n,a)=>{const o=getDate(n),l=getDate(a),s=new Date(o.getTime());for(;s<=l;s.setDate(s.getDate()+1))e.push(getDateString(s));return t}));return e}),[]),updateAttribute=(e,t,n,a=\"\")=>{t?e.setAttribute(n,a):e.getAttribute(n)===a&&e.removeAttribute(n)},setDateModifier=(e,t,n,a,o,l,s)=>{var i,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(l)||getDate(e.context.displayDateMax)<getDate(l)||(null==(i=e.context.disableDates)?void 0:i.includes(l))||!e.selectionMonthsMode&&\"current\"!==s||!e.selectionYearsMode&&getDate(l).getFullYear()!==t;updateAttribute(n,u,\"data-vc-date-disabled\"),a&&updateAttribute(a,u,\"aria-disabled\",\"true\"),a&&updateAttribute(a,u,\"tabindex\",\"-1\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"data-vc-date-today\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"aria-current\",\"date\"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(o),\"data-vc-date-weekend\");const m=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,m.includes(l),\"data-vc-date-holiday\"),(null==(d=e.context.selectedDates)?void 0:d.includes(l))?(n.setAttribute(\"data-vc-date-selected\",\"\"),a&&a.setAttribute(\"aria-selected\",\"true\"),e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode&&(e.context.selectedDates[0]===l&&e.context.selectedDates[e.context.selectedDates.length-1]===l?n.setAttribute(\"data-vc-date-selected\",\"first-and-last\"):e.context.selectedDates[0]===l?n.setAttribute(\"data-vc-date-selected\",\"first\"):e.context.selectedDates[e.context.selectedDates.length-1]===l&&n.setAttribute(\"data-vc-date-selected\",\"last\"),e.context.selectedDates[0]!==l&&e.context.selectedDates[e.context.selectedDates.length-1]!==l&&n.setAttribute(\"data-vc-date-selected\",\"middle\"))):n.hasAttribute(\"data-vc-date-selected\")&&(n.removeAttribute(\"data-vc-date-selected\"),a&&a.removeAttribute(\"aria-selected\")),!e.context.disableDates.includes(l)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),a=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),o=getDate(l);updateAttribute(n,o>t&&o<a,\"data-vc-date-selected\",\"middle\")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),a=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-a);const o=new Date(n.getFullYear(),0,1),l=Math.ceil(((+n-+o)/864e5+1)/7);return{year:n.getFullYear(),week:l}},addWeekNumberForDate=(e,t,n)=>{const a=getWeekNumber(n,e.firstWeekday);a&&(t.dataset.vcDateWeekNumber=String(a.week))},setDaysAsDisabled=(e,t,n)=>{var a,o,l,s,i;const r=null==(a=e.disableWeekdays)?void 0:a.includes(n),c=e.disableAllDates&&!!(null==(o=e.context.enableDates)?void 0:o[0]);!r&&!c||(null==(l=e.context.enableDates)?void 0:l.includes(t))||(null==(s=e.context.disableDates)?void 0:s.includes(t))||(e.context.disableDates.push(t),null==(i=e.context.disableDates)||i.sort(((e,t)=>+new Date(e)-+new Date(t))))},createDate=(e,t,n,a,o,l)=>{const s=getDate(o).getDay(),i=\"string\"==typeof e.locale&&e.locale.length?e.locale:\"en\",r=document.createElement(\"div\");let c;r.className=e.styles.date,r.dataset.vcDate=o,r.dataset.vcDateMonth=l,r.dataset.vcDateWeekDay=String(s),r.role=\"gridcell\",(\"current\"===l||e.displayDatesOutside)&&(c=document.createElement(\"button\"),c.className=e.styles.dateBtn,c.type=\"button\",c.ariaLabel=getLocaleString(o,i,{dateStyle:\"long\",timeZone:\"UTC\"}),c.dataset.vcDateBtn=\"\",c.innerText=String(a),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,o),setDaysAsDisabled(e,o,s),setDateModifier(e,t,r,c,s,o,l),n.addDate(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,a,o)=>{for(let l=1;l<=n;l++){const n=new Date(a,o,l);createDate(e,a,t,l,getDateString(n),\"current\")}},createDatesFromNextMonth=(e,t,n,a,o)=>{const l=o+1===12?a+1:a,s=o+1===12?\"01\":o+2<10?`0${o+2}`:o+2;for(let o=1;o<=n;o++){const n=o<10?`0${o}`:String(o);createDate(e,a,t,o,`${l}-${s}-${n}`,\"next\")}},createDatesFromPrevMonth=(e,t,n,a,o)=>{let l=new Date(n,a,0).getDate()-(o-1);const s=0===a?n-1:n,i=0===a?12:a<10?`0${a}`:a;for(let a=o;a>0;a--,l++){createDate(e,n,t,l,`${s}-${i}-${l}`,\"prev\")}},createWeekNumbers=(e,t,n,a,o)=>{if(!e.enableWeekNumbers)return;a.textContent=\"\";const l=document.createElement(\"b\");l.className=e.styles.weekNumbersTitle,l.innerText=\"#\",l.dataset.vcWeekNumbers=\"title\",a.appendChild(l);const s=document.createElement(\"div\");s.className=e.styles.weekNumbersContent,s.dataset.vcWeekNumbers=\"content\",a.appendChild(s);const i=document.createElement(\"button\");i.type=\"button\",i.className=e.styles.weekNumber;const r=o.querySelectorAll(\"[data-vc-date]\"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,a=getWeekNumber(n,e.firstWeekday);if(!a)return;const o=i.cloneNode(!0);o.innerText=String(a.week),o.dataset.vcWeekNumber=String(a.week),o.dataset.vcWeekYear=String(a.year),o.role=\"rowheader\",o.ariaLabel=`${a.week}`,s.appendChild(o)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc=\"dates\"]'),a=e.context.mainElement.querySelectorAll('[data-vc-week=\"numbers\"]');n.forEach(((n,o)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=\"\"),n.textContent=\"\";const l=new Date(t);l.setMonth(l.getMonth()+o);const s=l.getMonth(),i=l.getFullYear(),r=(new Date(i,s,1).getDay()-e.firstWeekday+7)%7,c=new Date(i,s+1,0).getDate(),d=r+c,u=Math.ceil(d/7),m=7*u-d,p=[];for(let t=0;t<u;t++){const t=document.createElement(\"div\");t.className=e.styles.datesRow,t.setAttribute(\"data-vc-dates\",\"row\"),t.setAttribute(\"role\",\"row\"),p.push(t)}let h=0,v=0;const g={addDate:e=>{p[h].appendChild(e),v++,v>=7&&(h++,v=0)}};createDatesFromPrevMonth(e,g,i,s,r),createDatesFromCurrentMonth(e,g,c,i,s),createDatesFromNextMonth(e,g,m,i,s);for(const e of p)n.appendChild(e);createDatePopup(e,n),createWeekNumbers(e,r,c,a[o],n)}))},layoutDefault=e=>`\\n <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <#ArrowPrev [month] />\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n <#ArrowNext [month] />\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <#WeekNumbers />\\n <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n <#Week />\\n <#Dates />\\n <#DateRangeTooltip />\\n </div>\\n </div>\\n <#ControlTime />\\n`,layoutMonths=e=>`\\n <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <div class=\"${e.styles.content}\" data-vc=\"content\">\\n <#Months />\\n </div>\\n </div>\\n`,layoutMultiple=e=>`\\n <div class=\"${e.styles.controls}\" data-vc=\"controls\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <#ArrowPrev [month] />\\n <#ArrowNext [month] />\\n </div>\\n <div class=\"${e.styles.grid}\" data-vc=\"grid\">\\n <#Multiple>\\n <div class=\"${e.styles.column}\" data-vc=\"column\" role=\"region\">\\n <div class=\"${e.styles.header}\" data-vc=\"header\">\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <#WeekNumbers />\\n <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n <#Week />\\n <#Dates />\\n </div>\\n </div>\\n </div>\\n <#/Multiple>\\n <#DateRangeTooltip />\\n </div>\\n <#ControlTime />\\n`,layoutYears=e=>`\\n <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <#ArrowPrev [year] />\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n <#ArrowNext [year] />\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <div class=\"${e.styles.content}\" data-vc=\"content\">\\n <#Years />\\n </div>\\n </div>\\n`,ArrowNext=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowNext}\" data-vc-arrow=\"next\" aria-label=\"${e.labels.arrowNext[t]}\"></button>`,ArrowPrev=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowPrev}\" data-vc-arrow=\"prev\" aria-label=\"${e.labels.arrowPrev[t]}\"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class=\"${e.styles.time}\" data-vc=\"time\" role=\"group\" aria-label=\"${e.labels.selectingTime}\"></div>`:\"\",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class=\"${e.styles.dateRangeTooltip}\" data-vc-date-range-tooltip=\"hidden\"></div>`:\"\",Dates=e=>`<div class=\"${e.styles.dates}\" data-vc=\"dates\" aria-live=\"assertive\" aria-label=\"${e.labels.dates}\" ${\"multiple\"===e.type?\"aria-multiselectable\":\"\"}></div>`,Month=e=>`<button type=\"button\" class=\"${e.styles.month}\" data-vc=\"month\"></button>`,Months=e=>`<div class=\"${e.styles.months}\" data-vc=\"months\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.months}\"></div>`,Week=e=>`<div class=\"${e.styles.week}\" data-vc=\"week\" role=\"row\" aria-label=\"${e.labels.week}\"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class=\"${e.styles.weekNumbers}\" data-vc-week=\"numbers\" role=\"row\" aria-label=\"${e.labels.weekNumber}\"></div>`:\"\",Year=e=>`<button type=\"button\" class=\"${e.styles.year}\" data-vc=\"year\"></button>`,Years=e=>`<div class=\"${e.styles.years}\" data-vc=\"years\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.years}\"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\\n\\t]/g,\"\").replace(/<#(?!\\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\\[(.*?)\\]/)||[])[1],o=n.replace(/[/\\s\\n\\t]|\\[(.*?)\\]/g,\"\"),l=getComponent(o),s=l?l(e,null!=a?a:null):\"\";return e.sanitizerHTML(s)})).replace(/[\\n\\t]/g,\"\"),parseMultipleLayout=(e,t)=>t.replace(new RegExp(\"<#Multiple>(.*?)<#\\\\/Multiple>\",\"gs\"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join(\"\");return e.sanitizerHTML(a)})).replace(/[\\n\\t]/g,\"\"),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e))})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc=\"calendar\",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role=\"application\",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,\"multiple\"!==e.context.currentType){if(\"multiple\"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc=\"controls\"]'),a=e.context.mainElement.querySelector('[data-vc=\"grid\"]'),o=t.closest('[data-vc=\"column\"]');return n&&n.remove(),a&&(a.dataset.vcGrid=\"hidden\"),o&&(o.dataset.vcColumn=e.context.currentType),void(o&&(o.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?\"hidden\":\"\",t.style.visibility=a?\"hidden\":\"\"},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),o=new Date(a.getTime()),l=new Date(a.getTime());o.setMonth(o.getMonth()-e.monthsToSwitch),l.setMonth(l.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||o.getFullYear()<s.getFullYear()||o.getFullYear()===s.getFullYear()&&o.getMonth()<s.getMonth(),c=!e.selectionMonthsMode||l.getFullYear()>i.getFullYear()||l.getFullYear()===i.getFullYear()&&l.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(o.getFullYear()&&e.context.displayYear+7>=o.getFullYear());setVisibilityArrows(t,n,l,s)},visibilityArrows=e=>{if(\"month\"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow=\"prev\"]'),n=e.context.mainElement.querySelector('[data-vc-arrow=\"next\"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})[\"multiple\"===e.context.currentType?\"default\":e.context.currentType]()},visibilityHandler=(e,t,n,a,o)=>{const l=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc=\"column\"]');r&&(r.ariaLabel=`${i} ${l}`);const c={month:{id:s,label:i},year:{id:l,label:l}};t.innerText=String(c[o].label),t.dataset[`vc${o.charAt(0).toUpperCase()+o.slice(1)}`]=String(c[o].id),t.ariaLabel=`${e.labels[o]} ${c[o].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[o]||\"only-arrows\"===d[o];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc=\"month\"]'),n=e.context.mainElement.querySelectorAll('[data-vc=\"year\"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))))},setYearModifier=(e,t,n,a,o)=>{var l;const s={month:\"[data-vc-months-month]\",year:\"[data-vc-years-year]\"},i={month:{selected:\"data-vc-months-month-selected\",aria:\"aria-selected\",value:\"vcMonthsMonth\",selectedProperty:\"selectedMonth\"},year:{selected:\"data-vc-years-year-selected\",aria:\"aria-selected\",value:\"vcYearsYear\",selectedProperty:\"selectedYear\"}};o&&(null==(l=e.context.mainElement.querySelectorAll(s[n]))||l.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria)})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),\"year\"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,\"\"),t.setAttribute(i[n].aria,\"true\"))},getColumnID=(e,t)=>{var n;if(\"multiple\"!==e.type)return{currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc=\"column\"]'),o=Array.from(a).findIndex((e=>e.closest(`[data-vc-column=\"${t}\"]`)));return{currentValue:o>=0?Number(null==(n=a[o].querySelector(`[data-vc=\"${t}\"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(o,0)}},createMonthEl=(e,t,n,a,o,l,s)=>{const i=t.cloneNode(!1);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=o,i.role=\"gridcell\",i.dataset.vcMonthsMonth=`${s}`,l&&(i.ariaDisabled=\"true\"),l&&(i.tabIndex=-1),i.disabled=l,setYearModifier(e,i,\"month\",n===s,!1),i},createMonths=(e,t)=>{var n,a;const o=null==(n=null==t?void 0:t.closest('[data-vc=\"header\"]'))?void 0:n.querySelector('[data-vc=\"year\"]'),l=o?Number(o.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,\"currentType\",\"month\"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc=\"months\"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement(\"button\");c.type=\"button\";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,\"month\"),u=l<=n.getFullYear()&&t<n.getMonth()+d||l>=a.getFullYear()&&t>a.getMonth()-o+d||l>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m)}null==(a=e.context.mainElement.querySelector(\"[data-vc-months-month]:not([disabled])\"))||a.focus()},TimeInput=(e,t,n,a,o)=>`\\n <label class=\"${t}\" data-vc-time-input=\"${e}\">\\n <input type=\"text\" name=\"${e}\" maxlength=\"2\" aria-label=\"${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${a}\" ${o?\"disabled\":\"\"}>\\n </label>\\n`,TimeRange=(e,t,n,a,o,l,s)=>`\\n <label class=\"${t}\" data-vc-time-range=\"${e}\">\\n <input type=\"range\" name=\"${e}\" min=\"${a}\" max=\"${o}\" step=\"${l}\" aria-label=\"${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${s}\">\\n </label>\\n`,handleActions=(e,t,n,a)=>{({hour:()=>setContext(e,\"selectedHours\",n),minute:()=>setContext(e,\"selectedMinutes\",n)})[a](),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:\"\"}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:\"00\",PM:\"12\"},1:{AM:\"01\",PM:\"13\"},2:{AM:\"02\",PM:\"14\"},3:{AM:\"03\",PM:\"15\"},4:{AM:\"04\",PM:\"16\"},5:{AM:\"05\",PM:\"17\"},6:{AM:\"06\",PM:\"18\"},7:{AM:\"07\",PM:\"19\"},8:{AM:\"08\",PM:\"20\"},9:{AM:\"09\",PM:\"21\"},10:{AM:\"10\",PM:\"22\"},11:{AM:\"11\",PM:\"23\"},12:{AM:\"00\",PM:\"12\"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,o)=>{const l=l=>{const s=\"AM\"===e.context.selectedKeeping?\"PM\":\"AM\",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=o?(setContext(e,\"selectedKeeping\",s),n.value=i,handleActions(e,l,e.context.selectedHours,\"hour\"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,l,!0)};return t.addEventListener(\"click\",l),()=>{t.removeEventListener(\"click\",l)}},transformTime12=e=>({0:\"12\",13:\"01\",14:\"02\",15:\"03\",16:\"04\",17:\"05\",18:\"06\",19:\"07\",20:\"08\",21:\"09\",22:\"10\",23:\"11\"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleInput$1=(e,t,n,a,o,l,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=l&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,\"PM\"),handleActions(e,c,transformTime12(r),o)},24:()=>{if(!(i<=l&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,o)}})[e.selectionTimeMode]()},minute:(a,i,r)=>{if(!(a<=l&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=i,t.value=i,handleActions(e,r,i,o)}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,\"0\");i[o]&&i[o](t,a,e)};return n.addEventListener(\"change\",r),()=>{n.removeEventListener(\"change\",r)}},updateInputAndTime=(e,t,n,a,o)=>{t.value=o,handleActions(e,n,o,a)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleRange=(e,t,n,a,o)=>{const l=l=>{const s=Number(t.value),i=t.value.padStart(2,\"0\"),r=\"hour\"===o,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?\"AM\":\"PM\"),updateInputAndTime(e,n,l,o,!r||c||d?i:transformTime12(t.value))};return t.addEventListener(\"input\",l),()=>{t.removeEventListener(\"input\",l)}},handleMouseOver=e=>e.setAttribute(\"data-vc-input-focus\",\"\"),handleMouseOut=e=>e.removeAttribute(\"data-vc-input-focus\"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range=\"hour\"] input[name=\"hour\"]'),a=t.querySelector('[data-vc-time-range=\"minute\"] input[name=\"minute\"]'),o=t.querySelector('[data-vc-time-input=\"hour\"] input[name=\"hour\"]'),l=t.querySelector('[data-vc-time-input=\"minute\"] input[name=\"minute\"]'),s=t.querySelector('[data-vc-time=\"keeping\"]');if(!(n&&a&&o&&l))return;const i=e=>{e.target===n&&handleMouseOver(o),e.target===a&&handleMouseOver(l)},r=e=>{e.target===n&&handleMouseOut(o),e.target===a&&handleMouseOut(l)};return t.addEventListener(\"mouseover\",i),t.addEventListener(\"mouseout\",r),handleInput$1(e,n,o,s,\"hour\",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,l,s,\"minute\",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,o,s,\"hour\"),handleRange(e,a,l,s,\"minute\"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener(\"mouseover\",i),t.removeEventListener(\"mouseout\",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc=\"time\"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[o,l]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i=\"range\"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\\n <div class=\"${e.styles.timeContent}\" data-vc-time=\"content\">\\n ${TimeInput(\"hour\",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\\n ${TimeInput(\"minute\",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\\n ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type=\"button\" class=\"${e.styles.timeKeeping}\" aria-label=\"${e.labels.btnKeeping} ${r}\" data-vc-time=\"keeping\" ${i?\"disabled\":\"\"}>${r}</button>`):\"\"}\\n </div>\\n <div class=\"${e.styles.timeRanges}\" data-vc-time=\"ranges\">\\n ${TimeRange(\"hour\",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\\n ${TimeRange(\"minute\",e.styles.timeRange,e.labels,o,l,e.timeStepMinute,e.context.selectedMinutes)}\\n </div>\\n `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,o)=>[...n,{id:o,titleShort:e.context.locale.weekdays.short[o],titleLong:a,isWeekend:t.includes(o)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc=\"week\"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement(\"button\"):document.createElement(\"b\");e.onClickWeekDay&&(n.type=\"button\"),a.forEach((a=>{const o=n.cloneNode(!0);o.innerText=a.titleShort,o.className=e.styles.weekDay,o.role=\"columnheader\",o.ariaLabel=a.titleLong,o.dataset.vcWeekDay=String(a.id),a.isWeekend&&(o.dataset.vcWeekDayOff=\"\"),t.appendChild(o)}))}))},createYearEl=(e,t,n,a,o)=>{const l=t.cloneNode(!1);return l.className=e.styles.yearsYear,l.innerText=String(o),l.ariaLabel=String(o),l.role=\"gridcell\",l.dataset.vcYearsYear=`${o}`,a&&(l.ariaDisabled=\"true\"),a&&(l.tabIndex=-1),l.disabled=a,setYearModifier(e,l,\"year\",n===o,!1),l},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,\"currentType\",\"year\"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const o=e.context.mainElement.querySelector('[data-vc=\"years\"]');if(!e.selectionYearsMode||!o)return;const l=\"multiple\"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement(\"button\");s.type=\"button\";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+l||t>getDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);o.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i)}null==(n=e.context.mainElement.querySelector(\"[data-vc-years-year]:not([disabled])\"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;a<e.length;a++){if(e[a].attributeName===t){n();break}}})).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?\"dark\":\"light\"),\"system\"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc=\"calendar\"]');null==t||t.forEach((t=>setTheme(t,e.matches?\"dark\":\"light\")))};t.addEventListener?t.addEventListener(\"change\",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\\[(.+)\\]/g,((e,t)=>t));if(!n||\"system\"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const o=n.getAttribute(a);o?(setTheme(e.context.mainElement,o),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t)}))):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{\"not all\"!==window.matchMedia(\"(prefers-color-scheme)\").media?\"system\"===e.selectedTheme?detectTheme(e,window.matchMedia(\"(prefers-color-scheme: dark)\")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,\"light\")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\\./,\"\"),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),o=a.toLocaleString(n,{weekday:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{weekday:\"long\",timeZone:\"UTC\"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(o)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(l))},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,\"0\")}-01T00:00:00.000Z`),o=a.toLocaleString(n,{month:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{month:\"long\",timeZone:\"UTC\"});e.context.locale.months.short.push(capitalizeFirstLetter(o)),e.context.locale.months.long.push(capitalizeFirstLetter(l))},getLocale=e=>{var t,n,a,o,l,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if(\"string\"==typeof e.locale){if(\"string\"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(o=null==(a=e.locale)?void 0:a.weekdays)?void 0:o.long[6])&&(null==(s=null==(l=e.locale)?void 0:l.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,\"locale\",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(![\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key)||\"button\"!==a.localName)return;const o=Array.from(e.context.mainElement.querySelectorAll('[data-vc=\"calendar\"] button')),l=o.indexOf(a);if(-1===l)return;const s=(i=o[l]).hasAttribute(\"data-vc-date-btn\")?7:i.hasAttribute(\"data-vc-months-month\")?4:i.hasAttribute(\"data-vc-years-year\")?5:1;var i;const r=(0,{ArrowUp:()=>Math.max(0,l-s),ArrowDown:()=>Math.min(o.length-1,l+s),ArrowLeft:()=>Math.max(0,l-1),ArrowRight:()=>Math.min(o.length-1,l+1)}[t.key])();null==(n=o[r])||n.focus()};return e.context.mainElement.addEventListener(\"keydown\",t),()=>e.context.mainElement.removeEventListener(\"keydown\",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,\"selectedMonth\",n.getMonth()),setContext(e,\"selectedYear\",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest(\"[data-vc-arrow]\");if(n){if([\"default\",\"multiple\"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if(\"year\"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,\"displayYear\",e.context.displayYear+a),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},resolveToggle=(e,t)=>void 0===t||(\"function\"==typeof t?t(e):t),canToggleSelection=e=>resolveToggle(e,e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,o=t.closest(\"[data-vc-date][data-vc-date-selected]\"),l=canToggleSelection(e);if(o&&!l)return;const s=o?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,\"selectedDates\",s)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip=\"hidden\",void(t.textContent=\"\");const a=e.context.mainElement.getBoundingClientRect(),o=n.getBoundingClientRect();t.style.left=o.left-a.left+o.width/2+\"px\",t.style.top=o.bottom-a.top-o.height+\"px\",t.dataset.vcDateRangeTooltip=\"visible\",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,o,a))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,o,l;if(!(null==(o=null==(a=state.self)?void 0:a.context)?void 0:o.selectedDates[0]))return;const s=getDateString(e);(null==(l=state.self.context.disableDates)?void 0:l.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${s}\"]`).forEach((e=>e.dataset.vcDateHover=\"\")),t.forEach((e=>e.dataset.vcDateHover=\"first\")),n.forEach((e=>{\"first\"===e.dataset.vcDateHover?e.dataset.vcDateHover=\"first-and-last\":e.dataset.vcDateHover=\"last\"})))},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll(\"[data-vc-date-hover]\").forEach((e=>e.removeAttribute(\"data-vc-date-hover\")))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc=\"dates\"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest(\"[data-vc-date]\");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const o=a.dataset.vcDate,l=getDate(state.self.context.selectedDates[0]),s=getDate(o),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${state.self.context.selectedDates[0]}\"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${o}\"]`),[c,d]=l<s?[i,r]:[r,i],[u,m]=l<s?[l,s]:[s,l];for(let e=new Date(u);e<=m;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest(\"[data-vc-date-selected]\");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame((()=>{e(n),state.isHovering=!1})))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&\"Escape\"===e.key&&(state.lastDateEl=null,setContext(state.self,\"selectedDates\",[]),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()}),50)},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const o=getDate(state.self.context.selectedDates[0]),[l,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[o>=n?n:e,o<n&&null===t?n:t]),[null,null]);l&&setContext(state.self,\"displayDateMin\",getDateString(new Date(l.setDate(l.getDate()+1)))),s&&setContext(state.self,\"displayDateMax\",getDateString(new Date(s.setDate(s.getDate()-1))));state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,\"displayDateMin\",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector(\"[data-vc-date-range-tooltip]\"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,\"selectedDates\",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.addEventListener(\"keydown\",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates)}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],o=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],l=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=o?e.enableEdgeDatesOnly?[n,a]:l:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,\"selectedDates\",s),e.disableDatesGaps&&(setContext(e,\"displayDateMin\",state.rangeMin),setContext(e,\"displayDateMax\",state.rangeMax)),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave)}}})[1===e.context.selectedDates.length?\"set\":\"reset\"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll(\"[data-vc-date]\").forEach((t=>{const n=t.querySelector(\"[data-vc-date-btn]\"),a=t.dataset.vcDate,o=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,o,a,\"current\")}))},handleClickDate=(e,t)=>{var n;const a=t.target,o=a.closest(\"[data-vc-date-btn]\");if(!e.selectionDatesMode||![\"single\",\"multiple\",\"multiple-ranged\"].includes(e.selectionDatesMode)||!o)return;const l=o.closest(\"[data-vc-date]\");({single:()=>handleSelectDate(e,l,!1),multiple:()=>handleSelectDate(e,l,!0),\"multiple-ranged\":()=>handleSelectDateRange(e,l)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month=\"prev\"]'),i=a.closest('[data-vc-date-month=\"next\"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"prev\"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"next\"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?\"prev\":i?\"next\":\"current\"]()},typeClick=[\"month\",\"year\"],getValue=(e,t,n)=>{const{currentValue:a,columnID:o}=getColumnID(e,t);return\"month\"===e.context.currentType&&o>=0?n-o:\"year\"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,\"year\",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,\"year\"),i=e.context.selectedMonth<a.getMonth()&&n<=a.getFullYear(),r=e.context.selectedMonth>o.getMonth()-l+s&&n>=o.getFullYear(),c=n<a.getFullYear(),d=n>o.getFullYear(),u=i||c?a.getFullYear():r||d?o.getFullYear():n,m=i||c?a.getMonth():r||d?o.getMonth()-l+s:e.context.selectedMonth;setContext(e,\"selectedYear\",u),setContext(e,\"selectedMonth\",m)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column=\"month\"]').querySelector('[data-vc=\"year\"]'),a=getValue(e,\"month\",Number(t.dataset.vcMonthsMonth)),o=Number(n.dataset.vcYear),l=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=a<l.getMonth()&&o<=l.getFullYear(),r=a>s.getMonth()&&o>=s.getFullYear();setContext(e,\"selectedYear\",o),setContext(e,\"selectedMonth\",i?l.getMonth():r?s.getMonth():a)},handleItemClick=(e,t,n,a)=>{var o;({year:()=>{if(\"multiple\"===e.type)return handleMultipleYearSelection(e,a);setContext(e,\"selectedYear\",Number(a.dataset.vcYearsYear))},month:()=>{if(\"multiple\"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,\"selectedMonth\",Number(a.dataset.vcMonthsMonth))}})[n]();({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}})[n](),e.context.currentType!==e.type?(setContext(e,\"currentType\",e.type),create(e),null==(o=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||o.focus()):setYearModifier(e,a,n,!0,!0)},handleClickType=(e,t,n)=>{var a;const o=t.target,l=o.closest(`[data-vc=\"${n}\"]`),s={year:()=>createYears(e,o),month:()=>createMonths(e,o)};if(l&&e.onClickTitle&&e.onClickTitle(e,t),l&&e.context.currentType!==n)return s[n]();const i=o.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=o.closest('[data-vc=\"grid\"]'),c=o.closest('[data-vc=\"column\"]');(e.context.currentType===n&&l||\"multiple\"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,\"currentType\",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||a.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a)}))},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest(\"[data-vc-week-number]\"),a=e.context.mainElement.querySelectorAll(\"[data-vc-date-week-number]\");if(!n||!a[0])return;const o=Number(n.innerText),l=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===o));e.onClickWeekNumber(e,o,l,s,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest(\"[data-vc-week-day]\"),a=t.target.closest('[data-vc=\"column\"]'),o=a?a.querySelectorAll(\"[data-vc-date-week-day]\"):e.context.mainElement.querySelectorAll(\"[data-vc-date-week-day]\");if(!n||!o[0])return;const l=Number(n.dataset.vcWeekDay),s=Array.from(o).filter((e=>Number(e.dataset.vcDateWeekDay)===l));e.onClickWeekDay(e,l,s,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener(\"click\",t),()=>e.context.mainElement.removeEventListener(\"click\",t)},initMonthsCount=e=>{if(\"multiple\"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if(\"multiple\"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,\"displayMonthsCount\",e.displayMonthsCount?e.displayMonthsCount:\"multiple\"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>\"today\"===e?getLocalDate():e instanceof Date||\"number\"==typeof e||\"string\"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const o=resolveDate(e.dateMin,e.dateMin),l=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,o),i=resolveDate(e.displayDateMax,l);setContext(e,\"dateToday\",resolveDate(e.dateToday,e.dateToday)),setContext(e,\"displayDateMin\",s?getDate(o)>=getDate(s)?o:s:o),setContext(e,\"displayDateMax\",i?getDate(l)<=getDate(i)?l:i:l);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)<getDate(e.context.dateToday);setContext(e,\"displayDateMin\",r||e.disableAllDates?e.context.dateToday:s),setContext(e,\"displayDateMax\",e.disableAllDates?e.context.dateToday:i),setContext(e,\"disableDates\",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,\"enableDates\",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,\"disableDates\",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,\"displayDateMin\",e.context.enableDates[0]),setContext(e,\"displayDateMax\",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,\"dateMin\",e.displayDisabledDates?o:e.context.displayDateMin),setContext(e,\"dateMax\",e.displayDisabledDates?l:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,\"selectedDates\",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&\"today\"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,a;if(e.displayDateMax&&\"today\"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,\"selectedMonth\",t),setContext(e,\"selectedYear\",n),setContext(e,\"displayYear\",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const o=12===e.selectionTimeMode,l=o?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(l))?void 0:n.slice(1))?a:[];s?o&&!r&&(r=\"AM\"):(s=o?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=o?Number(transformTime12(String(e.timeMinHour)))>=12?\"PM\":\"AM\":null),setContext(e,\"selectedHours\",s.padStart(2,\"0\")),setContext(e,\"selectedMinutes\",i.padStart(2,\"0\")),setContext(e,\"selectedKeeping\",r),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:\"\"}`)},initAllVariables=e=>{setContext(e,\"currentType\",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:a,time:o,locale:l},s=!0)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=o?r.time:e.context.selectedTime,e.selectedDates=\"only-first\"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:!0===a?r.dates:e.context.selectedDates,l){setContext(e,\"locale\",{months:{short:[],long:[]},weekdays:{short:[],long:[]}})}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,\"multiple-ranged\"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement(\"div\");return t.className=e.styles.calendar,t.dataset.vc=\"calendar\",t.dataset.vcInput=\"\",t.dataset.vcCalendarHidden=\"\",setContext(e,\"inputModeInit\",!0),setContext(e,\"isShowInInputMode\",!1),setContext(e,\"mainElement\",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},canOpenOnFocus=e=>resolveToggle(e,e.openOnFocus),handleInput=e=>{setContext(e,\"inputElement\",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e)};e.context.inputElement.addEventListener(\"click\",t);const n=\"function\"==typeof e.openOnFocus||!0===e.openOnFocus,a=()=>{shouldSkipOpenOnFocus(e)?clearSkipOpenOnFocus(e):canOpenOnFocus(e)&&t()};n&&e.context.inputElement.addEventListener(\"focus\",a);const o=t=>{const n=\"Tab\"===t.key&&!t.shiftKey,a=[\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key);(n||a)&&(t=>{var n;if(!e.context.isShowInInputMode)return!1;if(document.activeElement!==e.context.inputElement)return!1;const a=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),o=null!=(n=document.createTreeWalker(e.context.mainElement,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>a(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}).nextNode())?n:a(e.context.mainElement)?e.context.mainElement:null;!o||o.tabIndex<0||(t.preventDefault(),o.focus())})(t)};return e.context.inputElement.addEventListener(\"keydown\",o),()=>{e.context.inputElement.removeEventListener(\"click\",t),n&&e.context.inputElement.removeEventListener(\"focus\",a),e.context.inputElement.removeEventListener(\"keydown\",o)}},init=e=>(setContext(e,\"originalElement\",e.context.mainElement.cloneNode(!0)),setContext(e,\"isInit\",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a<n.length;a++){const o=n[a];\"object\"!=typeof e[o]||\"object\"!=typeof t[o]||t[o]instanceof Date||Array.isArray(t[o])?void 0!==t[o]&&(e[o]=t[o]):replaceProperties(e[o],t[o])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n=\"left\";if(!t||!e)return n;const{canShow:a,parentPositions:o}=getAvailablePosition(e,t),l=a.left&&a.right;return(l&&a.bottom?\"center\":l&&a.top?[\"top\",\"center\"]:Array.isArray(o)?[\"bottom\"===o[0]?\"top\":\"bottom\",...o.slice(1)]:o)||n}const setPosition=(e,t,n)=>{if(!e)return;const a=\"auto\"===n?findBestPickerPosition(e,t):n,o={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},l=Array.isArray(a)?a[0]:\"bottom\",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=l;const{top:i,left:r}=getOffset(e),c=i+o[l];let d=r+o[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,\"cleanupHandlers\",[]),setContext(e,\"isShowInInputMode\",!0),e.inputMode&&restoreTabbing(e.context.mainElement),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute(\"data-vc-calendar-hidden\");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener(\"resize\",t),e.context.cleanupHandlers.push((()=>window.removeEventListener(\"resize\",t)));const n=t=>{\"Escape\"===t.key&&hide(e)};document.addEventListener(\"keydown\",n),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"keydown\",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener(\"click\",a,{capture:!0}),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"click\",a,{capture:!0}))),e.onShow&&e.onShow(e)},labels={application:\"Calendar\",navigation:\"Calendar Navigation\",arrowNext:{month:\"Next month\",year:\"Next list of years\"},arrowPrev:{month:\"Previous month\",year:\"Previous list of years\"},month:\"Select month, current selected month:\",months:\"List of months\",year:\"Select year, current selected year:\",years:\"List of years\",week:\"Days of the week\",weekNumber:\"Numbers of weeks in a year\",dates:\"Dates in the current month\",selectingTime:\"Selecting a time \",inputHour:\"Hours\",inputMinute:\"Minutes\",rangeHour:\"Slider for selecting hours\",rangeMinute:\"Slider for selecting minutes\",btnKeeping:\"Switch AM/PM, current position:\"},styles={calendar:\"vc\",controls:\"vc-controls\",grid:\"vc-grid\",column:\"vc-column\",header:\"vc-header\",headerContent:\"vc-header__content\",month:\"vc-month\",year:\"vc-year\",arrowPrev:\"vc-arrow vc-arrow_prev\",arrowNext:\"vc-arrow vc-arrow_next\",wrapper:\"vc-wrapper\",content:\"vc-content\",months:\"vc-months\",monthsMonth:\"vc-months__month\",years:\"vc-years\",yearsYear:\"vc-years__year\",week:\"vc-week\",weekDay:\"vc-week__day\",weekNumbers:\"vc-week-numbers\",weekNumbersTitle:\"vc-week-numbers__title\",weekNumbersContent:\"vc-week-numbers__content\",weekNumber:\"vc-week-number\",dates:\"vc-dates\",datesRow:\"vc-dates__row\",date:\"vc-date\",dateBtn:\"vc-date__btn\",datePopup:\"vc-date__popup\",dateRangeTooltip:\"vc-date-range-tooltip\",time:\"vc-time\",timeContent:\"vc-time__content\",timeHour:\"vc-time__hour\",timeMinute:\"vc-time__minute\",timeKeeping:\"vc-time__keeping\",timeRanges:\"vc-time__ranges\",timeRange:\"vc-time__range\"};class OptionsCalendar{constructor(){__publicField(this,\"type\",\"default\"),__publicField(this,\"inputMode\",!1),__publicField(this,\"openOnFocus\",!0),__publicField(this,\"positionToInput\",\"left\"),__publicField(this,\"firstWeekday\",1),__publicField(this,\"monthsToSwitch\",1),__publicField(this,\"themeAttrDetect\",\"html[data-theme]\"),__publicField(this,\"locale\",\"en\"),__publicField(this,\"dateToday\",\"today\"),__publicField(this,\"dateMin\",\"1970-01-01\"),__publicField(this,\"dateMax\",\"2470-12-31\"),__publicField(this,\"displayDateMin\"),__publicField(this,\"displayDateMax\"),__publicField(this,\"displayDatesOutside\",!0),__publicField(this,\"displayDisabledDates\",!1),__publicField(this,\"displayMonthsCount\"),__publicField(this,\"disableDates\",[]),__publicField(this,\"disableAllDates\",!1),__publicField(this,\"disableDatesPast\",!1),__publicField(this,\"disableDatesGaps\",!1),__publicField(this,\"disableWeekdays\",[]),__publicField(this,\"disableToday\",!1),__publicField(this,\"enableDates\",[]),__publicField(this,\"enableEdgeDatesOnly\",!0),__publicField(this,\"enableDateToggle\",!0),__publicField(this,\"enableWeekNumbers\",!1),__publicField(this,\"enableMonthChangeOnDayClick\",!0),__publicField(this,\"enableJumpToSelectedDate\",!1),__publicField(this,\"selectionDatesMode\",\"single\"),__publicField(this,\"selectionMonthsMode\",!0),__publicField(this,\"selectionYearsMode\",!0),__publicField(this,\"selectionTimeMode\",!1),__publicField(this,\"selectedDates\",[]),__publicField(this,\"selectedMonth\"),__publicField(this,\"selectedYear\"),__publicField(this,\"selectedHolidays\",[]),__publicField(this,\"selectedWeekends\",[0,6]),__publicField(this,\"selectedTime\"),__publicField(this,\"selectedTheme\",\"system\"),__publicField(this,\"timeMinHour\",0),__publicField(this,\"timeMaxHour\",23),__publicField(this,\"timeMinMinute\",0),__publicField(this,\"timeMaxMinute\",59),__publicField(this,\"timeControls\",\"all\"),__publicField(this,\"timeStepHour\",1),__publicField(this,\"timeStepMinute\",1),__publicField(this,\"sanitizerHTML\",(e=>e)),__publicField(this,\"onClickDate\"),__publicField(this,\"onClickWeekDay\"),__publicField(this,\"onClickWeekNumber\"),__publicField(this,\"onClickTitle\"),__publicField(this,\"onClickMonth\"),__publicField(this,\"onClickYear\"),__publicField(this,\"onClickArrow\"),__publicField(this,\"onChangeTime\"),__publicField(this,\"onChangeToInput\"),__publicField(this,\"onCreateDateRangeTooltip\"),__publicField(this,\"onCreateDateEls\"),__publicField(this,\"onCreateMonthEls\"),__publicField(this,\"onCreateYearEls\"),__publicField(this,\"onInit\"),__publicField(this,\"onUpdate\"),__publicField(this,\"onDestroy\"),__publicField(this,\"onShow\"),__publicField(this,\"onHide\"),__publicField(this,\"popups\",{}),__publicField(this,\"labels\",__spreadValues({},labels)),__publicField(this,\"layouts\",{default:\"\",multiple:\"\",month:\"\",year:\"\"}),__publicField(this,\"styles\",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,\"init\",(()=>init(this))),__publicField(this,\"update\",(e=>update(this,e))),__publicField(this,\"destroy\",(()=>destroy(this))),__publicField(this,\"show\",(()=>show(this))),__publicField(this,\"hide\",(()=>hide(this))),__publicField(this,\"set\",((e,t)=>set(this,e,t))),__publicField(this,\"context\"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,\"mainElement\",\"string\"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,\"memoizedElements\",new Map);let Calendar=_Calendar;export{Calendar};","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n dateMin: null,\n dateMax: null,\n dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n displayElement: null, // Element to show formatted date (defaults to element for buttons)\n displayMonthsCount: 1, // Number of months to display side-by-side\n firstWeekday: 1, // Monday\n inline: false, // Render calendar inline (no popup)\n locale: 'default',\n positionElement: null, // Element to position calendar relative to (defaults to input)\n selectedDates: [],\n selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n placement: 'left', // 'left', 'center', 'right', 'auto'\n vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n datepickerTheme: '(null|string)',\n dateMin: '(null|string|number|object)',\n dateMax: '(null|string|number|object)',\n dateFormat: '(null|object|function)',\n displayElement: '(null|string|element|boolean)',\n displayMonthsCount: 'number',\n firstWeekday: 'number',\n inline: 'boolean',\n locale: 'string',\n positionElement: '(null|string|element)',\n selectedDates: 'array',\n selectionMode: 'string',\n placement: 'string',\n vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._calendar = null\n this._isShown = false\n\n this._initCalendar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._config.inline) {\n return // Inline calendars are always visible\n }\n\n return this._isShown ? this.hide() : this.show()\n }\n\n show() {\n if (this._config.inline) {\n return // Inline calendars are always visible\n }\n\n if (!this._calendar || isDisabled(this._element) || this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._calendar.show()\n this._isShown = true\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n hide() {\n if (this._config.inline) {\n return // Inline calendars are always visible\n }\n\n if (!this._calendar || !this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._calendar.hide()\n this._isShown = false\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n dispose() {\n if (this._themeObserver) {\n this._themeObserver.disconnect()\n this._themeObserver = null\n }\n\n if (this._calendar) {\n this._calendar.destroy()\n }\n\n this._calendar = null\n super.dispose()\n }\n\n getSelectedDates() {\n const dates = this._calendar?.context?.selectedDates\n return dates ? [...dates] : []\n }\n\n setSelectedDates(dates) {\n if (this._calendar) {\n this._calendar.set({ selectedDates: dates })\n }\n }\n\n // Private\n _initCalendar() {\n this._isInput = this._element.tagName === 'INPUT'\n this._isInline = this._config.inline\n\n // For inline mode, look for a hidden input child to bind to\n if (this._isInline && !this._isInput) {\n this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n }\n\n this._positionElement = this._resolvePositionElement()\n this._displayElement = this._resolveDisplayElement()\n\n const calendarOptions = this._buildCalendarOptions()\n\n // Create calendar on the position element (for correct popup positioning)\n // but value updates still go to this._element (the input)\n this._calendar = new Calendar(this._positionElement, calendarOptions)\n this._calendar.init()\n\n // Watch for theme changes on ancestor elements (for live theme switching)\n this._setupThemeObserver()\n\n // Set initial value if input has a value\n if (this._isInput && this._element.value) {\n this._parseInputValue()\n }\n\n // Populate input/display with preselected dates\n this._updateDisplayWithSelectedDates()\n }\n\n _updateDisplayWithSelectedDates() {\n const { selectedDates } = this._config\n if (!selectedDates || selectedDates.length === 0) {\n return\n }\n\n const formattedDate = this._formatDateForInput(selectedDates)\n\n if (this._isInput) {\n this._element.value = formattedDate\n }\n\n if (this._boundInput) {\n this._boundInput.value = selectedDates.join(',')\n }\n\n if (this._displayElement) {\n this._displayElement.textContent = formattedDate\n }\n }\n\n _resolvePositionElement() {\n let { positionElement } = this._config\n\n if (typeof positionElement === 'string') {\n positionElement = document.querySelector(positionElement)\n }\n\n // Use input's parent if in form-adorn\n if (!positionElement && this._isInput && !this._isInline) {\n const parent = this._element.closest('.form-adorn')\n if (parent) {\n positionElement = parent\n }\n }\n\n return positionElement || this._element\n }\n\n _resolveDisplayElement() {\n const { displayElement } = this._config\n\n if (typeof displayElement === 'string') {\n return document.querySelector(displayElement)\n }\n\n // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n return displayChild || this._element\n }\n\n return displayElement\n }\n\n _getThemeAncestor() {\n return this._element.closest('[data-bs-theme]')\n }\n\n _getEffectiveTheme() {\n // Priority: explicit datepickerTheme config > inherited from ancestor > none\n const { datepickerTheme } = this._config\n if (datepickerTheme) {\n return datepickerTheme\n }\n\n const ancestor = this._getThemeAncestor()\n return ancestor?.getAttribute('data-bs-theme') || null\n }\n\n _syncThemeAttribute(element) {\n if (!element) {\n return\n }\n\n const theme = this._getEffectiveTheme()\n\n if (theme) {\n // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n element.setAttribute('data-bs-theme', theme)\n } else {\n // No theme - remove attribute to allow natural inheritance\n element.removeAttribute('data-bs-theme')\n }\n }\n\n _setupThemeObserver() {\n // Watch for theme changes on ancestor elements\n const ancestor = this._getThemeAncestor()\n if (!ancestor || this._config.datepickerTheme) {\n // No ancestor to watch, or explicit datepickerTheme overrides\n return\n }\n\n this._themeObserver = new MutationObserver(() => {\n this._syncThemeAttribute(this._calendar?.context?.mainElement)\n })\n\n this._themeObserver.observe(ancestor, {\n attributes: true,\n attributeFilter: ['data-bs-theme']\n })\n }\n\n _buildCalendarOptions() {\n // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n const theme = this._getEffectiveTheme()\n // VCP uses 'system' for auto, Bootstrap uses 'auto'\n const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n const calendarOptions = {\n ...this._config.vcpOptions,\n inputMode: !this._isInline,\n positionToInput: this._config.placement,\n firstWeekday: this._config.firstWeekday,\n locale: this._config.locale,\n selectionDatesMode: this._config.selectionMode,\n selectedDates: this._config.selectedDates,\n displayMonthsCount: this._config.displayMonthsCount,\n type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n selectedTheme: vcpTheme,\n themeAttrDetect: '[data-bs-theme]',\n onClickDate: (self, event) => this._handleDateClick(self, event),\n onInit: self => {\n this._syncThemeAttribute(self.context.mainElement)\n },\n onShow: () => {\n this._isShown = true\n this._syncThemeAttribute(this._calendar.context.mainElement)\n },\n onHide: () => {\n this._isShown = false\n }\n }\n\n // Navigate to the month of the first selected date\n if (this._config.selectedDates.length > 0) {\n const firstDate = this._parseDate(this._config.selectedDates[0])\n calendarOptions.selectedMonth = firstDate.getMonth()\n calendarOptions.selectedYear = firstDate.getFullYear()\n }\n\n if (this._config.dateMin) {\n calendarOptions.dateMin = this._config.dateMin\n }\n\n if (this._config.dateMax) {\n calendarOptions.dateMax = this._config.dateMax\n }\n\n return calendarOptions\n }\n\n _handleDateClick(self, event) {\n const selectedDates = [...self.context.selectedDates]\n\n if (selectedDates.length > 0) {\n const formattedDate = this._formatDateForInput(selectedDates)\n\n if (this._isInput) {\n this._element.value = formattedDate\n }\n\n if (this._boundInput) {\n this._boundInput.value = selectedDates.join(',')\n }\n\n if (this._displayElement) {\n this._displayElement.textContent = formattedDate\n }\n }\n\n EventHandler.trigger(this._element, EVENT_CHANGE, {\n dates: selectedDates,\n event\n })\n\n this._maybeHideAfterSelection(selectedDates)\n }\n\n _maybeHideAfterSelection(selectedDates) {\n if (this._isInline) {\n return\n }\n\n const shouldHide =\n (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n if (shouldHide) {\n setTimeout(() => this.hide(), HIDE_DELAY)\n }\n }\n\n _parseDate(dateStr) {\n const [year, month, day] = dateStr.split('-')\n return new Date(year, month - 1, day)\n }\n\n _formatDate(dateStr) {\n const date = this._parseDate(dateStr)\n const locale = this._config.locale === 'default' ? undefined : this._config.locale\n const { dateFormat } = this._config\n\n // Custom function formatter\n if (typeof dateFormat === 'function') {\n return dateFormat(date, locale)\n }\n\n // Intl.DateTimeFormat options object\n if (dateFormat && typeof dateFormat === 'object') {\n return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n }\n\n // Default: locale-aware formatting\n return date.toLocaleDateString(locale)\n }\n\n _formatDateForInput(dates) {\n if (dates.length === 0) {\n return ''\n }\n\n if (dates.length === 1) {\n return this._formatDate(dates[0])\n }\n\n // For date ranges, use en-dash; for multiple dates, use comma\n const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n return dates.map(d => this._formatDate(d)).join(separator)\n }\n\n _parseInputValue() {\n // Try to parse the input value as a date\n const value = this._element.value.trim()\n if (!value) {\n return\n }\n\n const date = new Date(value)\n if (!Number.isNaN(date.getTime())) {\n const year = date.getFullYear()\n const month = String(date.getMonth() + 1).padStart(2, '0')\n const day = String(date.getDate()).padStart(2, '0')\n const formatted = `${year}-${month}-${day}`\n this._calendar.set({ selectedDates: [formatted] })\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // Only handle if not an input (inputs use focus)\n // Skip inline datepickers (they're always visible)\n if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n return\n }\n\n event.preventDefault()\n Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n // Handle focus for input elements\n if (this.tagName !== 'INPUT') {\n return\n }\n\n Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n Datepicker.getOrCreateInstance(element)\n }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n keyboard: true,\n modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._element.open ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._element.open || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isTransitioning = true\n\n if (this._config.modal) {\n // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n this._element.showModal()\n // Prevent body scroll for modal dialogs\n document.body.classList.add(CLASS_NAME_OPEN)\n } else {\n // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n this._element.classList.add(CLASS_NAME_NONMODAL)\n this._element.show()\n }\n\n this._queueCallback(() => {\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }, this._element, this._isAnimated())\n }\n\n hide() {\n if (!this._element.open || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isTransitioning = true\n\n this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n super.dispose()\n }\n\n handleUpdate() {\n // Provided for API consistency with Modal.\n // Native dialogs handle their own positioning.\n }\n\n // Private\n _hideDialog() {\n this._element.close()\n this._element.classList.remove(CLASS_NAME_NONMODAL)\n this._isTransitioning = false\n\n // Only restore body scroll if no other modal dialogs are open\n if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n document.body.classList.remove(CLASS_NAME_OPEN)\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n _isAnimated() {\n return this._element.classList.contains('fade')\n }\n\n _triggerBackdropTransition() {\n const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hidePreventedEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n }, this._element)\n }\n\n _addEventListeners() {\n // Handle native cancel event (Escape key) - only fires for modal dialogs\n EventHandler.on(this._element, 'cancel', event => {\n // Prevent native close behavior - we'll handle it\n event.preventDefault()\n\n if (!this._config.keyboard) {\n this._triggerBackdropTransition()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_CANCEL)\n this.hide()\n })\n\n // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n EventHandler.on(this._element, 'keydown', event => {\n if (event.key !== 'Escape' || this._config.modal) {\n return\n }\n\n event.preventDefault()\n\n if (!this._config.keyboard) {\n return\n }\n\n EventHandler.trigger(this._element, EVENT_CANCEL)\n this.hide()\n })\n\n // Handle backdrop clicks (only applies to modal dialogs)\n // Native <dialog> fires click on the dialog element when backdrop is clicked\n EventHandler.on(this._element, 'click', event => {\n // Only handle clicks directly on the dialog (backdrop area)\n // Non-modal dialogs don't have a backdrop\n if (event.target !== this._element || !this._config.modal) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n // Default: click backdrop to dismiss\n this.hide()\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // Get config from trigger's data attributes\n const config = Manipulator.getDataAttributes(this)\n\n // Check if trigger is inside an open dialog\n const currentDialog = this.closest('dialog[open]')\n const shouldSwap = currentDialog && currentDialog !== target\n\n if (shouldSwap) {\n // Open new dialog first (its backdrop appears over current)\n const newDialog = Dialog.getOrCreateInstance(target, config)\n newDialog.show(this)\n\n // Close the current dialog (no backdrop flash since new one is already open)\n const currentInstance = Dialog.getInstance(currentDialog)\n if (currentInstance) {\n currentInstance.hide()\n }\n\n return\n }\n\n const data = Dialog.getOrCreateInstance(target, config)\n data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap nav-overflow.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'navoverflow'\nconst DATA_KEY = 'bs.navoverflow'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_UPDATE = `update${EVENT_KEY}`\nconst EVENT_OVERFLOW = `overflow${EVENT_KEY}`\n\nconst CLASS_NAME_OVERFLOW = 'nav-overflow'\nconst CLASS_NAME_OVERFLOW_MENU = 'nav-overflow-menu'\nconst CLASS_NAME_HIDDEN = 'd-none'\n\nconst SELECTOR_NAV_ITEM = '.nav-item'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle'\nconst SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu'\nconst CLASS_NAME_KEEP = 'nav-overflow-keep'\n\nconst Default = {\n moreText: 'More',\n moreIcon: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"><path d=\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3\"/></svg>',\n threshold: 0 // Minimum items to keep visible before showing overflow\n}\n\nconst DefaultType = {\n moreText: 'string',\n moreIcon: 'string',\n threshold: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass NavOverflow extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._items = []\n this._overflowItems = []\n this._overflowMenu = null\n this._overflowToggle = null\n this._resizeObserver = null\n this._isInitialized = false\n\n this._init()\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 update() {\n this._calculateOverflow()\n EventHandler.trigger(this._element, EVENT_UPDATE)\n }\n\n dispose() {\n if (this._resizeObserver) {\n this._resizeObserver.disconnect()\n }\n\n // Move items back to original positions\n this._restoreItems()\n\n // Remove overflow menu\n if (this._overflowToggle && this._overflowToggle.parentElement) {\n this._overflowToggle.parentElement.remove()\n }\n\n super.dispose()\n }\n\n // Private\n _init() {\n // Add overflow class to nav\n this._element.classList.add(CLASS_NAME_OVERFLOW)\n\n // Get all nav items\n this._items = [...SelectorEngine.find(SELECTOR_NAV_ITEM, this._element)]\n\n // Store original order data\n for (const [index, item] of this._items.entries()) {\n item.dataset.bsNavOrder = index\n }\n\n // Create overflow menu if it doesn't exist\n this._createOverflowMenu()\n\n // Setup resize observer\n this._setupResizeObserver()\n\n // Initial calculation\n this._calculateOverflow()\n\n this._isInitialized = true\n }\n\n _createOverflowMenu() {\n // Check if overflow menu already exists\n this._overflowToggle = SelectorEngine.findOne(SELECTOR_OVERFLOW_TOGGLE, this._element)\n\n if (this._overflowToggle) {\n this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element)\n return\n }\n\n const overflowItem = document.createElement('li')\n overflowItem.className = 'nav-item nav-overflow-item'\n overflowItem.innerHTML = `\n <button class=\"nav-link nav-overflow-toggle\" type=\"button\" data-bs-toggle=\"menu\" data-bs-placement=\"bottom-end\" aria-expanded=\"false\">\n <span class=\"nav-overflow-icon\">${this._config.moreIcon}</span>\n <span class=\"nav-overflow-text\">${this._config.moreText}</span>\n </button>\n <div class=\"${CLASS_NAME_OVERFLOW_MENU} menu\"></div>\n `\n\n this._element.append(overflowItem)\n this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE)\n this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU)\n }\n\n _setupResizeObserver() {\n if (typeof ResizeObserver === 'undefined') {\n // Fallback for older browsers\n EventHandler.on(window, 'resize', () => this._calculateOverflow())\n return\n }\n\n this._resizeObserver = new ResizeObserver(() => {\n this._calculateOverflow()\n })\n\n this._resizeObserver.observe(this._element)\n }\n\n _calculateOverflow() {\n // First, restore all items to measure properly\n this._restoreItems()\n\n const navWidth = this._element.offsetWidth\n const overflowItem = this._overflowToggle?.closest('.nav-item')\n const overflowWidth = overflowItem?.offsetWidth || 0\n\n let usedWidth = 0\n const itemsToOverflow = []\n const overflowThreshold = navWidth - overflowWidth - 10 // 10px buffer\n\n // Calculate which items need to overflow (skip items with keep class)\n for (const item of this._items) {\n const itemWidth = item.offsetWidth\n usedWidth += itemWidth\n\n // Never overflow items with the keep class\n if (item.classList.contains(CLASS_NAME_KEEP)) {\n continue\n }\n\n if (usedWidth > overflowThreshold) {\n itemsToOverflow.push(item)\n }\n }\n\n // Check if we need threshold minimum visible\n const visibleCount = this._items.length - itemsToOverflow.length\n if (visibleCount < this._config.threshold && this._items.length > this._config.threshold) {\n // Add more items to overflow until we reach threshold (but not keep items)\n const toMove = this._items.slice(this._config.threshold).filter(item => !item.classList.contains(CLASS_NAME_KEEP))\n itemsToOverflow.length = 0\n itemsToOverflow.push(...toMove)\n }\n\n // Move items to overflow menu\n this._moveToOverflow(itemsToOverflow)\n\n // Show/hide overflow toggle\n if (overflowItem) {\n if (itemsToOverflow.length > 0) {\n overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n } else {\n overflowItem.classList.add(CLASS_NAME_HIDDEN)\n }\n }\n\n // Trigger overflow event if items changed\n if (itemsToOverflow.length > 0) {\n EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n overflowCount: itemsToOverflow.length,\n visibleCount: this._items.length - itemsToOverflow.length\n })\n }\n }\n\n _moveToOverflow(items) {\n if (!this._overflowMenu) {\n return\n }\n\n // Clear existing overflow items\n this._overflowMenu.innerHTML = ''\n this._overflowItems = []\n\n for (const item of items) {\n const link = SelectorEngine.findOne(SELECTOR_NAV_LINK, item)\n if (!link) {\n continue\n }\n\n const clonedLink = link.cloneNode(true)\n clonedLink.className = 'menu-item'\n\n if (link.classList.contains('active')) {\n clonedLink.classList.add('active')\n }\n\n if (link.classList.contains('disabled') || link.hasAttribute('disabled')) {\n clonedLink.classList.add('disabled')\n }\n\n this._overflowMenu.append(clonedLink)\n\n // Hide original item\n item.classList.add(CLASS_NAME_HIDDEN)\n item.dataset.bsNavOverflow = 'true'\n\n this._overflowItems.push(item)\n }\n }\n\n _restoreItems() {\n for (const item of this._items) {\n item.classList.remove(CLASS_NAME_HIDDEN)\n delete item.dataset.bsNavOverflow\n }\n\n if (this._overflowMenu) {\n this._overflowMenu.innerHTML = ''\n }\n\n this._overflowItems = []\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n for (const element of SelectorEngine.find('[data-bs-toggle=\"nav-overflow\"]')) {\n NavOverflow.getOrCreateInstance(element)\n }\n})\n\nexport default NavOverflow\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n autofocus: 'boolean',\n trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n input: null, // Selector or element for password input\n minLength: 8,\n messages: {\n weak: 'Weak',\n fair: 'Fair',\n good: 'Good',\n strong: 'Strong'\n },\n weights: {\n minLength: 1,\n extraLength: 1,\n lowercase: 1,\n uppercase: 1,\n numbers: 1,\n special: 1,\n multipleSpecial: 1,\n longPassword: 1\n },\n thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n input: '(string|element|null)',\n minLength: 'number',\n messages: 'object',\n weights: 'object',\n thresholds: 'array',\n scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._input = this._getInput()\n this._segments = SelectorEngine.find('.strength-segment', this._element)\n this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n this._currentStrength = null\n\n if (this._input) {\n this._addEventListeners()\n // Check initial value\n this._evaluate()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getStrength() {\n return this._currentStrength\n }\n\n evaluate() {\n this._evaluate()\n }\n\n // Private\n _getInput() {\n if (this._config.input) {\n return typeof this._config.input === 'string' ?\n SelectorEngine.findOne(this._config.input) :\n this._config.input\n }\n\n // Look for preceding password input\n const parent = this._element.parentElement\n return SelectorEngine.findOne('input[type=\"password\"]', parent)\n }\n\n _addEventListeners() {\n EventHandler.on(this._input, 'input', () => this._evaluate())\n EventHandler.on(this._input, 'change', () => this._evaluate())\n }\n\n _evaluate() {\n const password = this._input.value\n const score = this._calculateScore(password)\n const strength = this._scoreToStrength(score)\n\n if (strength !== this._currentStrength) {\n this._currentStrength = strength\n this._updateUI(strength, score)\n\n EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n strength,\n score,\n password: password.length > 0 ? '***' : '' // Don't expose actual password\n })\n }\n }\n\n _calculateScore(password) {\n if (!password) {\n return 0\n }\n\n // Use custom scorer if provided\n if (typeof this._config.scorer === 'function') {\n return this._config.scorer(password)\n }\n\n const { weights } = this._config\n let score = 0\n\n // Length scoring\n if (password.length >= this._config.minLength) {\n score += weights.minLength\n }\n\n if (password.length >= this._config.minLength + 4) {\n score += weights.extraLength\n }\n\n // Character variety\n if (/[a-z]/.test(password)) {\n score += weights.lowercase\n }\n\n if (/[A-Z]/.test(password)) {\n score += weights.uppercase\n }\n\n if (/\\d/.test(password)) {\n score += weights.numbers\n }\n\n // Special characters\n if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n score += weights.special\n }\n\n // Extra points for more special chars or length\n if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n score += weights.multipleSpecial\n }\n\n if (password.length >= 16) {\n score += weights.longPassword\n }\n\n return score\n }\n\n _scoreToStrength(score) {\n if (score === 0) {\n return null\n }\n\n const [weak, fair, good] = this._config.thresholds\n\n if (score <= weak) {\n return 'weak'\n }\n\n if (score <= fair) {\n return 'fair'\n }\n\n if (score <= good) {\n return 'good'\n }\n\n return 'strong'\n }\n\n _updateUI(strength) {\n // Update data attribute on element\n if (strength) {\n this._element.dataset.bsStrength = strength\n } else {\n delete this._element.dataset.bsStrength\n }\n\n // Update segmented meter\n const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n for (const [index, segment] of this._segments.entries()) {\n if (index <= strengthIndex) {\n segment.classList.add('active')\n } else {\n segment.classList.remove('active')\n }\n }\n\n // Update text feedback\n if (this._textElement) {\n if (strength && this._config.messages[strength]) {\n this._textElement.textContent = this._config.messages[strength]\n this._textElement.dataset.bsStrength = strength\n\n // Also set the color via inheriting from parent or using CSS variable\n const colorMap = {\n weak: 'danger',\n fair: 'warning',\n good: 'info',\n strong: 'success'\n }\n this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n } else {\n this._textElement.textContent = ''\n delete this._textElement.dataset.bsStrength\n }\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n Strength.getOrCreateInstance(element)\n }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n length: 6,\n mask: false\n}\n\nconst DefaultType = {\n length: 'number',\n mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n this._setupInputs()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getValue() {\n return this._inputs.map(input => input.value).join('')\n }\n\n setValue(value) {\n const chars = String(value).split('')\n for (const [index, input] of this._inputs.entries()) {\n input.value = chars[index] || ''\n }\n\n this._checkComplete()\n }\n\n clear() {\n for (const input of this._inputs) {\n input.value = ''\n }\n\n this._inputs[0]?.focus()\n }\n\n focus() {\n // Focus first empty input, or last input if all filled\n const emptyInput = this._inputs.find(input => !input.value)\n if (emptyInput) {\n emptyInput.focus()\n } else {\n this._inputs.at(-1)?.focus()\n }\n }\n\n // Private\n _setupInputs() {\n for (const input of this._inputs) {\n // Set attributes for proper OTP handling\n input.setAttribute('maxlength', '1')\n input.setAttribute('inputmode', 'numeric')\n input.setAttribute('pattern', '\\\\d*')\n\n // First input gets autocomplete for browser OTP autofill\n if (input === this._inputs[0]) {\n input.setAttribute('autocomplete', 'one-time-code')\n } else {\n input.setAttribute('autocomplete', 'off')\n }\n\n // Mask input if configured\n if (this._config.mask) {\n input.setAttribute('type', 'password')\n }\n }\n }\n\n _addEventListeners() {\n for (const [index, input] of this._inputs.entries()) {\n EventHandler.on(input, 'input', event => this._handleInput(event, index))\n EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n EventHandler.on(input, 'paste', event => this._handlePaste(event))\n EventHandler.on(input, 'focus', event => this._handleFocus(event))\n }\n }\n\n _handleInput(event, index) {\n const input = event.target\n\n // Only allow digits\n if (!/^\\d*$/.test(input.value)) {\n input.value = input.value.replace(/\\D/g, '')\n }\n\n const { value } = input\n\n // Handle multi-character input (some browsers/autofill)\n if (value.length > 1) {\n // Distribute characters across inputs\n const chars = value.split('')\n input.value = chars[0] || ''\n\n for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n this._inputs[index + i].value = chars[i]\n }\n\n // Focus appropriate input\n const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n this._inputs[nextIndex].focus()\n } else if (value && index < this._inputs.length - 1) {\n // Auto-advance to next input\n this._inputs[index + 1].focus()\n }\n\n EventHandler.trigger(this._element, EVENT_INPUT, {\n value: this.getValue(),\n index\n })\n\n this._checkComplete()\n }\n\n _handleKeydown(event, index) {\n const { key } = event\n\n switch (key) {\n case 'Backspace': {\n if (!this._inputs[index].value && index > 0) {\n // Move to previous input and clear it\n event.preventDefault()\n this._inputs[index - 1].value = ''\n this._inputs[index - 1].focus()\n }\n\n break\n }\n\n case 'Delete': {\n // Clear current and shift remaining values left\n event.preventDefault()\n for (let i = index; i < this._inputs.length - 1; i++) {\n this._inputs[i].value = this._inputs[i + 1].value\n }\n\n this._inputs.at(-1).value = ''\n break\n }\n\n case 'ArrowLeft': {\n if (index > 0) {\n event.preventDefault()\n this._inputs[index - 1].focus()\n }\n\n break\n }\n\n case 'ArrowRight': {\n if (index < this._inputs.length - 1) {\n event.preventDefault()\n this._inputs[index + 1].focus()\n }\n\n break\n }\n\n // No default\n }\n }\n\n _handlePaste(event) {\n event.preventDefault()\n const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n if (digits) {\n this.setValue(digits)\n\n // Focus last filled input or last input\n const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n this._inputs[lastIndex].focus()\n }\n }\n\n _handleFocus(event) {\n // Select the content on focus for easy replacement\n event.target.select()\n }\n\n _checkComplete() {\n const value = this.getValue()\n const isComplete = value.length === this._inputs.length &&\n this._inputs.every(input => input.value !== '')\n\n if (isComplete) {\n EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n OtpInput.getOrCreateInstance(element)\n }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap chip-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'chipInput'\nconst DATA_KEY = 'bs.chip-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ADD = `add${EVENT_KEY}`\nconst EVENT_REMOVE = `remove${EVENT_KEY}`\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SELECT = `select${EVENT_KEY}`\n\nconst SELECTOR_DATA_CHIP_INPUT = '[data-bs-chip-input]'\nconst SELECTOR_GHOST_INPUT = '.form-ghost'\nconst SELECTOR_CHIP = '.chip'\nconst SELECTOR_CHIP_DISMISS = '.chip-dismiss'\n\nconst CLASS_NAME_CHIP = 'chip'\nconst CLASS_NAME_CHIP_DISMISS = 'chip-dismiss'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst DEFAULT_DISMISS_ICON = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\"/></svg>'\n\nconst Default = {\n separator: ',',\n allowDuplicates: false,\n maxChips: null,\n placeholder: '',\n dismissible: true,\n dismissIcon: DEFAULT_DISMISS_ICON,\n createOnBlur: true\n}\n\nconst DefaultType = {\n separator: '(string|null)',\n allowDuplicates: 'boolean',\n maxChips: '(number|null)',\n placeholder: 'string',\n dismissible: 'boolean',\n dismissIcon: 'string',\n createOnBlur: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass ChipInput extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._input = SelectorEngine.findOne(SELECTOR_GHOST_INPUT, this._element)\n this._chips = []\n this._selectedChips = new Set()\n this._anchorChip = null // For shift+click range selection\n\n if (!this._input) {\n this._createInput()\n }\n\n this._initializeExistingChips()\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 add(value) {\n const trimmedValue = String(value).trim()\n\n if (!trimmedValue) {\n return null\n }\n\n // Check for duplicates\n if (!this._config.allowDuplicates && this._chips.includes(trimmedValue)) {\n return null\n }\n\n // Check max chips limit\n if (this._config.maxChips !== null && this._chips.length >= this._config.maxChips) {\n return null\n }\n\n const addEvent = EventHandler.trigger(this._element, EVENT_ADD, {\n value: trimmedValue,\n relatedTarget: this._input\n })\n\n if (addEvent.defaultPrevented) {\n return null\n }\n\n const chip = this._createChip(trimmedValue)\n this._element.insertBefore(chip, this._input)\n this._chips.push(trimmedValue)\n\n EventHandler.trigger(this._element, EVENT_CHANGE, {\n values: this.getValues()\n })\n\n return chip\n }\n\n remove(chipOrValue) {\n let chip\n let value\n\n if (typeof chipOrValue === 'string') {\n value = chipOrValue\n chip = this._findChipByValue(value)\n } else {\n chip = chipOrValue\n value = this._getChipValue(chip)\n }\n\n if (!chip || !value) {\n return false\n }\n\n const removeEvent = EventHandler.trigger(this._element, EVENT_REMOVE, {\n value,\n chip,\n relatedTarget: this._input\n })\n\n if (removeEvent.defaultPrevented) {\n return false\n }\n\n // Remove from selection\n this._selectedChips.delete(chip)\n if (this._anchorChip === chip) {\n this._anchorChip = null\n }\n\n // Remove from DOM and array\n chip.remove()\n this._chips = this._chips.filter(v => v !== value)\n\n EventHandler.trigger(this._element, EVENT_CHANGE, {\n values: this.getValues()\n })\n\n return true\n }\n\n removeSelected() {\n const chipsToRemove = [...this._selectedChips]\n for (const chip of chipsToRemove) {\n this.remove(chip)\n }\n\n this._input?.focus()\n }\n\n getValues() {\n return [...this._chips]\n }\n\n getSelectedValues() {\n return [...this._selectedChips].map(chip => this._getChipValue(chip))\n }\n\n clear() {\n const chips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n for (const chip of chips) {\n chip.remove()\n }\n\n this._chips = []\n this._selectedChips.clear()\n this._anchorChip = null\n\n EventHandler.trigger(this._element, EVENT_CHANGE, {\n values: []\n })\n }\n\n clearSelection() {\n for (const chip of this._selectedChips) {\n chip.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n this._selectedChips.clear()\n this._anchorChip = null\n\n EventHandler.trigger(this._element, EVENT_SELECT, {\n selected: []\n })\n }\n\n selectChip(chip, options = {}) {\n const { addToSelection = false, rangeSelect = false } = options\n const chipElements = this._getChipElements()\n\n if (!chipElements.includes(chip)) {\n return\n }\n\n if (rangeSelect && this._anchorChip) {\n // Range selection from anchor to chip\n const anchorIndex = chipElements.indexOf(this._anchorChip)\n const chipIndex = chipElements.indexOf(chip)\n const start = Math.min(anchorIndex, chipIndex)\n const end = Math.max(anchorIndex, chipIndex)\n\n if (!addToSelection) {\n this.clearSelection()\n }\n\n for (let i = start; i <= end; i++) {\n this._selectedChips.add(chipElements[i])\n chipElements[i].classList.add(CLASS_NAME_ACTIVE)\n }\n } else if (addToSelection) {\n // Toggle selection\n if (this._selectedChips.has(chip)) {\n this._selectedChips.delete(chip)\n chip.classList.remove(CLASS_NAME_ACTIVE)\n } else {\n this._selectedChips.add(chip)\n chip.classList.add(CLASS_NAME_ACTIVE)\n this._anchorChip = chip\n }\n } else {\n // Single selection\n this.clearSelection()\n this._selectedChips.add(chip)\n chip.classList.add(CLASS_NAME_ACTIVE)\n this._anchorChip = chip\n }\n\n EventHandler.trigger(this._element, EVENT_SELECT, {\n selected: this.getSelectedValues()\n })\n }\n\n focus() {\n this._input?.focus()\n }\n\n // Private\n _getChipElements() {\n return SelectorEngine.find(SELECTOR_CHIP, this._element)\n }\n\n _createInput() {\n const input = document.createElement('input')\n input.type = 'text'\n input.className = 'form-ghost'\n if (this._config.placeholder) {\n input.placeholder = this._config.placeholder\n }\n\n this._element.append(input)\n this._input = input\n }\n\n _initializeExistingChips() {\n const existingChips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n for (const chip of existingChips) {\n const value = this._getChipValue(chip)\n if (value) {\n this._chips.push(value)\n this._setupChip(chip)\n }\n }\n }\n\n _setupChip(chip) {\n // Make chip focusable\n chip.setAttribute('tabindex', '0')\n\n // Add dismiss button if needed\n if (this._config.dismissible && !SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, chip)) {\n chip.append(this._createDismissButton())\n }\n }\n\n _createChip(value) {\n const chip = document.createElement('span')\n chip.className = CLASS_NAME_CHIP\n chip.dataset.bsChipValue = value\n\n // Add text node\n chip.append(document.createTextNode(value))\n\n // Setup chip (tabindex, dismiss button)\n this._setupChip(chip)\n\n return chip\n }\n\n _createDismissButton() {\n const button = document.createElement('button')\n button.type = 'button'\n button.className = CLASS_NAME_CHIP_DISMISS\n button.setAttribute('aria-label', 'Remove')\n button.setAttribute('tabindex', '-1') // Not in tab order, chips handle keyboard\n button.innerHTML = this._config.dismissIcon\n return button\n }\n\n _findChipByValue(value) {\n const chips = this._getChipElements()\n return chips.find(chip => this._getChipValue(chip) === value)\n }\n\n _getChipValue(chip) {\n if (chip.dataset.bsChipValue) {\n return chip.dataset.bsChipValue\n }\n\n const clone = chip.cloneNode(true)\n const dismiss = SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, clone)\n if (dismiss) {\n dismiss.remove()\n }\n\n return clone.textContent?.trim() || ''\n }\n\n _addEventListeners() {\n // Input events\n EventHandler.on(this._input, 'keydown', event => this._handleInputKeydown(event))\n EventHandler.on(this._input, 'input', event => this._handleInput(event))\n EventHandler.on(this._input, 'paste', event => this._handlePaste(event))\n EventHandler.on(this._input, 'focus', () => this.clearSelection())\n\n if (this._config.createOnBlur) {\n EventHandler.on(this._input, 'blur', event => {\n // Don't create chip if clicking on a chip\n if (!event.relatedTarget?.closest(SELECTOR_CHIP)) {\n this._createChipFromInput()\n }\n })\n }\n\n // Chip click events (delegated)\n EventHandler.on(this._element, 'click', SELECTOR_CHIP, event => {\n // Ignore clicks on dismiss button\n if (event.target.closest(SELECTOR_CHIP_DISMISS)) {\n return\n }\n\n const chip = event.target.closest(SELECTOR_CHIP)\n if (chip) {\n event.preventDefault()\n this.selectChip(chip, {\n addToSelection: event.metaKey || event.ctrlKey,\n rangeSelect: event.shiftKey\n })\n chip.focus()\n }\n })\n\n // Dismiss button clicks (delegated)\n EventHandler.on(this._element, 'click', SELECTOR_CHIP_DISMISS, event => {\n event.stopPropagation()\n const chip = event.target.closest(SELECTOR_CHIP)\n if (chip) {\n this.remove(chip)\n this._input?.focus()\n }\n })\n\n // Chip keyboard events (delegated)\n EventHandler.on(this._element, 'keydown', SELECTOR_CHIP, event => {\n this._handleChipKeydown(event)\n })\n\n // Focus input when clicking container background\n EventHandler.on(this._element, 'click', event => {\n if (event.target === this._element) {\n this.clearSelection()\n this._input?.focus()\n }\n })\n }\n\n _handleInputKeydown(event) {\n const { key } = event\n\n switch (key) {\n case 'Enter': {\n event.preventDefault()\n this._createChipFromInput()\n break\n }\n\n case 'Backspace':\n case 'Delete': {\n if (this._input.value === '') {\n event.preventDefault()\n const chips = this._getChipElements()\n\n if (chips.length > 0) {\n // Select last chip and focus it\n const lastChip = chips.at(-1)\n this.selectChip(lastChip)\n lastChip.focus()\n }\n }\n\n break\n }\n\n case 'ArrowLeft': {\n if (this._input.selectionStart === 0 && this._input.selectionEnd === 0) {\n event.preventDefault()\n const chips = this._getChipElements()\n if (chips.length > 0) {\n const lastChip = chips.at(-1)\n if (event.shiftKey) {\n this.selectChip(lastChip, { addToSelection: true })\n } else {\n this.selectChip(lastChip)\n }\n\n lastChip.focus()\n }\n }\n\n break\n }\n\n case 'Escape': {\n this._input.value = ''\n this.clearSelection()\n this._input.blur()\n break\n }\n\n // No default\n }\n }\n\n _handleChipKeydown(event) {\n const { key } = event\n const chip = event.target.closest(SELECTOR_CHIP)\n if (!chip) {\n return\n }\n\n const chips = this._getChipElements()\n const currentIndex = chips.indexOf(chip)\n\n switch (key) {\n case 'Backspace':\n case 'Delete': {\n event.preventDefault()\n this._handleChipDelete(currentIndex, chips)\n break\n }\n\n case 'ArrowLeft': {\n event.preventDefault()\n this._navigateChip(chips, currentIndex, -1, event.shiftKey)\n break\n }\n\n case 'ArrowRight': {\n event.preventDefault()\n this._navigateChip(chips, currentIndex, 1, event.shiftKey)\n break\n }\n\n case 'Home': {\n event.preventDefault()\n this._navigateToEdge(chips, 0, event.shiftKey)\n break\n }\n\n case 'End': {\n event.preventDefault()\n this.clearSelection()\n this._input?.focus()\n break\n }\n\n case 'a': {\n this._handleSelectAll(event, chips)\n break\n }\n\n case 'Escape': {\n event.preventDefault()\n this.clearSelection()\n this._input?.focus()\n break\n }\n\n // No default\n }\n }\n\n _handleChipDelete(currentIndex, chips) {\n if (this._selectedChips.size === 0) {\n return\n }\n\n const nextIndex = Math.min(currentIndex, chips.length - this._selectedChips.size - 1)\n this.removeSelected()\n\n const remainingChips = this._getChipElements()\n if (remainingChips.length > 0) {\n const focusIndex = Math.max(0, Math.min(nextIndex, remainingChips.length - 1))\n remainingChips[focusIndex].focus()\n this.selectChip(remainingChips[focusIndex])\n } else {\n this._input?.focus()\n }\n }\n\n _navigateChip(chips, currentIndex, direction, shiftKey) {\n const targetIndex = currentIndex + direction\n\n if (direction < 0 && targetIndex >= 0) {\n const targetChip = chips[targetIndex]\n this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n targetChip.focus()\n } else if (direction > 0 && targetIndex < chips.length) {\n const targetChip = chips[targetIndex]\n this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n targetChip.focus()\n } else if (direction > 0) {\n this.clearSelection()\n this._input?.focus()\n }\n }\n\n _navigateToEdge(chips, targetIndex, shiftKey) {\n if (chips.length === 0) {\n return\n }\n\n const targetChip = chips[targetIndex]\n this.selectChip(targetChip, shiftKey ? { rangeSelect: true } : {})\n targetChip.focus()\n }\n\n _handleSelectAll(event, chips) {\n if (!(event.metaKey || event.ctrlKey)) {\n return\n }\n\n event.preventDefault()\n for (const c of chips) {\n this._selectedChips.add(c)\n c.classList.add(CLASS_NAME_ACTIVE)\n }\n\n EventHandler.trigger(this._element, EVENT_SELECT, {\n selected: this.getSelectedValues()\n })\n }\n\n _handleInput(event) {\n const { value } = event.target\n const { separator } = this._config\n\n if (separator && value.includes(separator)) {\n const parts = value.split(separator)\n for (const part of parts.slice(0, -1)) {\n this.add(part.trim())\n }\n\n this._input.value = parts.at(-1)\n }\n }\n\n _handlePaste(event) {\n const { separator } = this._config\n if (!separator) {\n return\n }\n\n const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n if (pastedData.includes(separator)) {\n event.preventDefault()\n\n const parts = pastedData.split(separator)\n for (const part of parts) {\n this.add(part.trim())\n }\n }\n }\n\n _createChipFromInput() {\n const value = this._input.value.trim()\n if (value) {\n this.add(value)\n this._input.value = ''\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP_INPUT)) {\n ChipInput.getOrCreateInstance(element)\n }\n})\n\nexport default ChipInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n dd: [],\n div: [],\n dl: [],\n dt: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n allowList: DefaultAllowlist,\n content: {}, // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '<div></div>'\n}\n\nconst DefaultType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [undefined, this])\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n computePosition,\n flip,\n shift,\n offset,\n arrow,\n autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n parseResponsivePlacement,\n getResponsivePlacement,\n createBreakpointListeners,\n disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n floatingConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div>' +\n '</div>',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n floatingConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof computePosition === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n }\n\n super(element, config)\n\n // Private\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._floatingCleanup = null\n this._templateFactory = null\n this._newContent = null\n this._mediaQueryListeners = []\n this._responsivePlacements = null\n\n // Protected\n this.tip = null\n\n this._parseResponsivePlacements()\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle() {\n if (!this._isEnabled) {\n return\n }\n\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n }\n\n this._disposeFloating()\n this._disposeMediaQueryListeners()\n super.dispose()\n }\n\n async show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n this._disposeFloating()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n }\n\n await this._createFloating(tip)\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposeFloating()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n update() {\n if (this._floatingCleanup && this.tip) {\n this._updateFloatingPosition()\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle())\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml()\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n this._newContent = content\n if (this._isShown()) {\n this._disposeFloating()\n this.show()\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement(tip) {\n // If we have responsive placements, get the one for current viewport\n if (this._responsivePlacements) {\n const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n return AttachmentMap[placement.toUpperCase()] || placement\n }\n\n // Execute placement (can be a function)\n const placement = execute(this._config.placement, [this, tip, this._element])\n return AttachmentMap[placement.toUpperCase()] || placement\n }\n\n _parseResponsivePlacements() {\n // Only parse if placement is a string (not a function)\n if (typeof this._config.placement !== 'string') {\n this._responsivePlacements = null\n return\n }\n\n this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n if (this._responsivePlacements) {\n this._setupMediaQueryListeners()\n }\n }\n\n _setupMediaQueryListeners() {\n this._disposeMediaQueryListeners()\n this._mediaQueryListeners = createBreakpointListeners(() => {\n if (this._isShown()) {\n this._updateFloatingPosition()\n }\n })\n }\n\n _disposeMediaQueryListeners() {\n disposeBreakpointListeners(this._mediaQueryListeners)\n this._mediaQueryListeners = []\n }\n\n async _createFloating(tip) {\n const placement = this._getPlacement(tip)\n const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n // Initial position update\n await this._updateFloatingPosition(tip, placement, arrowElement)\n\n // Set up auto-update for scroll/resize\n this._floatingCleanup = autoUpdate(\n this._element,\n tip,\n () => this._updateFloatingPosition(tip, null, arrowElement)\n )\n }\n\n async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n if (!tip) {\n return\n }\n\n if (!placement) {\n placement = this._getPlacement(tip)\n }\n\n if (!arrowElement) {\n arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n }\n\n const middleware = this._getFloatingMiddleware(arrowElement)\n const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n this._element,\n tip,\n floatingConfig\n )\n\n // Apply position to tooltip\n Object.assign(tip.style, {\n position: 'absolute',\n left: `${x}px`,\n top: `${y}px`\n })\n\n // Ensure arrow is absolutely positioned within tooltip\n if (arrowElement) {\n arrowElement.style.position = 'absolute'\n }\n\n // Set placement attribute for CSS arrow styling\n Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n // Position arrow along the edge (center it) if present\n // The CSS handles which edge to place it on via data-bs-placement\n if (arrowElement && middlewareData.arrow) {\n const { x: arrowX, y: arrowY } = middlewareData.arrow\n const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n // Only set the cross-axis position (centering along the edge)\n // The main-axis position (which edge) is handled by CSS\n Object.assign(arrowElement.style, {\n left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n // Reset the other axis to let CSS handle it\n right: '',\n bottom: ''\n })\n }\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n // Floating UI passes different args, adapt the interface for offset function callbacks\n return ({ placement, rects }) => {\n const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n return result\n }\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element, this._element])\n }\n\n _getFloatingMiddleware(arrowElement) {\n const offsetValue = this._getOffset()\n\n const middleware = [\n // Offset middleware - handles distance from reference\n offset(\n typeof offsetValue === 'function' ?\n offsetValue :\n { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n ),\n // Flip middleware - handles fallback placements\n flip({\n fallbackPlacements: this._config.fallbackPlacements\n }),\n // Shift middleware - prevents overflow\n shift({\n boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n })\n ]\n\n // Arrow middleware - positions the arrow element\n if (arrowElement) {\n middleware.push(arrow({ element: arrowElement }))\n }\n\n return middleware\n }\n\n _getFloatingConfig(placement, middleware) {\n const defaultConfig = {\n placement,\n middleware\n }\n\n return {\n ...defaultConfig,\n ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n }\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSEENTER) :\n this.constructor.eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSELEAVE) :\n this.constructor.eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title')\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _disposeFloating() {\n if (this._floatingCleanup) {\n this._floatingCleanup()\n this._floatingCleanup = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n if (!target) {\n return\n }\n\n // Get or create instance and trigger the appropriate action\n const tooltip = Tooltip.getOrCreateInstance(target)\n\n // For focus events, manually trigger enter to show\n if (event.type === 'focusin') {\n tooltip._activeTrigger.focus = true\n tooltip._enter()\n }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div>' +\n '</div>',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n if (!target) {\n return\n }\n\n // Prevent default for click events to avoid navigation\n if (event.type === 'click') {\n event.preventDefault()\n }\n\n // Get or create instance\n const popover = Popover.getOrCreateInstance(target)\n\n // Trigger the appropriate action based on event type\n if (event.type === 'click') {\n popover.toggle()\n } else if (event.type === 'focusin') {\n popover._activeTrigger.focus = true\n popover._enter()\n }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_MENU_ITEM = 'menu-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_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\n\nconst Default = {\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh() // initialize\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose() {\n this._observer.disconnect()\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.target = getElement(config.target) || document.body\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK)\n\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if (root.scrollTo) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height\n }\n })\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n this._process(targetElement(entry))\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry))\n\n continue\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor)\n this._observableSections.set(anchor.hash, observableSection)\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target) {\n // Activate menu parents\n if (target.classList.contains(CLASS_NAME_MENU_ITEM)) {\n const menuToggle = target.closest('.menu')?.previousElementSibling\n if (menuToggle?.matches(SELECTOR_MENU_TOGGLE)) {\n menuToggle.classList.add(CLASS_NAME_ACTIVE)\n }\n\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 SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\nconst SELECTOR_MENU = '.menu'\nconst NOT_SELECTOR_MENU_TOGGLE = `:not(${SELECTOR_MENU_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_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_MENU_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"]'\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n constructor(element) {\n super(element)\n this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n if (!this._parent) {\n return\n // TODO: should throw exception in v6\n // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n }\n\n // Set up initial aria attributes\n this._setInitialAttributes(this._parent, this._getChildren())\n\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n show() { // Shows this elem and deactivate the active sibling if exists\n const innerElem = this._element\n if (this._elemIsActive(innerElem)) {\n return\n }\n\n // Search for active tab on same parent to deactivate it\n const active = this._getActiveElem()\n\n const hideEvent = active ?\n EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n null\n\n const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n return\n }\n\n this._deactivate(active, innerElem)\n this._activate(innerElem, active)\n }\n\n // Private\n _activate(element, relatedElem) {\n if (!element) {\n return\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n\n this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n const complete = () => {\n if (element.getAttribute('role') !== 'tab') {\n element.classList.add(CLASS_NAME_SHOW)\n return\n }\n\n element.removeAttribute('tabindex')\n element.setAttribute('aria-selected', true)\n this._toggleMenu(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._toggleMenu(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 _toggleMenu(element, open) {\n const outerElem = this._getOuterElement(element)\n const menuToggle = SelectorEngine.findOne(SELECTOR_MENU_TOGGLE, outerElem)\n if (!menuToggle) {\n return\n }\n\n const menu = SelectorEngine.findOne(SELECTOR_MENU, outerElem)\n\n menuToggle.classList.toggle(CLASS_NAME_ACTIVE, open)\n if (menu) {\n menu.classList.toggle(CLASS_NAME_SHOW, open)\n }\n\n menuToggle.setAttribute('aria-expanded', open)\n }\n\n _setAttributeIfNotExists(element, attribute, value) {\n if (!element.hasAttribute(attribute)) {\n element.setAttribute(attribute, value)\n }\n }\n\n _elemIsActive(elem) {\n return elem.classList.contains(CLASS_NAME_ACTIVE)\n }\n\n // Try to get the inner element (usually the .nav-link)\n _getInnerElement(elem) {\n return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n }\n\n // Try to get the outer element (usually the .nav-item)\n _getOuterElement(elem) {\n return elem.closest(SELECTOR_OUTER) || elem\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n Tab.getOrCreateInstance(element)\n }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._timeout = null\n this._hasMouseInteraction = false\n this._hasKeyboardInteraction = false\n this._setListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._maybeScheduleHide()\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n hide() {\n if (!this.isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.add(CLASS_NAME_SHOWING)\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this.isShown()) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n super.dispose()\n }\n\n isShown() {\n return this._element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _maybeScheduleHide() {\n if (!this._config.autohide) {\n return\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return\n }\n\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n\n _onInteraction(event, isInteracting) {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout': {\n this._hasMouseInteraction = isInteracting\n break\n }\n\n case 'focusin':\n case 'focusout': {\n this._hasKeyboardInteraction = isInteracting\n break\n }\n\n default: {\n break\n }\n }\n\n if (isInteracting) {\n this._clearTimeout()\n return\n }\n\n const nextElement = event.relatedTarget\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return\n }\n\n this._maybeScheduleHide()\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n attribute: 'string',\n value: '(string|number|boolean)'\n}\n\nconst Default = {\n attribute: 'class',\n value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n if (toggleEvent.defaultPrevented) {\n return\n }\n\n this._execute()\n\n EventHandler.trigger(this._element, EVENT_TOGGLED)\n }\n\n // Private\n _execute() {\n const { attribute, value } = this._config\n\n if (attribute === 'id') {\n return // You have to be kidding\n }\n\n if (attribute === 'class') {\n this._element.classList.toggle(value)\n return\n }\n\n // Compare as strings since getAttribute() always returns a string\n if (this._element.getAttribute(attribute) === String(value)) {\n this._element.removeAttribute(attribute)\n return\n }\n\n this._element.setAttribute(attribute, value)\n }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","computePosition","arrow","flip","offset","shift","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","placement","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","container","display","floatingConfig","menu","reference","strategy","submenuTrigger","submenuDelay","Menu","_openInstances","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_findMenu","_menuOriginalParent","_parseResponsivePlacements","_setupSubmenuListeners","showEvent","_moveMenuToContainer","_createFloating","body","focus","focusVisible","_completeHide","_disposeFloating","_restoreMenuToOriginalParent","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","hideEvent","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","result","floating","offsetValue","mainAxis","crossAxis","fallbackPlacements","_getFallbackPlacements","fallbackMap","bottom","top","right","left","defaultConfig","_getContainer","append","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","clientY","timestamp","Date","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","currentMenu","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_CHANGE","CLASS_NAME_SELECTED","CLASS_NAME_PLACEHOLDER","SELECTOR_MENU_ITEM","SELECTOR_VALUE","SELECTOR_SEARCH_INPUT","SELECTOR_NO_RESULTS","multiple","placeholder","search","searchNormalize","Combobox","_toggle","_valueDisplay","_searchInput","_noResults","_hiddenInput","_menuInstance","_createHiddenInput","_createMenuInstance","_syncInitialSelection","_filterItems","createElement","insertBefore","selectedItems","_getSelectedItems","_updateToggleText","_updateHiddenInput","_showPlaceholder","item","_selectItem","_handleToggleKeydown","_handleMenuKeydown","_getVisibleItems","previouslySelected","bsValue","textContent","label","query","normalizedQuery","_normalizeText","visibleCount","text","normalize","jQueryInterface","each","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","vcpOptions","Datepicker","_calendar","_initCalendar","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","displayChild","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","shouldHide","dateStr","year","month","day","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","String","padStart","getDate","formatted","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showModal","_hideDialog","handleUpdate","_triggerBackdropTransition","hidePreventedEvent","currentDialog","shouldSwap","newDialog","currentInstance","EVENT_UPDATE","EVENT_OVERFLOW","CLASS_NAME_OVERFLOW","CLASS_NAME_OVERFLOW_MENU","CLASS_NAME_HIDDEN","SELECTOR_NAV_ITEM","SELECTOR_NAV_LINK","SELECTOR_OVERFLOW_TOGGLE","SELECTOR_OVERFLOW_MENU","CLASS_NAME_KEEP","moreText","moreIcon","threshold","NavOverflow","_items","_overflowItems","_overflowMenu","_overflowToggle","_resizeObserver","_isInitialized","_init","_calculateOverflow","_restoreItems","parentElement","bsNavOrder","_createOverflowMenu","_setupResizeObserver","overflowItem","className","innerHTML","ResizeObserver","navWidth","offsetWidth","overflowWidth","usedWidth","itemsToOverflow","overflowThreshold","itemWidth","toMove","_moveToOverflow","overflowCount","link","clonedLink","cloneNode","bsNavOverflow","EVENT_MOUSEDOWN","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","i","nextIndex","pastedData","clipboardData","getData","digits","lastIndex","select","isComplete","every","EVENT_ADD","EVENT_REMOVE","EVENT_SELECT","SELECTOR_DATA_CHIP_INPUT","SELECTOR_GHOST_INPUT","SELECTOR_CHIP","SELECTOR_CHIP_DISMISS","CLASS_NAME_CHIP","CLASS_NAME_CHIP_DISMISS","DEFAULT_DISMISS_ICON","allowDuplicates","maxChips","dismissible","dismissIcon","createOnBlur","ChipInput","_chips","_selectedChips","_anchorChip","_createInput","_initializeExistingChips","trimmedValue","addEvent","chip","_createChip","getValues","chipOrValue","_findChipByValue","_getChipValue","removeEvent","v","removeSelected","chipsToRemove","getSelectedValues","chips","clearSelection","selectChip","options","addToSelection","rangeSelect","chipElements","_getChipElements","anchorIndex","chipIndex","start","end","existingChips","_setupChip","_createDismissButton","bsChipValue","createTextNode","clone","dismiss","_handleInputKeydown","_createChipFromInput","metaKey","ctrlKey","_handleChipKeydown","lastChip","selectionStart","selectionEnd","currentIndex","_handleChipDelete","_navigateChip","_navigateToEdge","_handleSelectAll","remainingChips","focusIndex","targetIndex","targetChip","c","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_MENU_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_MENU_TOGGLE","rootMargin","smoothScroll","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","menuToggle","listGroup","activeNodes","node","spy","NOT_SELECTOR_MENU_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","_toggleMenu","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","toggleEvent","_execute"],"mappings":"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","x_google_ignoreList":[13,14,15,16,20]}
\ No newline at end of file
+{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../js/src/util/floating-ui.js","../../js/src/menu.js","../../js/src/combobox.js","../../node_modules/vanilla-calendar-pro/index.mjs","../../js/src/datepicker.js","../../js/src/dialog.js","../../js/src/nav-overflow.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n element.dispatchEvent(evt)\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n if (isElement(object)) {\n return object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n // Private\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n if (typeof callback === 'function') {\n callback({ ...data, instances })\n }\n\n for (const instance of instances) {\n instance[method]()\n }\n })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n EventHandler.on(document, onEvent, selector, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n const selector = SelectorEngine.getSelectorFromElement(this)\n const targets = selector ? SelectorEngine.find(selector) : [this]\n\n callback({ targets, event })\n })\n}\n\nexport {\n enableDismissTrigger,\n eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: 'number',\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (document.visibilityState === 'visible' && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n getElement,\n reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n // Private\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\nexport default Collapse\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n const firstChar = placement[0];\n return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n const side = getSide(placement);\n return oppositeSideMap[side] + placement.slice(side.length);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n// Maximum number of resets that can occur before bailing to avoid infinite reset loops.\nconst MAX_RESET_COUNT = 50;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const platformWithDetectOverflow = platform.detectOverflow ? platform : {\n ...platform,\n detectOverflow\n };\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let resetCount = 0;\n const middlewareData = {};\n for (let i = 0; i < middleware.length; i++) {\n const currentMiddleware = middleware[i];\n if (!currentMiddleware) {\n continue;\n }\n const {\n name,\n fn\n } = currentMiddleware;\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platformWithDetectOverflow,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData[name] = {\n ...middlewareData[name],\n ...data\n };\n if (reset && resetCount < MAX_RESET_COUNT) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects,\n platform\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n platform\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';\n}\nfunction isTableElement(element) {\n return /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n try {\n if (element.matches(':popover-open')) {\n return true;\n }\n } catch (_e) {\n // no-op\n }\n try {\n return element.matches(':modal');\n } catch (_e) {\n return false;\n }\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = value => !!value && value !== 'none';\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (isWebKitValue == null) {\n isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');\n }\n return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n return /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n } else {\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n }\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the <html> but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the <body> scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n let top = firstRect.top;\n let right = firstRect.right;\n let bottom = firstRect.bottom;\n let left = firstRect.left;\n for (let i = 1; i < clippingAncestors.length; i++) {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n top = max(rect.top, top);\n right = min(rect.right, right);\n bottom = min(rect.bottom, bottom);\n left = max(rect.left, left);\n }\n return {\n width: right - left,\n height: bottom - top,\n x: left,\n y: top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n if (floating) {\n resizeObserver.observe(floating);\n }\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $breakpoints)\n */\nexport const BREAKPOINTS = {\n sm: 576,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n if (fallback.includes('-start') || fallback.includes('-end')) {\n const [side, alignment] = fallback.split('-')\n const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n return isRTL() ? `${side}-${flippedAlignment}` : fallback\n }\n\n return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n if (!placementString || !placementString.includes(':')) {\n return null\n }\n\n // Parse the placement string into breakpoint-keyed object\n const parts = placementString.split(/\\s+/)\n const placements = { xs: defaultPlacement } // Default fallback\n\n for (const part of parts) {\n if (part.includes(':')) {\n // Responsive placement like \"md:top-end\"\n const [breakpoint, placement] = part.split(':')\n if (BREAKPOINTS[breakpoint] !== undefined) {\n placements[breakpoint] = placement\n }\n } else {\n // Base placement (no prefix = xs/default)\n placements.xs = part\n }\n }\n\n return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n if (!responsivePlacements) {\n return defaultPlacement\n }\n\n // Get current viewport width\n const viewportWidth = window.innerWidth\n\n // Find the largest breakpoint that matches\n let activePlacement = responsivePlacements.xs || defaultPlacement\n\n // Check breakpoints in order (sm, md, lg, xl, 2xl)\n const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n for (const breakpoint of breakpointOrder) {\n const minWidth = BREAKPOINTS[breakpoint]\n if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n activePlacement = responsivePlacements[breakpoint]\n }\n }\n\n return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n const listeners = []\n\n for (const breakpoint of Object.keys(BREAKPOINTS)) {\n const minWidth = BREAKPOINTS[breakpoint]\n const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n mql.addEventListener('change', callback)\n listeners.push({ mql, handler: callback })\n }\n\n return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n for (const { mql, handler } of listeners) {\n mql.removeEventListener('change', handler)\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap menu.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n computePosition,\n flip,\n shift,\n offset,\n autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\nimport {\n parseResponsivePlacement,\n getResponsivePlacement,\n createBreakpointListeners,\n disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'menu'\nconst DATA_KEY = 'bs.menu'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"menu\"]:not(.disabled):not(:disabled)'\n\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_SUBMENU = '.submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.submenu > .menu-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item:not(.disabled):not(:disabled)'\n\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\nconst resolveLogicalPlacement = placement => {\n if (isRTL()) {\n return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n }\n\n return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\nconst triangleSign = (p1, p2, p3) =>\n ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n container: false,\n display: 'dynamic',\n offset: [0, 2],\n floatingConfig: null,\n menu: null,\n placement: DEFAULT_PLACEMENT,\n reference: 'toggle',\n strategy: 'absolute',\n submenuTrigger: 'both',\n submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n display: 'string',\n offset: '(array|string|function)',\n floatingConfig: '(null|object|function)',\n menu: '(null|element)',\n placement: 'string',\n reference: '(string|element|object)',\n strategy: 'string',\n submenuTrigger: 'string',\n submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Menu extends BaseComponent {\n static _openInstances = new Set()\n\n constructor(element, config) {\n if (typeof computePosition === 'undefined') {\n throw new TypeError('Bootstrap\\'s menus require Floating UI (https://floating-ui.com)')\n }\n\n super(element, config)\n\n this._floatingCleanup = null\n this._mediaQueryListeners = []\n this._responsivePlacements = null\n this._parent = this._element.parentNode\n this._isSubmenu = this._parent.classList?.contains('submenu')\n this._openSubmenus = new Map()\n this._submenuCloseTimeouts = new Map()\n this._hoverIntentData = null\n\n this._menu = this._config.menu || this._findMenu()\n\n this._menuOriginalParent = this._menu?.parentNode\n\n this._parseResponsivePlacements()\n this._setupSubmenuListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._moveMenuToContainer()\n this._createFloating()\n\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({ focusVisible: false })\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\n if (this._parent) {\n this._parent.classList.add(CLASS_NAME_SHOW)\n }\n\n Menu._openInstances.add(this)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n this._disposeFloating()\n this._restoreMenuToOriginalParent()\n this._disposeMediaQueryListeners()\n this._closeAllSubmenus()\n this._clearAllSubmenuTimeouts()\n Menu._openInstances.delete(this)\n super.dispose()\n }\n\n update() {\n if (this._floatingCleanup) {\n this._updateFloatingPosition()\n }\n }\n\n // Private\n _findMenu() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n }\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._closeAllSubmenus()\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._disposeFloating()\n this._restoreMenuToOriginalParent()\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n if (this._parent) {\n this._parent.classList.remove(CLASS_NAME_SHOW)\n }\n\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'placement')\n Manipulator.removeDataAttribute(this._menu, 'display')\n Menu._openInstances.delete(this)\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 throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createFloating() {\n if (this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'display', 'static')\n return\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n this._updateFloatingPosition(referenceElement)\n\n this._floatingCleanup = autoUpdate(\n referenceElement,\n this._menu,\n () => this._updateFloatingPosition(referenceElement)\n )\n }\n\n async _updateFloatingPosition(referenceElement = null) {\n if (!this._menu) {\n return\n }\n\n if (!referenceElement) {\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n } else {\n referenceElement = this._element\n }\n }\n\n const placement = this._getPlacement()\n const middleware = this._getFloatingMiddleware()\n const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n await this._applyFloatingPosition(\n referenceElement,\n this._menu,\n floatingConfig.placement,\n floatingConfig.middleware,\n floatingConfig.strategy\n )\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const placement = this._responsivePlacements ?\n getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n this._config.placement\n\n return resolveLogicalPlacement(placement)\n }\n\n _parseResponsivePlacements() {\n this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n if (this._responsivePlacements) {\n this._setupMediaQueryListeners()\n }\n }\n\n _setupMediaQueryListeners() {\n this._disposeMediaQueryListeners()\n this._mediaQueryListeners = createBreakpointListeners(() => {\n if (this._isShown()) {\n this._updateFloatingPosition()\n }\n })\n }\n\n _disposeMediaQueryListeners() {\n disposeBreakpointListeners(this._mediaQueryListeners)\n this._mediaQueryListeners = []\n }\n\n _getOffset() {\n const { offset: offsetConfig } = this._config\n\n if (typeof offsetConfig === 'string') {\n return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offsetConfig === 'function') {\n return ({ placement, rects }) => {\n const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n return result\n }\n }\n\n return offsetConfig\n }\n\n _getFloatingMiddleware() {\n const offsetValue = this._getOffset()\n\n const middleware = [\n offset(\n typeof offsetValue === 'function' ?\n offsetValue :\n { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n ),\n flip({\n fallbackPlacements: this._getFallbackPlacements()\n }),\n shift({\n boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n })\n ]\n\n return middleware\n }\n\n _getFallbackPlacements() {\n const placement = this._getPlacement()\n\n const fallbackMap = {\n bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n 'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n 'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n 'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n 'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n 'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n 'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n 'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n 'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n }\n\n return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n }\n\n _getFloatingConfig(placement, middleware) {\n const defaultConfig = {\n placement,\n middleware,\n strategy: this._config.strategy\n }\n\n return {\n ...defaultConfig,\n ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n }\n }\n\n _disposeFloating() {\n if (this._floatingCleanup) {\n this._floatingCleanup()\n this._floatingCleanup = null\n }\n }\n\n _getContainer() {\n const { container } = this._config\n if (container === false) {\n return null\n }\n\n return container === true ? document.body : getElement(container)\n }\n\n _moveMenuToContainer() {\n const container = this._getContainer()\n if (!container || !this._menu) {\n return\n }\n\n if (this._menu.parentNode !== container) {\n container.append(this._menu)\n }\n }\n\n _restoreMenuToOriginalParent() {\n if (!this._menuOriginalParent || !this._menu) {\n return\n }\n\n if (this._menu.parentNode !== this._menuOriginalParent) {\n this._menuOriginalParent.append(this._menu)\n }\n }\n\n async _applyFloatingPosition(reference, floating, placement, middleware, strategy = 'absolute') {\n if (!floating.isConnected) {\n return null\n }\n\n const { x, y, placement: finalPlacement } = await computePosition(\n reference,\n floating,\n { placement, middleware, strategy }\n )\n\n if (!floating.isConnected) {\n return null\n }\n\n Object.assign(floating.style, {\n position: strategy,\n left: `${x}px`,\n top: `${y}px`,\n margin: '0'\n })\n\n Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n return finalPlacement\n }\n\n // -------------------------------------------------------------------------\n // Submenu handling\n // -------------------------------------------------------------------------\n\n _setupSubmenuListeners() {\n if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n this._onSubmenuTriggerEnter(event)\n })\n\n EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n this._onSubmenuLeave(event)\n })\n\n EventHandler.on(this._menu, 'mousemove', event => {\n this._trackMousePosition(event)\n })\n }\n\n if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n this._onSubmenuTriggerClick(event)\n })\n }\n }\n\n _onSubmenuTriggerEnter(event) {\n const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n if (!trigger) {\n return\n }\n\n const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (!submenu) {\n return\n }\n\n this._cancelSubmenuCloseTimeout(submenu)\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(trigger, submenu, submenuWrapper)\n }\n\n _onSubmenuLeave(event) {\n const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (!submenu || !this._openSubmenus.has(submenu)) {\n return\n }\n\n if (this._isMovingTowardSubmenu(event, submenu)) {\n return\n }\n\n this._scheduleSubmenuClose(submenu, submenuWrapper)\n }\n\n _onSubmenuTriggerClick(event) {\n const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n if (!trigger) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (!submenu) {\n return\n }\n\n if (this._openSubmenus.has(submenu)) {\n this._closeSubmenu(submenu, submenuWrapper)\n } else {\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(trigger, submenu, submenuWrapper)\n }\n }\n\n _openSubmenu(trigger, submenu, submenuWrapper) {\n if (this._openSubmenus.has(submenu)) {\n return\n }\n\n trigger.setAttribute('aria-expanded', 'true')\n trigger.setAttribute('aria-haspopup', 'true')\n\n submenu.classList.add(CLASS_NAME_SHOW)\n submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n this._openSubmenus.set(submenu, cleanup)\n\n EventHandler.on(submenu, 'mouseenter', () => {\n this._cancelSubmenuCloseTimeout(submenu)\n })\n }\n\n _closeSubmenu(submenu, submenuWrapper) {\n if (!this._openSubmenus.has(submenu)) {\n return\n }\n\n const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n for (const nested of nestedSubmenus) {\n const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n this._closeSubmenu(nested, nestedWrapper)\n }\n\n const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n const cleanup = this._openSubmenus.get(submenu)\n if (cleanup) {\n cleanup()\n }\n\n this._openSubmenus.delete(submenu)\n EventHandler.off(submenu, 'mouseenter')\n\n if (trigger) {\n trigger.setAttribute('aria-expanded', 'false')\n }\n\n submenu.classList.remove(CLASS_NAME_SHOW)\n submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n submenu.style.position = ''\n submenu.style.left = ''\n submenu.style.top = ''\n submenu.style.margin = ''\n }\n\n _closeAllSubmenus() {\n for (const [submenu] of this._openSubmenus) {\n const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n this._closeSubmenu(submenu, submenuWrapper)\n }\n }\n\n _closeSiblingSubmenus(currentSubmenuWrapper) {\n const parent = currentSubmenuWrapper.parentNode\n const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n for (const siblingMenu of siblingSubmenus) {\n const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n if (siblingWrapper !== currentSubmenuWrapper) {\n this._closeSubmenu(siblingMenu, siblingWrapper)\n }\n }\n }\n\n _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n const referenceElement = submenuWrapper\n const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n const middleware = [\n offset({ mainAxis: 0, crossAxis: -4 }),\n flip({\n fallbackPlacements: [\n resolveLogicalPlacement('start-start'),\n resolveLogicalPlacement('end-end'),\n resolveLogicalPlacement('start-end')\n ]\n }),\n shift({ padding: 8 })\n ]\n\n const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n updatePosition()\n return autoUpdate(referenceElement, submenu, updatePosition)\n }\n\n _scheduleSubmenuClose(submenu, submenuWrapper) {\n this._cancelSubmenuCloseTimeout(submenu)\n\n const timeoutId = setTimeout(() => {\n this._closeSubmenu(submenu, submenuWrapper)\n this._submenuCloseTimeouts.delete(submenu)\n }, this._config.submenuDelay)\n\n this._submenuCloseTimeouts.set(submenu, timeoutId)\n }\n\n _cancelSubmenuCloseTimeout(submenu) {\n const timeoutId = this._submenuCloseTimeouts.get(submenu)\n if (timeoutId) {\n clearTimeout(timeoutId)\n this._submenuCloseTimeouts.delete(submenu)\n }\n }\n\n _clearAllSubmenuTimeouts() {\n for (const timeoutId of this._submenuCloseTimeouts.values()) {\n clearTimeout(timeoutId)\n }\n\n this._submenuCloseTimeouts.clear()\n }\n\n // -------------------------------------------------------------------------\n // Hover intent / Safe triangle\n // -------------------------------------------------------------------------\n\n _trackMousePosition(event) {\n this._hoverIntentData = {\n x: event.clientX,\n y: event.clientY,\n timestamp: Date.now()\n }\n }\n\n _isMovingTowardSubmenu(event, submenu) {\n if (!this._hoverIntentData) {\n return false\n }\n\n const submenuRect = submenu.getBoundingClientRect()\n const currentPos = { x: event.clientX, y: event.clientY }\n const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n const isRtl = isRTL()\n const targetX = isRtl ? submenuRect.right : submenuRect.left\n const topCorner = { x: targetX, y: submenuRect.top }\n const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n }\n\n _pointInTriangle(point, v1, v2, v3) {\n const d1 = triangleSign(point, v1, v2)\n const d2 = triangleSign(point, v2, v3)\n const d3 = triangleSign(point, v3, v1)\n\n const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n return !(hasNeg && hasPos)\n }\n\n // -------------------------------------------------------------------------\n // Keyboard navigation\n // -------------------------------------------------------------------------\n\n _selectMenuItem({ key, target }) {\n const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n .filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n _handleSubmenuKeydown(event) {\n const { key, target } = event\n const isRtl = isRTL()\n\n const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n event.preventDefault()\n event.stopPropagation()\n\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (submenu) {\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(target, submenu, submenuWrapper)\n requestAnimationFrame(() => {\n const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n if (firstItem) {\n firstItem.focus()\n }\n })\n }\n\n return true\n }\n\n if (key === enterKey && isSubmenuTrigger) {\n event.preventDefault()\n event.stopPropagation()\n\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (submenu) {\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(target, submenu, submenuWrapper)\n requestAnimationFrame(() => {\n const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n if (firstItem) {\n firstItem.focus()\n }\n })\n }\n\n return true\n }\n\n if (key === exitKey) {\n const currentMenu = target.closest(SELECTOR_MENU)\n const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n if (parentSubmenuWrapper) {\n event.preventDefault()\n event.stopPropagation()\n\n const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n if (parentTrigger) {\n parentTrigger.focus()\n }\n\n return true\n }\n }\n\n if (key === HOME_KEY || key === END_KEY) {\n event.preventDefault()\n event.stopPropagation()\n\n const currentMenu = target.closest(SELECTOR_MENU)\n const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n .filter(element => isVisible(element))\n\n if (items.length) {\n const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n targetItem.focus()\n }\n\n return true\n }\n\n return false\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n for (const instance of Menu._openInstances) {\n if (instance._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(instance._menu)\n if (\n composedPath.includes(instance._element) ||\n (instance._config.autoClose === 'inside' && !isMenuTarget) ||\n (instance._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n if (instance._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: instance._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n instance._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n if (!getToggleButton) {\n return\n }\n\n const instance = Menu.getOrCreateInstance(getToggleButton)\n\n if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n return\n }\n\n if (isUpOrDownEvent) {\n event.preventDefault()\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (isEscapeEvent && instance._isShown()) {\n event.preventDefault()\n event.stopPropagation()\n\n const currentMenu = event.target.closest(SELECTOR_MENU)\n const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n if (parentTrigger) {\n parentTrigger.focus()\n }\n\n return\n }\n\n 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, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Menu.getOrCreateInstance(this).toggle()\n})\n\nexport default Menu\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap combobox.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 Menu from './menu.js'\nimport { getNextActiveElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'combobox'\nconst DATA_KEY = 'bs.combobox'\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 HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SELECTED = 'selected'\nconst CLASS_NAME_PLACEHOLDER = 'combobox-placeholder'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"combobox\"]'\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_MENU_ITEM = '.menu-item[data-bs-value]'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item[data-bs-value]:not(.disabled):not(:disabled)'\nconst SELECTOR_VALUE = '.combobox-value'\nconst SELECTOR_SEARCH_INPUT = '.combobox-search-input'\nconst SELECTOR_NO_RESULTS = '.combobox-no-results'\n\nconst Default = {\n boundary: 'clippingParents',\n multiple: false,\n name: null,\n offset: [0, 2],\n placeholder: '',\n placement: 'bottom-start',\n search: false,\n searchNormalize: false\n}\n\nconst DefaultType = {\n boundary: '(string|element)',\n multiple: 'boolean',\n name: '(string|null)',\n offset: '(array|string|function)',\n placeholder: 'string',\n placement: 'string',\n search: 'boolean',\n searchNormalize: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Combobox extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._toggle = this._element\n this._menu = SelectorEngine.next(this._toggle, SELECTOR_MENU)[0]\n this._valueDisplay = SelectorEngine.findOne(SELECTOR_VALUE, this._toggle)\n this._searchInput = SelectorEngine.findOne(SELECTOR_SEARCH_INPUT, this._menu)\n this._noResults = SelectorEngine.findOne(SELECTOR_NO_RESULTS, this._menu)\n this._hiddenInput = null\n this._menuInstance = null\n\n this._createHiddenInput()\n this._createMenuInstance()\n this._syncInitialSelection()\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() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._toggle) || this._isShown()) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW)\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._menuInstance.show()\n\n if (this._searchInput) {\n this._searchInput.value = ''\n this._filterItems('')\n requestAnimationFrame(() => this._searchInput.focus())\n }\n\n EventHandler.trigger(this._toggle, EVENT_SHOWN)\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._menuInstance.hide()\n EventHandler.trigger(this._toggle, EVENT_HIDDEN)\n }\n\n dispose() {\n if (this._menuInstance) {\n this._menuInstance.dispose()\n this._menuInstance = null\n }\n\n if (this._hiddenInput) {\n this._hiddenInput.remove()\n this._hiddenInput = null\n }\n\n EventHandler.off(this._menu, EVENT_KEY)\n EventHandler.off(this._toggle, EVENT_KEY)\n\n super.dispose()\n }\n\n // Private\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createHiddenInput() {\n const { name } = this._config\n if (!name) {\n return\n }\n\n this._hiddenInput = document.createElement('input')\n this._hiddenInput.type = 'hidden'\n this._hiddenInput.name = name\n this._hiddenInput.value = ''\n this._toggle.parentNode.insertBefore(this._hiddenInput, this._toggle)\n }\n\n _createMenuInstance() {\n this._menuInstance = new Menu(this._toggle, {\n menu: this._menu,\n autoClose: this._config.multiple ? 'outside' : true,\n boundary: this._config.boundary,\n offset: this._config.offset,\n placement: this._config.placement\n })\n }\n\n _syncInitialSelection() {\n const selectedItems = this._getSelectedItems()\n if (selectedItems.length > 0) {\n this._updateToggleText()\n this._updateHiddenInput()\n } else {\n this._showPlaceholder()\n }\n }\n\n _addEventListeners() {\n EventHandler.on(this._menu, 'click', SELECTOR_MENU_ITEM, event => {\n const item = event.target.closest(SELECTOR_MENU_ITEM)\n if (!item || isDisabled(item)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n this._selectItem(item)\n })\n\n EventHandler.on(this._toggle, 'keydown', event => {\n this._handleToggleKeydown(event)\n })\n\n EventHandler.on(this._menu, 'keydown', event => {\n this._handleMenuKeydown(event)\n })\n\n if (this._searchInput) {\n EventHandler.on(this._searchInput, 'input', () => {\n this._filterItems(this._searchInput.value)\n })\n\n EventHandler.on(this._searchInput, 'keydown', event => {\n if (event.key === ARROW_DOWN_KEY) {\n event.preventDefault()\n const items = this._getVisibleItems()\n if (items.length > 0) {\n items[0].focus()\n }\n }\n\n if (event.key === ESCAPE_KEY) {\n this.hide()\n this._toggle.focus()\n }\n })\n }\n }\n\n _selectItem(item) {\n if (this._config.multiple) {\n item.classList.toggle(CLASS_NAME_SELECTED)\n item.setAttribute('aria-selected', item.classList.contains(CLASS_NAME_SELECTED))\n } else {\n const previouslySelected = SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n for (const prev of previouslySelected) {\n prev.classList.remove(CLASS_NAME_SELECTED)\n prev.setAttribute('aria-selected', 'false')\n }\n\n item.classList.add(CLASS_NAME_SELECTED)\n item.setAttribute('aria-selected', 'true')\n }\n\n this._updateToggleText()\n this._updateHiddenInput()\n\n const value = this._config.multiple ?\n this._getSelectedItems().map(el => el.dataset.bsValue) :\n item.dataset.bsValue\n\n EventHandler.trigger(this._toggle, EVENT_CHANGE, {\n value,\n item\n })\n\n if (!this._config.multiple) {\n this.hide()\n this._toggle.focus()\n }\n }\n\n _updateToggleText() {\n const selectedItems = this._getSelectedItems()\n\n if (selectedItems.length === 0) {\n this._showPlaceholder()\n return\n }\n\n this._valueDisplay.classList.remove(CLASS_NAME_PLACEHOLDER)\n\n if (this._config.multiple && selectedItems.length > 1) {\n this._valueDisplay.textContent = `${selectedItems.length} selected`\n } else {\n const item = selectedItems[0]\n const label = SelectorEngine.findOne('.menu-item-content > span:first-child', item)\n this._valueDisplay.textContent = label ? label.textContent : item.textContent.trim()\n }\n }\n\n _showPlaceholder() {\n const { placeholder } = this._config\n if (placeholder) {\n this._valueDisplay.textContent = placeholder\n this._valueDisplay.classList.add(CLASS_NAME_PLACEHOLDER)\n }\n }\n\n _updateHiddenInput() {\n if (!this._hiddenInput) {\n return\n }\n\n const selectedItems = this._getSelectedItems()\n const values = selectedItems.map(el => el.dataset.bsValue)\n this._hiddenInput.value = this._config.multiple ? values.join(',') : (values[0] || '')\n }\n\n _getSelectedItems() {\n return SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n }\n\n _getVisibleItems() {\n return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu)\n .filter(item => isVisible(item))\n }\n\n _filterItems(query) {\n const normalizedQuery = this._normalizeText(query.toLowerCase().trim())\n const items = SelectorEngine.find(SELECTOR_MENU_ITEM, this._menu)\n let visibleCount = 0\n\n for (const item of items) {\n const text = this._normalizeText(item.textContent.toLowerCase().trim())\n const matches = !normalizedQuery || text.includes(normalizedQuery)\n item.style.display = matches ? '' : 'none'\n if (matches) {\n visibleCount++\n }\n }\n\n if (this._noResults) {\n this._noResults.classList.toggle('d-none', visibleCount > 0)\n }\n }\n\n _normalizeText(text) {\n if (this._config.searchNormalize) {\n return text.normalize('NFD').replace(/[\\u0300-\\u036F]/g, '')\n }\n\n return text\n }\n\n _handleToggleKeydown(event) {\n const { key } = event\n\n if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n event.preventDefault()\n if (!this._isShown()) {\n this.show()\n }\n\n const items = this._getVisibleItems()\n if (items.length > 0) {\n const target = key === ARROW_DOWN_KEY ? items[0] : items[items.length - 1]\n target.focus()\n }\n\n return\n }\n\n if ((key === ENTER_KEY || key === SPACE_KEY) && !this._isShown()) {\n event.preventDefault()\n this.show()\n }\n }\n\n _handleMenuKeydown(event) {\n const { key, target } = event\n\n if (key === ESCAPE_KEY) {\n event.preventDefault()\n event.stopPropagation()\n this.hide()\n this._toggle.focus()\n return\n }\n\n if (key === TAB_KEY) {\n this.hide()\n return\n }\n\n const isInput = target.matches('input')\n\n if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n event.preventDefault()\n const items = this._getVisibleItems()\n if (items.length > 0) {\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n return\n }\n\n if (key === HOME_KEY || key === END_KEY) {\n event.preventDefault()\n const items = this._getVisibleItems()\n if (items.length > 0) {\n const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n targetItem.focus()\n }\n\n return\n }\n\n if ((key === ENTER_KEY || key === SPACE_KEY) && !isInput) {\n event.preventDefault()\n const item = target.closest(SELECTOR_MENU_ITEM)\n if (item && !isDisabled(item)) {\n this._selectItem(item)\n }\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Combobox.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]()\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Combobox.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n for (const toggle of SelectorEngine.find(SELECTOR_DATA_TOGGLE)) {\n Combobox.getOrCreateInstance(toggle)\n }\n})\n\nexport default Combobox\n","/*! name: vanilla-calendar-pro v3.1.0 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */\nvar __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,\"symbol\"!=typeof t?t+\"\":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the \"init()\" method first.',notLocale:\"You specified an incorrect language label or did not specify the required number of values for «locale.weekdays» or «locale.months».\",incorrectTime:\"The value of the time property can be: false, 12 or 24.\",incorrectMonthsCount:\"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1.\"},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,a,o,l;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(a=null==(n=e.context.inputElement)?void 0:n.replaceWith)||a.call(n,e.context.originalElement),setContext(e,\"inputElement\",void 0)):null==(l=(o=e.context.mainElement).replaceWith)||l.call(o,e.context.originalElement),setContext(e,\"mainElement\",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},skipOpenOnFocus=new WeakSet,shouldSkipOpenOnFocus=e=>skipOpenOnFocus.has(e),setSkipOpenOnFocus=e=>{skipOpenOnFocus.add(e)},clearSkipOpenOnFocus=e=>{skipOpenOnFocus.delete(e)},PREV_TABINDEX_ATTR=\"data-vc-prev-tabindex\",isFocusable=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),storePrevTabIndex=e=>{if(e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(\"tabindex\");e.setAttribute(PREV_TABINDEX_ATTR,null!=t?t:\"\")},restorePrevTabIndex=e=>{if(!e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(PREV_TABINDEX_ATTR);\"\"===t||null===t?e.removeAttribute(\"tabindex\"):e.setAttribute(\"tabindex\",t),e.removeAttribute(PREV_TABINDEX_ATTR)},disableTabbing=e=>{isFocusable(e)&&(storePrevTabIndex(e),e.tabIndex=-1);const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>isFocusable(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();){const e=t.currentNode;storePrevTabIndex(e),e.tabIndex=-1}},restoreTabbing=e=>{restorePrevTabIndex(e),e.querySelectorAll(`[${PREV_TABINDEX_ATTR}]`).forEach(restorePrevTabIndex)},hide=e=>{if(e.context.isShowInInputMode&&e.context.currentType){if(e.context.mainElement.dataset.vcCalendarHidden=\"\",setContext(e,\"isShowInInputMode\",!1),e.inputMode&&disableTabbing(e.context.mainElement),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach((e=>e())),setContext(e,\"cleanupHandlers\",[])),e.inputMode&&e.context.inputElement&&e.context.mainElement.contains(document.activeElement)){(\"function\"==typeof e.openOnFocus||!0===e.openOnFocus)&&setSkipOpenOnFocus(e),e.context.inputElement.focus()}e.onHide&&e.onHide(e)}};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:a,left:o}=getOffset(e),{vh:l,vw:s}=getViewportDimensions(),i=a-t,r=o-n;return{top:i,bottom:l-(i+e.clientHeight),left:r,right:s-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const a={top:!0,bottom:!0,left:!0,right:!0},o=[];if(!t||!e)return{canShow:a,parentPositions:o};const{bottom:l,top:s}=calculateAvailableSpace(e),{top:i,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:m}=getViewportDimensions(),p=m/2,h=u/2;return[{condition:i<h,position:\"top\"},{condition:i>h,position:\"bottom\"},{condition:r<p,position:\"left\"},{condition:r>p,position:\"right\"}].forEach((({condition:e,position:t})=>{e&&o.push(t)})),Object.assign(a,{top:c<=s-n,bottom:c<=l-n,left:d<=r,right:d<=m-r}),{canShow:a,parentPositions:o}}const handleDay=(e,t,n,a)=>{var o;const l=a.querySelector(`[data-vc-date=\"${t}\"]`),s=null==l?void 0:l.querySelector(\"[data-vc-date-btn]\");if(!l||!s)return;if((null==n?void 0:n.modifier)&&s.classList.add(...n.modifier.trim().split(\" \")),!(null==n?void 0:n.html))return;const i=document.createElement(\"div\");i.className=e.styles.datePopup,i.dataset.vcDatePopup=\"\",i.innerHTML=e.sanitizerHTML(n.html),s.ariaExpanded=\"true\",s.ariaLabel=`${s.ariaLabel}, ${null==(o=null==i?void 0:i.textContent)?void 0:o.replace(/^\\s+|\\s+(?=\\s)|\\s+$/g,\"\").replace(/ /g,\" \")}`,l.appendChild(i),requestAnimationFrame((()=>{if(!i)return;const{canShow:e}=getAvailablePosition(l,i),t=e.bottom?l.offsetHeight:-i.offsetHeight,n=e.left&&!e.right?l.offsetWidth-i.offsetWidth/2:!e.left&&e.right?i.offsetWidth/2:0;Object.assign(i.style,{left:`${n}px`,top:`${t}px`})}))},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach((([n,a])=>handleDay(e,n,a,t))))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,\"0\")}-${String(e.getDate()).padStart(2,\"0\")}`,parseDates=e=>e.reduce(((e,t)=>{if(t instanceof Date||\"number\"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\\d{4}-\\d{2}-\\d{2})$/g)?e.push(t):t.replace(/(\\d{4}-\\d{2}-\\d{2}).*?(\\d{4}-\\d{2}-\\d{2})/g,((t,n,a)=>{const o=getDate(n),l=getDate(a),s=new Date(o.getTime());for(;s<=l;s.setDate(s.getDate()+1))e.push(getDateString(s));return t}));return e}),[]),updateAttribute=(e,t,n,a=\"\")=>{t?e.setAttribute(n,a):e.getAttribute(n)===a&&e.removeAttribute(n)},setDateModifier=(e,t,n,a,o,l,s)=>{var i,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(l)||getDate(e.context.displayDateMax)<getDate(l)||(null==(i=e.context.disableDates)?void 0:i.includes(l))||!e.selectionMonthsMode&&\"current\"!==s||!e.selectionYearsMode&&getDate(l).getFullYear()!==t;updateAttribute(n,u,\"data-vc-date-disabled\"),a&&updateAttribute(a,u,\"aria-disabled\",\"true\"),a&&updateAttribute(a,u,\"tabindex\",\"-1\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"data-vc-date-today\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"aria-current\",\"date\"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(o),\"data-vc-date-weekend\");const m=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,m.includes(l),\"data-vc-date-holiday\"),(null==(d=e.context.selectedDates)?void 0:d.includes(l))?(n.setAttribute(\"data-vc-date-selected\",\"\"),a&&a.setAttribute(\"aria-selected\",\"true\"),e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode&&(e.context.selectedDates[0]===l&&e.context.selectedDates[e.context.selectedDates.length-1]===l?n.setAttribute(\"data-vc-date-selected\",\"first-and-last\"):e.context.selectedDates[0]===l?n.setAttribute(\"data-vc-date-selected\",\"first\"):e.context.selectedDates[e.context.selectedDates.length-1]===l&&n.setAttribute(\"data-vc-date-selected\",\"last\"),e.context.selectedDates[0]!==l&&e.context.selectedDates[e.context.selectedDates.length-1]!==l&&n.setAttribute(\"data-vc-date-selected\",\"middle\"))):n.hasAttribute(\"data-vc-date-selected\")&&(n.removeAttribute(\"data-vc-date-selected\"),a&&a.removeAttribute(\"aria-selected\")),!e.context.disableDates.includes(l)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),a=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),o=getDate(l);updateAttribute(n,o>t&&o<a,\"data-vc-date-selected\",\"middle\")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),a=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-a);const o=new Date(n.getFullYear(),0,1),l=Math.ceil(((+n-+o)/864e5+1)/7);return{year:n.getFullYear(),week:l}},addWeekNumberForDate=(e,t,n)=>{const a=getWeekNumber(n,e.firstWeekday);a&&(t.dataset.vcDateWeekNumber=String(a.week))},setDaysAsDisabled=(e,t,n)=>{var a,o,l,s,i;const r=null==(a=e.disableWeekdays)?void 0:a.includes(n),c=e.disableAllDates&&!!(null==(o=e.context.enableDates)?void 0:o[0]);!r&&!c||(null==(l=e.context.enableDates)?void 0:l.includes(t))||(null==(s=e.context.disableDates)?void 0:s.includes(t))||(e.context.disableDates.push(t),null==(i=e.context.disableDates)||i.sort(((e,t)=>+new Date(e)-+new Date(t))))},createDate=(e,t,n,a,o,l)=>{const s=getDate(o).getDay(),i=\"string\"==typeof e.locale&&e.locale.length?e.locale:\"en\",r=document.createElement(\"div\");let c;r.className=e.styles.date,r.dataset.vcDate=o,r.dataset.vcDateMonth=l,r.dataset.vcDateWeekDay=String(s),r.role=\"gridcell\",(\"current\"===l||e.displayDatesOutside)&&(c=document.createElement(\"button\"),c.className=e.styles.dateBtn,c.type=\"button\",c.ariaLabel=getLocaleString(o,i,{dateStyle:\"long\",timeZone:\"UTC\"}),c.dataset.vcDateBtn=\"\",c.innerText=String(a),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,o),setDaysAsDisabled(e,o,s),setDateModifier(e,t,r,c,s,o,l),n.addDate(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,a,o)=>{for(let l=1;l<=n;l++){const n=new Date(a,o,l);createDate(e,a,t,l,getDateString(n),\"current\")}},createDatesFromNextMonth=(e,t,n,a,o)=>{const l=o+1===12?a+1:a,s=o+1===12?\"01\":o+2<10?`0${o+2}`:o+2;for(let o=1;o<=n;o++){const n=o<10?`0${o}`:String(o);createDate(e,a,t,o,`${l}-${s}-${n}`,\"next\")}},createDatesFromPrevMonth=(e,t,n,a,o)=>{let l=new Date(n,a,0).getDate()-(o-1);const s=0===a?n-1:n,i=0===a?12:a<10?`0${a}`:a;for(let a=o;a>0;a--,l++){createDate(e,n,t,l,`${s}-${i}-${l}`,\"prev\")}},createWeekNumbers=(e,t,n,a,o)=>{if(!e.enableWeekNumbers)return;a.textContent=\"\";const l=document.createElement(\"b\");l.className=e.styles.weekNumbersTitle,l.innerText=\"#\",l.dataset.vcWeekNumbers=\"title\",a.appendChild(l);const s=document.createElement(\"div\");s.className=e.styles.weekNumbersContent,s.dataset.vcWeekNumbers=\"content\",a.appendChild(s);const i=document.createElement(\"button\");i.type=\"button\",i.className=e.styles.weekNumber;const r=o.querySelectorAll(\"[data-vc-date]\"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,a=getWeekNumber(n,e.firstWeekday);if(!a)return;const o=i.cloneNode(!0);o.innerText=String(a.week),o.dataset.vcWeekNumber=String(a.week),o.dataset.vcWeekYear=String(a.year),o.role=\"rowheader\",o.ariaLabel=`${a.week}`,s.appendChild(o)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc=\"dates\"]'),a=e.context.mainElement.querySelectorAll('[data-vc-week=\"numbers\"]');n.forEach(((n,o)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=\"\"),n.textContent=\"\";const l=new Date(t);l.setMonth(l.getMonth()+o);const s=l.getMonth(),i=l.getFullYear(),r=(new Date(i,s,1).getDay()-e.firstWeekday+7)%7,c=new Date(i,s+1,0).getDate(),d=r+c,u=Math.ceil(d/7),m=7*u-d,p=[];for(let t=0;t<u;t++){const t=document.createElement(\"div\");t.className=e.styles.datesRow,t.setAttribute(\"data-vc-dates\",\"row\"),t.setAttribute(\"role\",\"row\"),p.push(t)}let h=0,v=0;const g={addDate:e=>{p[h].appendChild(e),v++,v>=7&&(h++,v=0)}};createDatesFromPrevMonth(e,g,i,s,r),createDatesFromCurrentMonth(e,g,c,i,s),createDatesFromNextMonth(e,g,m,i,s);for(const e of p)n.appendChild(e);createDatePopup(e,n),createWeekNumbers(e,r,c,a[o],n)}))},layoutDefault=e=>`\\n <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <#ArrowPrev [month] />\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n <#ArrowNext [month] />\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <#WeekNumbers />\\n <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n <#Week />\\n <#Dates />\\n <#DateRangeTooltip />\\n </div>\\n </div>\\n <#ControlTime />\\n`,layoutMonths=e=>`\\n <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <div class=\"${e.styles.content}\" data-vc=\"content\">\\n <#Months />\\n </div>\\n </div>\\n`,layoutMultiple=e=>`\\n <div class=\"${e.styles.controls}\" data-vc=\"controls\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <#ArrowPrev [month] />\\n <#ArrowNext [month] />\\n </div>\\n <div class=\"${e.styles.grid}\" data-vc=\"grid\">\\n <#Multiple>\\n <div class=\"${e.styles.column}\" data-vc=\"column\" role=\"region\">\\n <div class=\"${e.styles.header}\" data-vc=\"header\">\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <#WeekNumbers />\\n <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n <#Week />\\n <#Dates />\\n </div>\\n </div>\\n </div>\\n <#/Multiple>\\n <#DateRangeTooltip />\\n </div>\\n <#ControlTime />\\n`,layoutYears=e=>`\\n <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <#ArrowPrev [year] />\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n <#ArrowNext [year] />\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <div class=\"${e.styles.content}\" data-vc=\"content\">\\n <#Years />\\n </div>\\n </div>\\n`,ArrowNext=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowNext}\" data-vc-arrow=\"next\" aria-label=\"${e.labels.arrowNext[t]}\"></button>`,ArrowPrev=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowPrev}\" data-vc-arrow=\"prev\" aria-label=\"${e.labels.arrowPrev[t]}\"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class=\"${e.styles.time}\" data-vc=\"time\" role=\"group\" aria-label=\"${e.labels.selectingTime}\"></div>`:\"\",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class=\"${e.styles.dateRangeTooltip}\" data-vc-date-range-tooltip=\"hidden\"></div>`:\"\",Dates=e=>`<div class=\"${e.styles.dates}\" data-vc=\"dates\" aria-live=\"assertive\" aria-label=\"${e.labels.dates}\" ${\"multiple\"===e.type?\"aria-multiselectable\":\"\"}></div>`,Month=e=>`<button type=\"button\" class=\"${e.styles.month}\" data-vc=\"month\"></button>`,Months=e=>`<div class=\"${e.styles.months}\" data-vc=\"months\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.months}\"></div>`,Week=e=>`<div class=\"${e.styles.week}\" data-vc=\"week\" role=\"row\" aria-label=\"${e.labels.week}\"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class=\"${e.styles.weekNumbers}\" data-vc-week=\"numbers\" role=\"row\" aria-label=\"${e.labels.weekNumber}\"></div>`:\"\",Year=e=>`<button type=\"button\" class=\"${e.styles.year}\" data-vc=\"year\"></button>`,Years=e=>`<div class=\"${e.styles.years}\" data-vc=\"years\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.years}\"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\\n\\t]/g,\"\").replace(/<#(?!\\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\\[(.*?)\\]/)||[])[1],o=n.replace(/[/\\s\\n\\t]|\\[(.*?)\\]/g,\"\"),l=getComponent(o),s=l?l(e,null!=a?a:null):\"\";return e.sanitizerHTML(s)})).replace(/[\\n\\t]/g,\"\"),parseMultipleLayout=(e,t)=>t.replace(new RegExp(\"<#Multiple>(.*?)<#\\\\/Multiple>\",\"gs\"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join(\"\");return e.sanitizerHTML(a)})).replace(/[\\n\\t]/g,\"\"),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e))})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc=\"calendar\",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role=\"application\",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,\"multiple\"!==e.context.currentType){if(\"multiple\"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc=\"controls\"]'),a=e.context.mainElement.querySelector('[data-vc=\"grid\"]'),o=t.closest('[data-vc=\"column\"]');return n&&n.remove(),a&&(a.dataset.vcGrid=\"hidden\"),o&&(o.dataset.vcColumn=e.context.currentType),void(o&&(o.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?\"hidden\":\"\",t.style.visibility=a?\"hidden\":\"\"},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),o=new Date(a.getTime()),l=new Date(a.getTime());o.setMonth(o.getMonth()-e.monthsToSwitch),l.setMonth(l.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||o.getFullYear()<s.getFullYear()||o.getFullYear()===s.getFullYear()&&o.getMonth()<s.getMonth(),c=!e.selectionMonthsMode||l.getFullYear()>i.getFullYear()||l.getFullYear()===i.getFullYear()&&l.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(o.getFullYear()&&e.context.displayYear+7>=o.getFullYear());setVisibilityArrows(t,n,l,s)},visibilityArrows=e=>{if(\"month\"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow=\"prev\"]'),n=e.context.mainElement.querySelector('[data-vc-arrow=\"next\"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})[\"multiple\"===e.context.currentType?\"default\":e.context.currentType]()},visibilityHandler=(e,t,n,a,o)=>{const l=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc=\"column\"]');r&&(r.ariaLabel=`${i} ${l}`);const c={month:{id:s,label:i},year:{id:l,label:l}};t.innerText=String(c[o].label),t.dataset[`vc${o.charAt(0).toUpperCase()+o.slice(1)}`]=String(c[o].id),t.ariaLabel=`${e.labels[o]} ${c[o].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[o]||\"only-arrows\"===d[o];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc=\"month\"]'),n=e.context.mainElement.querySelectorAll('[data-vc=\"year\"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))))},setYearModifier=(e,t,n,a,o)=>{var l;const s={month:\"[data-vc-months-month]\",year:\"[data-vc-years-year]\"},i={month:{selected:\"data-vc-months-month-selected\",aria:\"aria-selected\",value:\"vcMonthsMonth\",selectedProperty:\"selectedMonth\"},year:{selected:\"data-vc-years-year-selected\",aria:\"aria-selected\",value:\"vcYearsYear\",selectedProperty:\"selectedYear\"}};o&&(null==(l=e.context.mainElement.querySelectorAll(s[n]))||l.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria)})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),\"year\"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,\"\"),t.setAttribute(i[n].aria,\"true\"))},getColumnID=(e,t)=>{var n;if(\"multiple\"!==e.type)return{currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc=\"column\"]'),o=Array.from(a).findIndex((e=>e.closest(`[data-vc-column=\"${t}\"]`)));return{currentValue:o>=0?Number(null==(n=a[o].querySelector(`[data-vc=\"${t}\"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(o,0)}},createMonthEl=(e,t,n,a,o,l,s)=>{const i=t.cloneNode(!1);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=o,i.role=\"gridcell\",i.dataset.vcMonthsMonth=`${s}`,l&&(i.ariaDisabled=\"true\"),l&&(i.tabIndex=-1),i.disabled=l,setYearModifier(e,i,\"month\",n===s,!1),i},createMonths=(e,t)=>{var n,a;const o=null==(n=null==t?void 0:t.closest('[data-vc=\"header\"]'))?void 0:n.querySelector('[data-vc=\"year\"]'),l=o?Number(o.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,\"currentType\",\"month\"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc=\"months\"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement(\"button\");c.type=\"button\";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,\"month\"),u=l<=n.getFullYear()&&t<n.getMonth()+d||l>=a.getFullYear()&&t>a.getMonth()-o+d||l>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m)}null==(a=e.context.mainElement.querySelector(\"[data-vc-months-month]:not([disabled])\"))||a.focus()},TimeInput=(e,t,n,a,o)=>`\\n <label class=\"${t}\" data-vc-time-input=\"${e}\">\\n <input type=\"text\" name=\"${e}\" maxlength=\"2\" aria-label=\"${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${a}\" ${o?\"disabled\":\"\"}>\\n </label>\\n`,TimeRange=(e,t,n,a,o,l,s)=>`\\n <label class=\"${t}\" data-vc-time-range=\"${e}\">\\n <input type=\"range\" name=\"${e}\" min=\"${a}\" max=\"${o}\" step=\"${l}\" aria-label=\"${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${s}\">\\n </label>\\n`,handleActions=(e,t,n,a)=>{({hour:()=>setContext(e,\"selectedHours\",n),minute:()=>setContext(e,\"selectedMinutes\",n)})[a](),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:\"\"}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:\"00\",PM:\"12\"},1:{AM:\"01\",PM:\"13\"},2:{AM:\"02\",PM:\"14\"},3:{AM:\"03\",PM:\"15\"},4:{AM:\"04\",PM:\"16\"},5:{AM:\"05\",PM:\"17\"},6:{AM:\"06\",PM:\"18\"},7:{AM:\"07\",PM:\"19\"},8:{AM:\"08\",PM:\"20\"},9:{AM:\"09\",PM:\"21\"},10:{AM:\"10\",PM:\"22\"},11:{AM:\"11\",PM:\"23\"},12:{AM:\"00\",PM:\"12\"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,o)=>{const l=l=>{const s=\"AM\"===e.context.selectedKeeping?\"PM\":\"AM\",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=o?(setContext(e,\"selectedKeeping\",s),n.value=i,handleActions(e,l,e.context.selectedHours,\"hour\"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,l,!0)};return t.addEventListener(\"click\",l),()=>{t.removeEventListener(\"click\",l)}},transformTime12=e=>({0:\"12\",13:\"01\",14:\"02\",15:\"03\",16:\"04\",17:\"05\",18:\"06\",19:\"07\",20:\"08\",21:\"09\",22:\"10\",23:\"11\"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleInput$1=(e,t,n,a,o,l,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=l&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,\"PM\"),handleActions(e,c,transformTime12(r),o)},24:()=>{if(!(i<=l&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,o)}})[e.selectionTimeMode]()},minute:(a,i,r)=>{if(!(a<=l&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=i,t.value=i,handleActions(e,r,i,o)}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,\"0\");i[o]&&i[o](t,a,e)};return n.addEventListener(\"change\",r),()=>{n.removeEventListener(\"change\",r)}},updateInputAndTime=(e,t,n,a,o)=>{t.value=o,handleActions(e,n,o,a)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleRange=(e,t,n,a,o)=>{const l=l=>{const s=Number(t.value),i=t.value.padStart(2,\"0\"),r=\"hour\"===o,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?\"AM\":\"PM\"),updateInputAndTime(e,n,l,o,!r||c||d?i:transformTime12(t.value))};return t.addEventListener(\"input\",l),()=>{t.removeEventListener(\"input\",l)}},handleMouseOver=e=>e.setAttribute(\"data-vc-input-focus\",\"\"),handleMouseOut=e=>e.removeAttribute(\"data-vc-input-focus\"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range=\"hour\"] input[name=\"hour\"]'),a=t.querySelector('[data-vc-time-range=\"minute\"] input[name=\"minute\"]'),o=t.querySelector('[data-vc-time-input=\"hour\"] input[name=\"hour\"]'),l=t.querySelector('[data-vc-time-input=\"minute\"] input[name=\"minute\"]'),s=t.querySelector('[data-vc-time=\"keeping\"]');if(!(n&&a&&o&&l))return;const i=e=>{e.target===n&&handleMouseOver(o),e.target===a&&handleMouseOver(l)},r=e=>{e.target===n&&handleMouseOut(o),e.target===a&&handleMouseOut(l)};return t.addEventListener(\"mouseover\",i),t.addEventListener(\"mouseout\",r),handleInput$1(e,n,o,s,\"hour\",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,l,s,\"minute\",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,o,s,\"hour\"),handleRange(e,a,l,s,\"minute\"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener(\"mouseover\",i),t.removeEventListener(\"mouseout\",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc=\"time\"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[o,l]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i=\"range\"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\\n <div class=\"${e.styles.timeContent}\" data-vc-time=\"content\">\\n ${TimeInput(\"hour\",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\\n ${TimeInput(\"minute\",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\\n ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type=\"button\" class=\"${e.styles.timeKeeping}\" aria-label=\"${e.labels.btnKeeping} ${r}\" data-vc-time=\"keeping\" ${i?\"disabled\":\"\"}>${r}</button>`):\"\"}\\n </div>\\n <div class=\"${e.styles.timeRanges}\" data-vc-time=\"ranges\">\\n ${TimeRange(\"hour\",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\\n ${TimeRange(\"minute\",e.styles.timeRange,e.labels,o,l,e.timeStepMinute,e.context.selectedMinutes)}\\n </div>\\n `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,o)=>[...n,{id:o,titleShort:e.context.locale.weekdays.short[o],titleLong:a,isWeekend:t.includes(o)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc=\"week\"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement(\"button\"):document.createElement(\"b\");e.onClickWeekDay&&(n.type=\"button\"),a.forEach((a=>{const o=n.cloneNode(!0);o.innerText=a.titleShort,o.className=e.styles.weekDay,o.role=\"columnheader\",o.ariaLabel=a.titleLong,o.dataset.vcWeekDay=String(a.id),a.isWeekend&&(o.dataset.vcWeekDayOff=\"\"),t.appendChild(o)}))}))},createYearEl=(e,t,n,a,o)=>{const l=t.cloneNode(!1);return l.className=e.styles.yearsYear,l.innerText=String(o),l.ariaLabel=String(o),l.role=\"gridcell\",l.dataset.vcYearsYear=`${o}`,a&&(l.ariaDisabled=\"true\"),a&&(l.tabIndex=-1),l.disabled=a,setYearModifier(e,l,\"year\",n===o,!1),l},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,\"currentType\",\"year\"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const o=e.context.mainElement.querySelector('[data-vc=\"years\"]');if(!e.selectionYearsMode||!o)return;const l=\"multiple\"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement(\"button\");s.type=\"button\";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+l||t>getDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);o.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i)}null==(n=e.context.mainElement.querySelector(\"[data-vc-years-year]:not([disabled])\"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;a<e.length;a++){if(e[a].attributeName===t){n();break}}})).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?\"dark\":\"light\"),\"system\"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc=\"calendar\"]');null==t||t.forEach((t=>setTheme(t,e.matches?\"dark\":\"light\")))};t.addEventListener?t.addEventListener(\"change\",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\\[(.+)\\]/g,((e,t)=>t));if(!n||\"system\"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const o=n.getAttribute(a);o?(setTheme(e.context.mainElement,o),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t)}))):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{\"not all\"!==window.matchMedia(\"(prefers-color-scheme)\").media?\"system\"===e.selectedTheme?detectTheme(e,window.matchMedia(\"(prefers-color-scheme: dark)\")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,\"light\")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\\./,\"\"),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),o=a.toLocaleString(n,{weekday:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{weekday:\"long\",timeZone:\"UTC\"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(o)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(l))},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,\"0\")}-01T00:00:00.000Z`),o=a.toLocaleString(n,{month:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{month:\"long\",timeZone:\"UTC\"});e.context.locale.months.short.push(capitalizeFirstLetter(o)),e.context.locale.months.long.push(capitalizeFirstLetter(l))},getLocale=e=>{var t,n,a,o,l,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if(\"string\"==typeof e.locale){if(\"string\"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(o=null==(a=e.locale)?void 0:a.weekdays)?void 0:o.long[6])&&(null==(s=null==(l=e.locale)?void 0:l.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,\"locale\",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(![\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key)||\"button\"!==a.localName)return;const o=Array.from(e.context.mainElement.querySelectorAll('[data-vc=\"calendar\"] button')),l=o.indexOf(a);if(-1===l)return;const s=(i=o[l]).hasAttribute(\"data-vc-date-btn\")?7:i.hasAttribute(\"data-vc-months-month\")?4:i.hasAttribute(\"data-vc-years-year\")?5:1;var i;const r=(0,{ArrowUp:()=>Math.max(0,l-s),ArrowDown:()=>Math.min(o.length-1,l+s),ArrowLeft:()=>Math.max(0,l-1),ArrowRight:()=>Math.min(o.length-1,l+1)}[t.key])();null==(n=o[r])||n.focus()};return e.context.mainElement.addEventListener(\"keydown\",t),()=>e.context.mainElement.removeEventListener(\"keydown\",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,\"selectedMonth\",n.getMonth()),setContext(e,\"selectedYear\",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest(\"[data-vc-arrow]\");if(n){if([\"default\",\"multiple\"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if(\"year\"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,\"displayYear\",e.context.displayYear+a),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},resolveToggle=(e,t)=>void 0===t||(\"function\"==typeof t?t(e):t),canToggleSelection=e=>resolveToggle(e,e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,o=t.closest(\"[data-vc-date][data-vc-date-selected]\"),l=canToggleSelection(e);if(o&&!l)return;const s=o?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,\"selectedDates\",s)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip=\"hidden\",void(t.textContent=\"\");const a=e.context.mainElement.getBoundingClientRect(),o=n.getBoundingClientRect();t.style.left=o.left-a.left+o.width/2+\"px\",t.style.top=o.bottom-a.top-o.height+\"px\",t.dataset.vcDateRangeTooltip=\"visible\",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,o,a))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,o,l;if(!(null==(o=null==(a=state.self)?void 0:a.context)?void 0:o.selectedDates[0]))return;const s=getDateString(e);(null==(l=state.self.context.disableDates)?void 0:l.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${s}\"]`).forEach((e=>e.dataset.vcDateHover=\"\")),t.forEach((e=>e.dataset.vcDateHover=\"first\")),n.forEach((e=>{\"first\"===e.dataset.vcDateHover?e.dataset.vcDateHover=\"first-and-last\":e.dataset.vcDateHover=\"last\"})))},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll(\"[data-vc-date-hover]\").forEach((e=>e.removeAttribute(\"data-vc-date-hover\")))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc=\"dates\"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest(\"[data-vc-date]\");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const o=a.dataset.vcDate,l=getDate(state.self.context.selectedDates[0]),s=getDate(o),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${state.self.context.selectedDates[0]}\"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${o}\"]`),[c,d]=l<s?[i,r]:[r,i],[u,m]=l<s?[l,s]:[s,l];for(let e=new Date(u);e<=m;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest(\"[data-vc-date-selected]\");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame((()=>{e(n),state.isHovering=!1})))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&\"Escape\"===e.key&&(state.lastDateEl=null,setContext(state.self,\"selectedDates\",[]),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()}),50)},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const o=getDate(state.self.context.selectedDates[0]),[l,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[o>=n?n:e,o<n&&null===t?n:t]),[null,null]);l&&setContext(state.self,\"displayDateMin\",getDateString(new Date(l.setDate(l.getDate()+1)))),s&&setContext(state.self,\"displayDateMax\",getDateString(new Date(s.setDate(s.getDate()-1))));state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,\"displayDateMin\",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector(\"[data-vc-date-range-tooltip]\"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,\"selectedDates\",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.addEventListener(\"keydown\",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates)}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],o=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],l=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=o?e.enableEdgeDatesOnly?[n,a]:l:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,\"selectedDates\",s),e.disableDatesGaps&&(setContext(e,\"displayDateMin\",state.rangeMin),setContext(e,\"displayDateMax\",state.rangeMax)),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave)}}})[1===e.context.selectedDates.length?\"set\":\"reset\"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll(\"[data-vc-date]\").forEach((t=>{const n=t.querySelector(\"[data-vc-date-btn]\"),a=t.dataset.vcDate,o=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,o,a,\"current\")}))},handleClickDate=(e,t)=>{var n;const a=t.target,o=a.closest(\"[data-vc-date-btn]\");if(!e.selectionDatesMode||![\"single\",\"multiple\",\"multiple-ranged\"].includes(e.selectionDatesMode)||!o)return;const l=o.closest(\"[data-vc-date]\");({single:()=>handleSelectDate(e,l,!1),multiple:()=>handleSelectDate(e,l,!0),\"multiple-ranged\":()=>handleSelectDateRange(e,l)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month=\"prev\"]'),i=a.closest('[data-vc-date-month=\"next\"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"prev\"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"next\"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?\"prev\":i?\"next\":\"current\"]()},typeClick=[\"month\",\"year\"],getValue=(e,t,n)=>{const{currentValue:a,columnID:o}=getColumnID(e,t);return\"month\"===e.context.currentType&&o>=0?n-o:\"year\"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,\"year\",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,\"year\"),i=e.context.selectedMonth<a.getMonth()&&n<=a.getFullYear(),r=e.context.selectedMonth>o.getMonth()-l+s&&n>=o.getFullYear(),c=n<a.getFullYear(),d=n>o.getFullYear(),u=i||c?a.getFullYear():r||d?o.getFullYear():n,m=i||c?a.getMonth():r||d?o.getMonth()-l+s:e.context.selectedMonth;setContext(e,\"selectedYear\",u),setContext(e,\"selectedMonth\",m)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column=\"month\"]').querySelector('[data-vc=\"year\"]'),a=getValue(e,\"month\",Number(t.dataset.vcMonthsMonth)),o=Number(n.dataset.vcYear),l=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=a<l.getMonth()&&o<=l.getFullYear(),r=a>s.getMonth()&&o>=s.getFullYear();setContext(e,\"selectedYear\",o),setContext(e,\"selectedMonth\",i?l.getMonth():r?s.getMonth():a)},handleItemClick=(e,t,n,a)=>{var o;({year:()=>{if(\"multiple\"===e.type)return handleMultipleYearSelection(e,a);setContext(e,\"selectedYear\",Number(a.dataset.vcYearsYear))},month:()=>{if(\"multiple\"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,\"selectedMonth\",Number(a.dataset.vcMonthsMonth))}})[n]();({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}})[n](),e.context.currentType!==e.type?(setContext(e,\"currentType\",e.type),create(e),null==(o=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||o.focus()):setYearModifier(e,a,n,!0,!0)},handleClickType=(e,t,n)=>{var a;const o=t.target,l=o.closest(`[data-vc=\"${n}\"]`),s={year:()=>createYears(e,o),month:()=>createMonths(e,o)};if(l&&e.onClickTitle&&e.onClickTitle(e,t),l&&e.context.currentType!==n)return s[n]();const i=o.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=o.closest('[data-vc=\"grid\"]'),c=o.closest('[data-vc=\"column\"]');(e.context.currentType===n&&l||\"multiple\"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,\"currentType\",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||a.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a)}))},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest(\"[data-vc-week-number]\"),a=e.context.mainElement.querySelectorAll(\"[data-vc-date-week-number]\");if(!n||!a[0])return;const o=Number(n.innerText),l=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===o));e.onClickWeekNumber(e,o,l,s,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest(\"[data-vc-week-day]\"),a=t.target.closest('[data-vc=\"column\"]'),o=a?a.querySelectorAll(\"[data-vc-date-week-day]\"):e.context.mainElement.querySelectorAll(\"[data-vc-date-week-day]\");if(!n||!o[0])return;const l=Number(n.dataset.vcWeekDay),s=Array.from(o).filter((e=>Number(e.dataset.vcDateWeekDay)===l));e.onClickWeekDay(e,l,s,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener(\"click\",t),()=>e.context.mainElement.removeEventListener(\"click\",t)},initMonthsCount=e=>{if(\"multiple\"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if(\"multiple\"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,\"displayMonthsCount\",e.displayMonthsCount?e.displayMonthsCount:\"multiple\"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>\"today\"===e?getLocalDate():e instanceof Date||\"number\"==typeof e||\"string\"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const o=resolveDate(e.dateMin,e.dateMin),l=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,o),i=resolveDate(e.displayDateMax,l);setContext(e,\"dateToday\",resolveDate(e.dateToday,e.dateToday)),setContext(e,\"displayDateMin\",s?getDate(o)>=getDate(s)?o:s:o),setContext(e,\"displayDateMax\",i?getDate(l)<=getDate(i)?l:i:l);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)<getDate(e.context.dateToday);setContext(e,\"displayDateMin\",r||e.disableAllDates?e.context.dateToday:s),setContext(e,\"displayDateMax\",e.disableAllDates?e.context.dateToday:i),setContext(e,\"disableDates\",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,\"enableDates\",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,\"disableDates\",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,\"displayDateMin\",e.context.enableDates[0]),setContext(e,\"displayDateMax\",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,\"dateMin\",e.displayDisabledDates?o:e.context.displayDateMin),setContext(e,\"dateMax\",e.displayDisabledDates?l:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,\"selectedDates\",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&\"today\"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,a;if(e.displayDateMax&&\"today\"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,\"selectedMonth\",t),setContext(e,\"selectedYear\",n),setContext(e,\"displayYear\",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const o=12===e.selectionTimeMode,l=o?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(l))?void 0:n.slice(1))?a:[];s?o&&!r&&(r=\"AM\"):(s=o?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=o?Number(transformTime12(String(e.timeMinHour)))>=12?\"PM\":\"AM\":null),setContext(e,\"selectedHours\",s.padStart(2,\"0\")),setContext(e,\"selectedMinutes\",i.padStart(2,\"0\")),setContext(e,\"selectedKeeping\",r),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:\"\"}`)},initAllVariables=e=>{setContext(e,\"currentType\",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:a,time:o,locale:l},s=!0)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=o?r.time:e.context.selectedTime,e.selectedDates=\"only-first\"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:!0===a?r.dates:e.context.selectedDates,l){setContext(e,\"locale\",{months:{short:[],long:[]},weekdays:{short:[],long:[]}})}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,\"multiple-ranged\"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement(\"div\");return t.className=e.styles.calendar,t.dataset.vc=\"calendar\",t.dataset.vcInput=\"\",t.dataset.vcCalendarHidden=\"\",setContext(e,\"inputModeInit\",!0),setContext(e,\"isShowInInputMode\",!1),setContext(e,\"mainElement\",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},canOpenOnFocus=e=>resolveToggle(e,e.openOnFocus),handleInput=e=>{setContext(e,\"inputElement\",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e)};e.context.inputElement.addEventListener(\"click\",t);const n=\"function\"==typeof e.openOnFocus||!0===e.openOnFocus,a=()=>{shouldSkipOpenOnFocus(e)?clearSkipOpenOnFocus(e):canOpenOnFocus(e)&&t()};n&&e.context.inputElement.addEventListener(\"focus\",a);const o=t=>{const n=\"Tab\"===t.key&&!t.shiftKey,a=[\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key);(n||a)&&(t=>{var n;if(!e.context.isShowInInputMode)return!1;if(document.activeElement!==e.context.inputElement)return!1;const a=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),o=null!=(n=document.createTreeWalker(e.context.mainElement,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>a(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}).nextNode())?n:a(e.context.mainElement)?e.context.mainElement:null;!o||o.tabIndex<0||(t.preventDefault(),o.focus())})(t)};return e.context.inputElement.addEventListener(\"keydown\",o),()=>{e.context.inputElement.removeEventListener(\"click\",t),n&&e.context.inputElement.removeEventListener(\"focus\",a),e.context.inputElement.removeEventListener(\"keydown\",o)}},init=e=>(setContext(e,\"originalElement\",e.context.mainElement.cloneNode(!0)),setContext(e,\"isInit\",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a<n.length;a++){const o=n[a];\"object\"!=typeof e[o]||\"object\"!=typeof t[o]||t[o]instanceof Date||Array.isArray(t[o])?void 0!==t[o]&&(e[o]=t[o]):replaceProperties(e[o],t[o])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n=\"left\";if(!t||!e)return n;const{canShow:a,parentPositions:o}=getAvailablePosition(e,t),l=a.left&&a.right;return(l&&a.bottom?\"center\":l&&a.top?[\"top\",\"center\"]:Array.isArray(o)?[\"bottom\"===o[0]?\"top\":\"bottom\",...o.slice(1)]:o)||n}const setPosition=(e,t,n)=>{if(!e)return;const a=\"auto\"===n?findBestPickerPosition(e,t):n,o={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},l=Array.isArray(a)?a[0]:\"bottom\",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=l;const{top:i,left:r}=getOffset(e),c=i+o[l];let d=r+o[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,\"cleanupHandlers\",[]),setContext(e,\"isShowInInputMode\",!0),e.inputMode&&restoreTabbing(e.context.mainElement),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute(\"data-vc-calendar-hidden\");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener(\"resize\",t),e.context.cleanupHandlers.push((()=>window.removeEventListener(\"resize\",t)));const n=t=>{\"Escape\"===t.key&&hide(e)};document.addEventListener(\"keydown\",n),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"keydown\",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener(\"click\",a,{capture:!0}),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"click\",a,{capture:!0}))),e.onShow&&e.onShow(e)},labels={application:\"Calendar\",navigation:\"Calendar Navigation\",arrowNext:{month:\"Next month\",year:\"Next list of years\"},arrowPrev:{month:\"Previous month\",year:\"Previous list of years\"},month:\"Select month, current selected month:\",months:\"List of months\",year:\"Select year, current selected year:\",years:\"List of years\",week:\"Days of the week\",weekNumber:\"Numbers of weeks in a year\",dates:\"Dates in the current month\",selectingTime:\"Selecting a time \",inputHour:\"Hours\",inputMinute:\"Minutes\",rangeHour:\"Slider for selecting hours\",rangeMinute:\"Slider for selecting minutes\",btnKeeping:\"Switch AM/PM, current position:\"},styles={calendar:\"vc\",controls:\"vc-controls\",grid:\"vc-grid\",column:\"vc-column\",header:\"vc-header\",headerContent:\"vc-header__content\",month:\"vc-month\",year:\"vc-year\",arrowPrev:\"vc-arrow vc-arrow_prev\",arrowNext:\"vc-arrow vc-arrow_next\",wrapper:\"vc-wrapper\",content:\"vc-content\",months:\"vc-months\",monthsMonth:\"vc-months__month\",years:\"vc-years\",yearsYear:\"vc-years__year\",week:\"vc-week\",weekDay:\"vc-week__day\",weekNumbers:\"vc-week-numbers\",weekNumbersTitle:\"vc-week-numbers__title\",weekNumbersContent:\"vc-week-numbers__content\",weekNumber:\"vc-week-number\",dates:\"vc-dates\",datesRow:\"vc-dates__row\",date:\"vc-date\",dateBtn:\"vc-date__btn\",datePopup:\"vc-date__popup\",dateRangeTooltip:\"vc-date-range-tooltip\",time:\"vc-time\",timeContent:\"vc-time__content\",timeHour:\"vc-time__hour\",timeMinute:\"vc-time__minute\",timeKeeping:\"vc-time__keeping\",timeRanges:\"vc-time__ranges\",timeRange:\"vc-time__range\"};class OptionsCalendar{constructor(){__publicField(this,\"type\",\"default\"),__publicField(this,\"inputMode\",!1),__publicField(this,\"openOnFocus\",!0),__publicField(this,\"positionToInput\",\"left\"),__publicField(this,\"firstWeekday\",1),__publicField(this,\"monthsToSwitch\",1),__publicField(this,\"themeAttrDetect\",\"html[data-theme]\"),__publicField(this,\"locale\",\"en\"),__publicField(this,\"dateToday\",\"today\"),__publicField(this,\"dateMin\",\"1970-01-01\"),__publicField(this,\"dateMax\",\"2470-12-31\"),__publicField(this,\"displayDateMin\"),__publicField(this,\"displayDateMax\"),__publicField(this,\"displayDatesOutside\",!0),__publicField(this,\"displayDisabledDates\",!1),__publicField(this,\"displayMonthsCount\"),__publicField(this,\"disableDates\",[]),__publicField(this,\"disableAllDates\",!1),__publicField(this,\"disableDatesPast\",!1),__publicField(this,\"disableDatesGaps\",!1),__publicField(this,\"disableWeekdays\",[]),__publicField(this,\"disableToday\",!1),__publicField(this,\"enableDates\",[]),__publicField(this,\"enableEdgeDatesOnly\",!0),__publicField(this,\"enableDateToggle\",!0),__publicField(this,\"enableWeekNumbers\",!1),__publicField(this,\"enableMonthChangeOnDayClick\",!0),__publicField(this,\"enableJumpToSelectedDate\",!1),__publicField(this,\"selectionDatesMode\",\"single\"),__publicField(this,\"selectionMonthsMode\",!0),__publicField(this,\"selectionYearsMode\",!0),__publicField(this,\"selectionTimeMode\",!1),__publicField(this,\"selectedDates\",[]),__publicField(this,\"selectedMonth\"),__publicField(this,\"selectedYear\"),__publicField(this,\"selectedHolidays\",[]),__publicField(this,\"selectedWeekends\",[0,6]),__publicField(this,\"selectedTime\"),__publicField(this,\"selectedTheme\",\"system\"),__publicField(this,\"timeMinHour\",0),__publicField(this,\"timeMaxHour\",23),__publicField(this,\"timeMinMinute\",0),__publicField(this,\"timeMaxMinute\",59),__publicField(this,\"timeControls\",\"all\"),__publicField(this,\"timeStepHour\",1),__publicField(this,\"timeStepMinute\",1),__publicField(this,\"sanitizerHTML\",(e=>e)),__publicField(this,\"onClickDate\"),__publicField(this,\"onClickWeekDay\"),__publicField(this,\"onClickWeekNumber\"),__publicField(this,\"onClickTitle\"),__publicField(this,\"onClickMonth\"),__publicField(this,\"onClickYear\"),__publicField(this,\"onClickArrow\"),__publicField(this,\"onChangeTime\"),__publicField(this,\"onChangeToInput\"),__publicField(this,\"onCreateDateRangeTooltip\"),__publicField(this,\"onCreateDateEls\"),__publicField(this,\"onCreateMonthEls\"),__publicField(this,\"onCreateYearEls\"),__publicField(this,\"onInit\"),__publicField(this,\"onUpdate\"),__publicField(this,\"onDestroy\"),__publicField(this,\"onShow\"),__publicField(this,\"onHide\"),__publicField(this,\"popups\",{}),__publicField(this,\"labels\",__spreadValues({},labels)),__publicField(this,\"layouts\",{default:\"\",multiple:\"\",month:\"\",year:\"\"}),__publicField(this,\"styles\",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,\"init\",(()=>init(this))),__publicField(this,\"update\",(e=>update(this,e))),__publicField(this,\"destroy\",(()=>destroy(this))),__publicField(this,\"show\",(()=>show(this))),__publicField(this,\"hide\",(()=>hide(this))),__publicField(this,\"set\",((e,t)=>set(this,e,t))),__publicField(this,\"context\"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,\"mainElement\",\"string\"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,\"memoizedElements\",new Map);let Calendar=_Calendar;export{Calendar};","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n dateMin: null,\n dateMax: null,\n dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n displayElement: null, // Element to show formatted date (defaults to element for buttons)\n displayMonthsCount: 1, // Number of months to display side-by-side\n firstWeekday: 1, // Monday\n inline: false, // Render calendar inline (no popup)\n locale: 'default',\n positionElement: null, // Element to position calendar relative to (defaults to input)\n selectedDates: [],\n selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n placement: 'left', // 'left', 'center', 'right', 'auto'\n vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n datepickerTheme: '(null|string)',\n dateMin: '(null|string|number|object)',\n dateMax: '(null|string|number|object)',\n dateFormat: '(null|object|function)',\n displayElement: '(null|string|element|boolean)',\n displayMonthsCount: 'number',\n firstWeekday: 'number',\n inline: 'boolean',\n locale: 'string',\n positionElement: '(null|string|element)',\n selectedDates: 'array',\n selectionMode: 'string',\n placement: 'string',\n vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._calendar = null\n this._isShown = false\n\n this._initCalendar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._config.inline) {\n return // Inline calendars are always visible\n }\n\n return this._isShown ? this.hide() : this.show()\n }\n\n show() {\n if (this._config.inline) {\n return // Inline calendars are always visible\n }\n\n if (!this._calendar || isDisabled(this._element) || this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._calendar.show()\n this._isShown = true\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n hide() {\n if (this._config.inline) {\n return // Inline calendars are always visible\n }\n\n if (!this._calendar || !this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._calendar.hide()\n this._isShown = false\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n dispose() {\n if (this._themeObserver) {\n this._themeObserver.disconnect()\n this._themeObserver = null\n }\n\n if (this._calendar) {\n this._calendar.destroy()\n }\n\n this._calendar = null\n super.dispose()\n }\n\n getSelectedDates() {\n const dates = this._calendar?.context?.selectedDates\n return dates ? [...dates] : []\n }\n\n setSelectedDates(dates) {\n if (this._calendar) {\n this._calendar.set({ selectedDates: dates })\n }\n }\n\n // Private\n _initCalendar() {\n this._isInput = this._element.tagName === 'INPUT'\n this._isInline = this._config.inline\n\n // For inline mode, look for a hidden input child to bind to\n if (this._isInline && !this._isInput) {\n this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n }\n\n this._positionElement = this._resolvePositionElement()\n this._displayElement = this._resolveDisplayElement()\n\n const calendarOptions = this._buildCalendarOptions()\n\n // Create calendar on the position element (for correct popup positioning)\n // but value updates still go to this._element (the input)\n this._calendar = new Calendar(this._positionElement, calendarOptions)\n this._calendar.init()\n\n // Watch for theme changes on ancestor elements (for live theme switching)\n this._setupThemeObserver()\n\n // Set initial value if input has a value\n if (this._isInput && this._element.value) {\n this._parseInputValue()\n }\n\n // Populate input/display with preselected dates\n this._updateDisplayWithSelectedDates()\n }\n\n _updateDisplayWithSelectedDates() {\n const { selectedDates } = this._config\n if (!selectedDates || selectedDates.length === 0) {\n return\n }\n\n const formattedDate = this._formatDateForInput(selectedDates)\n\n if (this._isInput) {\n this._element.value = formattedDate\n }\n\n if (this._boundInput) {\n this._boundInput.value = selectedDates.join(',')\n }\n\n if (this._displayElement) {\n this._displayElement.textContent = formattedDate\n }\n }\n\n _resolvePositionElement() {\n let { positionElement } = this._config\n\n if (typeof positionElement === 'string') {\n positionElement = document.querySelector(positionElement)\n }\n\n // Use input's parent if in form-adorn\n if (!positionElement && this._isInput && !this._isInline) {\n const parent = this._element.closest('.form-adorn')\n if (parent) {\n positionElement = parent\n }\n }\n\n return positionElement || this._element\n }\n\n _resolveDisplayElement() {\n const { displayElement } = this._config\n\n if (typeof displayElement === 'string') {\n return document.querySelector(displayElement)\n }\n\n // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n return displayChild || this._element\n }\n\n return displayElement\n }\n\n _getThemeAncestor() {\n return this._element.closest('[data-bs-theme]')\n }\n\n _getEffectiveTheme() {\n // Priority: explicit datepickerTheme config > inherited from ancestor > none\n const { datepickerTheme } = this._config\n if (datepickerTheme) {\n return datepickerTheme\n }\n\n const ancestor = this._getThemeAncestor()\n return ancestor?.getAttribute('data-bs-theme') || null\n }\n\n _syncThemeAttribute(element) {\n if (!element) {\n return\n }\n\n const theme = this._getEffectiveTheme()\n\n if (theme) {\n // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n element.setAttribute('data-bs-theme', theme)\n } else {\n // No theme - remove attribute to allow natural inheritance\n element.removeAttribute('data-bs-theme')\n }\n }\n\n _setupThemeObserver() {\n // Watch for theme changes on ancestor elements\n const ancestor = this._getThemeAncestor()\n if (!ancestor || this._config.datepickerTheme) {\n // No ancestor to watch, or explicit datepickerTheme overrides\n return\n }\n\n this._themeObserver = new MutationObserver(() => {\n this._syncThemeAttribute(this._calendar?.context?.mainElement)\n })\n\n this._themeObserver.observe(ancestor, {\n attributes: true,\n attributeFilter: ['data-bs-theme']\n })\n }\n\n _buildCalendarOptions() {\n // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n const theme = this._getEffectiveTheme()\n // VCP uses 'system' for auto, Bootstrap uses 'auto'\n const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n const calendarOptions = {\n ...this._config.vcpOptions,\n inputMode: !this._isInline,\n positionToInput: this._config.placement,\n firstWeekday: this._config.firstWeekday,\n locale: this._config.locale,\n selectionDatesMode: this._config.selectionMode,\n selectedDates: this._config.selectedDates,\n displayMonthsCount: this._config.displayMonthsCount,\n type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n selectedTheme: vcpTheme,\n themeAttrDetect: '[data-bs-theme]',\n onClickDate: (self, event) => this._handleDateClick(self, event),\n onInit: self => {\n this._syncThemeAttribute(self.context.mainElement)\n },\n onShow: () => {\n this._isShown = true\n this._syncThemeAttribute(this._calendar.context.mainElement)\n },\n onHide: () => {\n this._isShown = false\n }\n }\n\n // Navigate to the month of the first selected date\n if (this._config.selectedDates.length > 0) {\n const firstDate = this._parseDate(this._config.selectedDates[0])\n calendarOptions.selectedMonth = firstDate.getMonth()\n calendarOptions.selectedYear = firstDate.getFullYear()\n }\n\n if (this._config.dateMin) {\n calendarOptions.dateMin = this._config.dateMin\n }\n\n if (this._config.dateMax) {\n calendarOptions.dateMax = this._config.dateMax\n }\n\n return calendarOptions\n }\n\n _handleDateClick(self, event) {\n const selectedDates = [...self.context.selectedDates]\n\n if (selectedDates.length > 0) {\n const formattedDate = this._formatDateForInput(selectedDates)\n\n if (this._isInput) {\n this._element.value = formattedDate\n }\n\n if (this._boundInput) {\n this._boundInput.value = selectedDates.join(',')\n }\n\n if (this._displayElement) {\n this._displayElement.textContent = formattedDate\n }\n }\n\n EventHandler.trigger(this._element, EVENT_CHANGE, {\n dates: selectedDates,\n event\n })\n\n this._maybeHideAfterSelection(selectedDates)\n }\n\n _maybeHideAfterSelection(selectedDates) {\n if (this._isInline) {\n return\n }\n\n const shouldHide =\n (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n if (shouldHide) {\n setTimeout(() => this.hide(), HIDE_DELAY)\n }\n }\n\n _parseDate(dateStr) {\n const [year, month, day] = dateStr.split('-')\n return new Date(year, month - 1, day)\n }\n\n _formatDate(dateStr) {\n const date = this._parseDate(dateStr)\n const locale = this._config.locale === 'default' ? undefined : this._config.locale\n const { dateFormat } = this._config\n\n // Custom function formatter\n if (typeof dateFormat === 'function') {\n return dateFormat(date, locale)\n }\n\n // Intl.DateTimeFormat options object\n if (dateFormat && typeof dateFormat === 'object') {\n return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n }\n\n // Default: locale-aware formatting\n return date.toLocaleDateString(locale)\n }\n\n _formatDateForInput(dates) {\n if (dates.length === 0) {\n return ''\n }\n\n if (dates.length === 1) {\n return this._formatDate(dates[0])\n }\n\n // For date ranges, use en-dash; for multiple dates, use comma\n const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n return dates.map(d => this._formatDate(d)).join(separator)\n }\n\n _parseInputValue() {\n // Try to parse the input value as a date\n const value = this._element.value.trim()\n if (!value) {\n return\n }\n\n const date = new Date(value)\n if (!Number.isNaN(date.getTime())) {\n const year = date.getFullYear()\n const month = String(date.getMonth() + 1).padStart(2, '0')\n const day = String(date.getDate()).padStart(2, '0')\n const formatted = `${year}-${month}-${day}`\n this._calendar.set({ selectedDates: [formatted] })\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // Only handle if not an input (inputs use focus)\n // Skip inline datepickers (they're always visible)\n if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n return\n }\n\n event.preventDefault()\n Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n // Handle focus for input elements\n if (this.tagName !== 'INPUT') {\n return\n }\n\n Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n Datepicker.getOrCreateInstance(element)\n }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n keyboard: true,\n modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._element.open ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._element.open || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isTransitioning = true\n\n if (this._config.modal) {\n // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n this._element.showModal()\n // Prevent body scroll for modal dialogs\n document.body.classList.add(CLASS_NAME_OPEN)\n } else {\n // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n this._element.classList.add(CLASS_NAME_NONMODAL)\n this._element.show()\n }\n\n this._queueCallback(() => {\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }, this._element, this._isAnimated())\n }\n\n hide() {\n if (!this._element.open || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isTransitioning = true\n\n this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n super.dispose()\n }\n\n handleUpdate() {\n // Provided for API consistency with Modal.\n // Native dialogs handle their own positioning.\n }\n\n // Private\n _hideDialog() {\n this._element.close()\n this._element.classList.remove(CLASS_NAME_NONMODAL)\n this._isTransitioning = false\n\n // Only restore body scroll if no other modal dialogs are open\n if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n document.body.classList.remove(CLASS_NAME_OPEN)\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n _isAnimated() {\n return this._element.classList.contains('fade')\n }\n\n _triggerBackdropTransition() {\n const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hidePreventedEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n }, this._element)\n }\n\n _addEventListeners() {\n // Handle native cancel event (Escape key) - only fires for modal dialogs\n EventHandler.on(this._element, 'cancel', event => {\n // Prevent native close behavior - we'll handle it\n event.preventDefault()\n\n if (!this._config.keyboard) {\n this._triggerBackdropTransition()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_CANCEL)\n this.hide()\n })\n\n // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n EventHandler.on(this._element, 'keydown', event => {\n if (event.key !== 'Escape' || this._config.modal) {\n return\n }\n\n event.preventDefault()\n\n if (!this._config.keyboard) {\n return\n }\n\n EventHandler.trigger(this._element, EVENT_CANCEL)\n this.hide()\n })\n\n // Handle backdrop clicks (only applies to modal dialogs)\n // Native <dialog> fires click on the dialog element when backdrop is clicked\n EventHandler.on(this._element, 'click', event => {\n // Only handle clicks directly on the dialog (backdrop area)\n // Non-modal dialogs don't have a backdrop\n if (event.target !== this._element || !this._config.modal) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n // Default: click backdrop to dismiss\n this.hide()\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // Get config from trigger's data attributes\n const config = Manipulator.getDataAttributes(this)\n\n // Check if trigger is inside an open dialog\n const currentDialog = this.closest('dialog[open]')\n const shouldSwap = currentDialog && currentDialog !== target\n\n if (shouldSwap) {\n // Open new dialog first (its backdrop appears over current)\n const newDialog = Dialog.getOrCreateInstance(target, config)\n newDialog.show(this)\n\n // Close the current dialog (no backdrop flash since new one is already open)\n const currentInstance = Dialog.getInstance(currentDialog)\n if (currentInstance) {\n currentInstance.hide()\n }\n\n return\n }\n\n const data = Dialog.getOrCreateInstance(target, config)\n data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap nav-overflow.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'navoverflow'\nconst DATA_KEY = 'bs.navoverflow'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_UPDATE = `update${EVENT_KEY}`\nconst EVENT_OVERFLOW = `overflow${EVENT_KEY}`\n\nconst CLASS_NAME_OVERFLOW = 'nav-overflow'\nconst CLASS_NAME_OVERFLOW_MENU = 'nav-overflow-menu'\nconst CLASS_NAME_HIDDEN = 'd-none'\n\nconst SELECTOR_NAV_ITEM = '.nav-item'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle'\nconst SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu'\nconst CLASS_NAME_KEEP = 'nav-overflow-keep'\n\nconst Default = {\n moreText: 'More',\n moreIcon: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"><path d=\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3\"/></svg>',\n threshold: 0 // Minimum items to keep visible before showing overflow\n}\n\nconst DefaultType = {\n moreText: 'string',\n moreIcon: 'string',\n threshold: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass NavOverflow extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._items = []\n this._overflowItems = []\n this._overflowMenu = null\n this._overflowToggle = null\n this._resizeObserver = null\n this._isInitialized = false\n\n this._init()\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 update() {\n this._calculateOverflow()\n EventHandler.trigger(this._element, EVENT_UPDATE)\n }\n\n dispose() {\n if (this._resizeObserver) {\n this._resizeObserver.disconnect()\n }\n\n // Move items back to original positions\n this._restoreItems()\n\n // Remove overflow menu\n if (this._overflowToggle && this._overflowToggle.parentElement) {\n this._overflowToggle.parentElement.remove()\n }\n\n super.dispose()\n }\n\n // Private\n _init() {\n // Add overflow class to nav\n this._element.classList.add(CLASS_NAME_OVERFLOW)\n\n // Get all nav items\n this._items = [...SelectorEngine.find(SELECTOR_NAV_ITEM, this._element)]\n\n // Store original order data\n for (const [index, item] of this._items.entries()) {\n item.dataset.bsNavOrder = index\n }\n\n // Create overflow menu if it doesn't exist\n this._createOverflowMenu()\n\n // Setup resize observer\n this._setupResizeObserver()\n\n // Initial calculation\n this._calculateOverflow()\n\n this._isInitialized = true\n }\n\n _createOverflowMenu() {\n // Check if overflow menu already exists\n this._overflowToggle = SelectorEngine.findOne(SELECTOR_OVERFLOW_TOGGLE, this._element)\n\n if (this._overflowToggle) {\n this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element)\n return\n }\n\n const overflowItem = document.createElement('li')\n overflowItem.className = 'nav-item nav-overflow-item'\n overflowItem.innerHTML = `\n <button class=\"nav-link nav-overflow-toggle\" type=\"button\" data-bs-toggle=\"menu\" data-bs-placement=\"bottom-end\" aria-expanded=\"false\">\n <span class=\"nav-overflow-icon\">${this._config.moreIcon}</span>\n <span class=\"nav-overflow-text\">${this._config.moreText}</span>\n </button>\n <div class=\"${CLASS_NAME_OVERFLOW_MENU} menu\"></div>\n `\n\n this._element.append(overflowItem)\n this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE)\n this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU)\n }\n\n _setupResizeObserver() {\n if (typeof ResizeObserver === 'undefined') {\n // Fallback for older browsers\n EventHandler.on(window, 'resize', () => this._calculateOverflow())\n return\n }\n\n this._resizeObserver = new ResizeObserver(() => {\n this._calculateOverflow()\n })\n\n this._resizeObserver.observe(this._element)\n }\n\n _calculateOverflow() {\n // First, restore all items to measure properly\n this._restoreItems()\n\n const navWidth = this._element.offsetWidth\n const overflowItem = this._overflowToggle?.closest('.nav-item')\n const overflowWidth = overflowItem?.offsetWidth || 0\n\n let usedWidth = 0\n const itemsToOverflow = []\n const overflowThreshold = navWidth - overflowWidth - 10 // 10px buffer\n\n // Calculate which items need to overflow (skip items with keep class)\n for (const item of this._items) {\n const itemWidth = item.offsetWidth\n usedWidth += itemWidth\n\n // Never overflow items with the keep class\n if (item.classList.contains(CLASS_NAME_KEEP)) {\n continue\n }\n\n if (usedWidth > overflowThreshold) {\n itemsToOverflow.push(item)\n }\n }\n\n // Check if we need threshold minimum visible\n const visibleCount = this._items.length - itemsToOverflow.length\n if (visibleCount < this._config.threshold && this._items.length > this._config.threshold) {\n // Add more items to overflow until we reach threshold (but not keep items)\n const toMove = this._items.slice(this._config.threshold).filter(item => !item.classList.contains(CLASS_NAME_KEEP))\n itemsToOverflow.length = 0\n itemsToOverflow.push(...toMove)\n }\n\n // Move items to overflow menu\n this._moveToOverflow(itemsToOverflow)\n\n // Show/hide overflow toggle\n if (overflowItem) {\n if (itemsToOverflow.length > 0) {\n overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n } else {\n overflowItem.classList.add(CLASS_NAME_HIDDEN)\n }\n }\n\n // Trigger overflow event if items changed\n if (itemsToOverflow.length > 0) {\n EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n overflowCount: itemsToOverflow.length,\n visibleCount: this._items.length - itemsToOverflow.length\n })\n }\n }\n\n _moveToOverflow(items) {\n if (!this._overflowMenu) {\n return\n }\n\n // Clear existing overflow items\n this._overflowMenu.innerHTML = ''\n this._overflowItems = []\n\n for (const item of items) {\n const link = SelectorEngine.findOne(SELECTOR_NAV_LINK, item)\n if (!link) {\n continue\n }\n\n const clonedLink = link.cloneNode(true)\n clonedLink.className = 'menu-item'\n\n if (link.classList.contains('active')) {\n clonedLink.classList.add('active')\n }\n\n if (link.classList.contains('disabled') || link.hasAttribute('disabled')) {\n clonedLink.classList.add('disabled')\n }\n\n this._overflowMenu.append(clonedLink)\n\n // Hide original item\n item.classList.add(CLASS_NAME_HIDDEN)\n item.dataset.bsNavOverflow = 'true'\n\n this._overflowItems.push(item)\n }\n }\n\n _restoreItems() {\n for (const item of this._items) {\n item.classList.remove(CLASS_NAME_HIDDEN)\n delete item.dataset.bsNavOverflow\n }\n\n if (this._overflowMenu) {\n this._overflowMenu.innerHTML = ''\n }\n\n this._overflowItems = []\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n for (const element of SelectorEngine.find('[data-bs-toggle=\"nav-overflow\"]')) {\n NavOverflow.getOrCreateInstance(element)\n }\n})\n\nexport default NavOverflow\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n autofocus: 'boolean',\n trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n input: null, // Selector or element for password input\n minLength: 8,\n messages: {\n weak: 'Weak',\n fair: 'Fair',\n good: 'Good',\n strong: 'Strong'\n },\n weights: {\n minLength: 1,\n extraLength: 1,\n lowercase: 1,\n uppercase: 1,\n numbers: 1,\n special: 1,\n multipleSpecial: 1,\n longPassword: 1\n },\n thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n input: '(string|element|null)',\n minLength: 'number',\n messages: 'object',\n weights: 'object',\n thresholds: 'array',\n scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._input = this._getInput()\n this._segments = SelectorEngine.find('.strength-segment', this._element)\n this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n this._currentStrength = null\n\n if (this._input) {\n this._addEventListeners()\n // Check initial value\n this._evaluate()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getStrength() {\n return this._currentStrength\n }\n\n evaluate() {\n this._evaluate()\n }\n\n // Private\n _getInput() {\n if (this._config.input) {\n return typeof this._config.input === 'string' ?\n SelectorEngine.findOne(this._config.input) :\n this._config.input\n }\n\n // Look for preceding password input\n const parent = this._element.parentElement\n return SelectorEngine.findOne('input[type=\"password\"]', parent)\n }\n\n _addEventListeners() {\n EventHandler.on(this._input, 'input', () => this._evaluate())\n EventHandler.on(this._input, 'change', () => this._evaluate())\n }\n\n _evaluate() {\n const password = this._input.value\n const score = this._calculateScore(password)\n const strength = this._scoreToStrength(score)\n\n if (strength !== this._currentStrength) {\n this._currentStrength = strength\n this._updateUI(strength, score)\n\n EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n strength,\n score,\n password: password.length > 0 ? '***' : '' // Don't expose actual password\n })\n }\n }\n\n _calculateScore(password) {\n if (!password) {\n return 0\n }\n\n // Use custom scorer if provided\n if (typeof this._config.scorer === 'function') {\n return this._config.scorer(password)\n }\n\n const { weights } = this._config\n let score = 0\n\n // Length scoring\n if (password.length >= this._config.minLength) {\n score += weights.minLength\n }\n\n if (password.length >= this._config.minLength + 4) {\n score += weights.extraLength\n }\n\n // Character variety\n if (/[a-z]/.test(password)) {\n score += weights.lowercase\n }\n\n if (/[A-Z]/.test(password)) {\n score += weights.uppercase\n }\n\n if (/\\d/.test(password)) {\n score += weights.numbers\n }\n\n // Special characters\n if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n score += weights.special\n }\n\n // Extra points for more special chars or length\n if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n score += weights.multipleSpecial\n }\n\n if (password.length >= 16) {\n score += weights.longPassword\n }\n\n return score\n }\n\n _scoreToStrength(score) {\n if (score === 0) {\n return null\n }\n\n const [weak, fair, good] = this._config.thresholds\n\n if (score <= weak) {\n return 'weak'\n }\n\n if (score <= fair) {\n return 'fair'\n }\n\n if (score <= good) {\n return 'good'\n }\n\n return 'strong'\n }\n\n _updateUI(strength) {\n // Update data attribute on element\n if (strength) {\n this._element.dataset.bsStrength = strength\n } else {\n delete this._element.dataset.bsStrength\n }\n\n // Update segmented meter\n const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n for (const [index, segment] of this._segments.entries()) {\n if (index <= strengthIndex) {\n segment.classList.add('active')\n } else {\n segment.classList.remove('active')\n }\n }\n\n // Update text feedback\n if (this._textElement) {\n if (strength && this._config.messages[strength]) {\n this._textElement.textContent = this._config.messages[strength]\n this._textElement.dataset.bsStrength = strength\n\n // Also set the color via inheriting from parent or using CSS variable\n const colorMap = {\n weak: 'danger',\n fair: 'warning',\n good: 'info',\n strong: 'success'\n }\n this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n } else {\n this._textElement.textContent = ''\n delete this._textElement.dataset.bsStrength\n }\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n Strength.getOrCreateInstance(element)\n }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n length: 6,\n mask: false\n}\n\nconst DefaultType = {\n length: 'number',\n mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n this._setupInputs()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getValue() {\n return this._inputs.map(input => input.value).join('')\n }\n\n setValue(value) {\n const chars = String(value).split('')\n for (const [index, input] of this._inputs.entries()) {\n input.value = chars[index] || ''\n }\n\n this._checkComplete()\n }\n\n clear() {\n for (const input of this._inputs) {\n input.value = ''\n }\n\n this._inputs[0]?.focus()\n }\n\n focus() {\n // Focus first empty input, or last input if all filled\n const emptyInput = this._inputs.find(input => !input.value)\n if (emptyInput) {\n emptyInput.focus()\n } else {\n this._inputs.at(-1)?.focus()\n }\n }\n\n // Private\n _setupInputs() {\n for (const input of this._inputs) {\n // Set attributes for proper OTP handling\n input.setAttribute('maxlength', '1')\n input.setAttribute('inputmode', 'numeric')\n input.setAttribute('pattern', '\\\\d*')\n\n // First input gets autocomplete for browser OTP autofill\n if (input === this._inputs[0]) {\n input.setAttribute('autocomplete', 'one-time-code')\n } else {\n input.setAttribute('autocomplete', 'off')\n }\n\n // Mask input if configured\n if (this._config.mask) {\n input.setAttribute('type', 'password')\n }\n }\n }\n\n _addEventListeners() {\n for (const [index, input] of this._inputs.entries()) {\n EventHandler.on(input, 'input', event => this._handleInput(event, index))\n EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n EventHandler.on(input, 'paste', event => this._handlePaste(event))\n EventHandler.on(input, 'focus', event => this._handleFocus(event))\n }\n }\n\n _handleInput(event, index) {\n const input = event.target\n\n // Only allow digits\n if (!/^\\d*$/.test(input.value)) {\n input.value = input.value.replace(/\\D/g, '')\n }\n\n const { value } = input\n\n // Handle multi-character input (some browsers/autofill)\n if (value.length > 1) {\n // Distribute characters across inputs\n const chars = value.split('')\n input.value = chars[0] || ''\n\n for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n this._inputs[index + i].value = chars[i]\n }\n\n // Focus appropriate input\n const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n this._inputs[nextIndex].focus()\n } else if (value && index < this._inputs.length - 1) {\n // Auto-advance to next input\n this._inputs[index + 1].focus()\n }\n\n EventHandler.trigger(this._element, EVENT_INPUT, {\n value: this.getValue(),\n index\n })\n\n this._checkComplete()\n }\n\n _handleKeydown(event, index) {\n const { key } = event\n\n switch (key) {\n case 'Backspace': {\n if (!this._inputs[index].value && index > 0) {\n // Move to previous input and clear it\n event.preventDefault()\n this._inputs[index - 1].value = ''\n this._inputs[index - 1].focus()\n }\n\n break\n }\n\n case 'Delete': {\n // Clear current and shift remaining values left\n event.preventDefault()\n for (let i = index; i < this._inputs.length - 1; i++) {\n this._inputs[i].value = this._inputs[i + 1].value\n }\n\n this._inputs.at(-1).value = ''\n break\n }\n\n case 'ArrowLeft': {\n if (index > 0) {\n event.preventDefault()\n this._inputs[index - 1].focus()\n }\n\n break\n }\n\n case 'ArrowRight': {\n if (index < this._inputs.length - 1) {\n event.preventDefault()\n this._inputs[index + 1].focus()\n }\n\n break\n }\n\n // No default\n }\n }\n\n _handlePaste(event) {\n event.preventDefault()\n const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n if (digits) {\n this.setValue(digits)\n\n // Focus last filled input or last input\n const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n this._inputs[lastIndex].focus()\n }\n }\n\n _handleFocus(event) {\n // Select the content on focus for easy replacement\n event.target.select()\n }\n\n _checkComplete() {\n const value = this.getValue()\n const isComplete = value.length === this._inputs.length &&\n this._inputs.every(input => input.value !== '')\n\n if (isComplete) {\n EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n OtpInput.getOrCreateInstance(element)\n }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n dd: [],\n div: [],\n dl: [],\n dt: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n allowList: DefaultAllowlist,\n content: {}, // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '<div></div>'\n}\n\nconst DefaultType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [undefined, this])\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n computePosition,\n flip,\n shift,\n offset,\n arrow,\n autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n parseResponsivePlacement,\n getResponsivePlacement,\n createBreakpointListeners,\n disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n floatingConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div>' +\n '</div>',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n floatingConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof computePosition === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n }\n\n super(element, config)\n\n // Private\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._floatingCleanup = null\n this._templateFactory = null\n this._newContent = null\n this._mediaQueryListeners = []\n this._responsivePlacements = null\n\n // Protected\n this.tip = null\n\n this._parseResponsivePlacements()\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle() {\n if (!this._isEnabled) {\n return\n }\n\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n }\n\n this._disposeFloating()\n this._disposeMediaQueryListeners()\n super.dispose()\n }\n\n async show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n this._disposeFloating()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n }\n\n await this._createFloating(tip)\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposeFloating()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n update() {\n if (this._floatingCleanup && this.tip) {\n this._updateFloatingPosition()\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle())\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml()\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n this._newContent = content\n if (this._isShown()) {\n this._disposeFloating()\n this.show()\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement(tip) {\n // If we have responsive placements, get the one for current viewport\n if (this._responsivePlacements) {\n const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n return AttachmentMap[placement.toUpperCase()] || placement\n }\n\n // Execute placement (can be a function)\n const placement = execute(this._config.placement, [this, tip, this._element])\n return AttachmentMap[placement.toUpperCase()] || placement\n }\n\n _parseResponsivePlacements() {\n // Only parse if placement is a string (not a function)\n if (typeof this._config.placement !== 'string') {\n this._responsivePlacements = null\n return\n }\n\n this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n if (this._responsivePlacements) {\n this._setupMediaQueryListeners()\n }\n }\n\n _setupMediaQueryListeners() {\n this._disposeMediaQueryListeners()\n this._mediaQueryListeners = createBreakpointListeners(() => {\n if (this._isShown()) {\n this._updateFloatingPosition()\n }\n })\n }\n\n _disposeMediaQueryListeners() {\n disposeBreakpointListeners(this._mediaQueryListeners)\n this._mediaQueryListeners = []\n }\n\n async _createFloating(tip) {\n const placement = this._getPlacement(tip)\n const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n // Initial position update\n await this._updateFloatingPosition(tip, placement, arrowElement)\n\n // Set up auto-update for scroll/resize\n this._floatingCleanup = autoUpdate(\n this._element,\n tip,\n () => this._updateFloatingPosition(tip, null, arrowElement)\n )\n }\n\n async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n if (!tip) {\n return\n }\n\n if (!placement) {\n placement = this._getPlacement(tip)\n }\n\n if (!arrowElement) {\n arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n }\n\n const middleware = this._getFloatingMiddleware(arrowElement)\n const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n this._element,\n tip,\n floatingConfig\n )\n\n // Apply position to tooltip\n Object.assign(tip.style, {\n position: 'absolute',\n left: `${x}px`,\n top: `${y}px`\n })\n\n // Ensure arrow is absolutely positioned within tooltip\n if (arrowElement) {\n arrowElement.style.position = 'absolute'\n }\n\n // Set placement attribute for CSS arrow styling\n Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n // Position arrow along the edge (center it) if present\n // The CSS handles which edge to place it on via data-bs-placement\n if (arrowElement && middlewareData.arrow) {\n const { x: arrowX, y: arrowY } = middlewareData.arrow\n const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n // Only set the cross-axis position (centering along the edge)\n // The main-axis position (which edge) is handled by CSS\n Object.assign(arrowElement.style, {\n left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n // Reset the other axis to let CSS handle it\n right: '',\n bottom: ''\n })\n }\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n // Floating UI passes different args, adapt the interface for offset function callbacks\n return ({ placement, rects }) => {\n const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n return result\n }\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element, this._element])\n }\n\n _getFloatingMiddleware(arrowElement) {\n const offsetValue = this._getOffset()\n\n const middleware = [\n // Offset middleware - handles distance from reference\n offset(\n typeof offsetValue === 'function' ?\n offsetValue :\n { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n ),\n // Flip middleware - handles fallback placements\n flip({\n fallbackPlacements: this._config.fallbackPlacements\n }),\n // Shift middleware - prevents overflow\n shift({\n boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n })\n ]\n\n // Arrow middleware - positions the arrow element\n if (arrowElement) {\n middleware.push(arrow({ element: arrowElement }))\n }\n\n return middleware\n }\n\n _getFloatingConfig(placement, middleware) {\n const defaultConfig = {\n placement,\n middleware\n }\n\n return {\n ...defaultConfig,\n ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n }\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSEENTER) :\n this.constructor.eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSELEAVE) :\n this.constructor.eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title')\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _disposeFloating() {\n if (this._floatingCleanup) {\n this._floatingCleanup()\n this._floatingCleanup = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n if (!target) {\n return\n }\n\n // Get or create instance and trigger the appropriate action\n const tooltip = Tooltip.getOrCreateInstance(target)\n\n // For focus events, manually trigger enter to show\n if (event.type === 'focusin') {\n tooltip._activeTrigger.focus = true\n tooltip._enter()\n }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div>' +\n '</div>',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n if (!target) {\n return\n }\n\n // Prevent default for click events to avoid navigation\n if (event.type === 'click') {\n event.preventDefault()\n }\n\n // Get or create instance\n const popover = Popover.getOrCreateInstance(target)\n\n // Trigger the appropriate action based on event type\n if (event.type === 'click') {\n popover.toggle()\n } else if (event.type === 'focusin') {\n popover._activeTrigger.focus = true\n popover._enter()\n }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_MENU_ITEM = 'menu-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_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\n\nconst Default = {\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh() // initialize\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose() {\n this._observer.disconnect()\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.target = getElement(config.target) || document.body\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK)\n\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if (root.scrollTo) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height\n }\n })\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n this._process(targetElement(entry))\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry))\n\n continue\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor)\n this._observableSections.set(anchor.hash, observableSection)\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target) {\n // Activate menu parents\n if (target.classList.contains(CLASS_NAME_MENU_ITEM)) {\n const menuToggle = target.closest('.menu')?.previousElementSibling\n if (menuToggle?.matches(SELECTOR_MENU_TOGGLE)) {\n menuToggle.classList.add(CLASS_NAME_ACTIVE)\n }\n\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 SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\nconst SELECTOR_MENU = '.menu'\nconst NOT_SELECTOR_MENU_TOGGLE = `:not(${SELECTOR_MENU_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_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_MENU_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n constructor(element) {\n super(element)\n this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n if (!this._parent) {\n return\n // TODO: should throw exception in v6\n // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n }\n\n // Set up initial aria attributes\n this._setInitialAttributes(this._parent, this._getChildren())\n\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n show() { // Shows this elem and deactivate the active sibling if exists\n const innerElem = this._element\n if (this._elemIsActive(innerElem)) {\n return\n }\n\n // Search for active tab on same parent to deactivate it\n const active = this._getActiveElem()\n\n const hideEvent = active ?\n EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n null\n\n const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n return\n }\n\n this._deactivate(active, innerElem)\n this._activate(innerElem, active)\n }\n\n // Private\n _activate(element, relatedElem) {\n if (!element) {\n return\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n\n this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n const complete = () => {\n if (element.getAttribute('role') !== 'tab') {\n element.classList.add(CLASS_NAME_SHOW)\n return\n }\n\n element.removeAttribute('tabindex')\n element.setAttribute('aria-selected', true)\n this._toggleMenu(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._toggleMenu(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 _toggleMenu(element, open) {\n const outerElem = this._getOuterElement(element)\n const menuToggle = SelectorEngine.findOne(SELECTOR_MENU_TOGGLE, outerElem)\n if (!menuToggle) {\n return\n }\n\n const menu = SelectorEngine.findOne(SELECTOR_MENU, outerElem)\n\n menuToggle.classList.toggle(CLASS_NAME_ACTIVE, open)\n if (menu) {\n menu.classList.toggle(CLASS_NAME_SHOW, open)\n }\n\n menuToggle.setAttribute('aria-expanded', open)\n }\n\n _setAttributeIfNotExists(element, attribute, value) {\n if (!element.hasAttribute(attribute)) {\n element.setAttribute(attribute, value)\n }\n }\n\n _elemIsActive(elem) {\n return elem.classList.contains(CLASS_NAME_ACTIVE)\n }\n\n // Try to get the inner element (usually the .nav-link)\n _getInnerElement(elem) {\n return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n }\n\n // Try to get the outer element (usually the .nav-item)\n _getOuterElement(elem) {\n return elem.closest(SELECTOR_OUTER) || elem\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n Tab.getOrCreateInstance(element)\n }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._timeout = null\n this._hasMouseInteraction = false\n this._hasKeyboardInteraction = false\n this._setListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._maybeScheduleHide()\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n hide() {\n if (!this.isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.add(CLASS_NAME_SHOWING)\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this.isShown()) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n super.dispose()\n }\n\n isShown() {\n return this._element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _maybeScheduleHide() {\n if (!this._config.autohide) {\n return\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return\n }\n\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n\n _onInteraction(event, isInteracting) {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout': {\n this._hasMouseInteraction = isInteracting\n break\n }\n\n case 'focusin':\n case 'focusout': {\n this._hasKeyboardInteraction = isInteracting\n break\n }\n\n default: {\n break\n }\n }\n\n if (isInteracting) {\n this._clearTimeout()\n return\n }\n\n const nextElement = event.relatedTarget\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return\n }\n\n this._maybeScheduleHide()\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n attribute: 'string',\n value: '(string|number|boolean)'\n}\n\nconst Default = {\n attribute: 'class',\n value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n if (toggleEvent.defaultPrevented) {\n return\n }\n\n this._execute()\n\n EventHandler.trigger(this._element, EVENT_TOGGLED)\n }\n\n // Private\n _execute() {\n const { attribute, value } = this._config\n\n if (attribute === 'id') {\n return // You have to be kidding\n }\n\n if (attribute === 'class') {\n this._element.classList.toggle(value)\n return\n }\n\n // Compare as strings since getAttribute() always returns a string\n if (this._element.getAttribute(attribute) === String(value)) {\n this._element.removeAttribute(attribute)\n return\n }\n\n this._element.setAttribute(attribute, value)\n }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","computePosition","arrow","flip","offset","shift","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","placement","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","container","display","floatingConfig","menu","reference","strategy","submenuTrigger","submenuDelay","Menu","_openInstances","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_findMenu","_menuOriginalParent","_parseResponsivePlacements","_setupSubmenuListeners","showEvent","_moveMenuToContainer","_createFloating","body","focus","focusVisible","_completeHide","_disposeFloating","_restoreMenuToOriginalParent","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","hideEvent","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","result","floating","offsetValue","mainAxis","crossAxis","fallbackPlacements","_getFallbackPlacements","fallbackMap","bottom","top","right","left","defaultConfig","_getContainer","append","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","clientY","timestamp","Date","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","currentMenu","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_CHANGE","CLASS_NAME_SELECTED","CLASS_NAME_PLACEHOLDER","SELECTOR_MENU_ITEM","SELECTOR_VALUE","SELECTOR_SEARCH_INPUT","SELECTOR_NO_RESULTS","multiple","placeholder","search","searchNormalize","Combobox","_toggle","_valueDisplay","_searchInput","_noResults","_hiddenInput","_menuInstance","_createHiddenInput","_createMenuInstance","_syncInitialSelection","_filterItems","createElement","insertBefore","selectedItems","_getSelectedItems","_updateToggleText","_updateHiddenInput","_showPlaceholder","item","_selectItem","_handleToggleKeydown","_handleMenuKeydown","_getVisibleItems","previouslySelected","bsValue","textContent","label","query","normalizedQuery","_normalizeText","visibleCount","text","normalize","jQueryInterface","each","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","vcpOptions","Datepicker","_calendar","_initCalendar","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","displayChild","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","shouldHide","dateStr","year","month","day","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","String","padStart","getDate","formatted","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showModal","_hideDialog","handleUpdate","_triggerBackdropTransition","hidePreventedEvent","currentDialog","shouldSwap","newDialog","currentInstance","EVENT_UPDATE","EVENT_OVERFLOW","CLASS_NAME_OVERFLOW","CLASS_NAME_OVERFLOW_MENU","CLASS_NAME_HIDDEN","SELECTOR_NAV_ITEM","SELECTOR_NAV_LINK","SELECTOR_OVERFLOW_TOGGLE","SELECTOR_OVERFLOW_MENU","CLASS_NAME_KEEP","moreText","moreIcon","threshold","NavOverflow","_items","_overflowItems","_overflowMenu","_overflowToggle","_resizeObserver","_isInitialized","_init","_calculateOverflow","_restoreItems","parentElement","bsNavOrder","_createOverflowMenu","_setupResizeObserver","overflowItem","className","innerHTML","ResizeObserver","navWidth","offsetWidth","overflowWidth","usedWidth","itemsToOverflow","overflowThreshold","itemWidth","toMove","_moveToOverflow","overflowCount","link","clonedLink","cloneNode","bsNavOverflow","EVENT_MOUSEDOWN","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","i","nextIndex","pastedData","clipboardData","getData","digits","lastIndex","select","isComplete","every","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_MENU_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_MENU_TOGGLE","rootMargin","smoothScroll","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","menuToggle","listGroup","activeNodes","node","spy","NOT_SELECTOR_MENU_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","_toggleMenu","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","toggleEvent","_execute"],"mappings":"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","x_google_ignoreList":[13,14,15,16,20]}
\ No newline at end of file
* Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
-const elementMap=new Map,Data={set(e,t,n){elementMap.has(e)||elementMap.set(e,new Map);const i=elementMap.get(e);i.has(t)||0===i.size?i.set(t,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(i.keys())[0]}.`)},get:(e,t)=>elementMap.has(e)&&elementMap.get(e).get(t)||null,remove(e,t){if(!elementMap.has(e))return;const n=elementMap.get(e);n.delete(t),0===n.size&&elementMap.delete(e)}},namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,stripUidRegex=/::\d+$/,eventRegistry={};let uidEvent=1;const customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function makeEventUid(e,t){return t&&`${t}::${uidEvent++}`||e.uidEvent||uidEvent++}function getElementEvents(e){const t=makeEventUid(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function bootstrapHandler(e,t){return function n(i){return hydrateObj(i,{delegateTarget:e}),n.oneOff&&EventHandler.off(e,i.type,t),t.apply(e,[i])}}function bootstrapDelegationHandler(e,t,n){return function i(s){const o=e.querySelectorAll(t);for(let{target:a}=s;a&&a!==this;a=a.parentNode)for(const l of o)if(l===a)return hydrateObj(s,{delegateTarget:a}),i.oneOff&&EventHandler.off(e,s.type,t,n),n.apply(a,[s])}}function findHandler(e,t,n=null){return Object.values(e).find(e=>e.callable===t&&e.delegationSelector===n)}function normalizeParameters(e,t,n){const i="string"==typeof t,s=i?n:t||n;let o=getTypeEvent(e);return nativeEvents.has(o)||(o=e),[i,s,o]}function addHandler(e,t,n,i,s){if("string"!=typeof t||!e)return;let[o,a,l]=normalizeParameters(t,n,i);if(t in customEvents){const e=e=>function(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return e.call(this,t)};a=e(a)}const r=getElementEvents(e),c=r[l]||(r[l]={}),d=findHandler(c,a,o?n:null);if(d)return void(d.oneOff=d.oneOff&&s);const u=makeEventUid(a,t.replace(namespaceRegex,"")),h=o?bootstrapDelegationHandler(e,n,a):bootstrapHandler(e,a);h.delegationSelector=o?n:null,h.callable=a,h.oneOff=s,h.uidEvent=u,c[u]=h,e.addEventListener(l,h,o)}function removeHandler(e,t,n,i,s){const o=findHandler(t[n],i,s);o&&(e.removeEventListener(n,o,Boolean(s)),delete t[n][o.uidEvent])}function removeNamespacedHandlers(e,t,n,i){const s=t[n]||{};for(const[o,a]of Object.entries(s))o.includes(i)&&removeHandler(e,t,n,a.callable,a.delegationSelector)}function getTypeEvent(e){return e=e.replace(stripNameRegex,""),customEvents[e]||e}const EventHandler={on(e,t,n,i){addHandler(e,t,n,i,!1)},one(e,t,n,i){addHandler(e,t,n,i,!0)},off(e,t,n,i){if("string"!=typeof t||!e)return;const[s,o,a]=normalizeParameters(t,n,i),l=a!==t,r=getElementEvents(e),c=r[a]||{},d=t.startsWith(".");if(void 0===o){if(d)for(const n of Object.keys(r))removeNamespacedHandlers(e,r,n,t.slice(1));for(const[n,i]of Object.entries(c)){const s=n.replace(stripUidRegex,"");l&&!t.includes(s)||removeHandler(e,r,a,i.callable,i.delegationSelector)}}else{if(!Object.keys(c).length)return;removeHandler(e,r,a,o,s?n:null)}},trigger(e,t,n){if("string"!=typeof t||!e)return null;const i=hydrateObj(new Event(t,{bubbles:!0,cancelable:!0}),n);return e.dispatchEvent(i),i}};function hydrateObj(e,t={}){for(const[n,i]of Object.entries(t))try{e[n]=i}catch{Object.defineProperty(e,n,{configurable:!0,get:()=>i})}return e}function normalizeData(e){if("true"===e)return!0;if("false"===e)return!1;if(e===Number(e).toString())return Number(e);if(""===e||"null"===e)return null;if("string"!=typeof e)return e;try{return JSON.parse(decodeURIComponent(e))}catch{return e}}function normalizeDataKey(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}const Manipulator={setDataAttribute(e,t,n){e.setAttribute(`data-bs-${normalizeDataKey(t)}`,n)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${normalizeDataKey(t)}`)},getDataAttributes(e){if(!e)return{};const t={},n=Object.keys(e.dataset).filter(e=>e.startsWith("bs")&&!e.startsWith("bsConfig"));for(const i of n){let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1),t[n]=normalizeData(e.dataset[i])}return t},getDataAttribute:(e,t)=>normalizeData(e.getAttribute(`data-bs-${normalizeDataKey(t)}`))},MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",parseSelector=e=>(e&&window.CSS&&window.CSS.escape&&(e=e.replace(/#([^\s"#']+)/g,(e,t)=>`#${CSS.escape(t)}`)),e),toType=e=>null==e?`${e}`:Object.prototype.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),getUID=e=>{do{e+=Math.floor(1e6*Math.random())}while(document.getElementById(e));return e},getTransitionDurationFromElement=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e);const i=Number.parseFloat(t),s=Number.parseFloat(n);return i||s?(t=t.split(",")[0],n=n.split(",")[0],1e3*(Number.parseFloat(t)+Number.parseFloat(n))):0},triggerTransitionEnd=e=>{e.dispatchEvent(new Event(TRANSITION_END))},isElement$1=e=>!(!e||"object"!=typeof e)&&void 0!==e.nodeType,getElement=e=>isElement$1(e)?e:"string"==typeof e&&e.length>0?document.querySelector(parseSelector(e)):null,isVisible=e=>{if(!isElement$1(e)||0===e.getClientRects().length)return!1;const t="visible"===getComputedStyle(e).getPropertyValue("visibility"),n=e.closest("details:not([open])");if(!n)return t;if(n!==e){const t=e.closest("summary");if(t&&t.parentNode!==n)return!1;if(null===t)return!1}return t},isDisabled=e=>!e||e.nodeType!==Node.ELEMENT_NODE||!!e.classList.contains("disabled")||(void 0!==e.disabled?e.disabled:e.hasAttribute("disabled")&&"false"!==e.getAttribute("disabled")),findShadowRoot=e=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?findShadowRoot(e.parentNode):null},noop=()=>{},reflow=e=>{e.offsetHeight},isRTL$1=()=>"rtl"===document.documentElement.dir,execute=(e,t=[],n=e)=>"function"==typeof e?e.call(...t):n,executeAfterTransition=(e,t,n=!0)=>{if(!n)return void execute(e);const i=getTransitionDurationFromElement(t)+5;let s=!1;const o=({target:n})=>{n===t&&(s=!0,t.removeEventListener(TRANSITION_END,o),execute(e))};t.addEventListener(TRANSITION_END,o),setTimeout(()=>{s||triggerTransitionEnd(t)},i)},getNextActiveElement=(e,t,n,i)=>{const s=e.length;let o=e.indexOf(t);return-1===o?!n&&i?e[s-1]:e[0]:(o+=n?1:-1,i&&(o=(o+s)%s),e[Math.max(0,Math.min(o,s-1))])};class Config{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const n=isElement$1(t)?Manipulator.getDataAttribute(t,"config"):{};return{...this.constructor.Default,..."object"==typeof n?n:{},...isElement$1(t)?Manipulator.getDataAttributes(t):{},..."object"==typeof e?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const[n,i]of Object.entries(t)){const t=e[n],s=isElement$1(t)?"element":toType(t);if(!new RegExp(i).test(s))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${s}" but expected type "${i}".`)}}}const VERSION="6.0.0-alpha1";class BaseComponent extends Config{constructor(e,t){super(),(e=getElement(e))&&(this._element=e,this._config=this._getConfig(t),Data.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Data.remove(this._element,this.constructor.DATA_KEY),EventHandler.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,n=!0){executeAfterTransition(e,t,n)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return Data.get(getElement(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,"object"==typeof t?t:null)}static get VERSION(){return VERSION}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const getSelector=e=>{let t=e.getAttribute("data-bs-target");if(!t||"#"===t){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&"#"!==n?n.trim():null}return t?t.split(",").map(e=>parseSelector(e)).join(","):null},SelectorEngine={find:(e,t=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(t,e)),findOne:(e,t=document.documentElement)=>Element.prototype.querySelector.call(t,e),children:(e,t)=>[].concat(...e.children).filter(e=>e.matches(t)),parents(e,t){const n=[];let i=e.parentNode.closest(t);for(;i;)n.push(i),i=i.parentNode.closest(t);return n},prev(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return[n];n=n.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(e=>`${e}:not([tabindex^="-"])`).join(",");return this.find(t,e).filter(e=>!isDisabled(e)&&isVisible(e))},getSelectorFromElement(e){const t=getSelector(e);return t&&SelectorEngine.findOne(t)?t:null},getElementFromSelector(e){const t=getSelector(e);return t?SelectorEngine.findOne(t):null},getMultipleElementsFromSelector(e){const t=getSelector(e);return t?SelectorEngine.find(t):[]}},enableDismissTrigger=(e,t="hide")=>{const n=`click.dismiss${e.EVENT_KEY}`,i=e.NAME;EventHandler.on(document,n,`[data-bs-dismiss="${i}"]`,function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),isDisabled(this))return;const s=SelectorEngine.getElementFromSelector(this)||this.closest(`.${i}`);e.getOrCreateInstance(s)[t]()})},eventActionOnPlugin=(e,t,n,i,s=null)=>{eventAction(`${t}.${e.NAME}`,n,t=>{const n=t.targets.filter(Boolean).map(t=>e.getOrCreateInstance(t));"function"==typeof s&&s({...t,instances:n});for(const e of n)e[i]()})},eventAction=(e,t,n)=>{const i=`${t}:not(.disabled):not(:disabled)`;EventHandler.on(document,e,i,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault();const t=SelectorEngine.getSelectorFromElement(this),i=t?SelectorEngine.find(t):[this];n({targets:i,event:e})})},NAME$m="alert",DATA_KEY$h="bs.alert",EVENT_KEY$i=".bs.alert",EVENT_CLOSE="close.bs.alert",EVENT_CLOSED="closed.bs.alert",CLASS_NAME_FADE$4="fade",CLASS_NAME_SHOW$8="show";class Alert extends BaseComponent{static get NAME(){return NAME$m}close(){if(EventHandler.trigger(this._element,EVENT_CLOSE).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),EventHandler.trigger(this._element,EVENT_CLOSED),this.dispose()}}enableDismissTrigger(Alert,"close");const NAME$l="button",DATA_KEY$g="bs.button",EVENT_KEY$h=`.${DATA_KEY$g}`,DATA_API_KEY$b=".data-api",CLASS_NAME_ACTIVE$4="active",SELECTOR_DATA_TOGGLE$a='[data-bs-toggle="button"]',EVENT_CLICK_DATA_API$8=`click${EVENT_KEY$h}.data-api`;class Button extends BaseComponent{static get NAME(){return NAME$l}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}}EventHandler.on(document,EVENT_CLICK_DATA_API$8,SELECTOR_DATA_TOGGLE$a,e=>{e.preventDefault();const t=e.target.closest(SELECTOR_DATA_TOGGLE$a);Button.getOrCreateInstance(t).toggle()});const NAME$k="swipe",EVENT_KEY$g=".bs.swipe",EVENT_TOUCHSTART="touchstart.bs.swipe",EVENT_TOUCHMOVE="touchmove.bs.swipe",EVENT_TOUCHEND="touchend.bs.swipe",EVENT_POINTERDOWN="pointerdown.bs.swipe",EVENT_POINTERUP="pointerup.bs.swipe",POINTER_TYPE_TOUCH="touch",POINTER_TYPE_PEN="pen",CLASS_NAME_POINTER_EVENT="pointer-event",SWIPE_THRESHOLD=40,Default$j={endCallback:null,leftCallback:null,rightCallback:null},DefaultType$j={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Swipe extends Config{constructor(e,t){super(),this._element=e,e&&Swipe.isSupported()&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Default$j}static get DefaultType(){return DefaultType$j}static get NAME(){return NAME$k}dispose(){EventHandler.off(this._element,".bs.swipe")}_start(e){this._supportPointerEvents?this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX):this._deltaX=e.touches[0].clientX}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),execute(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=40)return;const t=e/this._deltaX;this._deltaX=0,t&&execute(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(EventHandler.on(this._element,EVENT_POINTERDOWN,e=>this._start(e)),EventHandler.on(this._element,EVENT_POINTERUP,e=>this._end(e)),this._element.classList.add("pointer-event")):(EventHandler.on(this._element,EVENT_TOUCHSTART,e=>this._start(e)),EventHandler.on(this._element,EVENT_TOUCHMOVE,e=>this._move(e)),EventHandler.on(this._element,EVENT_TOUCHEND,e=>this._end(e)))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&("pen"===e.pointerType||"touch"===e.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const NAME$j="carousel",DATA_KEY$f="bs.carousel",EVENT_KEY$f=`.${DATA_KEY$f}`,DATA_API_KEY$a=".data-api",ARROW_LEFT_KEY$2="ArrowLeft",ARROW_RIGHT_KEY$2="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,ORDER_NEXT="next",ORDER_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE=`slide${EVENT_KEY$f}`,EVENT_SLID=`slid${EVENT_KEY$f}`,EVENT_KEYDOWN$1=`keydown${EVENT_KEY$f}`,EVENT_MOUSEENTER$2=`mouseenter${EVENT_KEY$f}`,EVENT_MOUSELEAVE$1=`mouseleave${EVENT_KEY$f}`,EVENT_DRAG_START=`dragstart${EVENT_KEY$f}`,EVENT_LOAD_DATA_API$3=`load${EVENT_KEY$f}.data-api`,EVENT_CLICK_DATA_API$7=`click${EVENT_KEY$f}.data-api`,CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$3="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_END="carousel-item-end",CLASS_NAME_START="carousel-item-start",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",SELECTOR_ACTIVE=".active",SELECTOR_ITEM=".carousel-item",SELECTOR_ACTIVE_ITEM=".active.carousel-item",SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-bs-slide], [data-bs-slide-to]",SELECTOR_DATA_RIDE='[data-bs-ride="carousel"]',KEY_TO_DIRECTION={[ARROW_LEFT_KEY$2]:"right",[ARROW_RIGHT_KEY$2]:"left"},Default$i={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},DefaultType$i={interval:"number",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Carousel extends BaseComponent{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._addEventListeners(),"carousel"===this._config.ride&&this.cycle()}static get Default(){return Default$i}static get DefaultType(){return DefaultType$i}static get NAME(){return NAME$j}next(){this._slide("next")}nextWhenVisible(){"visible"===document.visibilityState&&isVisible(this._element)&&this.next()}prev(){this._slide("prev")}pause(){this._isSliding&&triggerTransitionEnd(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?EventHandler.one(this._element,EVENT_SLID,()=>this.cycle()):this.cycle())}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding)return void EventHandler.one(this._element,EVENT_SLID,()=>this.to(e));const n=this._getItemIndex(this._getActive());if(n===e)return;const i=e>n?"next":"prev";this._slide(i,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN$1,e=>this._keydown(e)),"hover"===this._config.pause&&(EventHandler.on(this._element,EVENT_MOUSEENTER$2,()=>this.pause()),EventHandler.on(this._element,EVENT_MOUSELEAVE$1,()=>this._maybeEnableCycle())),this._config.touch&&Swipe.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const e of SelectorEngine.find(SELECTOR_ITEM_IMG,this._element))EventHandler.on(e,EVENT_DRAG_START,e=>e.preventDefault());const e={leftCallback:()=>this._slide(this._directionToOrder("left")),rightCallback:()=>this._slide(this._directionToOrder("right")),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new Swipe(this._element,e)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=KEY_TO_DIRECTION[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=SelectorEngine.findOne(".active",this._indicatorsElement);t.classList.remove("active"),t.removeAttribute("aria-current");const n=SelectorEngine.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);n&&(n.classList.add("active"),n.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const n=this._getActive(),i="next"===e,s=t||getNextActiveElement(this._getItems(),n,i,this._config.wrap);if(s===n)return;const o=this._getItemIndex(s),a=t=>EventHandler.trigger(this._element,t,{relatedTarget:s,direction:this._orderToDirection(e),from:this._getItemIndex(n),to:o});if(a(EVENT_SLIDE).defaultPrevented)return;if(!n||!s)return;const l=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const r=i?CLASS_NAME_START:CLASS_NAME_END,c=i?CLASS_NAME_NEXT:CLASS_NAME_PREV;s.classList.add(c),reflow(s),n.classList.add(r),s.classList.add(r),this._queueCallback(()=>{s.classList.remove(r,c),s.classList.add("active"),n.classList.remove("active",c,r),this._isSliding=!1,a(EVENT_SLID)},n,this._isAnimated()),l&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element)}_getItems(){return SelectorEngine.find(SELECTOR_ITEM,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return isRTL$1()?"left"===e?"prev":"next":"left"===e?"next":"prev"}_orderToDirection(e){return isRTL$1()?"prev"===e?"left":"right":"prev"===e?"right":"left"}}EventHandler.on(document,EVENT_CLICK_DATA_API$7,SELECTOR_DATA_SLIDE,function(e){const t=SelectorEngine.getElementFromSelector(this);if(!t||!t.classList.contains("carousel"))return;e.preventDefault();const n=Carousel.getOrCreateInstance(t),i=this.getAttribute("data-bs-slide-to");return i?(n.to(i),void n._maybeEnableCycle()):"next"===Manipulator.getDataAttribute(this,"slide")?(n.next(),void n._maybeEnableCycle()):(n.prev(),void n._maybeEnableCycle())}),EventHandler.on(window,EVENT_LOAD_DATA_API$3,()=>{const e=SelectorEngine.find(SELECTOR_DATA_RIDE);for(const t of e)Carousel.getOrCreateInstance(t)});const NAME$i="collapse",DATA_KEY$e="bs.collapse",EVENT_KEY$e=`.${DATA_KEY$e}`,DATA_API_KEY$9=".data-api",EVENT_SHOW$8=`show${EVENT_KEY$e}`,EVENT_SHOWN$8=`shown${EVENT_KEY$e}`,EVENT_HIDE$8=`hide${EVENT_KEY$e}`,EVENT_HIDDEN$8=`hidden${EVENT_KEY$e}`,EVENT_CLICK_DATA_API$6=`click${EVENT_KEY$e}.data-api`,CLASS_NAME_SHOW$7="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",CLASS_NAME_DEEPER_CHILDREN=":scope .collapse .collapse",CLASS_NAME_HORIZONTAL="collapse-horizontal",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".collapse.show, .collapse.collapsing",SELECTOR_DATA_TOGGLE$9='[data-bs-toggle="collapse"]',Default$h={parent:null,toggle:!0},DefaultType$h={parent:"(null|element)",toggle:"boolean"};class Collapse extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$9);for(const e of n){const t=SelectorEngine.getSelectorFromElement(e),n=SelectorEngine.find(t).filter(e=>e===this._element);null!==t&&n.length&&this._triggerArray.push(e)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Default$h}static get DefaultType(){return DefaultType$h}static get NAME(){return NAME$i}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(e=>e!==this._element).map(e=>Collapse.getOrCreateInstance(e,{toggle:!1}))),e.length&&e[0]._isTransitioning)return;if(EventHandler.trigger(this._element,EVENT_SHOW$8).defaultPrevented)return;for(const t of e)t.hide();const t=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[t]="",EventHandler.trigger(this._element,EVENT_SHOWN$8)},this._element,!0),this._element.style[t]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(EventHandler.trigger(this._element,EVENT_HIDE$8).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,reflow(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");for(const e of this._triggerArray){const t=SelectorEngine.getElementFromSelector(e);t&&!this._isShown(t)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0,this._element.style[e]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),EventHandler.trigger(this._element,EVENT_HIDDEN$8)},this._element,!0)}_isShown(e=this._element){return e.classList.contains("show")}_configAfterMerge(e){return e.toggle=Boolean(e.toggle),e.parent=getElement(e.parent),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?WIDTH:HEIGHT}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$9);for(const t of e){const e=SelectorEngine.getElementFromSelector(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}}_getFirstLevelChildren(e){const t=SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN,this._config.parent);return SelectorEngine.find(e,this._config.parent).filter(e=>!t.includes(e))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const n of e)n.classList.toggle("collapsed",!t),n.setAttribute("aria-expanded",t)}}EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$9,function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();for(const e of SelectorEngine.getMultipleElementsFromSelector(this))Collapse.getOrCreateInstance(e,{toggle:!1}).toggle()});const min=Math.min,max=Math.max,round=Math.round,floor=Math.floor,createCoords=e=>({x:e,y:e}),oppositeSideMap={left:"right",right:"left",bottom:"top",top:"bottom"};function clamp(e,t,n){return max(e,min(t,n))}function evaluate(e,t){return"function"==typeof e?e(t):e}function getSide(e){return e.split("-")[0]}function getAlignment(e){return e.split("-")[1]}function getOppositeAxis(e){return"x"===e?"y":"x"}function getAxisLength(e){return"y"===e?"height":"width"}function getSideAxis(e){const t=e[0];return"t"===t||"b"===t?"y":"x"}function getAlignmentAxis(e){return getOppositeAxis(getSideAxis(e))}function getAlignmentSides(e,t,n){void 0===n&&(n=!1);const i=getAlignment(e),s=getAlignmentAxis(e),o=getAxisLength(s);let a="x"===s?i===(n?"end":"start")?"right":"left":"start"===i?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=getOppositePlacement(a)),[a,getOppositePlacement(a)]}function getExpandedPlacements(e){const t=getOppositePlacement(e);return[getOppositeAlignmentPlacement(e),t,getOppositeAlignmentPlacement(t)]}function getOppositeAlignmentPlacement(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const lrPlacement=["left","right"],rlPlacement=["right","left"],tbPlacement=["top","bottom"],btPlacement=["bottom","top"];function getSideList(e,t,n){switch(e){case"top":case"bottom":return n?t?rlPlacement:lrPlacement:t?lrPlacement:rlPlacement;case"left":case"right":return t?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(e,t,n,i){const s=getAlignment(e);let o=getSideList(getSide(e),"start"===n,i);return s&&(o=o.map(e=>e+"-"+s),t&&(o=o.concat(o.map(getOppositeAlignmentPlacement)))),o}function getOppositePlacement(e){const t=getSide(e);return oppositeSideMap[t]+e.slice(t.length)}function expandPaddingObject(e){return{top:0,right:0,bottom:0,left:0,...e}}function getPaddingObject(e){return"number"!=typeof e?expandPaddingObject(e):{top:e,right:e,bottom:e,left:e}}function rectToClientRect(e){const{x:t,y:n,width:i,height:s}=e;return{width:i,height:s,top:n,left:t,right:t+i,bottom:n+s,x:t,y:n}}function computeCoordsFromPlacement(e,t,n){let{reference:i,floating:s}=e;const o=getSideAxis(t),a=getAlignmentAxis(t),l=getAxisLength(a),r=getSide(t),c="y"===o,d=i.x+i.width/2-s.width/2,u=i.y+i.height/2-s.height/2,h=i[l]/2-s[l]/2;let m;switch(r){case"top":m={x:d,y:i.y-s.height};break;case"bottom":m={x:d,y:i.y+i.height};break;case"right":m={x:i.x+i.width,y:u};break;case"left":m={x:i.x-s.width,y:u};break;default:m={x:i.x,y:i.y}}switch(getAlignment(t)){case"start":m[a]-=h*(n&&c?-1:1);break;case"end":m[a]+=h*(n&&c?-1:1)}return m}async function detectOverflow(e,t){var n;void 0===t&&(t={});const{x:i,y:s,platform:o,rects:a,elements:l,strategy:r}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:h=!1,padding:m=0}=evaluate(t,e),_=getPaddingObject(m),g=l[h?"floating"===u?"reference":"floating":u],E=rectToClientRect(await o.getClippingRect({element:null==(n=await(null==o.isElement?void 0:o.isElement(g)))||n?g:g.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(l.floating)),boundary:c,rootBoundary:d,strategy:r})),p="floating"===u?{x:i,y:s,width:a.floating.width,height:a.floating.height}:a.reference,f=await(null==o.getOffsetParent?void 0:o.getOffsetParent(l.floating)),v=await(null==o.isElement?void 0:o.isElement(f))&&await(null==o.getScale?void 0:o.getScale(f))||{x:1,y:1},T=rectToClientRect(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:p,offsetParent:f,strategy:r}):p);return{top:(E.top-T.top+_.top)/v.y,bottom:(T.bottom-E.bottom+_.bottom)/v.y,left:(E.left-T.left+_.left)/v.x,right:(T.right-E.right+_.right)/v.x}}const MAX_RESET_COUNT=50,computePosition$1=async(e,t,n)=>{const{placement:i="bottom",strategy:s="absolute",middleware:o=[],platform:a}=n,l=a.detectOverflow?a:{...a,detectOverflow:detectOverflow},r=await(null==a.isRTL?void 0:a.isRTL(t));let c=await a.getElementRects({reference:e,floating:t,strategy:s}),{x:d,y:u}=computeCoordsFromPlacement(c,i,r),h=i,m=0;const _={};for(let n=0;n<o.length;n++){const g=o[n];if(!g)continue;const{name:E,fn:p}=g,{x:f,y:v,data:T,reset:b}=await p({x:d,y:u,initialPlacement:i,placement:h,strategy:s,middlewareData:_,rects:c,platform:l,elements:{reference:e,floating:t}});d=null!=f?f:d,u=null!=v?v:u,_[E]={..._[E],...T},b&&m<50&&(m++,"object"==typeof b&&(b.placement&&(h=b.placement),b.rects&&(c=!0===b.rects?await a.getElementRects({reference:e,floating:t,strategy:s}):b.rects),({x:d,y:u}=computeCoordsFromPlacement(c,h,r))),n=-1)}return{x:d,y:u,placement:h,strategy:s,middlewareData:_}},arrow$1=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:i,placement:s,rects:o,platform:a,elements:l,middlewareData:r}=t,{element:c,padding:d=0}=evaluate(e,t)||{};if(null==c)return{};const u=getPaddingObject(d),h={x:n,y:i},m=getAlignmentAxis(s),_=getAxisLength(m),g=await a.getDimensions(c),E="y"===m,p=E?"top":"left",f=E?"bottom":"right",v=E?"clientHeight":"clientWidth",T=o.reference[_]+o.reference[m]-h[m]-o.floating[_],b=h[m]-o.reference[m],A=await(null==a.getOffsetParent?void 0:a.getOffsetParent(c));let D=A?A[v]:0;D&&await(null==a.isElement?void 0:a.isElement(A))||(D=l.floating[v]||o.floating[_]);const y=T/2-b/2,S=D/2-g[_]/2-1,C=min(u[p],S),N=min(u[f],S),w=C,x=D-g[_]-N,M=D/2-g[_]/2+y,O=clamp(w,M,x),L=!r.arrow&&null!=getAlignment(s)&&M!==O&&o.reference[_]/2-(M<w?C:N)-g[_]/2<0,$=L?M<w?M-w:M-x:0;return{[m]:h[m]+$,data:{[m]:O,centerOffset:M-O-$,...L&&{alignmentOffset:$}},reset:L}}}),flip$1=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,i;const{placement:s,middlewareData:o,rects:a,initialPlacement:l,platform:r,elements:c}=t,{mainAxis:d=!0,crossAxis:u=!0,fallbackPlacements:h,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:_="none",flipAlignment:g=!0,...E}=evaluate(e,t);if(null!=(n=o.arrow)&&n.alignmentOffset)return{};const p=getSide(s),f=getSideAxis(l),v=getSide(l)===l,T=await(null==r.isRTL?void 0:r.isRTL(c.floating)),b=h||(v||!g?[getOppositePlacement(l)]:getExpandedPlacements(l)),A="none"!==_;!h&&A&&b.push(...getOppositeAxisPlacements(l,g,_,T));const D=[l,...b],y=await r.detectOverflow(t,E),S=[];let C=(null==(i=o.flip)?void 0:i.overflows)||[];if(d&&S.push(y[p]),u){const e=getAlignmentSides(s,a,T);S.push(y[e[0]],y[e[1]])}if(C=[...C,{placement:s,overflows:S}],!S.every(e=>e<=0)){var N,w;const e=((null==(N=o.flip)?void 0:N.index)||0)+1,t=D[e];if(t&&("alignment"!==u||f===getSideAxis(t)||C.every(e=>getSideAxis(e.placement)!==f||e.overflows[0]>0)))return{data:{index:e,overflows:C},reset:{placement:t}};let n=null==(w=C.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:w.placement;if(!n)switch(m){case"bestFit":{var x;const e=null==(x=C.filter(e=>{if(A){const t=getSideAxis(e.placement);return t===f||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:x[0];e&&(n=e);break}case"initialPlacement":n=l}if(s!==n)return{reset:{placement:n}}}return{}}}},originSides=new Set(["left","top"]);async function convertValueToCoords(e,t){const{placement:n,platform:i,elements:s}=e,o=await(null==i.isRTL?void 0:i.isRTL(s.floating)),a=getSide(n),l=getAlignment(n),r="y"===getSideAxis(n),c=originSides.has(a)?-1:1,d=o&&r?-1:1,u=evaluate(t,e);let{mainAxis:h,crossAxis:m,alignmentAxis:_}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&"number"==typeof _&&(m="end"===l?-1*_:_),r?{x:m*d,y:h*c}:{x:h*c,y:m*d}}const offset$1=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,i;const{x:s,y:o,placement:a,middlewareData:l}=t,r=await convertValueToCoords(t,e);return a===(null==(n=l.offset)?void 0:n.placement)&&null!=(i=l.arrow)&&i.alignmentOffset?{}:{x:s+r.x,y:o+r.y,data:{...r,placement:a}}}}},shift$1=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:i,placement:s,platform:o}=t,{mainAxis:a=!0,crossAxis:l=!1,limiter:r={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=evaluate(e,t),d={x:n,y:i},u=await o.detectOverflow(t,c),h=getSideAxis(getSide(s)),m=getOppositeAxis(h);let _=d[m],g=d[h];if(a){const e="y"===m?"bottom":"right";_=clamp(_+u["y"===m?"top":"left"],_,_-u[e])}if(l){const e="y"===h?"bottom":"right";g=clamp(g+u["y"===h?"top":"left"],g,g-u[e])}const E=r.fn({...t,[m]:_,[h]:g});return{...E,data:{x:E.x-n,y:E.y-i,enabled:{[m]:a,[h]:l}}}}}};function hasWindow(){return"undefined"!=typeof window}function getNodeName(e){return isNode(e)?(e.nodeName||"").toLowerCase():"#document"}function getWindow(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function getDocumentElement(e){var t;return null==(t=(isNode(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function isNode(e){return!!hasWindow()&&(e instanceof Node||e instanceof getWindow(e).Node)}function isElement(e){return!!hasWindow()&&(e instanceof Element||e instanceof getWindow(e).Element)}function isHTMLElement(e){return!!hasWindow()&&(e instanceof HTMLElement||e instanceof getWindow(e).HTMLElement)}function isShadowRoot(e){return!(!hasWindow()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof getWindow(e).ShadowRoot)}function isOverflowElement(e){const{overflow:t,overflowX:n,overflowY:i,display:s}=getComputedStyle$1(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+n)&&"inline"!==s&&"contents"!==s}function isTableElement(e){return/^(table|td|th)$/.test(getNodeName(e))}function isTopLayer(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}const willChangeRe=/transform|translate|scale|rotate|perspective|filter/,containRe=/paint|layout|strict|content/,isNotNone=e=>!!e&&"none"!==e;let isWebKitValue;function isContainingBlock(e){const t=isElement(e)?getComputedStyle$1(e):e;return isNotNone(t.transform)||isNotNone(t.translate)||isNotNone(t.scale)||isNotNone(t.rotate)||isNotNone(t.perspective)||!isWebKit()&&(isNotNone(t.backdropFilter)||isNotNone(t.filter))||willChangeRe.test(t.willChange||"")||containRe.test(t.contain||"")}function getContainingBlock(e){let t=getParentNode(e);for(;isHTMLElement(t)&&!isLastTraversableNode(t);){if(isContainingBlock(t))return t;if(isTopLayer(t))return null;t=getParentNode(t)}return null}function isWebKit(){return null==isWebKitValue&&(isWebKitValue="undefined"!=typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),isWebKitValue}function isLastTraversableNode(e){return/^(html|body|#document)$/.test(getNodeName(e))}function getComputedStyle$1(e){return getWindow(e).getComputedStyle(e)}function getNodeScroll(e){return isElement(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function getParentNode(e){if("html"===getNodeName(e))return e;const t=e.assignedSlot||e.parentNode||isShadowRoot(e)&&e.host||getDocumentElement(e);return isShadowRoot(t)?t.host:t}function getNearestOverflowAncestor(e){const t=getParentNode(e);return isLastTraversableNode(t)?e.ownerDocument?e.ownerDocument.body:e.body:isHTMLElement(t)&&isOverflowElement(t)?t:getNearestOverflowAncestor(t)}function getOverflowAncestors(e,t,n){var i;void 0===t&&(t=[]),void 0===n&&(n=!0);const s=getNearestOverflowAncestor(e),o=s===(null==(i=e.ownerDocument)?void 0:i.body),a=getWindow(s);if(o){const e=getFrameElement(a);return t.concat(a,a.visualViewport||[],isOverflowElement(s)?s:[],e&&n?getOverflowAncestors(e):[])}return t.concat(s,getOverflowAncestors(s,[],n))}function getFrameElement(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function getCssDimensions(e){const t=getComputedStyle$1(e);let n=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const s=isHTMLElement(e),o=s?e.offsetWidth:n,a=s?e.offsetHeight:i,l=round(n)!==o||round(i)!==a;return l&&(n=o,i=a),{width:n,height:i,$:l}}function unwrapElement(e){return isElement(e)?e:e.contextElement}function getScale(e){const t=unwrapElement(e);if(!isHTMLElement(t))return createCoords(1);const n=t.getBoundingClientRect(),{width:i,height:s,$:o}=getCssDimensions(t);let a=(o?round(n.width):n.width)/i,l=(o?round(n.height):n.height)/s;return a&&Number.isFinite(a)||(a=1),l&&Number.isFinite(l)||(l=1),{x:a,y:l}}const noOffsets=createCoords(0);function getVisualOffsets(e){const t=getWindow(e);return isWebKit()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:noOffsets}function shouldAddVisualOffsets(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==getWindow(e))&&t}function getBoundingClientRect(e,t,n,i){void 0===t&&(t=!1),void 0===n&&(n=!1);const s=e.getBoundingClientRect(),o=unwrapElement(e);let a=createCoords(1);t&&(i?isElement(i)&&(a=getScale(i)):a=getScale(e));const l=shouldAddVisualOffsets(o,n,i)?getVisualOffsets(o):createCoords(0);let r=(s.left+l.x)/a.x,c=(s.top+l.y)/a.y,d=s.width/a.x,u=s.height/a.y;if(o){const e=getWindow(o),t=i&&isElement(i)?getWindow(i):i;let n=e,s=getFrameElement(n);for(;s&&i&&t!==n;){const e=getScale(s),t=s.getBoundingClientRect(),i=getComputedStyle$1(s),o=t.left+(s.clientLeft+parseFloat(i.paddingLeft))*e.x,a=t.top+(s.clientTop+parseFloat(i.paddingTop))*e.y;r*=e.x,c*=e.y,d*=e.x,u*=e.y,r+=o,c+=a,n=getWindow(s),s=getFrameElement(n)}}return rectToClientRect({width:d,height:u,x:r,y:c})}function getWindowScrollBarX(e,t){const n=getNodeScroll(e).scrollLeft;return t?t.left+n:getBoundingClientRect(getDocumentElement(e)).left+n}function getHTMLOffset(e,t){const n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-getWindowScrollBarX(e,n),y:n.top+t.scrollTop}}function convertOffsetParentRelativeRectToViewportRelativeRect(e){let{elements:t,rect:n,offsetParent:i,strategy:s}=e;const o="fixed"===s,a=getDocumentElement(i),l=!!t&&isTopLayer(t.floating);if(i===a||l&&o)return n;let r={scrollLeft:0,scrollTop:0},c=createCoords(1);const d=createCoords(0),u=isHTMLElement(i);if((u||!u&&!o)&&(("body"!==getNodeName(i)||isOverflowElement(a))&&(r=getNodeScroll(i)),u)){const e=getBoundingClientRect(i);c=getScale(i),d.x=e.x+i.clientLeft,d.y=e.y+i.clientTop}const h=!a||u||o?createCoords(0):getHTMLOffset(a,r);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-r.scrollLeft*c.x+d.x+h.x,y:n.y*c.y-r.scrollTop*c.y+d.y+h.y}}function getClientRects(e){return Array.from(e.getClientRects())}function getDocumentRect(e){const t=getDocumentElement(e),n=getNodeScroll(e),i=e.ownerDocument.body,s=max(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),o=max(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight);let a=-n.scrollLeft+getWindowScrollBarX(e);const l=-n.scrollTop;return"rtl"===getComputedStyle$1(i).direction&&(a+=max(t.clientWidth,i.clientWidth)-s),{width:s,height:o,x:a,y:l}}const SCROLLBAR_MAX=25;function getViewportRect(e,t){const n=getWindow(e),i=getDocumentElement(e),s=n.visualViewport;let o=i.clientWidth,a=i.clientHeight,l=0,r=0;if(s){o=s.width,a=s.height;const e=isWebKit();(!e||e&&"fixed"===t)&&(l=s.offsetLeft,r=s.offsetTop)}const c=getWindowScrollBarX(i);if(c<=0){const e=i.ownerDocument,t=e.body,n=getComputedStyle(t),s="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,a=Math.abs(i.clientWidth-t.clientWidth-s);a<=25&&(o-=a)}else c<=25&&(o+=c);return{width:o,height:a,x:l,y:r}}function getInnerBoundingClientRect(e,t){const n=getBoundingClientRect(e,!0,"fixed"===t),i=n.top+e.clientTop,s=n.left+e.clientLeft,o=isHTMLElement(e)?getScale(e):createCoords(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:s*o.x,y:i*o.y}}function getClientRectFromClippingAncestor(e,t,n){let i;if("viewport"===t)i=getViewportRect(e,n);else if("document"===t)i=getDocumentRect(getDocumentElement(e));else if(isElement(t))i=getInnerBoundingClientRect(t,n);else{const n=getVisualOffsets(e);i={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return rectToClientRect(i)}function hasFixedPositionAncestor(e,t){const n=getParentNode(e);return!(n===t||!isElement(n)||isLastTraversableNode(n))&&("fixed"===getComputedStyle$1(n).position||hasFixedPositionAncestor(n,t))}function getClippingElementAncestors(e,t){const n=t.get(e);if(n)return n;let i=getOverflowAncestors(e,[],!1).filter(e=>isElement(e)&&"body"!==getNodeName(e)),s=null;const o="fixed"===getComputedStyle$1(e).position;let a=o?getParentNode(e):e;for(;isElement(a)&&!isLastTraversableNode(a);){const t=getComputedStyle$1(a),n=isContainingBlock(a);n||"fixed"!==t.position||(s=null),(o?!n&&!s:!n&&"static"===t.position&&s&&("absolute"===s.position||"fixed"===s.position)||isOverflowElement(a)&&!n&&hasFixedPositionAncestor(e,a))?i=i.filter(e=>e!==a):s=t,a=getParentNode(a)}return t.set(e,i),i}function getClippingRect(e){let{element:t,boundary:n,rootBoundary:i,strategy:s}=e;const o=[..."clippingAncestors"===n?isTopLayer(t)?[]:getClippingElementAncestors(t,this._c):[].concat(n),i],a=getClientRectFromClippingAncestor(t,o[0],s);let l=a.top,r=a.right,c=a.bottom,d=a.left;for(let e=1;e<o.length;e++){const n=getClientRectFromClippingAncestor(t,o[e],s);l=max(n.top,l),r=min(n.right,r),c=min(n.bottom,c),d=max(n.left,d)}return{width:r-d,height:c-l,x:d,y:l}}function getDimensions(e){const{width:t,height:n}=getCssDimensions(e);return{width:t,height:n}}function getRectRelativeToOffsetParent(e,t,n){const i=isHTMLElement(t),s=getDocumentElement(t),o="fixed"===n,a=getBoundingClientRect(e,!0,o,t);let l={scrollLeft:0,scrollTop:0};const r=createCoords(0);function c(){r.x=getWindowScrollBarX(s)}if(i||!i&&!o)if(("body"!==getNodeName(t)||isOverflowElement(s))&&(l=getNodeScroll(t)),i){const e=getBoundingClientRect(t,!0,o,t);r.x=e.x+t.clientLeft,r.y=e.y+t.clientTop}else s&&c();o&&!i&&s&&c();const d=!s||i||o?createCoords(0):getHTMLOffset(s,l);return{x:a.left+l.scrollLeft-r.x-d.x,y:a.top+l.scrollTop-r.y-d.y,width:a.width,height:a.height}}function isStaticPositioned(e){return"static"===getComputedStyle$1(e).position}function getTrueOffsetParent(e,t){if(!isHTMLElement(e)||"fixed"===getComputedStyle$1(e).position)return null;if(t)return t(e);let n=e.offsetParent;return getDocumentElement(e)===n&&(n=n.ownerDocument.body),n}function getOffsetParent(e,t){const n=getWindow(e);if(isTopLayer(e))return n;if(!isHTMLElement(e)){let t=getParentNode(e);for(;t&&!isLastTraversableNode(t);){if(isElement(t)&&!isStaticPositioned(t))return t;t=getParentNode(t)}return n}let i=getTrueOffsetParent(e,t);for(;i&&isTableElement(i)&&isStaticPositioned(i);)i=getTrueOffsetParent(i,t);return i&&isLastTraversableNode(i)&&isStaticPositioned(i)&&!isContainingBlock(i)?n:i||getContainingBlock(e)||n}const getElementRects=async function(e){const t=this.getOffsetParent||getOffsetParent,n=this.getDimensions,i=await n(e.floating);return{reference:getRectRelativeToOffsetParent(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function isRTL(e){return"rtl"===getComputedStyle$1(e).direction}const platform={convertOffsetParentRelativeRectToViewportRelativeRect:convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement:getDocumentElement,getClippingRect:getClippingRect,getOffsetParent:getOffsetParent,getElementRects:getElementRects,getClientRects:getClientRects,getDimensions:getDimensions,getScale:getScale,isElement:isElement,isRTL:isRTL};function rectsAreEqual(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function observeMove(e,t){let n,i=null;const s=getDocumentElement(e);function o(){var e;clearTimeout(n),null==(e=i)||e.disconnect(),i=null}return function a(l,r){void 0===l&&(l=!1),void 0===r&&(r=1),o();const c=e.getBoundingClientRect(),{left:d,top:u,width:h,height:m}=c;if(l||t(),!h||!m)return;const _={rootMargin:-floor(u)+"px "+-floor(s.clientWidth-(d+h))+"px "+-floor(s.clientHeight-(u+m))+"px "+-floor(d)+"px",threshold:max(0,min(1,r))||1};let g=!0;function E(t){const i=t[0].intersectionRatio;if(i!==r){if(!g)return a();i?a(!1,i):n=setTimeout(()=>{a(!1,1e-7)},1e3)}1!==i||rectsAreEqual(c,e.getBoundingClientRect())||a(),g=!1}try{i=new IntersectionObserver(E,{..._,root:s.ownerDocument})}catch(e){i=new IntersectionObserver(E,_)}i.observe(e)}(!0),o}function autoUpdate(e,t,n,i){void 0===i&&(i={});const{ancestorScroll:s=!0,ancestorResize:o=!0,elementResize:a="function"==typeof ResizeObserver,layoutShift:l="function"==typeof IntersectionObserver,animationFrame:r=!1}=i,c=unwrapElement(e),d=s||o?[...c?getOverflowAncestors(c):[],...t?getOverflowAncestors(t):[]]:[];d.forEach(e=>{s&&e.addEventListener("scroll",n,{passive:!0}),o&&e.addEventListener("resize",n)});const u=c&&l?observeMove(c,n):null;let h,m=-1,_=null;a&&(_=new ResizeObserver(e=>{let[i]=e;i&&i.target===c&&_&&t&&(_.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var e;null==(e=_)||e.observe(t)})),n()}),c&&!r&&_.observe(c),t&&_.observe(t));let g=r?getBoundingClientRect(e):null;return r&&function t(){const i=getBoundingClientRect(e);g&&!rectsAreEqual(g,i)&&n(),g=i,h=requestAnimationFrame(t)}(),n(),()=>{var e;d.forEach(e=>{s&&e.removeEventListener("scroll",n),o&&e.removeEventListener("resize",n)}),null==u||u(),null==(e=_)||e.disconnect(),_=null,r&&cancelAnimationFrame(h)}}const offset=offset$1,shift=shift$1,flip=flip$1,arrow=arrow$1,computePosition=(e,t,n)=>{const i=new Map,s={platform:platform,...n},o={...s.platform,_c:i};return computePosition$1(e,t,{...s,platform:o})},BREAKPOINTS={sm:576,md:768,lg:1024,xl:1280,"2xl":1536},parseResponsivePlacement=(e,t="bottom")=>{if(!e||!e.includes(":"))return null;const n=e.split(/\s+/),i={xs:t};for(const e of n)if(e.includes(":")){const[t,n]=e.split(":");void 0!==BREAKPOINTS[t]&&(i[t]=n)}else i.xs=e;return i},getResponsivePlacement=(e,t="bottom")=>{if(!e)return t;const n=window.innerWidth;let i=e.xs||t;const s=["sm","md","lg","xl","2xl"];for(const t of s)n>=BREAKPOINTS[t]&&e[t]&&(i=e[t]);return i},createBreakpointListeners=e=>{const t=[];for(const n of Object.keys(BREAKPOINTS)){const i=BREAKPOINTS[n],s=window.matchMedia(`(min-width: ${i}px)`);s.addEventListener("change",e),t.push({mql:s,handler:e})}return t},disposeBreakpointListeners=e=>{for(const{mql:t,handler:n}of e)t.removeEventListener("change",n)},NAME$h="menu",DATA_KEY$d="bs.menu",EVENT_KEY$d=".bs.menu",DATA_API_KEY$8=".data-api",ESCAPE_KEY$2="Escape",TAB_KEY$2="Tab",ARROW_UP_KEY$2="ArrowUp",ARROW_DOWN_KEY$2="ArrowDown",ARROW_LEFT_KEY$1="ArrowLeft",ARROW_RIGHT_KEY$1="ArrowRight",HOME_KEY$2="Home",END_KEY$2="End",ENTER_KEY$1="Enter",SPACE_KEY$1=" ",RIGHT_MOUSE_BUTTON=2,SUBMENU_CLOSE_DELAY=100,EVENT_HIDE$7="hide.bs.menu",EVENT_HIDDEN$7="hidden.bs.menu",EVENT_SHOW$7="show.bs.menu",EVENT_SHOWN$7="shown.bs.menu",EVENT_CLICK_DATA_API$5="click.bs.menu.data-api",EVENT_KEYDOWN_DATA_API="keydown.bs.menu.data-api",EVENT_KEYUP_DATA_API="keyup.bs.menu.data-api",CLASS_NAME_SHOW$6="show",SELECTOR_DATA_TOGGLE$8='[data-bs-toggle="menu"]:not(.disabled):not(:disabled)',SELECTOR_MENU$2=".menu",SELECTOR_SUBMENU=".submenu",SELECTOR_SUBMENU_TOGGLE=".submenu > .menu-item",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS$1=".menu-item:not(.disabled):not(:disabled)",DEFAULT_PLACEMENT="bottom-start",SUBMENU_PLACEMENT="end-start",resolveLogicalPlacement=e=>isRTL$1()?e.replace(/^start(?=-|$)/,"right").replace(/^end(?=-|$)/,"left"):e.replace(/^start(?=-|$)/,"left").replace(/^end(?=-|$)/,"right"),triangleSign=(e,t,n)=>(e.x-n.x)*(t.y-n.y)-(t.x-n.x)*(e.y-n.y),Default$g={autoClose:!0,boundary:"clippingParents",container:!1,display:"dynamic",offset:[0,2],floatingConfig:null,menu:null,placement:"bottom-start",reference:"toggle",strategy:"absolute",submenuTrigger:"both",submenuDelay:100},DefaultType$g={autoClose:"(boolean|string)",boundary:"(string|element)",container:"(string|element|boolean)",display:"string",offset:"(array|string|function)",floatingConfig:"(null|object|function)",menu:"(null|element)",placement:"string",reference:"(string|element|object)",strategy:"string",submenuTrigger:"string",submenuDelay:"number"};class Menu extends BaseComponent{static _openInstances=(()=>new Set)();constructor(e,t){super(e,t),this._floatingCleanup=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this._parent=this._element.parentNode,this._isSubmenu=this._parent.classList?.contains("submenu"),this._openSubmenus=new Map,this._submenuCloseTimeouts=new Map,this._hoverIntentData=null,this._menu=this._config.menu||this._findMenu(),this._menuOriginalParent=this._menu?.parentNode,this._parseResponsivePlacements(),this._setupSubmenuListeners()}static get Default(){return Default$g}static get DefaultType(){return DefaultType$g}static get NAME(){return"menu"}toggle(){return this._isShown()?this.hide():this.show()}show(){if(isDisabled(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$7,e).defaultPrevented){if(this._moveMenuToContainer(),this._createFloating(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._element.focus({focusVisible:!1}),this._element.setAttribute("aria-expanded","true"),this._menu.classList.add("show"),this._element.classList.add("show"),this._parent&&this._parent.classList.add("show"),Menu._openInstances.add(this),EventHandler.trigger(this._element,EVENT_SHOWN$7,e)}}hide(){if(isDisabled(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._disposeFloating(),this._restoreMenuToOriginalParent(),this._disposeMediaQueryListeners(),this._closeAllSubmenus(),this._clearAllSubmenuTimeouts(),Menu._openInstances.delete(this),super.dispose()}update(){this._floatingCleanup&&this._updateFloatingPosition()}_findMenu(){return SelectorEngine.next(this._element,".menu")[0]||SelectorEngine.prev(this._element,".menu")[0]||SelectorEngine.findOne(".menu",this._parent)}_completeHide(e){if(!EventHandler.trigger(this._element,EVENT_HIDE$7,e).defaultPrevented){if(this._closeAllSubmenus(),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._disposeFloating(),this._restoreMenuToOriginalParent(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._parent&&this._parent.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),Manipulator.removeDataAttribute(this._menu,"placement"),Manipulator.removeDataAttribute(this._menu,"display"),Menu._openInstances.delete(this),EventHandler.trigger(this._element,EVENT_HIDDEN$7,e)}}_getConfig(e){if("object"==typeof(e=super._getConfig(e)).reference&&!isElement$1(e.reference)&&"function"!=typeof e.reference.getBoundingClientRect)throw new TypeError(`${"menu".toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createFloating(){if("static"===this._config.display)return void Manipulator.setDataAttribute(this._menu,"display","static");let e=this._element;"parent"===this._config.reference?e=this._parent:isElement$1(this._config.reference)?e=getElement(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference),this._updateFloatingPosition(e),this._floatingCleanup=autoUpdate(e,this._menu,()=>this._updateFloatingPosition(e))}async _updateFloatingPosition(e=null){if(!this._menu)return;e||(e="parent"===this._config.reference?this._parent:isElement$1(this._config.reference)?getElement(this._config.reference):"object"==typeof this._config.reference?this._config.reference:this._element);const t=this._getPlacement(),n=this._getFloatingMiddleware(),i=this._getFloatingConfig(t,n);await this._applyFloatingPosition(e,this._menu,i.placement,i.middleware,i.strategy)}_isShown(){return this._menu.classList.contains("show")}_getPlacement(){const e=this._responsivePlacements?getResponsivePlacement(this._responsivePlacements,"bottom-start"):this._config.placement;return resolveLogicalPlacement(e)}_parseResponsivePlacements(){this._responsivePlacements=parseResponsivePlacement(this._config.placement,"bottom-start"),this._responsivePlacements&&this._setupMediaQueryListeners()}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_getFloatingMiddleware(){const e=this._getOffset();return[offset("function"==typeof e?e:{mainAxis:e[1]||0,crossAxis:e[0]||0}),flip({fallbackPlacements:this._getFallbackPlacements()}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})]}_getFallbackPlacements(){return{bottom:["top","bottom-start","bottom-end","top-start","top-end"],"bottom-start":["top-start","bottom-end","top-end"],"bottom-end":["top-end","bottom-start","top-start"],top:["bottom","top-start","top-end","bottom-start","bottom-end"],"top-start":["bottom-start","top-end","bottom-end"],"top-end":["bottom-end","top-start","bottom-start"],right:["left","right-start","right-end","left-start","left-end"],"right-start":["left-start","right-end","left-end","top-start","bottom-start"],"right-end":["left-end","right-start","left-start","top-end","bottom-end"],left:["right","left-start","left-end","right-start","right-end"],"left-start":["right-start","left-end","right-end","top-start","bottom-start"],"left-end":["right-end","left-start","right-start","top-end","bottom-end"]}[this._getPlacement()]||["top","bottom","right","left"]}_getFloatingConfig(e,t){const n={placement:e,middleware:t,strategy:this._config.strategy};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null)}_getContainer(){const{container:e}=this._config;return!1===e?null:!0===e?document.body:getElement(e)}_moveMenuToContainer(){const e=this._getContainer();e&&this._menu&&this._menu.parentNode!==e&&e.append(this._menu)}_restoreMenuToOriginalParent(){this._menuOriginalParent&&this._menu&&this._menu.parentNode!==this._menuOriginalParent&&this._menuOriginalParent.append(this._menu)}async _applyFloatingPosition(e,t,n,i,s="absolute"){if(!t.isConnected)return null;const{x:o,y:a,placement:l}=await computePosition(e,t,{placement:n,middleware:i,strategy:s});return t.isConnected?(Object.assign(t.style,{position:s,left:`${o}px`,top:`${a}px`,margin:"0"}),Manipulator.setDataAttribute(t,"placement",l),l):null}_setupSubmenuListeners(){"hover"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||(EventHandler.on(this._menu,"mouseenter",".submenu > .menu-item",e=>{this._onSubmenuTriggerEnter(e)}),EventHandler.on(this._menu,"mouseleave",".submenu",e=>{this._onSubmenuLeave(e)}),EventHandler.on(this._menu,"mousemove",e=>{this._trackMousePosition(e)})),"click"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||EventHandler.on(this._menu,"click",".submenu > .menu-item",e=>{this._onSubmenuTriggerClick(e)})}_onSubmenuTriggerEnter(e){const t=e.target.closest(".submenu > .menu-item");if(!t)return;const n=t.closest(".submenu"),i=SelectorEngine.findOne(".menu",n);i&&(this._cancelSubmenuCloseTimeout(i),this._closeSiblingSubmenus(n),this._openSubmenu(t,i,n))}_onSubmenuLeave(e){const t=e.target.closest(".submenu"),n=SelectorEngine.findOne(".menu",t);n&&this._openSubmenus.has(n)&&(this._isMovingTowardSubmenu(e,n)||this._scheduleSubmenuClose(n,t))}_onSubmenuTriggerClick(e){const t=e.target.closest(".submenu > .menu-item");if(!t)return;e.preventDefault(),e.stopPropagation();const n=t.closest(".submenu"),i=SelectorEngine.findOne(".menu",n);i&&(this._openSubmenus.has(i)?this._closeSubmenu(i,n):(this._closeSiblingSubmenus(n),this._openSubmenu(t,i,n)))}_openSubmenu(e,t,n){if(this._openSubmenus.has(t))return;e.setAttribute("aria-expanded","true"),e.setAttribute("aria-haspopup","true"),t.classList.add("show"),n.classList.add("show");const i=this._createSubmenuFloating(e,t,n);this._openSubmenus.set(t,i),EventHandler.on(t,"mouseenter",()=>{this._cancelSubmenuCloseTimeout(t)})}_closeSubmenu(e,t){if(!this._openSubmenus.has(e))return;const n=SelectorEngine.find(".submenu .menu.show",e);for(const e of n){const t=e.closest(".submenu");this._closeSubmenu(e,t)}const i=SelectorEngine.findOne(".submenu > .menu-item",t),s=this._openSubmenus.get(e);s&&s(),this._openSubmenus.delete(e),EventHandler.off(e,"mouseenter"),i&&i.setAttribute("aria-expanded","false"),e.classList.remove("show"),t.classList.remove("show"),e.style.position="",e.style.left="",e.style.top="",e.style.margin=""}_closeAllSubmenus(){for(const[e]of this._openSubmenus){const t=e.closest(".submenu");this._closeSubmenu(e,t)}}_closeSiblingSubmenus(e){const t=e.parentNode,n=SelectorEngine.find(".submenu > .menu.show",t);for(const t of n){const n=t.closest(".submenu");n!==e&&this._closeSubmenu(t,n)}}_createSubmenuFloating(e,t,n){const i=n,s=resolveLogicalPlacement("end-start"),o=[offset({mainAxis:0,crossAxis:-4}),flip({fallbackPlacements:[resolveLogicalPlacement("start-start"),resolveLogicalPlacement("end-end"),resolveLogicalPlacement("start-end")]}),shift({padding:8})],a=()=>this._applyFloatingPosition(i,t,s,o);return a(),autoUpdate(i,t,a)}_scheduleSubmenuClose(e,t){this._cancelSubmenuCloseTimeout(e);const n=setTimeout(()=>{this._closeSubmenu(e,t),this._submenuCloseTimeouts.delete(e)},this._config.submenuDelay);this._submenuCloseTimeouts.set(e,n)}_cancelSubmenuCloseTimeout(e){const t=this._submenuCloseTimeouts.get(e);t&&(clearTimeout(t),this._submenuCloseTimeouts.delete(e))}_clearAllSubmenuTimeouts(){for(const e of this._submenuCloseTimeouts.values())clearTimeout(e);this._submenuCloseTimeouts.clear()}_trackMousePosition(e){this._hoverIntentData={x:e.clientX,y:e.clientY,timestamp:Date.now()}}_isMovingTowardSubmenu(e,t){if(!this._hoverIntentData)return!1;const n=t.getBoundingClientRect(),i={x:e.clientX,y:e.clientY},s={x:this._hoverIntentData.x,y:this._hoverIntentData.y},o=isRTL$1()?n.right:n.left,a={x:o,y:n.top},l={x:o,y:n.bottom};return this._pointInTriangle(i,s,a,l)}_pointInTriangle(e,t,n,i){const s=triangleSign(e,t,n),o=triangleSign(e,n,i),a=triangleSign(e,i,t);return!((s<0||o<0||a<0)&&(s>0||o>0||a>0))}_selectMenuItem({key:e,target:t}){const n=t.closest(".menu")||this._menu,i=SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS$1}`,n).filter(e=>isVisible(e));i.length&&getNextActiveElement(i,t,e===ARROW_DOWN_KEY$2,!i.includes(t)).focus()}_handleSubmenuKeydown(e){const{key:t,target:n}=e,i=isRTL$1(),s=i?ARROW_LEFT_KEY$1:ARROW_RIGHT_KEY$1,o=i?ARROW_RIGHT_KEY$1:ARROW_LEFT_KEY$1,a=n.closest(".submenu"),l=a&&n.matches(".submenu > .menu-item");if((t===ENTER_KEY$1||t===SPACE_KEY$1)&&l){e.preventDefault(),e.stopPropagation();const t=SelectorEngine.findOne(".menu",a);return t&&(this._closeSiblingSubmenus(a),this._openSubmenu(n,t,a),requestAnimationFrame(()=>{const e=SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS$1,t);e&&e.focus()})),!0}if(t===s&&l){e.preventDefault(),e.stopPropagation();const t=SelectorEngine.findOne(".menu",a);return t&&(this._closeSiblingSubmenus(a),this._openSubmenu(n,t,a),requestAnimationFrame(()=>{const e=SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS$1,t);e&&e.focus()})),!0}if(t===o){const t=n.closest(".menu"),i=t?.closest(".submenu");if(i){e.preventDefault(),e.stopPropagation();const n=SelectorEngine.findOne(".submenu > .menu-item",i);return this._closeSubmenu(t,i),n&&n.focus(),!0}}if(t===HOME_KEY$2||t===END_KEY$2){e.preventDefault(),e.stopPropagation();const i=n.closest(".menu"),s=SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS$1}`,i).filter(e=>isVisible(e));return s.length&&(t===HOME_KEY$2?s[0]:s[s.length-1]).focus(),!0}return!1}static clearMenus(e){if(2!==e.button&&("keyup"!==e.type||"Tab"===e.key))for(const t of Menu._openInstances){if(!1===t._config.autoClose)continue;const n=e.composedPath(),i=n.includes(t._menu);if(n.includes(t._element)||"inside"===t._config.autoClose&&!i||"outside"===t._config.autoClose&&i)continue;if(t._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const s={relatedTarget:t._element};"click"===e.type&&(s.clickEvent=e),t._completeHide(s)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),n="Escape"===e.key,i=[ARROW_UP_KEY$2,ARROW_DOWN_KEY$2].includes(e.key),s=[ARROW_LEFT_KEY$1,ARROW_RIGHT_KEY$1].includes(e.key),o=[HOME_KEY$2,END_KEY$2].includes(e.key),a=[ENTER_KEY$1,SPACE_KEY$1].includes(e.key),l=e.target.matches(".submenu > .menu-item");if(!(i||n||s||o||a&&l))return;if(t&&!n)return;const r=this.matches(SELECTOR_DATA_TOGGLE$8)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$8)[0]||SelectorEngine.next(this,SELECTOR_DATA_TOGGLE$8)[0]||SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$8,e.delegateTarget.parentNode);if(!r)return;const c=Menu.getOrCreateInstance(r);if(!(s||o||a&&l)||!c._handleSubmenuKeydown(e)){if(i)return e.preventDefault(),e.stopPropagation(),c.show(),void c._selectMenuItem(e);if(n&&c._isShown()){e.preventDefault(),e.stopPropagation();const t=e.target.closest(".menu"),n=t?.closest(".submenu");if(n&&c._openSubmenus.size>0){const e=SelectorEngine.findOne(".submenu > .menu-item",n);return c._closeSubmenu(t,n),void(e&&e.focus())}c.hide(),r.focus()}}}}EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$8,Menu.dataApiKeydownHandler),EventHandler.on(document,EVENT_KEYDOWN_DATA_API,".menu",Menu.dataApiKeydownHandler),EventHandler.on(document,EVENT_CLICK_DATA_API$5,Menu.clearMenus),EventHandler.on(document,EVENT_KEYUP_DATA_API,Menu.clearMenus),EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_TOGGLE$8,function(e){e.preventDefault(),Menu.getOrCreateInstance(this).toggle()});const NAME$g="combobox",DATA_KEY$c="bs.combobox",EVENT_KEY$c=`.${DATA_KEY$c}`,DATA_API_KEY$7=".data-api",ESCAPE_KEY$1="Escape",TAB_KEY$1="Tab",ARROW_UP_KEY$1="ArrowUp",ARROW_DOWN_KEY$1="ArrowDown",HOME_KEY$1="Home",END_KEY$1="End",ENTER_KEY="Enter",SPACE_KEY=" ",EVENT_CHANGE$2=`change${EVENT_KEY$c}`,EVENT_SHOW$6=`show${EVENT_KEY$c}`,EVENT_SHOWN$6=`shown${EVENT_KEY$c}`,EVENT_HIDE$6=`hide${EVENT_KEY$c}`,EVENT_HIDDEN$6=`hidden${EVENT_KEY$c}`,EVENT_CLICK_DATA_API$4=`click${EVENT_KEY$c}.data-api`,CLASS_NAME_SHOW$5="show",CLASS_NAME_SELECTED="selected",CLASS_NAME_PLACEHOLDER="combobox-placeholder",SELECTOR_DATA_TOGGLE$7='[data-bs-toggle="combobox"]',SELECTOR_MENU$1=".menu",SELECTOR_MENU_ITEM=".menu-item[data-bs-value]",SELECTOR_VISIBLE_ITEMS=".menu-item[data-bs-value]:not(.disabled):not(:disabled)",SELECTOR_VALUE=".combobox-value",SELECTOR_SEARCH_INPUT=".combobox-search-input",SELECTOR_NO_RESULTS=".combobox-no-results",Default$f={boundary:"clippingParents",multiple:!1,name:null,offset:[0,2],placeholder:"",placement:"bottom-start",search:!1,searchNormalize:!1},DefaultType$f={boundary:"(string|element)",multiple:"boolean",name:"(string|null)",offset:"(array|string|function)",placeholder:"string",placement:"string",search:"boolean",searchNormalize:"boolean"};class Combobox extends BaseComponent{constructor(e,t){super(e,t),this._toggle=this._element,this._menu=SelectorEngine.next(this._toggle,".menu")[0],this._valueDisplay=SelectorEngine.findOne(SELECTOR_VALUE,this._toggle),this._searchInput=SelectorEngine.findOne(SELECTOR_SEARCH_INPUT,this._menu),this._noResults=SelectorEngine.findOne(SELECTOR_NO_RESULTS,this._menu),this._hiddenInput=null,this._menuInstance=null,this._createHiddenInput(),this._createMenuInstance(),this._syncInitialSelection(),this._addEventListeners()}static get Default(){return Default$f}static get DefaultType(){return DefaultType$f}static get NAME(){return NAME$g}toggle(){return this._isShown()?this.hide():this.show()}show(){isDisabled(this._toggle)||this._isShown()||EventHandler.trigger(this._toggle,EVENT_SHOW$6).defaultPrevented||(this._menuInstance.show(),this._searchInput&&(this._searchInput.value="",this._filterItems(""),requestAnimationFrame(()=>this._searchInput.focus())),EventHandler.trigger(this._toggle,EVENT_SHOWN$6))}hide(){this._isShown()&&(EventHandler.trigger(this._toggle,EVENT_HIDE$6).defaultPrevented||(this._menuInstance.hide(),EventHandler.trigger(this._toggle,EVENT_HIDDEN$6)))}dispose(){this._menuInstance&&(this._menuInstance.dispose(),this._menuInstance=null),this._hiddenInput&&(this._hiddenInput.remove(),this._hiddenInput=null),EventHandler.off(this._menu,EVENT_KEY$c),EventHandler.off(this._toggle,EVENT_KEY$c),super.dispose()}_isShown(){return this._menu.classList.contains("show")}_createHiddenInput(){const{name:e}=this._config;e&&(this._hiddenInput=document.createElement("input"),this._hiddenInput.type="hidden",this._hiddenInput.name=e,this._hiddenInput.value="",this._toggle.parentNode.insertBefore(this._hiddenInput,this._toggle))}_createMenuInstance(){this._menuInstance=new Menu(this._toggle,{menu:this._menu,autoClose:!this._config.multiple||"outside",boundary:this._config.boundary,offset:this._config.offset,placement:this._config.placement})}_syncInitialSelection(){this._getSelectedItems().length>0?(this._updateToggleText(),this._updateHiddenInput()):this._showPlaceholder()}_addEventListeners(){EventHandler.on(this._menu,"click",SELECTOR_MENU_ITEM,e=>{const t=e.target.closest(SELECTOR_MENU_ITEM);t&&!isDisabled(t)&&(e.preventDefault(),e.stopPropagation(),this._selectItem(t))}),EventHandler.on(this._toggle,"keydown",e=>{this._handleToggleKeydown(e)}),EventHandler.on(this._menu,"keydown",e=>{this._handleMenuKeydown(e)}),this._searchInput&&(EventHandler.on(this._searchInput,"input",()=>{this._filterItems(this._searchInput.value)}),EventHandler.on(this._searchInput,"keydown",e=>{if("ArrowDown"===e.key){e.preventDefault();const t=this._getVisibleItems();t.length>0&&t[0].focus()}"Escape"===e.key&&(this.hide(),this._toggle.focus())}))}_selectItem(e){if(this._config.multiple)e.classList.toggle("selected"),e.setAttribute("aria-selected",e.classList.contains("selected"));else{const t=SelectorEngine.find(".selected",this._menu);for(const e of t)e.classList.remove("selected"),e.setAttribute("aria-selected","false");e.classList.add("selected"),e.setAttribute("aria-selected","true")}this._updateToggleText(),this._updateHiddenInput();const t=this._config.multiple?this._getSelectedItems().map(e=>e.dataset.bsValue):e.dataset.bsValue;EventHandler.trigger(this._toggle,EVENT_CHANGE$2,{value:t,item:e}),this._config.multiple||(this.hide(),this._toggle.focus())}_updateToggleText(){const e=this._getSelectedItems();if(0!==e.length)if(this._valueDisplay.classList.remove("combobox-placeholder"),this._config.multiple&&e.length>1)this._valueDisplay.textContent=`${e.length} selected`;else{const t=e[0],n=SelectorEngine.findOne(".menu-item-content > span:first-child",t);this._valueDisplay.textContent=n?n.textContent:t.textContent.trim()}else this._showPlaceholder()}_showPlaceholder(){const{placeholder:e}=this._config;e&&(this._valueDisplay.textContent=e,this._valueDisplay.classList.add("combobox-placeholder"))}_updateHiddenInput(){if(!this._hiddenInput)return;const e=this._getSelectedItems().map(e=>e.dataset.bsValue);this._hiddenInput.value=this._config.multiple?e.join(","):e[0]||""}_getSelectedItems(){return SelectorEngine.find(".selected",this._menu)}_getVisibleItems(){return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,this._menu).filter(e=>isVisible(e))}_filterItems(e){const t=this._normalizeText(e.toLowerCase().trim()),n=SelectorEngine.find(SELECTOR_MENU_ITEM,this._menu);let i=0;for(const e of n){const n=this._normalizeText(e.textContent.toLowerCase().trim()),s=!t||n.includes(t);e.style.display=s?"":"none",s&&i++}this._noResults&&this._noResults.classList.toggle("d-none",i>0)}_normalizeText(e){return this._config.searchNormalize?e.normalize("NFD").replace(/[\u0300-\u036F]/g,""):e}_handleToggleKeydown(e){const{key:t}=e;if("ArrowDown"===t||"ArrowUp"===t){e.preventDefault(),this._isShown()||this.show();const n=this._getVisibleItems();return void(n.length>0&&("ArrowDown"===t?n[0]:n[n.length-1]).focus())}"Enter"!==t&&" "!==t||this._isShown()||(e.preventDefault(),this.show())}_handleMenuKeydown(e){const{key:t,target:n}=e;if("Escape"===t)return e.preventDefault(),e.stopPropagation(),this.hide(),void this._toggle.focus();if("Tab"===t)return void this.hide();const i=n.matches("input");if("ArrowDown"===t||"ArrowUp"===t){e.preventDefault();const i=this._getVisibleItems();return void(i.length>0&&getNextActiveElement(i,n,"ArrowDown"===t,!i.includes(n)).focus())}if("Home"===t||"End"===t){e.preventDefault();const n=this._getVisibleItems();return void(n.length>0&&("Home"===t?n[0]:n[n.length-1]).focus())}if(("Enter"===t||" "===t)&&!i){e.preventDefault();const t=n.closest(SELECTOR_MENU_ITEM);t&&!isDisabled(t)&&this._selectItem(t)}}static jQueryInterface(e){return this.each(function(){const t=Combobox.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}})}}EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$7,function(e){e.preventDefault(),Combobox.getOrCreateInstance(this).toggle()}),EventHandler.on(document,"DOMContentLoaded",()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE$7))Combobox.getOrCreateInstance(e)});
+const elementMap=new Map,Data={set(e,t,n){elementMap.has(e)||elementMap.set(e,new Map);const i=elementMap.get(e);i.has(t)||0===i.size?i.set(t,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(i.keys())[0]}.`)},get:(e,t)=>elementMap.has(e)&&elementMap.get(e).get(t)||null,remove(e,t){if(!elementMap.has(e))return;const n=elementMap.get(e);n.delete(t),0===n.size&&elementMap.delete(e)}},namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,stripUidRegex=/::\d+$/,eventRegistry={};let uidEvent=1;const customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function makeEventUid(e,t){return t&&`${t}::${uidEvent++}`||e.uidEvent||uidEvent++}function getElementEvents(e){const t=makeEventUid(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function bootstrapHandler(e,t){return function n(i){return hydrateObj(i,{delegateTarget:e}),n.oneOff&&EventHandler.off(e,i.type,t),t.apply(e,[i])}}function bootstrapDelegationHandler(e,t,n){return function i(s){const o=e.querySelectorAll(t);for(let{target:a}=s;a&&a!==this;a=a.parentNode)for(const l of o)if(l===a)return hydrateObj(s,{delegateTarget:a}),i.oneOff&&EventHandler.off(e,s.type,t,n),n.apply(a,[s])}}function findHandler(e,t,n=null){return Object.values(e).find(e=>e.callable===t&&e.delegationSelector===n)}function normalizeParameters(e,t,n){const i="string"==typeof t,s=i?n:t||n;let o=getTypeEvent(e);return nativeEvents.has(o)||(o=e),[i,s,o]}function addHandler(e,t,n,i,s){if("string"!=typeof t||!e)return;let[o,a,l]=normalizeParameters(t,n,i);if(t in customEvents){const e=e=>function(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return e.call(this,t)};a=e(a)}const r=getElementEvents(e),c=r[l]||(r[l]={}),d=findHandler(c,a,o?n:null);if(d)return void(d.oneOff=d.oneOff&&s);const u=makeEventUid(a,t.replace(namespaceRegex,"")),h=o?bootstrapDelegationHandler(e,n,a):bootstrapHandler(e,a);h.delegationSelector=o?n:null,h.callable=a,h.oneOff=s,h.uidEvent=u,c[u]=h,e.addEventListener(l,h,o)}function removeHandler(e,t,n,i,s){const o=findHandler(t[n],i,s);o&&(e.removeEventListener(n,o,Boolean(s)),delete t[n][o.uidEvent])}function removeNamespacedHandlers(e,t,n,i){const s=t[n]||{};for(const[o,a]of Object.entries(s))o.includes(i)&&removeHandler(e,t,n,a.callable,a.delegationSelector)}function getTypeEvent(e){return e=e.replace(stripNameRegex,""),customEvents[e]||e}const EventHandler={on(e,t,n,i){addHandler(e,t,n,i,!1)},one(e,t,n,i){addHandler(e,t,n,i,!0)},off(e,t,n,i){if("string"!=typeof t||!e)return;const[s,o,a]=normalizeParameters(t,n,i),l=a!==t,r=getElementEvents(e),c=r[a]||{},d=t.startsWith(".");if(void 0===o){if(d)for(const n of Object.keys(r))removeNamespacedHandlers(e,r,n,t.slice(1));for(const[n,i]of Object.entries(c)){const s=n.replace(stripUidRegex,"");l&&!t.includes(s)||removeHandler(e,r,a,i.callable,i.delegationSelector)}}else{if(!Object.keys(c).length)return;removeHandler(e,r,a,o,s?n:null)}},trigger(e,t,n){if("string"!=typeof t||!e)return null;const i=hydrateObj(new Event(t,{bubbles:!0,cancelable:!0}),n);return e.dispatchEvent(i),i}};function hydrateObj(e,t={}){for(const[n,i]of Object.entries(t))try{e[n]=i}catch{Object.defineProperty(e,n,{configurable:!0,get:()=>i})}return e}function normalizeData(e){if("true"===e)return!0;if("false"===e)return!1;if(e===Number(e).toString())return Number(e);if(""===e||"null"===e)return null;if("string"!=typeof e)return e;try{return JSON.parse(decodeURIComponent(e))}catch{return e}}function normalizeDataKey(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}const Manipulator={setDataAttribute(e,t,n){e.setAttribute(`data-bs-${normalizeDataKey(t)}`,n)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${normalizeDataKey(t)}`)},getDataAttributes(e){if(!e)return{};const t={},n=Object.keys(e.dataset).filter(e=>e.startsWith("bs")&&!e.startsWith("bsConfig"));for(const i of n){let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1),t[n]=normalizeData(e.dataset[i])}return t},getDataAttribute:(e,t)=>normalizeData(e.getAttribute(`data-bs-${normalizeDataKey(t)}`))},MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",parseSelector=e=>(e&&window.CSS&&window.CSS.escape&&(e=e.replace(/#([^\s"#']+)/g,(e,t)=>`#${CSS.escape(t)}`)),e),toType=e=>null==e?`${e}`:Object.prototype.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),getUID=e=>{do{e+=Math.floor(1e6*Math.random())}while(document.getElementById(e));return e},getTransitionDurationFromElement=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e);const i=Number.parseFloat(t),s=Number.parseFloat(n);return i||s?(t=t.split(",")[0],n=n.split(",")[0],1e3*(Number.parseFloat(t)+Number.parseFloat(n))):0},triggerTransitionEnd=e=>{e.dispatchEvent(new Event(TRANSITION_END))},isElement$1=e=>!(!e||"object"!=typeof e)&&void 0!==e.nodeType,getElement=e=>isElement$1(e)?e:"string"==typeof e&&e.length>0?document.querySelector(parseSelector(e)):null,isVisible=e=>{if(!isElement$1(e)||0===e.getClientRects().length)return!1;const t="visible"===getComputedStyle(e).getPropertyValue("visibility"),n=e.closest("details:not([open])");if(!n)return t;if(n!==e){const t=e.closest("summary");if(t&&t.parentNode!==n)return!1;if(null===t)return!1}return t},isDisabled=e=>!e||e.nodeType!==Node.ELEMENT_NODE||!!e.classList.contains("disabled")||(void 0!==e.disabled?e.disabled:e.hasAttribute("disabled")&&"false"!==e.getAttribute("disabled")),findShadowRoot=e=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?findShadowRoot(e.parentNode):null},noop=()=>{},reflow=e=>{e.offsetHeight},isRTL$1=()=>"rtl"===document.documentElement.dir,execute=(e,t=[],n=e)=>"function"==typeof e?e.call(...t):n,executeAfterTransition=(e,t,n=!0)=>{if(!n)return void execute(e);const i=getTransitionDurationFromElement(t)+5;let s=!1;const o=({target:n})=>{n===t&&(s=!0,t.removeEventListener(TRANSITION_END,o),execute(e))};t.addEventListener(TRANSITION_END,o),setTimeout(()=>{s||triggerTransitionEnd(t)},i)},getNextActiveElement=(e,t,n,i)=>{const s=e.length;let o=e.indexOf(t);return-1===o?!n&&i?e[s-1]:e[0]:(o+=n?1:-1,i&&(o=(o+s)%s),e[Math.max(0,Math.min(o,s-1))])};class Config{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const n=isElement$1(t)?Manipulator.getDataAttribute(t,"config"):{};return{...this.constructor.Default,..."object"==typeof n?n:{},...isElement$1(t)?Manipulator.getDataAttributes(t):{},..."object"==typeof e?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const[n,i]of Object.entries(t)){const t=e[n],s=isElement$1(t)?"element":toType(t);if(!new RegExp(i).test(s))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${s}" but expected type "${i}".`)}}}const VERSION="6.0.0-alpha1";class BaseComponent extends Config{constructor(e,t){super(),(e=getElement(e))&&(this._element=e,this._config=this._getConfig(t),Data.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Data.remove(this._element,this.constructor.DATA_KEY),EventHandler.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,n=!0){executeAfterTransition(e,t,n)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return Data.get(getElement(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,"object"==typeof t?t:null)}static get VERSION(){return VERSION}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const getSelector=e=>{let t=e.getAttribute("data-bs-target");if(!t||"#"===t){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&"#"!==n?n.trim():null}return t?t.split(",").map(e=>parseSelector(e)).join(","):null},SelectorEngine={find:(e,t=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(t,e)),findOne:(e,t=document.documentElement)=>Element.prototype.querySelector.call(t,e),children:(e,t)=>[].concat(...e.children).filter(e=>e.matches(t)),parents(e,t){const n=[];let i=e.parentNode.closest(t);for(;i;)n.push(i),i=i.parentNode.closest(t);return n},prev(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return[n];n=n.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(e=>`${e}:not([tabindex^="-"])`).join(",");return this.find(t,e).filter(e=>!isDisabled(e)&&isVisible(e))},getSelectorFromElement(e){const t=getSelector(e);return t&&SelectorEngine.findOne(t)?t:null},getElementFromSelector(e){const t=getSelector(e);return t?SelectorEngine.findOne(t):null},getMultipleElementsFromSelector(e){const t=getSelector(e);return t?SelectorEngine.find(t):[]}},enableDismissTrigger=(e,t="hide")=>{const n=`click.dismiss${e.EVENT_KEY}`,i=e.NAME;EventHandler.on(document,n,`[data-bs-dismiss="${i}"]`,function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),isDisabled(this))return;const s=SelectorEngine.getElementFromSelector(this)||this.closest(`.${i}`);e.getOrCreateInstance(s)[t]()})},eventActionOnPlugin=(e,t,n,i,s=null)=>{eventAction(`${t}.${e.NAME}`,n,t=>{const n=t.targets.filter(Boolean).map(t=>e.getOrCreateInstance(t));"function"==typeof s&&s({...t,instances:n});for(const e of n)e[i]()})},eventAction=(e,t,n)=>{const i=`${t}:not(.disabled):not(:disabled)`;EventHandler.on(document,e,i,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault();const t=SelectorEngine.getSelectorFromElement(this),i=t?SelectorEngine.find(t):[this];n({targets:i,event:e})})},NAME$l="alert",DATA_KEY$g="bs.alert",EVENT_KEY$h=".bs.alert",EVENT_CLOSE="close.bs.alert",EVENT_CLOSED="closed.bs.alert",CLASS_NAME_FADE$4="fade",CLASS_NAME_SHOW$8="show";class Alert extends BaseComponent{static get NAME(){return NAME$l}close(){if(EventHandler.trigger(this._element,EVENT_CLOSE).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),EventHandler.trigger(this._element,EVENT_CLOSED),this.dispose()}}enableDismissTrigger(Alert,"close");const NAME$k="button",DATA_KEY$f="bs.button",EVENT_KEY$g=`.${DATA_KEY$f}`,DATA_API_KEY$a=".data-api",CLASS_NAME_ACTIVE$3="active",SELECTOR_DATA_TOGGLE$a='[data-bs-toggle="button"]',EVENT_CLICK_DATA_API$8=`click${EVENT_KEY$g}.data-api`;class Button extends BaseComponent{static get NAME(){return NAME$k}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}}EventHandler.on(document,EVENT_CLICK_DATA_API$8,SELECTOR_DATA_TOGGLE$a,e=>{e.preventDefault();const t=e.target.closest(SELECTOR_DATA_TOGGLE$a);Button.getOrCreateInstance(t).toggle()});const NAME$j="swipe",EVENT_KEY$f=".bs.swipe",EVENT_TOUCHSTART="touchstart.bs.swipe",EVENT_TOUCHMOVE="touchmove.bs.swipe",EVENT_TOUCHEND="touchend.bs.swipe",EVENT_POINTERDOWN="pointerdown.bs.swipe",EVENT_POINTERUP="pointerup.bs.swipe",POINTER_TYPE_TOUCH="touch",POINTER_TYPE_PEN="pen",CLASS_NAME_POINTER_EVENT="pointer-event",SWIPE_THRESHOLD=40,Default$i={endCallback:null,leftCallback:null,rightCallback:null},DefaultType$i={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Swipe extends Config{constructor(e,t){super(),this._element=e,e&&Swipe.isSupported()&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Default$i}static get DefaultType(){return DefaultType$i}static get NAME(){return NAME$j}dispose(){EventHandler.off(this._element,".bs.swipe")}_start(e){this._supportPointerEvents?this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX):this._deltaX=e.touches[0].clientX}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),execute(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=40)return;const t=e/this._deltaX;this._deltaX=0,t&&execute(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(EventHandler.on(this._element,EVENT_POINTERDOWN,e=>this._start(e)),EventHandler.on(this._element,EVENT_POINTERUP,e=>this._end(e)),this._element.classList.add("pointer-event")):(EventHandler.on(this._element,EVENT_TOUCHSTART,e=>this._start(e)),EventHandler.on(this._element,EVENT_TOUCHMOVE,e=>this._move(e)),EventHandler.on(this._element,EVENT_TOUCHEND,e=>this._end(e)))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&("pen"===e.pointerType||"touch"===e.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const NAME$i="carousel",DATA_KEY$e="bs.carousel",EVENT_KEY$e=`.${DATA_KEY$e}`,DATA_API_KEY$9=".data-api",ARROW_LEFT_KEY$2="ArrowLeft",ARROW_RIGHT_KEY$2="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,ORDER_NEXT="next",ORDER_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE=`slide${EVENT_KEY$e}`,EVENT_SLID=`slid${EVENT_KEY$e}`,EVENT_KEYDOWN$1=`keydown${EVENT_KEY$e}`,EVENT_MOUSEENTER$2=`mouseenter${EVENT_KEY$e}`,EVENT_MOUSELEAVE$1=`mouseleave${EVENT_KEY$e}`,EVENT_DRAG_START=`dragstart${EVENT_KEY$e}`,EVENT_LOAD_DATA_API$3=`load${EVENT_KEY$e}.data-api`,EVENT_CLICK_DATA_API$7=`click${EVENT_KEY$e}.data-api`,CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$2="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_END="carousel-item-end",CLASS_NAME_START="carousel-item-start",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",SELECTOR_ACTIVE=".active",SELECTOR_ITEM=".carousel-item",SELECTOR_ACTIVE_ITEM=".active.carousel-item",SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-bs-slide], [data-bs-slide-to]",SELECTOR_DATA_RIDE='[data-bs-ride="carousel"]',KEY_TO_DIRECTION={[ARROW_LEFT_KEY$2]:"right",[ARROW_RIGHT_KEY$2]:"left"},Default$h={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},DefaultType$h={interval:"number",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Carousel extends BaseComponent{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._addEventListeners(),"carousel"===this._config.ride&&this.cycle()}static get Default(){return Default$h}static get DefaultType(){return DefaultType$h}static get NAME(){return NAME$i}next(){this._slide("next")}nextWhenVisible(){"visible"===document.visibilityState&&isVisible(this._element)&&this.next()}prev(){this._slide("prev")}pause(){this._isSliding&&triggerTransitionEnd(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?EventHandler.one(this._element,EVENT_SLID,()=>this.cycle()):this.cycle())}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding)return void EventHandler.one(this._element,EVENT_SLID,()=>this.to(e));const n=this._getItemIndex(this._getActive());if(n===e)return;const i=e>n?"next":"prev";this._slide(i,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN$1,e=>this._keydown(e)),"hover"===this._config.pause&&(EventHandler.on(this._element,EVENT_MOUSEENTER$2,()=>this.pause()),EventHandler.on(this._element,EVENT_MOUSELEAVE$1,()=>this._maybeEnableCycle())),this._config.touch&&Swipe.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const e of SelectorEngine.find(SELECTOR_ITEM_IMG,this._element))EventHandler.on(e,EVENT_DRAG_START,e=>e.preventDefault());const e={leftCallback:()=>this._slide(this._directionToOrder("left")),rightCallback:()=>this._slide(this._directionToOrder("right")),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new Swipe(this._element,e)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=KEY_TO_DIRECTION[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=SelectorEngine.findOne(".active",this._indicatorsElement);t.classList.remove("active"),t.removeAttribute("aria-current");const n=SelectorEngine.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);n&&(n.classList.add("active"),n.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const n=this._getActive(),i="next"===e,s=t||getNextActiveElement(this._getItems(),n,i,this._config.wrap);if(s===n)return;const o=this._getItemIndex(s),a=t=>EventHandler.trigger(this._element,t,{relatedTarget:s,direction:this._orderToDirection(e),from:this._getItemIndex(n),to:o});if(a(EVENT_SLIDE).defaultPrevented)return;if(!n||!s)return;const l=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const r=i?CLASS_NAME_START:CLASS_NAME_END,c=i?CLASS_NAME_NEXT:CLASS_NAME_PREV;s.classList.add(c),reflow(s),n.classList.add(r),s.classList.add(r),this._queueCallback(()=>{s.classList.remove(r,c),s.classList.add("active"),n.classList.remove("active",c,r),this._isSliding=!1,a(EVENT_SLID)},n,this._isAnimated()),l&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element)}_getItems(){return SelectorEngine.find(SELECTOR_ITEM,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return isRTL$1()?"left"===e?"prev":"next":"left"===e?"next":"prev"}_orderToDirection(e){return isRTL$1()?"prev"===e?"left":"right":"prev"===e?"right":"left"}}EventHandler.on(document,EVENT_CLICK_DATA_API$7,SELECTOR_DATA_SLIDE,function(e){const t=SelectorEngine.getElementFromSelector(this);if(!t||!t.classList.contains("carousel"))return;e.preventDefault();const n=Carousel.getOrCreateInstance(t),i=this.getAttribute("data-bs-slide-to");return i?(n.to(i),void n._maybeEnableCycle()):"next"===Manipulator.getDataAttribute(this,"slide")?(n.next(),void n._maybeEnableCycle()):(n.prev(),void n._maybeEnableCycle())}),EventHandler.on(window,EVENT_LOAD_DATA_API$3,()=>{const e=SelectorEngine.find(SELECTOR_DATA_RIDE);for(const t of e)Carousel.getOrCreateInstance(t)});const NAME$h="collapse",DATA_KEY$d="bs.collapse",EVENT_KEY$d=`.${DATA_KEY$d}`,DATA_API_KEY$8=".data-api",EVENT_SHOW$8=`show${EVENT_KEY$d}`,EVENT_SHOWN$8=`shown${EVENT_KEY$d}`,EVENT_HIDE$8=`hide${EVENT_KEY$d}`,EVENT_HIDDEN$8=`hidden${EVENT_KEY$d}`,EVENT_CLICK_DATA_API$6=`click${EVENT_KEY$d}.data-api`,CLASS_NAME_SHOW$7="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",CLASS_NAME_DEEPER_CHILDREN=":scope .collapse .collapse",CLASS_NAME_HORIZONTAL="collapse-horizontal",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".collapse.show, .collapse.collapsing",SELECTOR_DATA_TOGGLE$9='[data-bs-toggle="collapse"]',Default$g={parent:null,toggle:!0},DefaultType$g={parent:"(null|element)",toggle:"boolean"};class Collapse extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$9);for(const e of n){const t=SelectorEngine.getSelectorFromElement(e),n=SelectorEngine.find(t).filter(e=>e===this._element);null!==t&&n.length&&this._triggerArray.push(e)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Default$g}static get DefaultType(){return DefaultType$g}static get NAME(){return NAME$h}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(e=>e!==this._element).map(e=>Collapse.getOrCreateInstance(e,{toggle:!1}))),e.length&&e[0]._isTransitioning)return;if(EventHandler.trigger(this._element,EVENT_SHOW$8).defaultPrevented)return;for(const t of e)t.hide();const t=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[t]="",EventHandler.trigger(this._element,EVENT_SHOWN$8)},this._element,!0),this._element.style[t]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(EventHandler.trigger(this._element,EVENT_HIDE$8).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,reflow(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");for(const e of this._triggerArray){const t=SelectorEngine.getElementFromSelector(e);t&&!this._isShown(t)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0,this._element.style[e]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),EventHandler.trigger(this._element,EVENT_HIDDEN$8)},this._element,!0)}_isShown(e=this._element){return e.classList.contains("show")}_configAfterMerge(e){return e.toggle=Boolean(e.toggle),e.parent=getElement(e.parent),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?WIDTH:HEIGHT}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$9);for(const t of e){const e=SelectorEngine.getElementFromSelector(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}}_getFirstLevelChildren(e){const t=SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN,this._config.parent);return SelectorEngine.find(e,this._config.parent).filter(e=>!t.includes(e))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const n of e)n.classList.toggle("collapsed",!t),n.setAttribute("aria-expanded",t)}}EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$9,function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();for(const e of SelectorEngine.getMultipleElementsFromSelector(this))Collapse.getOrCreateInstance(e,{toggle:!1}).toggle()});const min=Math.min,max=Math.max,round=Math.round,floor=Math.floor,createCoords=e=>({x:e,y:e}),oppositeSideMap={left:"right",right:"left",bottom:"top",top:"bottom"};function clamp(e,t,n){return max(e,min(t,n))}function evaluate(e,t){return"function"==typeof e?e(t):e}function getSide(e){return e.split("-")[0]}function getAlignment(e){return e.split("-")[1]}function getOppositeAxis(e){return"x"===e?"y":"x"}function getAxisLength(e){return"y"===e?"height":"width"}function getSideAxis(e){const t=e[0];return"t"===t||"b"===t?"y":"x"}function getAlignmentAxis(e){return getOppositeAxis(getSideAxis(e))}function getAlignmentSides(e,t,n){void 0===n&&(n=!1);const i=getAlignment(e),s=getAlignmentAxis(e),o=getAxisLength(s);let a="x"===s?i===(n?"end":"start")?"right":"left":"start"===i?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=getOppositePlacement(a)),[a,getOppositePlacement(a)]}function getExpandedPlacements(e){const t=getOppositePlacement(e);return[getOppositeAlignmentPlacement(e),t,getOppositeAlignmentPlacement(t)]}function getOppositeAlignmentPlacement(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const lrPlacement=["left","right"],rlPlacement=["right","left"],tbPlacement=["top","bottom"],btPlacement=["bottom","top"];function getSideList(e,t,n){switch(e){case"top":case"bottom":return n?t?rlPlacement:lrPlacement:t?lrPlacement:rlPlacement;case"left":case"right":return t?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(e,t,n,i){const s=getAlignment(e);let o=getSideList(getSide(e),"start"===n,i);return s&&(o=o.map(e=>e+"-"+s),t&&(o=o.concat(o.map(getOppositeAlignmentPlacement)))),o}function getOppositePlacement(e){const t=getSide(e);return oppositeSideMap[t]+e.slice(t.length)}function expandPaddingObject(e){return{top:0,right:0,bottom:0,left:0,...e}}function getPaddingObject(e){return"number"!=typeof e?expandPaddingObject(e):{top:e,right:e,bottom:e,left:e}}function rectToClientRect(e){const{x:t,y:n,width:i,height:s}=e;return{width:i,height:s,top:n,left:t,right:t+i,bottom:n+s,x:t,y:n}}function computeCoordsFromPlacement(e,t,n){let{reference:i,floating:s}=e;const o=getSideAxis(t),a=getAlignmentAxis(t),l=getAxisLength(a),r=getSide(t),c="y"===o,d=i.x+i.width/2-s.width/2,u=i.y+i.height/2-s.height/2,h=i[l]/2-s[l]/2;let m;switch(r){case"top":m={x:d,y:i.y-s.height};break;case"bottom":m={x:d,y:i.y+i.height};break;case"right":m={x:i.x+i.width,y:u};break;case"left":m={x:i.x-s.width,y:u};break;default:m={x:i.x,y:i.y}}switch(getAlignment(t)){case"start":m[a]-=h*(n&&c?-1:1);break;case"end":m[a]+=h*(n&&c?-1:1)}return m}async function detectOverflow(e,t){var n;void 0===t&&(t={});const{x:i,y:s,platform:o,rects:a,elements:l,strategy:r}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:h=!1,padding:m=0}=evaluate(t,e),_=getPaddingObject(m),g=l[h?"floating"===u?"reference":"floating":u],E=rectToClientRect(await o.getClippingRect({element:null==(n=await(null==o.isElement?void 0:o.isElement(g)))||n?g:g.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(l.floating)),boundary:c,rootBoundary:d,strategy:r})),p="floating"===u?{x:i,y:s,width:a.floating.width,height:a.floating.height}:a.reference,f=await(null==o.getOffsetParent?void 0:o.getOffsetParent(l.floating)),v=await(null==o.isElement?void 0:o.isElement(f))&&await(null==o.getScale?void 0:o.getScale(f))||{x:1,y:1},T=rectToClientRect(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:p,offsetParent:f,strategy:r}):p);return{top:(E.top-T.top+_.top)/v.y,bottom:(T.bottom-E.bottom+_.bottom)/v.y,left:(E.left-T.left+_.left)/v.x,right:(T.right-E.right+_.right)/v.x}}const MAX_RESET_COUNT=50,computePosition$1=async(e,t,n)=>{const{placement:i="bottom",strategy:s="absolute",middleware:o=[],platform:a}=n,l=a.detectOverflow?a:{...a,detectOverflow:detectOverflow},r=await(null==a.isRTL?void 0:a.isRTL(t));let c=await a.getElementRects({reference:e,floating:t,strategy:s}),{x:d,y:u}=computeCoordsFromPlacement(c,i,r),h=i,m=0;const _={};for(let n=0;n<o.length;n++){const g=o[n];if(!g)continue;const{name:E,fn:p}=g,{x:f,y:v,data:T,reset:b}=await p({x:d,y:u,initialPlacement:i,placement:h,strategy:s,middlewareData:_,rects:c,platform:l,elements:{reference:e,floating:t}});d=null!=f?f:d,u=null!=v?v:u,_[E]={..._[E],...T},b&&m<50&&(m++,"object"==typeof b&&(b.placement&&(h=b.placement),b.rects&&(c=!0===b.rects?await a.getElementRects({reference:e,floating:t,strategy:s}):b.rects),({x:d,y:u}=computeCoordsFromPlacement(c,h,r))),n=-1)}return{x:d,y:u,placement:h,strategy:s,middlewareData:_}},arrow$1=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:i,placement:s,rects:o,platform:a,elements:l,middlewareData:r}=t,{element:c,padding:d=0}=evaluate(e,t)||{};if(null==c)return{};const u=getPaddingObject(d),h={x:n,y:i},m=getAlignmentAxis(s),_=getAxisLength(m),g=await a.getDimensions(c),E="y"===m,p=E?"top":"left",f=E?"bottom":"right",v=E?"clientHeight":"clientWidth",T=o.reference[_]+o.reference[m]-h[m]-o.floating[_],b=h[m]-o.reference[m],A=await(null==a.getOffsetParent?void 0:a.getOffsetParent(c));let D=A?A[v]:0;D&&await(null==a.isElement?void 0:a.isElement(A))||(D=l.floating[v]||o.floating[_]);const y=T/2-b/2,S=D/2-g[_]/2-1,C=min(u[p],S),N=min(u[f],S),w=C,x=D-g[_]-N,M=D/2-g[_]/2+y,O=clamp(w,M,x),L=!r.arrow&&null!=getAlignment(s)&&M!==O&&o.reference[_]/2-(M<w?C:N)-g[_]/2<0,$=L?M<w?M-w:M-x:0;return{[m]:h[m]+$,data:{[m]:O,centerOffset:M-O-$,...L&&{alignmentOffset:$}},reset:L}}}),flip$1=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,i;const{placement:s,middlewareData:o,rects:a,initialPlacement:l,platform:r,elements:c}=t,{mainAxis:d=!0,crossAxis:u=!0,fallbackPlacements:h,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:_="none",flipAlignment:g=!0,...E}=evaluate(e,t);if(null!=(n=o.arrow)&&n.alignmentOffset)return{};const p=getSide(s),f=getSideAxis(l),v=getSide(l)===l,T=await(null==r.isRTL?void 0:r.isRTL(c.floating)),b=h||(v||!g?[getOppositePlacement(l)]:getExpandedPlacements(l)),A="none"!==_;!h&&A&&b.push(...getOppositeAxisPlacements(l,g,_,T));const D=[l,...b],y=await r.detectOverflow(t,E),S=[];let C=(null==(i=o.flip)?void 0:i.overflows)||[];if(d&&S.push(y[p]),u){const e=getAlignmentSides(s,a,T);S.push(y[e[0]],y[e[1]])}if(C=[...C,{placement:s,overflows:S}],!S.every(e=>e<=0)){var N,w;const e=((null==(N=o.flip)?void 0:N.index)||0)+1,t=D[e];if(t&&("alignment"!==u||f===getSideAxis(t)||C.every(e=>getSideAxis(e.placement)!==f||e.overflows[0]>0)))return{data:{index:e,overflows:C},reset:{placement:t}};let n=null==(w=C.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:w.placement;if(!n)switch(m){case"bestFit":{var x;const e=null==(x=C.filter(e=>{if(A){const t=getSideAxis(e.placement);return t===f||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:x[0];e&&(n=e);break}case"initialPlacement":n=l}if(s!==n)return{reset:{placement:n}}}return{}}}},originSides=new Set(["left","top"]);async function convertValueToCoords(e,t){const{placement:n,platform:i,elements:s}=e,o=await(null==i.isRTL?void 0:i.isRTL(s.floating)),a=getSide(n),l=getAlignment(n),r="y"===getSideAxis(n),c=originSides.has(a)?-1:1,d=o&&r?-1:1,u=evaluate(t,e);let{mainAxis:h,crossAxis:m,alignmentAxis:_}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&"number"==typeof _&&(m="end"===l?-1*_:_),r?{x:m*d,y:h*c}:{x:h*c,y:m*d}}const offset$1=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,i;const{x:s,y:o,placement:a,middlewareData:l}=t,r=await convertValueToCoords(t,e);return a===(null==(n=l.offset)?void 0:n.placement)&&null!=(i=l.arrow)&&i.alignmentOffset?{}:{x:s+r.x,y:o+r.y,data:{...r,placement:a}}}}},shift$1=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:i,placement:s,platform:o}=t,{mainAxis:a=!0,crossAxis:l=!1,limiter:r={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=evaluate(e,t),d={x:n,y:i},u=await o.detectOverflow(t,c),h=getSideAxis(getSide(s)),m=getOppositeAxis(h);let _=d[m],g=d[h];if(a){const e="y"===m?"bottom":"right";_=clamp(_+u["y"===m?"top":"left"],_,_-u[e])}if(l){const e="y"===h?"bottom":"right";g=clamp(g+u["y"===h?"top":"left"],g,g-u[e])}const E=r.fn({...t,[m]:_,[h]:g});return{...E,data:{x:E.x-n,y:E.y-i,enabled:{[m]:a,[h]:l}}}}}};function hasWindow(){return"undefined"!=typeof window}function getNodeName(e){return isNode(e)?(e.nodeName||"").toLowerCase():"#document"}function getWindow(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function getDocumentElement(e){var t;return null==(t=(isNode(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function isNode(e){return!!hasWindow()&&(e instanceof Node||e instanceof getWindow(e).Node)}function isElement(e){return!!hasWindow()&&(e instanceof Element||e instanceof getWindow(e).Element)}function isHTMLElement(e){return!!hasWindow()&&(e instanceof HTMLElement||e instanceof getWindow(e).HTMLElement)}function isShadowRoot(e){return!(!hasWindow()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof getWindow(e).ShadowRoot)}function isOverflowElement(e){const{overflow:t,overflowX:n,overflowY:i,display:s}=getComputedStyle$1(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+n)&&"inline"!==s&&"contents"!==s}function isTableElement(e){return/^(table|td|th)$/.test(getNodeName(e))}function isTopLayer(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}const willChangeRe=/transform|translate|scale|rotate|perspective|filter/,containRe=/paint|layout|strict|content/,isNotNone=e=>!!e&&"none"!==e;let isWebKitValue;function isContainingBlock(e){const t=isElement(e)?getComputedStyle$1(e):e;return isNotNone(t.transform)||isNotNone(t.translate)||isNotNone(t.scale)||isNotNone(t.rotate)||isNotNone(t.perspective)||!isWebKit()&&(isNotNone(t.backdropFilter)||isNotNone(t.filter))||willChangeRe.test(t.willChange||"")||containRe.test(t.contain||"")}function getContainingBlock(e){let t=getParentNode(e);for(;isHTMLElement(t)&&!isLastTraversableNode(t);){if(isContainingBlock(t))return t;if(isTopLayer(t))return null;t=getParentNode(t)}return null}function isWebKit(){return null==isWebKitValue&&(isWebKitValue="undefined"!=typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),isWebKitValue}function isLastTraversableNode(e){return/^(html|body|#document)$/.test(getNodeName(e))}function getComputedStyle$1(e){return getWindow(e).getComputedStyle(e)}function getNodeScroll(e){return isElement(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function getParentNode(e){if("html"===getNodeName(e))return e;const t=e.assignedSlot||e.parentNode||isShadowRoot(e)&&e.host||getDocumentElement(e);return isShadowRoot(t)?t.host:t}function getNearestOverflowAncestor(e){const t=getParentNode(e);return isLastTraversableNode(t)?e.ownerDocument?e.ownerDocument.body:e.body:isHTMLElement(t)&&isOverflowElement(t)?t:getNearestOverflowAncestor(t)}function getOverflowAncestors(e,t,n){var i;void 0===t&&(t=[]),void 0===n&&(n=!0);const s=getNearestOverflowAncestor(e),o=s===(null==(i=e.ownerDocument)?void 0:i.body),a=getWindow(s);if(o){const e=getFrameElement(a);return t.concat(a,a.visualViewport||[],isOverflowElement(s)?s:[],e&&n?getOverflowAncestors(e):[])}return t.concat(s,getOverflowAncestors(s,[],n))}function getFrameElement(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function getCssDimensions(e){const t=getComputedStyle$1(e);let n=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const s=isHTMLElement(e),o=s?e.offsetWidth:n,a=s?e.offsetHeight:i,l=round(n)!==o||round(i)!==a;return l&&(n=o,i=a),{width:n,height:i,$:l}}function unwrapElement(e){return isElement(e)?e:e.contextElement}function getScale(e){const t=unwrapElement(e);if(!isHTMLElement(t))return createCoords(1);const n=t.getBoundingClientRect(),{width:i,height:s,$:o}=getCssDimensions(t);let a=(o?round(n.width):n.width)/i,l=(o?round(n.height):n.height)/s;return a&&Number.isFinite(a)||(a=1),l&&Number.isFinite(l)||(l=1),{x:a,y:l}}const noOffsets=createCoords(0);function getVisualOffsets(e){const t=getWindow(e);return isWebKit()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:noOffsets}function shouldAddVisualOffsets(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==getWindow(e))&&t}function getBoundingClientRect(e,t,n,i){void 0===t&&(t=!1),void 0===n&&(n=!1);const s=e.getBoundingClientRect(),o=unwrapElement(e);let a=createCoords(1);t&&(i?isElement(i)&&(a=getScale(i)):a=getScale(e));const l=shouldAddVisualOffsets(o,n,i)?getVisualOffsets(o):createCoords(0);let r=(s.left+l.x)/a.x,c=(s.top+l.y)/a.y,d=s.width/a.x,u=s.height/a.y;if(o){const e=getWindow(o),t=i&&isElement(i)?getWindow(i):i;let n=e,s=getFrameElement(n);for(;s&&i&&t!==n;){const e=getScale(s),t=s.getBoundingClientRect(),i=getComputedStyle$1(s),o=t.left+(s.clientLeft+parseFloat(i.paddingLeft))*e.x,a=t.top+(s.clientTop+parseFloat(i.paddingTop))*e.y;r*=e.x,c*=e.y,d*=e.x,u*=e.y,r+=o,c+=a,n=getWindow(s),s=getFrameElement(n)}}return rectToClientRect({width:d,height:u,x:r,y:c})}function getWindowScrollBarX(e,t){const n=getNodeScroll(e).scrollLeft;return t?t.left+n:getBoundingClientRect(getDocumentElement(e)).left+n}function getHTMLOffset(e,t){const n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-getWindowScrollBarX(e,n),y:n.top+t.scrollTop}}function convertOffsetParentRelativeRectToViewportRelativeRect(e){let{elements:t,rect:n,offsetParent:i,strategy:s}=e;const o="fixed"===s,a=getDocumentElement(i),l=!!t&&isTopLayer(t.floating);if(i===a||l&&o)return n;let r={scrollLeft:0,scrollTop:0},c=createCoords(1);const d=createCoords(0),u=isHTMLElement(i);if((u||!u&&!o)&&(("body"!==getNodeName(i)||isOverflowElement(a))&&(r=getNodeScroll(i)),u)){const e=getBoundingClientRect(i);c=getScale(i),d.x=e.x+i.clientLeft,d.y=e.y+i.clientTop}const h=!a||u||o?createCoords(0):getHTMLOffset(a,r);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-r.scrollLeft*c.x+d.x+h.x,y:n.y*c.y-r.scrollTop*c.y+d.y+h.y}}function getClientRects(e){return Array.from(e.getClientRects())}function getDocumentRect(e){const t=getDocumentElement(e),n=getNodeScroll(e),i=e.ownerDocument.body,s=max(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),o=max(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight);let a=-n.scrollLeft+getWindowScrollBarX(e);const l=-n.scrollTop;return"rtl"===getComputedStyle$1(i).direction&&(a+=max(t.clientWidth,i.clientWidth)-s),{width:s,height:o,x:a,y:l}}const SCROLLBAR_MAX=25;function getViewportRect(e,t){const n=getWindow(e),i=getDocumentElement(e),s=n.visualViewport;let o=i.clientWidth,a=i.clientHeight,l=0,r=0;if(s){o=s.width,a=s.height;const e=isWebKit();(!e||e&&"fixed"===t)&&(l=s.offsetLeft,r=s.offsetTop)}const c=getWindowScrollBarX(i);if(c<=0){const e=i.ownerDocument,t=e.body,n=getComputedStyle(t),s="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,a=Math.abs(i.clientWidth-t.clientWidth-s);a<=25&&(o-=a)}else c<=25&&(o+=c);return{width:o,height:a,x:l,y:r}}function getInnerBoundingClientRect(e,t){const n=getBoundingClientRect(e,!0,"fixed"===t),i=n.top+e.clientTop,s=n.left+e.clientLeft,o=isHTMLElement(e)?getScale(e):createCoords(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:s*o.x,y:i*o.y}}function getClientRectFromClippingAncestor(e,t,n){let i;if("viewport"===t)i=getViewportRect(e,n);else if("document"===t)i=getDocumentRect(getDocumentElement(e));else if(isElement(t))i=getInnerBoundingClientRect(t,n);else{const n=getVisualOffsets(e);i={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return rectToClientRect(i)}function hasFixedPositionAncestor(e,t){const n=getParentNode(e);return!(n===t||!isElement(n)||isLastTraversableNode(n))&&("fixed"===getComputedStyle$1(n).position||hasFixedPositionAncestor(n,t))}function getClippingElementAncestors(e,t){const n=t.get(e);if(n)return n;let i=getOverflowAncestors(e,[],!1).filter(e=>isElement(e)&&"body"!==getNodeName(e)),s=null;const o="fixed"===getComputedStyle$1(e).position;let a=o?getParentNode(e):e;for(;isElement(a)&&!isLastTraversableNode(a);){const t=getComputedStyle$1(a),n=isContainingBlock(a);n||"fixed"!==t.position||(s=null),(o?!n&&!s:!n&&"static"===t.position&&s&&("absolute"===s.position||"fixed"===s.position)||isOverflowElement(a)&&!n&&hasFixedPositionAncestor(e,a))?i=i.filter(e=>e!==a):s=t,a=getParentNode(a)}return t.set(e,i),i}function getClippingRect(e){let{element:t,boundary:n,rootBoundary:i,strategy:s}=e;const o=[..."clippingAncestors"===n?isTopLayer(t)?[]:getClippingElementAncestors(t,this._c):[].concat(n),i],a=getClientRectFromClippingAncestor(t,o[0],s);let l=a.top,r=a.right,c=a.bottom,d=a.left;for(let e=1;e<o.length;e++){const n=getClientRectFromClippingAncestor(t,o[e],s);l=max(n.top,l),r=min(n.right,r),c=min(n.bottom,c),d=max(n.left,d)}return{width:r-d,height:c-l,x:d,y:l}}function getDimensions(e){const{width:t,height:n}=getCssDimensions(e);return{width:t,height:n}}function getRectRelativeToOffsetParent(e,t,n){const i=isHTMLElement(t),s=getDocumentElement(t),o="fixed"===n,a=getBoundingClientRect(e,!0,o,t);let l={scrollLeft:0,scrollTop:0};const r=createCoords(0);function c(){r.x=getWindowScrollBarX(s)}if(i||!i&&!o)if(("body"!==getNodeName(t)||isOverflowElement(s))&&(l=getNodeScroll(t)),i){const e=getBoundingClientRect(t,!0,o,t);r.x=e.x+t.clientLeft,r.y=e.y+t.clientTop}else s&&c();o&&!i&&s&&c();const d=!s||i||o?createCoords(0):getHTMLOffset(s,l);return{x:a.left+l.scrollLeft-r.x-d.x,y:a.top+l.scrollTop-r.y-d.y,width:a.width,height:a.height}}function isStaticPositioned(e){return"static"===getComputedStyle$1(e).position}function getTrueOffsetParent(e,t){if(!isHTMLElement(e)||"fixed"===getComputedStyle$1(e).position)return null;if(t)return t(e);let n=e.offsetParent;return getDocumentElement(e)===n&&(n=n.ownerDocument.body),n}function getOffsetParent(e,t){const n=getWindow(e);if(isTopLayer(e))return n;if(!isHTMLElement(e)){let t=getParentNode(e);for(;t&&!isLastTraversableNode(t);){if(isElement(t)&&!isStaticPositioned(t))return t;t=getParentNode(t)}return n}let i=getTrueOffsetParent(e,t);for(;i&&isTableElement(i)&&isStaticPositioned(i);)i=getTrueOffsetParent(i,t);return i&&isLastTraversableNode(i)&&isStaticPositioned(i)&&!isContainingBlock(i)?n:i||getContainingBlock(e)||n}const getElementRects=async function(e){const t=this.getOffsetParent||getOffsetParent,n=this.getDimensions,i=await n(e.floating);return{reference:getRectRelativeToOffsetParent(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function isRTL(e){return"rtl"===getComputedStyle$1(e).direction}const platform={convertOffsetParentRelativeRectToViewportRelativeRect:convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement:getDocumentElement,getClippingRect:getClippingRect,getOffsetParent:getOffsetParent,getElementRects:getElementRects,getClientRects:getClientRects,getDimensions:getDimensions,getScale:getScale,isElement:isElement,isRTL:isRTL};function rectsAreEqual(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function observeMove(e,t){let n,i=null;const s=getDocumentElement(e);function o(){var e;clearTimeout(n),null==(e=i)||e.disconnect(),i=null}return function a(l,r){void 0===l&&(l=!1),void 0===r&&(r=1),o();const c=e.getBoundingClientRect(),{left:d,top:u,width:h,height:m}=c;if(l||t(),!h||!m)return;const _={rootMargin:-floor(u)+"px "+-floor(s.clientWidth-(d+h))+"px "+-floor(s.clientHeight-(u+m))+"px "+-floor(d)+"px",threshold:max(0,min(1,r))||1};let g=!0;function E(t){const i=t[0].intersectionRatio;if(i!==r){if(!g)return a();i?a(!1,i):n=setTimeout(()=>{a(!1,1e-7)},1e3)}1!==i||rectsAreEqual(c,e.getBoundingClientRect())||a(),g=!1}try{i=new IntersectionObserver(E,{..._,root:s.ownerDocument})}catch(e){i=new IntersectionObserver(E,_)}i.observe(e)}(!0),o}function autoUpdate(e,t,n,i){void 0===i&&(i={});const{ancestorScroll:s=!0,ancestorResize:o=!0,elementResize:a="function"==typeof ResizeObserver,layoutShift:l="function"==typeof IntersectionObserver,animationFrame:r=!1}=i,c=unwrapElement(e),d=s||o?[...c?getOverflowAncestors(c):[],...t?getOverflowAncestors(t):[]]:[];d.forEach(e=>{s&&e.addEventListener("scroll",n,{passive:!0}),o&&e.addEventListener("resize",n)});const u=c&&l?observeMove(c,n):null;let h,m=-1,_=null;a&&(_=new ResizeObserver(e=>{let[i]=e;i&&i.target===c&&_&&t&&(_.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var e;null==(e=_)||e.observe(t)})),n()}),c&&!r&&_.observe(c),t&&_.observe(t));let g=r?getBoundingClientRect(e):null;return r&&function t(){const i=getBoundingClientRect(e);g&&!rectsAreEqual(g,i)&&n(),g=i,h=requestAnimationFrame(t)}(),n(),()=>{var e;d.forEach(e=>{s&&e.removeEventListener("scroll",n),o&&e.removeEventListener("resize",n)}),null==u||u(),null==(e=_)||e.disconnect(),_=null,r&&cancelAnimationFrame(h)}}const offset=offset$1,shift=shift$1,flip=flip$1,arrow=arrow$1,computePosition=(e,t,n)=>{const i=new Map,s={platform:platform,...n},o={...s.platform,_c:i};return computePosition$1(e,t,{...s,platform:o})},BREAKPOINTS={sm:576,md:768,lg:1024,xl:1280,"2xl":1536},parseResponsivePlacement=(e,t="bottom")=>{if(!e||!e.includes(":"))return null;const n=e.split(/\s+/),i={xs:t};for(const e of n)if(e.includes(":")){const[t,n]=e.split(":");void 0!==BREAKPOINTS[t]&&(i[t]=n)}else i.xs=e;return i},getResponsivePlacement=(e,t="bottom")=>{if(!e)return t;const n=window.innerWidth;let i=e.xs||t;const s=["sm","md","lg","xl","2xl"];for(const t of s)n>=BREAKPOINTS[t]&&e[t]&&(i=e[t]);return i},createBreakpointListeners=e=>{const t=[];for(const n of Object.keys(BREAKPOINTS)){const i=BREAKPOINTS[n],s=window.matchMedia(`(min-width: ${i}px)`);s.addEventListener("change",e),t.push({mql:s,handler:e})}return t},disposeBreakpointListeners=e=>{for(const{mql:t,handler:n}of e)t.removeEventListener("change",n)},NAME$g="menu",DATA_KEY$c="bs.menu",EVENT_KEY$c=".bs.menu",DATA_API_KEY$7=".data-api",ESCAPE_KEY$2="Escape",TAB_KEY$2="Tab",ARROW_UP_KEY$2="ArrowUp",ARROW_DOWN_KEY$2="ArrowDown",ARROW_LEFT_KEY$1="ArrowLeft",ARROW_RIGHT_KEY$1="ArrowRight",HOME_KEY$2="Home",END_KEY$2="End",ENTER_KEY$1="Enter",SPACE_KEY$1=" ",RIGHT_MOUSE_BUTTON=2,SUBMENU_CLOSE_DELAY=100,EVENT_HIDE$7="hide.bs.menu",EVENT_HIDDEN$7="hidden.bs.menu",EVENT_SHOW$7="show.bs.menu",EVENT_SHOWN$7="shown.bs.menu",EVENT_CLICK_DATA_API$5="click.bs.menu.data-api",EVENT_KEYDOWN_DATA_API="keydown.bs.menu.data-api",EVENT_KEYUP_DATA_API="keyup.bs.menu.data-api",CLASS_NAME_SHOW$6="show",SELECTOR_DATA_TOGGLE$8='[data-bs-toggle="menu"]:not(.disabled):not(:disabled)',SELECTOR_MENU$2=".menu",SELECTOR_SUBMENU=".submenu",SELECTOR_SUBMENU_TOGGLE=".submenu > .menu-item",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS$1=".menu-item:not(.disabled):not(:disabled)",DEFAULT_PLACEMENT="bottom-start",SUBMENU_PLACEMENT="end-start",resolveLogicalPlacement=e=>isRTL$1()?e.replace(/^start(?=-|$)/,"right").replace(/^end(?=-|$)/,"left"):e.replace(/^start(?=-|$)/,"left").replace(/^end(?=-|$)/,"right"),triangleSign=(e,t,n)=>(e.x-n.x)*(t.y-n.y)-(t.x-n.x)*(e.y-n.y),Default$f={autoClose:!0,boundary:"clippingParents",container:!1,display:"dynamic",offset:[0,2],floatingConfig:null,menu:null,placement:"bottom-start",reference:"toggle",strategy:"absolute",submenuTrigger:"both",submenuDelay:100},DefaultType$f={autoClose:"(boolean|string)",boundary:"(string|element)",container:"(string|element|boolean)",display:"string",offset:"(array|string|function)",floatingConfig:"(null|object|function)",menu:"(null|element)",placement:"string",reference:"(string|element|object)",strategy:"string",submenuTrigger:"string",submenuDelay:"number"};class Menu extends BaseComponent{static _openInstances=(()=>new Set)();constructor(e,t){super(e,t),this._floatingCleanup=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this._parent=this._element.parentNode,this._isSubmenu=this._parent.classList?.contains("submenu"),this._openSubmenus=new Map,this._submenuCloseTimeouts=new Map,this._hoverIntentData=null,this._menu=this._config.menu||this._findMenu(),this._menuOriginalParent=this._menu?.parentNode,this._parseResponsivePlacements(),this._setupSubmenuListeners()}static get Default(){return Default$f}static get DefaultType(){return DefaultType$f}static get NAME(){return"menu"}toggle(){return this._isShown()?this.hide():this.show()}show(){if(isDisabled(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$7,e).defaultPrevented){if(this._moveMenuToContainer(),this._createFloating(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._element.focus({focusVisible:!1}),this._element.setAttribute("aria-expanded","true"),this._menu.classList.add("show"),this._element.classList.add("show"),this._parent&&this._parent.classList.add("show"),Menu._openInstances.add(this),EventHandler.trigger(this._element,EVENT_SHOWN$7,e)}}hide(){if(isDisabled(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._disposeFloating(),this._restoreMenuToOriginalParent(),this._disposeMediaQueryListeners(),this._closeAllSubmenus(),this._clearAllSubmenuTimeouts(),Menu._openInstances.delete(this),super.dispose()}update(){this._floatingCleanup&&this._updateFloatingPosition()}_findMenu(){return SelectorEngine.next(this._element,".menu")[0]||SelectorEngine.prev(this._element,".menu")[0]||SelectorEngine.findOne(".menu",this._parent)}_completeHide(e){if(!EventHandler.trigger(this._element,EVENT_HIDE$7,e).defaultPrevented){if(this._closeAllSubmenus(),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._disposeFloating(),this._restoreMenuToOriginalParent(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._parent&&this._parent.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),Manipulator.removeDataAttribute(this._menu,"placement"),Manipulator.removeDataAttribute(this._menu,"display"),Menu._openInstances.delete(this),EventHandler.trigger(this._element,EVENT_HIDDEN$7,e)}}_getConfig(e){if("object"==typeof(e=super._getConfig(e)).reference&&!isElement$1(e.reference)&&"function"!=typeof e.reference.getBoundingClientRect)throw new TypeError(`${"menu".toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createFloating(){if("static"===this._config.display)return void Manipulator.setDataAttribute(this._menu,"display","static");let e=this._element;"parent"===this._config.reference?e=this._parent:isElement$1(this._config.reference)?e=getElement(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference),this._updateFloatingPosition(e),this._floatingCleanup=autoUpdate(e,this._menu,()=>this._updateFloatingPosition(e))}async _updateFloatingPosition(e=null){if(!this._menu)return;e||(e="parent"===this._config.reference?this._parent:isElement$1(this._config.reference)?getElement(this._config.reference):"object"==typeof this._config.reference?this._config.reference:this._element);const t=this._getPlacement(),n=this._getFloatingMiddleware(),i=this._getFloatingConfig(t,n);await this._applyFloatingPosition(e,this._menu,i.placement,i.middleware,i.strategy)}_isShown(){return this._menu.classList.contains("show")}_getPlacement(){const e=this._responsivePlacements?getResponsivePlacement(this._responsivePlacements,"bottom-start"):this._config.placement;return resolveLogicalPlacement(e)}_parseResponsivePlacements(){this._responsivePlacements=parseResponsivePlacement(this._config.placement,"bottom-start"),this._responsivePlacements&&this._setupMediaQueryListeners()}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_getFloatingMiddleware(){const e=this._getOffset();return[offset("function"==typeof e?e:{mainAxis:e[1]||0,crossAxis:e[0]||0}),flip({fallbackPlacements:this._getFallbackPlacements()}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})]}_getFallbackPlacements(){return{bottom:["top","bottom-start","bottom-end","top-start","top-end"],"bottom-start":["top-start","bottom-end","top-end"],"bottom-end":["top-end","bottom-start","top-start"],top:["bottom","top-start","top-end","bottom-start","bottom-end"],"top-start":["bottom-start","top-end","bottom-end"],"top-end":["bottom-end","top-start","bottom-start"],right:["left","right-start","right-end","left-start","left-end"],"right-start":["left-start","right-end","left-end","top-start","bottom-start"],"right-end":["left-end","right-start","left-start","top-end","bottom-end"],left:["right","left-start","left-end","right-start","right-end"],"left-start":["right-start","left-end","right-end","top-start","bottom-start"],"left-end":["right-end","left-start","right-start","top-end","bottom-end"]}[this._getPlacement()]||["top","bottom","right","left"]}_getFloatingConfig(e,t){const n={placement:e,middleware:t,strategy:this._config.strategy};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null)}_getContainer(){const{container:e}=this._config;return!1===e?null:!0===e?document.body:getElement(e)}_moveMenuToContainer(){const e=this._getContainer();e&&this._menu&&this._menu.parentNode!==e&&e.append(this._menu)}_restoreMenuToOriginalParent(){this._menuOriginalParent&&this._menu&&this._menu.parentNode!==this._menuOriginalParent&&this._menuOriginalParent.append(this._menu)}async _applyFloatingPosition(e,t,n,i,s="absolute"){if(!t.isConnected)return null;const{x:o,y:a,placement:l}=await computePosition(e,t,{placement:n,middleware:i,strategy:s});return t.isConnected?(Object.assign(t.style,{position:s,left:`${o}px`,top:`${a}px`,margin:"0"}),Manipulator.setDataAttribute(t,"placement",l),l):null}_setupSubmenuListeners(){"hover"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||(EventHandler.on(this._menu,"mouseenter",".submenu > .menu-item",e=>{this._onSubmenuTriggerEnter(e)}),EventHandler.on(this._menu,"mouseleave",".submenu",e=>{this._onSubmenuLeave(e)}),EventHandler.on(this._menu,"mousemove",e=>{this._trackMousePosition(e)})),"click"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||EventHandler.on(this._menu,"click",".submenu > .menu-item",e=>{this._onSubmenuTriggerClick(e)})}_onSubmenuTriggerEnter(e){const t=e.target.closest(".submenu > .menu-item");if(!t)return;const n=t.closest(".submenu"),i=SelectorEngine.findOne(".menu",n);i&&(this._cancelSubmenuCloseTimeout(i),this._closeSiblingSubmenus(n),this._openSubmenu(t,i,n))}_onSubmenuLeave(e){const t=e.target.closest(".submenu"),n=SelectorEngine.findOne(".menu",t);n&&this._openSubmenus.has(n)&&(this._isMovingTowardSubmenu(e,n)||this._scheduleSubmenuClose(n,t))}_onSubmenuTriggerClick(e){const t=e.target.closest(".submenu > .menu-item");if(!t)return;e.preventDefault(),e.stopPropagation();const n=t.closest(".submenu"),i=SelectorEngine.findOne(".menu",n);i&&(this._openSubmenus.has(i)?this._closeSubmenu(i,n):(this._closeSiblingSubmenus(n),this._openSubmenu(t,i,n)))}_openSubmenu(e,t,n){if(this._openSubmenus.has(t))return;e.setAttribute("aria-expanded","true"),e.setAttribute("aria-haspopup","true"),t.classList.add("show"),n.classList.add("show");const i=this._createSubmenuFloating(e,t,n);this._openSubmenus.set(t,i),EventHandler.on(t,"mouseenter",()=>{this._cancelSubmenuCloseTimeout(t)})}_closeSubmenu(e,t){if(!this._openSubmenus.has(e))return;const n=SelectorEngine.find(".submenu .menu.show",e);for(const e of n){const t=e.closest(".submenu");this._closeSubmenu(e,t)}const i=SelectorEngine.findOne(".submenu > .menu-item",t),s=this._openSubmenus.get(e);s&&s(),this._openSubmenus.delete(e),EventHandler.off(e,"mouseenter"),i&&i.setAttribute("aria-expanded","false"),e.classList.remove("show"),t.classList.remove("show"),e.style.position="",e.style.left="",e.style.top="",e.style.margin=""}_closeAllSubmenus(){for(const[e]of this._openSubmenus){const t=e.closest(".submenu");this._closeSubmenu(e,t)}}_closeSiblingSubmenus(e){const t=e.parentNode,n=SelectorEngine.find(".submenu > .menu.show",t);for(const t of n){const n=t.closest(".submenu");n!==e&&this._closeSubmenu(t,n)}}_createSubmenuFloating(e,t,n){const i=n,s=resolveLogicalPlacement("end-start"),o=[offset({mainAxis:0,crossAxis:-4}),flip({fallbackPlacements:[resolveLogicalPlacement("start-start"),resolveLogicalPlacement("end-end"),resolveLogicalPlacement("start-end")]}),shift({padding:8})],a=()=>this._applyFloatingPosition(i,t,s,o);return a(),autoUpdate(i,t,a)}_scheduleSubmenuClose(e,t){this._cancelSubmenuCloseTimeout(e);const n=setTimeout(()=>{this._closeSubmenu(e,t),this._submenuCloseTimeouts.delete(e)},this._config.submenuDelay);this._submenuCloseTimeouts.set(e,n)}_cancelSubmenuCloseTimeout(e){const t=this._submenuCloseTimeouts.get(e);t&&(clearTimeout(t),this._submenuCloseTimeouts.delete(e))}_clearAllSubmenuTimeouts(){for(const e of this._submenuCloseTimeouts.values())clearTimeout(e);this._submenuCloseTimeouts.clear()}_trackMousePosition(e){this._hoverIntentData={x:e.clientX,y:e.clientY,timestamp:Date.now()}}_isMovingTowardSubmenu(e,t){if(!this._hoverIntentData)return!1;const n=t.getBoundingClientRect(),i={x:e.clientX,y:e.clientY},s={x:this._hoverIntentData.x,y:this._hoverIntentData.y},o=isRTL$1()?n.right:n.left,a={x:o,y:n.top},l={x:o,y:n.bottom};return this._pointInTriangle(i,s,a,l)}_pointInTriangle(e,t,n,i){const s=triangleSign(e,t,n),o=triangleSign(e,n,i),a=triangleSign(e,i,t);return!((s<0||o<0||a<0)&&(s>0||o>0||a>0))}_selectMenuItem({key:e,target:t}){const n=t.closest(".menu")||this._menu,i=SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS$1}`,n).filter(e=>isVisible(e));i.length&&getNextActiveElement(i,t,e===ARROW_DOWN_KEY$2,!i.includes(t)).focus()}_handleSubmenuKeydown(e){const{key:t,target:n}=e,i=isRTL$1(),s=i?ARROW_LEFT_KEY$1:ARROW_RIGHT_KEY$1,o=i?ARROW_RIGHT_KEY$1:ARROW_LEFT_KEY$1,a=n.closest(".submenu"),l=a&&n.matches(".submenu > .menu-item");if((t===ENTER_KEY$1||t===SPACE_KEY$1)&&l){e.preventDefault(),e.stopPropagation();const t=SelectorEngine.findOne(".menu",a);return t&&(this._closeSiblingSubmenus(a),this._openSubmenu(n,t,a),requestAnimationFrame(()=>{const e=SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS$1,t);e&&e.focus()})),!0}if(t===s&&l){e.preventDefault(),e.stopPropagation();const t=SelectorEngine.findOne(".menu",a);return t&&(this._closeSiblingSubmenus(a),this._openSubmenu(n,t,a),requestAnimationFrame(()=>{const e=SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS$1,t);e&&e.focus()})),!0}if(t===o){const t=n.closest(".menu"),i=t?.closest(".submenu");if(i){e.preventDefault(),e.stopPropagation();const n=SelectorEngine.findOne(".submenu > .menu-item",i);return this._closeSubmenu(t,i),n&&n.focus(),!0}}if(t===HOME_KEY$2||t===END_KEY$2){e.preventDefault(),e.stopPropagation();const i=n.closest(".menu"),s=SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS$1}`,i).filter(e=>isVisible(e));return s.length&&(t===HOME_KEY$2?s[0]:s[s.length-1]).focus(),!0}return!1}static clearMenus(e){if(2!==e.button&&("keyup"!==e.type||"Tab"===e.key))for(const t of Menu._openInstances){if(!1===t._config.autoClose)continue;const n=e.composedPath(),i=n.includes(t._menu);if(n.includes(t._element)||"inside"===t._config.autoClose&&!i||"outside"===t._config.autoClose&&i)continue;if(t._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const s={relatedTarget:t._element};"click"===e.type&&(s.clickEvent=e),t._completeHide(s)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),n="Escape"===e.key,i=[ARROW_UP_KEY$2,ARROW_DOWN_KEY$2].includes(e.key),s=[ARROW_LEFT_KEY$1,ARROW_RIGHT_KEY$1].includes(e.key),o=[HOME_KEY$2,END_KEY$2].includes(e.key),a=[ENTER_KEY$1,SPACE_KEY$1].includes(e.key),l=e.target.matches(".submenu > .menu-item");if(!(i||n||s||o||a&&l))return;if(t&&!n)return;const r=this.matches(SELECTOR_DATA_TOGGLE$8)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$8)[0]||SelectorEngine.next(this,SELECTOR_DATA_TOGGLE$8)[0]||SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$8,e.delegateTarget.parentNode);if(!r)return;const c=Menu.getOrCreateInstance(r);if(!(s||o||a&&l)||!c._handleSubmenuKeydown(e)){if(i)return e.preventDefault(),e.stopPropagation(),c.show(),void c._selectMenuItem(e);if(n&&c._isShown()){e.preventDefault(),e.stopPropagation();const t=e.target.closest(".menu"),n=t?.closest(".submenu");if(n&&c._openSubmenus.size>0){const e=SelectorEngine.findOne(".submenu > .menu-item",n);return c._closeSubmenu(t,n),void(e&&e.focus())}c.hide(),r.focus()}}}}EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$8,Menu.dataApiKeydownHandler),EventHandler.on(document,EVENT_KEYDOWN_DATA_API,".menu",Menu.dataApiKeydownHandler),EventHandler.on(document,EVENT_CLICK_DATA_API$5,Menu.clearMenus),EventHandler.on(document,EVENT_KEYUP_DATA_API,Menu.clearMenus),EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_TOGGLE$8,function(e){e.preventDefault(),Menu.getOrCreateInstance(this).toggle()});const NAME$f="combobox",DATA_KEY$b="bs.combobox",EVENT_KEY$b=`.${DATA_KEY$b}`,DATA_API_KEY$6=".data-api",ESCAPE_KEY$1="Escape",TAB_KEY$1="Tab",ARROW_UP_KEY$1="ArrowUp",ARROW_DOWN_KEY$1="ArrowDown",HOME_KEY$1="Home",END_KEY$1="End",ENTER_KEY="Enter",SPACE_KEY=" ",EVENT_CHANGE$1=`change${EVENT_KEY$b}`,EVENT_SHOW$6=`show${EVENT_KEY$b}`,EVENT_SHOWN$6=`shown${EVENT_KEY$b}`,EVENT_HIDE$6=`hide${EVENT_KEY$b}`,EVENT_HIDDEN$6=`hidden${EVENT_KEY$b}`,EVENT_CLICK_DATA_API$4=`click${EVENT_KEY$b}.data-api`,CLASS_NAME_SHOW$5="show",CLASS_NAME_SELECTED="selected",CLASS_NAME_PLACEHOLDER="combobox-placeholder",SELECTOR_DATA_TOGGLE$7='[data-bs-toggle="combobox"]',SELECTOR_MENU$1=".menu",SELECTOR_MENU_ITEM=".menu-item[data-bs-value]",SELECTOR_VISIBLE_ITEMS=".menu-item[data-bs-value]:not(.disabled):not(:disabled)",SELECTOR_VALUE=".combobox-value",SELECTOR_SEARCH_INPUT=".combobox-search-input",SELECTOR_NO_RESULTS=".combobox-no-results",Default$e={boundary:"clippingParents",multiple:!1,name:null,offset:[0,2],placeholder:"",placement:"bottom-start",search:!1,searchNormalize:!1},DefaultType$e={boundary:"(string|element)",multiple:"boolean",name:"(string|null)",offset:"(array|string|function)",placeholder:"string",placement:"string",search:"boolean",searchNormalize:"boolean"};class Combobox extends BaseComponent{constructor(e,t){super(e,t),this._toggle=this._element,this._menu=SelectorEngine.next(this._toggle,".menu")[0],this._valueDisplay=SelectorEngine.findOne(SELECTOR_VALUE,this._toggle),this._searchInput=SelectorEngine.findOne(SELECTOR_SEARCH_INPUT,this._menu),this._noResults=SelectorEngine.findOne(SELECTOR_NO_RESULTS,this._menu),this._hiddenInput=null,this._menuInstance=null,this._createHiddenInput(),this._createMenuInstance(),this._syncInitialSelection(),this._addEventListeners()}static get Default(){return Default$e}static get DefaultType(){return DefaultType$e}static get NAME(){return NAME$f}toggle(){return this._isShown()?this.hide():this.show()}show(){isDisabled(this._toggle)||this._isShown()||EventHandler.trigger(this._toggle,EVENT_SHOW$6).defaultPrevented||(this._menuInstance.show(),this._searchInput&&(this._searchInput.value="",this._filterItems(""),requestAnimationFrame(()=>this._searchInput.focus())),EventHandler.trigger(this._toggle,EVENT_SHOWN$6))}hide(){this._isShown()&&(EventHandler.trigger(this._toggle,EVENT_HIDE$6).defaultPrevented||(this._menuInstance.hide(),EventHandler.trigger(this._toggle,EVENT_HIDDEN$6)))}dispose(){this._menuInstance&&(this._menuInstance.dispose(),this._menuInstance=null),this._hiddenInput&&(this._hiddenInput.remove(),this._hiddenInput=null),EventHandler.off(this._menu,EVENT_KEY$b),EventHandler.off(this._toggle,EVENT_KEY$b),super.dispose()}_isShown(){return this._menu.classList.contains("show")}_createHiddenInput(){const{name:e}=this._config;e&&(this._hiddenInput=document.createElement("input"),this._hiddenInput.type="hidden",this._hiddenInput.name=e,this._hiddenInput.value="",this._toggle.parentNode.insertBefore(this._hiddenInput,this._toggle))}_createMenuInstance(){this._menuInstance=new Menu(this._toggle,{menu:this._menu,autoClose:!this._config.multiple||"outside",boundary:this._config.boundary,offset:this._config.offset,placement:this._config.placement})}_syncInitialSelection(){this._getSelectedItems().length>0?(this._updateToggleText(),this._updateHiddenInput()):this._showPlaceholder()}_addEventListeners(){EventHandler.on(this._menu,"click",SELECTOR_MENU_ITEM,e=>{const t=e.target.closest(SELECTOR_MENU_ITEM);t&&!isDisabled(t)&&(e.preventDefault(),e.stopPropagation(),this._selectItem(t))}),EventHandler.on(this._toggle,"keydown",e=>{this._handleToggleKeydown(e)}),EventHandler.on(this._menu,"keydown",e=>{this._handleMenuKeydown(e)}),this._searchInput&&(EventHandler.on(this._searchInput,"input",()=>{this._filterItems(this._searchInput.value)}),EventHandler.on(this._searchInput,"keydown",e=>{if("ArrowDown"===e.key){e.preventDefault();const t=this._getVisibleItems();t.length>0&&t[0].focus()}"Escape"===e.key&&(this.hide(),this._toggle.focus())}))}_selectItem(e){if(this._config.multiple)e.classList.toggle("selected"),e.setAttribute("aria-selected",e.classList.contains("selected"));else{const t=SelectorEngine.find(".selected",this._menu);for(const e of t)e.classList.remove("selected"),e.setAttribute("aria-selected","false");e.classList.add("selected"),e.setAttribute("aria-selected","true")}this._updateToggleText(),this._updateHiddenInput();const t=this._config.multiple?this._getSelectedItems().map(e=>e.dataset.bsValue):e.dataset.bsValue;EventHandler.trigger(this._toggle,EVENT_CHANGE$1,{value:t,item:e}),this._config.multiple||(this.hide(),this._toggle.focus())}_updateToggleText(){const e=this._getSelectedItems();if(0!==e.length)if(this._valueDisplay.classList.remove("combobox-placeholder"),this._config.multiple&&e.length>1)this._valueDisplay.textContent=`${e.length} selected`;else{const t=e[0],n=SelectorEngine.findOne(".menu-item-content > span:first-child",t);this._valueDisplay.textContent=n?n.textContent:t.textContent.trim()}else this._showPlaceholder()}_showPlaceholder(){const{placeholder:e}=this._config;e&&(this._valueDisplay.textContent=e,this._valueDisplay.classList.add("combobox-placeholder"))}_updateHiddenInput(){if(!this._hiddenInput)return;const e=this._getSelectedItems().map(e=>e.dataset.bsValue);this._hiddenInput.value=this._config.multiple?e.join(","):e[0]||""}_getSelectedItems(){return SelectorEngine.find(".selected",this._menu)}_getVisibleItems(){return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,this._menu).filter(e=>isVisible(e))}_filterItems(e){const t=this._normalizeText(e.toLowerCase().trim()),n=SelectorEngine.find(SELECTOR_MENU_ITEM,this._menu);let i=0;for(const e of n){const n=this._normalizeText(e.textContent.toLowerCase().trim()),s=!t||n.includes(t);e.style.display=s?"":"none",s&&i++}this._noResults&&this._noResults.classList.toggle("d-none",i>0)}_normalizeText(e){return this._config.searchNormalize?e.normalize("NFD").replace(/[\u0300-\u036F]/g,""):e}_handleToggleKeydown(e){const{key:t}=e;if("ArrowDown"===t||"ArrowUp"===t){e.preventDefault(),this._isShown()||this.show();const n=this._getVisibleItems();return void(n.length>0&&("ArrowDown"===t?n[0]:n[n.length-1]).focus())}"Enter"!==t&&" "!==t||this._isShown()||(e.preventDefault(),this.show())}_handleMenuKeydown(e){const{key:t,target:n}=e;if("Escape"===t)return e.preventDefault(),e.stopPropagation(),this.hide(),void this._toggle.focus();if("Tab"===t)return void this.hide();const i=n.matches("input");if("ArrowDown"===t||"ArrowUp"===t){e.preventDefault();const i=this._getVisibleItems();return void(i.length>0&&getNextActiveElement(i,n,"ArrowDown"===t,!i.includes(n)).focus())}if("Home"===t||"End"===t){e.preventDefault();const n=this._getVisibleItems();return void(n.length>0&&("Home"===t?n[0]:n[n.length-1]).focus())}if(("Enter"===t||" "===t)&&!i){e.preventDefault();const t=n.closest(SELECTOR_MENU_ITEM);t&&!isDisabled(t)&&this._selectItem(t)}}static jQueryInterface(e){return this.each(function(){const t=Combobox.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}})}}EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$7,function(e){e.preventDefault(),Combobox.getOrCreateInstance(this).toggle()}),EventHandler.on(document,"DOMContentLoaded",()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE$7))Combobox.getOrCreateInstance(e)});
/*! name: vanilla-calendar-pro v3.1.0 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */
-var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,"symbol"!=typeof t?t+"":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the "init()" method first.',notLocale:"You specified an incorrect language label or did not specify the required number of values for «locale.weekdays» or «locale.months».",incorrectTime:"The value of the time property can be: false, 12 or 24.",incorrectMonthsCount:"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1."},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,i,s,o;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(i=null==(n=e.context.inputElement)?void 0:n.replaceWith)||i.call(n,e.context.originalElement),setContext(e,"inputElement",void 0)):null==(o=(s=e.context.mainElement).replaceWith)||o.call(s,e.context.originalElement),setContext(e,"mainElement",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},skipOpenOnFocus=new WeakSet,shouldSkipOpenOnFocus=e=>skipOpenOnFocus.has(e),setSkipOpenOnFocus=e=>{skipOpenOnFocus.add(e)},clearSkipOpenOnFocus=e=>{skipOpenOnFocus.delete(e)},PREV_TABINDEX_ATTR="data-vc-prev-tabindex",isFocusable=e=>e.tabIndex>=0&&!e.hasAttribute("disabled")&&"true"!==e.getAttribute("aria-disabled"),storePrevTabIndex=e=>{if(e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute("tabindex");e.setAttribute(PREV_TABINDEX_ATTR,null!=t?t:"")},restorePrevTabIndex=e=>{if(!e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(PREV_TABINDEX_ATTR);""===t||null===t?e.removeAttribute("tabindex"):e.setAttribute("tabindex",t),e.removeAttribute(PREV_TABINDEX_ATTR)},disableTabbing=e=>{isFocusable(e)&&(storePrevTabIndex(e),e.tabIndex=-1);const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>isFocusable(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();){const e=t.currentNode;storePrevTabIndex(e),e.tabIndex=-1}},restoreTabbing=e=>{restorePrevTabIndex(e),e.querySelectorAll(`[${PREV_TABINDEX_ATTR}]`).forEach(restorePrevTabIndex)},hide=e=>{e.context.isShowInInputMode&&e.context.currentType&&(e.context.mainElement.dataset.vcCalendarHidden="",setContext(e,"isShowInInputMode",!1),e.inputMode&&disableTabbing(e.context.mainElement),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach(e=>e()),setContext(e,"cleanupHandlers",[])),e.inputMode&&e.context.inputElement&&e.context.mainElement.contains(document.activeElement)&&(("function"==typeof e.openOnFocus||!0===e.openOnFocus)&&setSkipOpenOnFocus(e),e.context.inputElement.focus()),e.onHide&&e.onHide(e))};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:i,left:s}=getOffset(e),{vh:o,vw:a}=getViewportDimensions(),l=i-t,r=s-n;return{top:l,bottom:o-(l+e.clientHeight),left:r,right:a-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const i={top:!0,bottom:!0,left:!0,right:!0},s=[];if(!t||!e)return{canShow:i,parentPositions:s};const{bottom:o,top:a}=calculateAvailableSpace(e),{top:l,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:h}=getViewportDimensions(),m=h/2,_=u/2;return[{condition:l<_,position:"top"},{condition:l>_,position:"bottom"},{condition:r<m,position:"left"},{condition:r>m,position:"right"}].forEach(({condition:e,position:t})=>{e&&s.push(t)}),Object.assign(i,{top:c<=a-n,bottom:c<=o-n,left:d<=r,right:d<=h-r}),{canShow:i,parentPositions:s}}const handleDay=(e,t,n,i)=>{var s;const o=i.querySelector(`[data-vc-date="${t}"]`),a=null==o?void 0:o.querySelector("[data-vc-date-btn]");if(!o||!a)return;if((null==n?void 0:n.modifier)&&a.classList.add(...n.modifier.trim().split(" ")),!(null==n?void 0:n.html))return;const l=document.createElement("div");l.className=e.styles.datePopup,l.dataset.vcDatePopup="",l.innerHTML=e.sanitizerHTML(n.html),a.ariaExpanded="true",a.ariaLabel=`${a.ariaLabel}, ${null==(s=null==l?void 0:l.textContent)?void 0:s.replace(/^\s+|\s+(?=\s)|\s+$/g,"").replace(/ /g," ")}`,o.appendChild(l),requestAnimationFrame(()=>{if(!l)return;const{canShow:e}=getAvailablePosition(o,l),t=e.bottom?o.offsetHeight:-l.offsetHeight,n=e.left&&!e.right?o.offsetWidth-l.offsetWidth/2:!e.left&&e.right?l.offsetWidth/2:0;Object.assign(l.style,{left:`${n}px`,top:`${t}px`})})},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach(([n,i])=>handleDay(e,n,i,t)))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`,parseDates=e=>e.reduce((e,t)=>{if(t instanceof Date||"number"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\d{4}-\d{2}-\d{2})$/g)?e.push(t):t.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g,(t,n,i)=>{const s=getDate(n),o=getDate(i),a=new Date(s.getTime());for(;a<=o;a.setDate(a.getDate()+1))e.push(getDateString(a));return t});return e},[]),updateAttribute=(e,t,n,i="")=>{t?e.setAttribute(n,i):e.getAttribute(n)===i&&e.removeAttribute(n)},setDateModifier=(e,t,n,i,s,o,a)=>{var l,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(o)||getDate(e.context.displayDateMax)<getDate(o)||(null==(l=e.context.disableDates)?void 0:l.includes(o))||!e.selectionMonthsMode&&"current"!==a||!e.selectionYearsMode&&getDate(o).getFullYear()!==t;updateAttribute(n,u,"data-vc-date-disabled"),i&&updateAttribute(i,u,"aria-disabled","true"),i&&updateAttribute(i,u,"tabindex","-1"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,"data-vc-date-today"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,"aria-current","date"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(s),"data-vc-date-weekend");const h=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,h.includes(o),"data-vc-date-holiday"),(null==(d=e.context.selectedDates)?void 0:d.includes(o))?(n.setAttribute("data-vc-date-selected",""),i&&i.setAttribute("aria-selected","true"),e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode&&(e.context.selectedDates[0]===o&&e.context.selectedDates[e.context.selectedDates.length-1]===o?n.setAttribute("data-vc-date-selected","first-and-last"):e.context.selectedDates[0]===o?n.setAttribute("data-vc-date-selected","first"):e.context.selectedDates[e.context.selectedDates.length-1]===o&&n.setAttribute("data-vc-date-selected","last"),e.context.selectedDates[0]!==o&&e.context.selectedDates[e.context.selectedDates.length-1]!==o&&n.setAttribute("data-vc-date-selected","middle"))):n.hasAttribute("data-vc-date-selected")&&(n.removeAttribute("data-vc-date-selected"),i&&i.removeAttribute("aria-selected")),!e.context.disableDates.includes(o)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),i=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),s=getDate(o);updateAttribute(n,s>t&&s<i,"data-vc-date-selected","middle")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),i=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-i);const s=new Date(n.getFullYear(),0,1),o=Math.ceil(((+n-+s)/864e5+1)/7);return{year:n.getFullYear(),week:o}},addWeekNumberForDate=(e,t,n)=>{const i=getWeekNumber(n,e.firstWeekday);i&&(t.dataset.vcDateWeekNumber=String(i.week))},setDaysAsDisabled=(e,t,n)=>{var i,s,o,a,l;const r=null==(i=e.disableWeekdays)?void 0:i.includes(n),c=e.disableAllDates&&!!(null==(s=e.context.enableDates)?void 0:s[0]);!r&&!c||(null==(o=e.context.enableDates)?void 0:o.includes(t))||(null==(a=e.context.disableDates)?void 0:a.includes(t))||(e.context.disableDates.push(t),null==(l=e.context.disableDates)||l.sort((e,t)=>+new Date(e)-+new Date(t)))},createDate=(e,t,n,i,s,o)=>{const a=getDate(s).getDay(),l="string"==typeof e.locale&&e.locale.length?e.locale:"en",r=document.createElement("div");let c;r.className=e.styles.date,r.dataset.vcDate=s,r.dataset.vcDateMonth=o,r.dataset.vcDateWeekDay=String(a),r.role="gridcell",("current"===o||e.displayDatesOutside)&&(c=document.createElement("button"),c.className=e.styles.dateBtn,c.type="button",c.ariaLabel=getLocaleString(s,l,{dateStyle:"long",timeZone:"UTC"}),c.dataset.vcDateBtn="",c.innerText=String(i),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,s),setDaysAsDisabled(e,s,a),setDateModifier(e,t,r,c,a,s,o),n.addDate(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,i,s)=>{for(let o=1;o<=n;o++){const n=new Date(i,s,o);createDate(e,i,t,o,getDateString(n),"current")}},createDatesFromNextMonth=(e,t,n,i,s)=>{const o=s+1===12?i+1:i,a=s+1===12?"01":s+2<10?`0${s+2}`:s+2;for(let s=1;s<=n;s++){const n=s<10?`0${s}`:String(s);createDate(e,i,t,s,`${o}-${a}-${n}`,"next")}},createDatesFromPrevMonth=(e,t,n,i,s)=>{let o=new Date(n,i,0).getDate()-(s-1);const a=0===i?n-1:n,l=0===i?12:i<10?`0${i}`:i;for(let i=s;i>0;i--,o++)createDate(e,n,t,o,`${a}-${l}-${o}`,"prev")},createWeekNumbers=(e,t,n,i,s)=>{if(!e.enableWeekNumbers)return;i.textContent="";const o=document.createElement("b");o.className=e.styles.weekNumbersTitle,o.innerText="#",o.dataset.vcWeekNumbers="title",i.appendChild(o);const a=document.createElement("div");a.className=e.styles.weekNumbersContent,a.dataset.vcWeekNumbers="content",i.appendChild(a);const l=document.createElement("button");l.type="button",l.className=e.styles.weekNumber;const r=s.querySelectorAll("[data-vc-date]"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,i=getWeekNumber(n,e.firstWeekday);if(!i)return;const s=l.cloneNode(!0);s.innerText=String(i.week),s.dataset.vcWeekNumber=String(i.week),s.dataset.vcWeekYear=String(i.year),s.role="rowheader",s.ariaLabel=`${i.week}`,a.appendChild(s)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc="dates"]'),i=e.context.mainElement.querySelectorAll('[data-vc-week="numbers"]');n.forEach((n,s)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=""),n.textContent="";const o=new Date(t);o.setMonth(o.getMonth()+s);const a=o.getMonth(),l=o.getFullYear(),r=(new Date(l,a,1).getDay()-e.firstWeekday+7)%7,c=new Date(l,a+1,0).getDate(),d=r+c,u=Math.ceil(d/7),h=7*u-d,m=[];for(let t=0;t<u;t++){const t=document.createElement("div");t.className=e.styles.datesRow,t.setAttribute("data-vc-dates","row"),t.setAttribute("role","row"),m.push(t)}let _=0,g=0;const E={addDate:e=>{m[_].appendChild(e),g++,g>=7&&(_++,g=0)}};createDatesFromPrevMonth(e,E,l,a,r),createDatesFromCurrentMonth(e,E,c,l,a),createDatesFromNextMonth(e,E,h,l,a);for(const e of m)n.appendChild(e);createDatePopup(e,n),createWeekNumbers(e,r,c,i[s],n)})},layoutDefault=e=>`\n <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n <#ArrowPrev [month] />\n <div class="${e.styles.headerContent}" data-vc-header="content">\n <#Month />\n <#Year />\n </div>\n <#ArrowNext [month] />\n </div>\n <div class="${e.styles.wrapper}" data-vc="wrapper">\n <#WeekNumbers />\n <div class="${e.styles.content}" data-vc="content" role="grid">\n <#Week />\n <#Dates />\n <#DateRangeTooltip />\n </div>\n </div>\n <#ControlTime />\n`,layoutMonths=e=>`\n <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n <div class="${e.styles.headerContent}" data-vc-header="content">\n <#Month />\n <#Year />\n </div>\n </div>\n <div class="${e.styles.wrapper}" data-vc="wrapper">\n <div class="${e.styles.content}" data-vc="content">\n <#Months />\n </div>\n </div>\n`,layoutMultiple=e=>`\n <div class="${e.styles.controls}" data-vc="controls" role="toolbar" aria-label="${e.labels.navigation}">\n <#ArrowPrev [month] />\n <#ArrowNext [month] />\n </div>\n <div class="${e.styles.grid}" data-vc="grid">\n <#Multiple>\n <div class="${e.styles.column}" data-vc="column" role="region">\n <div class="${e.styles.header}" data-vc="header">\n <div class="${e.styles.headerContent}" data-vc-header="content">\n <#Month />\n <#Year />\n </div>\n </div>\n <div class="${e.styles.wrapper}" data-vc="wrapper">\n <#WeekNumbers />\n <div class="${e.styles.content}" data-vc="content" role="grid">\n <#Week />\n <#Dates />\n </div>\n </div>\n </div>\n <#/Multiple>\n <#DateRangeTooltip />\n </div>\n <#ControlTime />\n`,layoutYears=e=>`\n <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n <#ArrowPrev [year] />\n <div class="${e.styles.headerContent}" data-vc-header="content">\n <#Month />\n <#Year />\n </div>\n <#ArrowNext [year] />\n </div>\n <div class="${e.styles.wrapper}" data-vc="wrapper">\n <div class="${e.styles.content}" data-vc="content">\n <#Years />\n </div>\n </div>\n`,ArrowNext=(e,t)=>`<button type="button" class="${e.styles.arrowNext}" data-vc-arrow="next" aria-label="${e.labels.arrowNext[t]}"></button>`,ArrowPrev=(e,t)=>`<button type="button" class="${e.styles.arrowPrev}" data-vc-arrow="prev" aria-label="${e.labels.arrowPrev[t]}"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class="${e.styles.time}" data-vc="time" role="group" aria-label="${e.labels.selectingTime}"></div>`:"",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class="${e.styles.dateRangeTooltip}" data-vc-date-range-tooltip="hidden"></div>`:"",Dates=e=>`<div class="${e.styles.dates}" data-vc="dates" aria-live="assertive" aria-label="${e.labels.dates}" ${"multiple"===e.type?"aria-multiselectable":""}></div>`,Month=e=>`<button type="button" class="${e.styles.month}" data-vc="month"></button>`,Months=e=>`<div class="${e.styles.months}" data-vc="months" role="grid" aria-live="assertive" aria-label="${e.labels.months}"></div>`,Week=e=>`<div class="${e.styles.week}" data-vc="week" role="row" aria-label="${e.labels.week}"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class="${e.styles.weekNumbers}" data-vc-week="numbers" role="row" aria-label="${e.labels.weekNumber}"></div>`:"",Year=e=>`<button type="button" class="${e.styles.year}" data-vc="year"></button>`,Years=e=>`<div class="${e.styles.years}" data-vc="years" role="grid" aria-live="assertive" aria-label="${e.labels.years}"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,(t,n)=>{const i=(n.match(/\[(.*?)\]/)||[])[1],s=n.replace(/[/\s\n\t]|\[(.*?)\]/g,""),o=getComponent(s),a=o?o(e,null!=i?i:null):"";return e.sanitizerHTML(a)}).replace(/[\n\t]/g,""),parseMultipleLayout=(e,t)=>t.replace(new RegExp("<#Multiple>(.*?)<#\\/Multiple>","gs"),(t,n)=>{const i=Array(e.context.displayMonthsCount).fill(n).join("");return e.sanitizerHTML(i)}).replace(/[\n\t]/g,""),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach(t=>{const i=t;e.layouts[i].length||(e.layouts[i]=n[i](e))}),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc="calendar",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role="application",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,"multiple"!==e.context.currentType){if("multiple"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc="controls"]'),i=e.context.mainElement.querySelector('[data-vc="grid"]'),s=t.closest('[data-vc="column"]');return n&&n.remove(),i&&(i.dataset.vcGrid="hidden"),s&&(s.dataset.vcColumn=e.context.currentType),void(s&&(s.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,i)=>{e.style.visibility=n?"hidden":"",t.style.visibility=i?"hidden":""},handleDefaultType=(e,t,n)=>{const i=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),s=new Date(i.getTime()),o=new Date(i.getTime());s.setMonth(s.getMonth()-e.monthsToSwitch),o.setMonth(o.getMonth()+e.monthsToSwitch);const a=getDate(e.context.dateMin),l=getDate(e.context.dateMax);e.selectionYearsMode||(a.setFullYear(i.getFullYear()),l.setFullYear(i.getFullYear()));const r=!e.selectionMonthsMode||s.getFullYear()<a.getFullYear()||s.getFullYear()===a.getFullYear()&&s.getMonth()<a.getMonth(),c=!e.selectionMonthsMode||o.getFullYear()>l.getFullYear()||o.getFullYear()===l.getFullYear()&&o.getMonth()>l.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const i=getDate(e.context.dateMin),s=getDate(e.context.dateMax),o=!!(i.getFullYear()&&e.context.displayYear-7<=i.getFullYear()),a=!!(s.getFullYear()&&e.context.displayYear+7>=s.getFullYear());setVisibilityArrows(t,n,o,a)},visibilityArrows=e=>{if("month"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow="prev"]'),n=e.context.mainElement.querySelector('[data-vc-arrow="next"]');t&&n&&{default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)}["multiple"===e.context.currentType?"default":e.context.currentType]()},visibilityHandler=(e,t,n,i,s)=>{const o=new Date(i.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),a=new Date(i.setMonth(e.context.selectedMonth+n)).getMonth(),l=e.context.locale.months.long[a],r=t.closest('[data-vc="column"]');r&&(r.ariaLabel=`${l} ${o}`);const c={month:{id:a,label:l},year:{id:o,label:o}};t.innerText=String(c[s].label),t.dataset[`vc${s.charAt(0).toUpperCase()+s.slice(1)}`]=String(c[s].id),t.ariaLabel=`${e.labels[s]} ${c[s].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[s]||"only-arrows"===d[s];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc="month"]'),n=e.context.mainElement.querySelectorAll('[data-vc="year"]'),i=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach(t=>null==t?void 0:t.forEach((t,n)=>visibilityHandler(e,t,n,i,t.dataset.vc)))},setYearModifier=(e,t,n,i,s)=>{var o;const a={month:{selected:"data-vc-months-month-selected",aria:"aria-selected",value:"vcMonthsMonth",selectedProperty:"selectedMonth"},year:{selected:"data-vc-years-year-selected",aria:"aria-selected",value:"vcYearsYear",selectedProperty:"selectedYear"}};s&&(null==(o=e.context.mainElement.querySelectorAll({month:"[data-vc-months-month]",year:"[data-vc-years-year]"}[n]))||o.forEach(e=>{e.removeAttribute(a[n].selected),e.removeAttribute(a[n].aria)}),setContext(e,a[n].selectedProperty,Number(t.dataset[a[n].value])),visibilityTitle(e),"year"===n&&visibilityArrows(e)),i&&(t.setAttribute(a[n].selected,""),t.setAttribute(a[n].aria,"true"))},getColumnID=(e,t)=>{var n;if("multiple"!==e.type)return{currentValue:null,columnID:0};const i=e.context.mainElement.querySelectorAll('[data-vc="column"]'),s=Array.from(i).findIndex(e=>e.closest(`[data-vc-column="${t}"]`));return{currentValue:s>=0?Number(null==(n=i[s].querySelector(`[data-vc="${t}"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(s,0)}},createMonthEl=(e,t,n,i,s,o,a)=>{const l=t.cloneNode(!1);return l.className=e.styles.monthsMonth,l.innerText=i,l.ariaLabel=s,l.role="gridcell",l.dataset.vcMonthsMonth=`${a}`,o&&(l.ariaDisabled="true"),o&&(l.tabIndex=-1),l.disabled=o,setYearModifier(e,l,"month",n===a,!1),l},createMonths=(e,t)=>{var n,i;const s=null==(n=null==t?void 0:t.closest('[data-vc="header"]'))?void 0:n.querySelector('[data-vc="year"]'),o=s?Number(s.dataset.vcYear):e.context.selectedYear,a=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,"currentType","month"),createLayouts(e,t),visibilityTitle(e);const l=e.context.mainElement.querySelector('[data-vc="months"]');if(!e.selectionMonthsMode||!l)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map((t,n)=>a-e.monthsToSwitch*n).concat(e.context.locale.months.long.map((t,n)=>a+e.monthsToSwitch*n)).filter(e=>e>=0&&e<=12):Array.from(Array(12).keys()),c=document.createElement("button");c.type="button";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),i=getDate(e.context.dateMax),s=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,"month"),u=o<=n.getFullYear()&&t<n.getMonth()+d||o>=i.getFullYear()&&t>i.getMonth()-s+d||o>i.getFullYear()||t!==a&&!r.includes(t),h=createMonthEl(e,c,a,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);l.appendChild(h),e.onCreateMonthEls&&e.onCreateMonthEls(e,h)}null==(i=e.context.mainElement.querySelector("[data-vc-months-month]:not([disabled])"))||i.focus()},TimeInput=(e,t,n,i,s)=>`\n <label class="${t}" data-vc-time-input="${e}">\n <input type="text" name="${e}" maxlength="2" aria-label="${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}" value="${i}" ${s?"disabled":""}>\n </label>\n`,TimeRange=(e,t,n,i,s,o,a)=>`\n <label class="${t}" data-vc-time-range="${e}">\n <input type="range" name="${e}" min="${i}" max="${s}" step="${o}" aria-label="${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}" value="${a}">\n </label>\n`,handleActions=(e,t,n,i)=>{({hour:()=>setContext(e,"selectedHours",n),minute:()=>setContext(e,"selectedMinutes",n)})[i](),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:""}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:"00",PM:"12"},1:{AM:"01",PM:"13"},2:{AM:"02",PM:"14"},3:{AM:"03",PM:"15"},4:{AM:"04",PM:"16"},5:{AM:"05",PM:"17"},6:{AM:"06",PM:"18"},7:{AM:"07",PM:"19"},8:{AM:"08",PM:"20"},9:{AM:"09",PM:"21"},10:{AM:"10",PM:"22"},11:{AM:"11",PM:"23"},12:{AM:"00",PM:"12"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,i,s)=>{const o=o=>{const a="AM"===e.context.selectedKeeping?"PM":"AM",l=transformTime24(e.context.selectedHours,a);Number(l)<=i&&Number(l)>=s?(setContext(e,"selectedKeeping",a),n.value=l,handleActions(e,o,e.context.selectedHours,"hour"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,o,!0)};return t.addEventListener("click",o),()=>{t.removeEventListener("click",o)}},transformTime12=e=>({0:"12",13:"01",14:"02",15:"03",16:"04",17:"05",18:"06",19:"07",20:"08",21:"09",22:"10",23:"11"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,i)=>{e.value=n,t.value=i},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,"selectedKeeping",n),t.innerText=n)},handleInput$1=(e,t,n,i,s,o,a)=>{const l={hour:(l,r,c)=>{e.selectionTimeMode&&{12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=o&&d>=a))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),l>12&&updateKeepingTime$1(e,i,"PM"),handleActions(e,c,transformTime12(r),s)},24:()=>{if(!(l<=o&&l>=a))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,s)}}[e.selectionTimeMode]()},minute:(i,l,r)=>{if(!(i<=o&&i>=a))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=l,t.value=l,handleActions(e,r,l,s)}},r=e=>{const t=Number(n.value),i=n.value.padStart(2,"0");l[s]&&l[s](t,i,e)};return n.addEventListener("change",r),()=>{n.removeEventListener("change",r)}},updateInputAndTime=(e,t,n,i,s)=>{t.value=s,handleActions(e,n,s,i)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,"selectedKeeping",n),t.innerText=n)},handleRange=(e,t,n,i,s)=>{const o=o=>{const a=Number(t.value),l=t.value.padStart(2,"0"),r="hour"===s,c=24===e.selectionTimeMode,d=a>0&&a<12;r&&!c&&updateKeepingTime(e,i,0===a||d?"AM":"PM"),updateInputAndTime(e,n,o,s,!r||c||d?l:transformTime12(t.value))};return t.addEventListener("input",o),()=>{t.removeEventListener("input",o)}},handleMouseOver=e=>e.setAttribute("data-vc-input-focus",""),handleMouseOut=e=>e.removeAttribute("data-vc-input-focus"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range="hour"] input[name="hour"]'),i=t.querySelector('[data-vc-time-range="minute"] input[name="minute"]'),s=t.querySelector('[data-vc-time-input="hour"] input[name="hour"]'),o=t.querySelector('[data-vc-time-input="minute"] input[name="minute"]'),a=t.querySelector('[data-vc-time="keeping"]');if(!(n&&i&&s&&o))return;const l=e=>{e.target===n&&handleMouseOver(s),e.target===i&&handleMouseOver(o)},r=e=>{e.target===n&&handleMouseOut(s),e.target===i&&handleMouseOut(o)};return t.addEventListener("mouseover",l),t.addEventListener("mouseout",r),handleInput$1(e,n,s,a,"hour",e.timeMaxHour,e.timeMinHour),handleInput$1(e,i,o,a,"minute",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,s,a,"hour"),handleRange(e,i,o,a,"minute"),a&&handleClickKeepingTime(e,a,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener("mouseover",l),t.removeEventListener("mouseout",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc="time"]');if(!e.selectionTimeMode||!t)return;const[n,i]=[e.timeMinHour,e.timeMaxHour],[s,o]=[e.timeMinMinute,e.timeMaxMinute],a=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,l="range"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\n <div class="${e.styles.timeContent}" data-vc-time="content">\n ${TimeInput("hour",e.styles.timeHour,e.labels,e.context.selectedHours,l)}\n ${TimeInput("minute",e.styles.timeMinute,e.labels,e.context.selectedMinutes,l)}\n ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type="button" class="${e.styles.timeKeeping}" aria-label="${e.labels.btnKeeping} ${r}" data-vc-time="keeping" ${l?"disabled":""}>${r}</button>`):""}\n </div>\n <div class="${e.styles.timeRanges}" data-vc-time="ranges">\n ${TimeRange("hour",e.styles.timeRange,e.labels,n,i,e.timeStepHour,a)}\n ${TimeRange("minute",e.styles.timeRange,e.labels,s,o,e.timeStepMinute,e.context.selectedMinutes)}\n </div>\n `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce((n,i,s)=>[...n,{id:s,titleShort:e.context.locale.weekdays.short[s],titleLong:i,isWeekend:t.includes(s)}],[]),i=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc="week"]').forEach(t=>{const n=e.onClickWeekDay?document.createElement("button"):document.createElement("b");e.onClickWeekDay&&(n.type="button"),i.forEach(i=>{const s=n.cloneNode(!0);s.innerText=i.titleShort,s.className=e.styles.weekDay,s.role="columnheader",s.ariaLabel=i.titleLong,s.dataset.vcWeekDay=String(i.id),i.isWeekend&&(s.dataset.vcWeekDayOff=""),t.appendChild(s)})})},createYearEl=(e,t,n,i,s)=>{const o=t.cloneNode(!1);return o.className=e.styles.yearsYear,o.innerText=String(s),o.ariaLabel=String(s),o.role="gridcell",o.dataset.vcYearsYear=`${s}`,i&&(o.ariaDisabled="true"),i&&(o.tabIndex=-1),o.disabled=i,setYearModifier(e,o,"year",n===s,!1),o},createYears=(e,t)=>{var n;const i=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,"currentType","year"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const s=e.context.mainElement.querySelector('[data-vc="years"]');if(!e.selectionYearsMode||!s)return;const o="multiple"!==e.type||e.context.selectedYear===i?0:1,a=document.createElement("button");a.type="button";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+o||t>getDate(e.context.dateMax).getFullYear(),l=createYearEl(e,a,i,n,t);s.appendChild(l),e.onCreateYearEls&&e.onCreateYearEls(e,l)}null==(n=e.context.mainElement.querySelector("[data-vc-years-year]:not([disabled])"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver(e=>{for(let i=0;i<e.length;i++)if(e[i].attributeName===t){n();break}}).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?"dark":"light"),"system"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc="calendar"]');null==t||t.forEach(t=>setTheme(t,e.matches?"dark":"light"))};t.addEventListener?t.addEventListener("change",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,i=e.themeAttrDetect.replace(/^.*\[(.+)\]/g,(e,t)=>t);if(!n||"system"===n.getAttribute(i))return void trackChangesThemeInSystemSettings(e,t);const s=n.getAttribute(i);s?(setTheme(e.context.mainElement,s),trackChangesHTMLElement(n,i,()=>{const t=n.getAttribute(i);t&&setTheme(e.context.mainElement,t)})):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{"not all"!==window.matchMedia("(prefers-color-scheme)").media?"system"===e.selectedTheme?detectTheme(e,window.matchMedia("(prefers-color-scheme: dark)")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,"light")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\./,""),getLocaleWeekday=(e,t,n)=>{const i=new Date(`1978-01-0${t+1}T00:00:00.000Z`),s=i.toLocaleString(n,{weekday:"short",timeZone:"UTC"}),o=i.toLocaleString(n,{weekday:"long",timeZone:"UTC"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(s)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(o))},getLocaleMonth=(e,t,n)=>{const i=new Date(`1978-${String(t+1).padStart(2,"0")}-01T00:00:00.000Z`),s=i.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=i.toLocaleString(n,{month:"long",timeZone:"UTC"});e.context.locale.months.short.push(capitalizeFirstLetter(s)),e.context.locale.months.long.push(capitalizeFirstLetter(o))},getLocale=e=>{var t,n,i,s,o,a,l,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if("string"==typeof e.locale){if("string"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},(t,n)=>getLocaleWeekday(e,n,e.locale)),Array.from({length:12},(t,n)=>getLocaleMonth(e,n,e.locale))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(s=null==(i=e.locale)?void 0:i.weekdays)?void 0:s.long[6])&&(null==(a=null==(o=e.locale)?void 0:o.months)?void 0:a.short[11])&&(null==(r=null==(l=e.locale)?void 0:l.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,"locale",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const i=t.target;if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key)||"button"!==i.localName)return;const s=Array.from(e.context.mainElement.querySelectorAll('[data-vc="calendar"] button')),o=s.indexOf(i);if(-1===o)return;const a=(l=s[o]).hasAttribute("data-vc-date-btn")?7:l.hasAttribute("data-vc-months-month")?4:l.hasAttribute("data-vc-years-year")?5:1;var l;const r=(0,{ArrowUp:()=>Math.max(0,o-a),ArrowDown:()=>Math.min(s.length-1,o+a),ArrowLeft:()=>Math.max(0,o-1),ArrowRight:()=>Math.min(s.length-1,o+1)}[t.key])();null==(n=s[r])||n.focus()};return e.context.mainElement.addEventListener("keydown",t),()=>e.context.mainElement.removeEventListener("keydown",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,"selectedMonth",n.getMonth()),setContext(e,"selectedYear",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest("[data-vc-arrow]");if(n){if(["default","multiple"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if("year"===e.context.currentType&&void 0!==e.context.displayYear){const i={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,"displayYear",e.context.displayYear+i),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},resolveToggle=(e,t)=>void 0===t||("function"==typeof t?t(e):t),canToggleSelection=e=>resolveToggle(e,e.enableDateToggle),handleSelectDate=(e,t,n)=>{const i=t.dataset.vcDate,s=t.closest("[data-vc-date][data-vc-date-selected]"),o=canToggleSelection(e);if(s&&!o)return;const a=s?e.context.selectedDates.filter(e=>e!==i):n?[...e.context.selectedDates,i]:[i];setContext(e,"selectedDates",a)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip="hidden",void(t.textContent="");const i=e.context.mainElement.getBoundingClientRect(),s=n.getBoundingClientRect();t.style.left=s.left-i.left+s.width/2+"px",t.style.top=s.bottom-i.top-s.height+"px",t.dataset.vcDateRangeTooltip="visible",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,s,i))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var i,s,o;if(!(null==(s=null==(i=state.self)?void 0:i.context)?void 0:s.selectedDates[0]))return;const a=getDateString(e);(null==(o=state.self.context.disableDates)?void 0:o.includes(a))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date="${a}"]`).forEach(e=>e.dataset.vcDateHover=""),t.forEach(e=>e.dataset.vcDateHover="first"),n.forEach(e=>{"first"===e.dataset.vcDateHover?e.dataset.vcDateHover="first-and-last":e.dataset.vcDateHover="last"}))},removeHoverEffect=()=>{var e,t;(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement)&&state.self.context.mainElement.querySelectorAll("[data-vc-date-hover]").forEach(e=>e.removeAttribute("data-vc-date-hover"))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc="dates"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const i=e.closest("[data-vc-date]");if(!i||state.lastDateEl===i)return;state.lastDateEl=i,createDateRangeTooltip(state.self,state.tooltipEl,i),removeHoverEffect();const s=i.dataset.vcDate,o=getDate(state.self.context.selectedDates[0]),a=getDate(s),l=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${state.self.context.selectedDates[0]}"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${s}"]`),[c,d]=o<a?[l,r]:[r,l],[u,h]=o<a?[o,a]:[a,o];for(let e=new Date(u);e<=h;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest("[data-vc-date-selected]");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame(()=>{e(n),state.isHovering=!1}))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&"Escape"===e.key&&(state.lastDateEl=null,setContext(state.self,"selectedDates",[]),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout(()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()},50)},updateDisabledDates=()=>{var e,t,n,i;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(i=state.self.context.disableDates)?void 0:i[0]))return;const s=getDate(state.self.context.selectedDates[0]),[o,a]=state.self.context.disableDates.map(e=>getDate(e)).reduce(([e,t],n)=>[s>=n?n:e,s<n&&null===t?n:t],[null,null]);o&&setContext(state.self,"displayDateMin",getDateString(new Date(o.setDate(o.getDate()+1)))),a&&setContext(state.self,"displayDateMax",getDateString(new Date(a.setDate(a.getDate()-1)))),state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,"displayDateMin",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector("[data-vc-date-range-tooltip]"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),i=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,"selectedDates",i),e.context.selectedDates.length>1&&e.context.selectedDates.sort((e,t)=>+new Date(e)-+new Date(t))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.addEventListener("keydown",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates)}),reset:()=>{const[n,i]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],s=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],o=parseDates([`${n}:${i}`]).filter(t=>!e.context.disableDates.includes(t)),a=s?e.enableEdgeDatesOnly?[n,i]:o:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,"selectedDates",a),e.disableDatesGaps&&(setContext(e,"displayDateMin",state.rangeMin),setContext(e,"displayDateMax",state.rangeMax)),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave)}}})[1===e.context.selectedDates.length?"set":"reset"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll("[data-vc-date]").forEach(t=>{const n=t.querySelector("[data-vc-date-btn]"),i=t.dataset.vcDate,s=getDate(i).getDay();setDateModifier(e,e.context.selectedYear,t,n,s,i,"current")})},handleClickDate=(e,t)=>{var n;const i=t.target,s=i.closest("[data-vc-date-btn]");if(!e.selectionDatesMode||!["single","multiple","multiple-ranged"].includes(e.selectionDatesMode)||!s)return;const o=s.closest("[data-vc-date]");({single:()=>handleSelectDate(e,o,!1),multiple:()=>handleSelectDate(e,o,!0),"multiple-ranged":()=>handleSelectDateRange(e,o)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort((e,t)=>+new Date(e)-+new Date(t)),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const a=i.closest('[data-vc-date-month="prev"]'),l=i.closest('[data-vc-date-month="next"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"prev"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"next"):updateDateModifier(e),current:()=>updateDateModifier(e)})[a?"prev":l?"next":"current"]()},typeClick=["month","year"],getValue=(e,t,n)=>{const{currentValue:i,columnID:s}=getColumnID(e,t);return"month"===e.context.currentType&&s>=0?n-s:"year"===e.context.currentType&&e.context.selectedYear!==i?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,"year",Number(t.dataset.vcYearsYear)),i=getDate(e.context.dateMin),s=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:a}=getColumnID(e,"year"),l=e.context.selectedMonth<i.getMonth()&&n<=i.getFullYear(),r=e.context.selectedMonth>s.getMonth()-o+a&&n>=s.getFullYear(),c=n<i.getFullYear(),d=n>s.getFullYear(),u=l||c?i.getFullYear():r||d?s.getFullYear():n,h=l||c?i.getMonth():r||d?s.getMonth()-o+a:e.context.selectedMonth;setContext(e,"selectedYear",u),setContext(e,"selectedMonth",h)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column="month"]').querySelector('[data-vc="year"]'),i=getValue(e,"month",Number(t.dataset.vcMonthsMonth)),s=Number(n.dataset.vcYear),o=getDate(e.context.dateMin),a=getDate(e.context.dateMax),l=i<o.getMonth()&&s<=o.getFullYear(),r=i>a.getMonth()&&s>=a.getFullYear();setContext(e,"selectedYear",s),setContext(e,"selectedMonth",l?o.getMonth():r?a.getMonth():i)},handleItemClick=(e,t,n,i)=>{var s;({year:()=>{if("multiple"===e.type)return handleMultipleYearSelection(e,i);setContext(e,"selectedYear",Number(i.dataset.vcYearsYear))},month:()=>{if("multiple"===e.type)return handleMultipleMonthSelection(e,i);setContext(e,"selectedMonth",Number(i.dataset.vcMonthsMonth))}})[n](),{year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}}[n](),e.context.currentType!==e.type?(setContext(e,"currentType",e.type),create(e),null==(s=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||s.focus()):setYearModifier(e,i,n,!0,!0)},handleClickType=(e,t,n)=>{var i;const s=t.target,o=s.closest(`[data-vc="${n}"]`),a={year:()=>createYears(e,s),month:()=>createMonths(e,s)};if(o&&e.onClickTitle&&e.onClickTitle(e,t),o&&e.context.currentType!==n)return a[n]();const l=s.closest(`[data-vc-${n}s-${n}]`);if(l)return handleItemClick(e,t,n,l);const r=s.closest('[data-vc="grid"]'),c=s.closest('[data-vc="column"]');(e.context.currentType===n&&o||"multiple"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,"currentType",e.type),create(e),null==(i=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||i.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach(i=>{n[i]&&t.target&&handleClickType(e,t,i)})},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest("[data-vc-week-number]"),i=e.context.mainElement.querySelectorAll("[data-vc-date-week-number]");if(!n||!i[0])return;const s=Number(n.innerText),o=Number(n.dataset.vcWeekYear),a=Array.from(i).filter(e=>Number(e.dataset.vcDateWeekNumber)===s);e.onClickWeekNumber(e,s,o,a,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest("[data-vc-week-day]"),i=t.target.closest('[data-vc="column"]'),s=i?i.querySelectorAll("[data-vc-date-week-day]"):e.context.mainElement.querySelectorAll("[data-vc-date-week-day]");if(!n||!s[0])return;const o=Number(n.dataset.vcWeekDay),a=Array.from(s).filter(e=>Number(e.dataset.vcDateWeekDay)===o);e.onClickWeekDay(e,o,a,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener("click",t),()=>e.context.mainElement.removeEventListener("click",t)},initMonthsCount=e=>{if("multiple"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if("multiple"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,"displayMonthsCount",e.displayMonthsCount?e.displayMonthsCount:"multiple"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>"today"===e?getLocalDate():e instanceof Date||"number"==typeof e||"string"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,i;const s=resolveDate(e.dateMin,e.dateMin),o=resolveDate(e.dateMax,e.dateMax),a=resolveDate(e.displayDateMin,s),l=resolveDate(e.displayDateMax,o);setContext(e,"dateToday",resolveDate(e.dateToday,e.dateToday)),setContext(e,"displayDateMin",a?getDate(s)>=getDate(a)?s:a:s),setContext(e,"displayDateMax",l?getDate(o)<=getDate(l)?o:l:o);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(a)<getDate(e.context.dateToday);setContext(e,"displayDateMin",r||e.disableAllDates?e.context.dateToday:a),setContext(e,"displayDateMax",e.disableAllDates?e.context.dateToday:l),setContext(e,"disableDates",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort((e,t)=>+new Date(e)-+new Date(t)),setContext(e,"enableDates",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,"disableDates",e.context.disableDates.filter(t=>!e.context.enableDates.includes(t))),e.context.enableDates.length>1&&e.context.enableDates.sort((e,t)=>+new Date(e)-+new Date(t)),(null==(i=e.context.enableDates)?void 0:i[0])&&e.disableAllDates&&(setContext(e,"displayDateMin",e.context.enableDates[0]),setContext(e,"displayDateMax",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,"dateMin",e.displayDisabledDates?s:e.context.displayDateMin),setContext(e,"dateMax",e.displayDisabledDates?o:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,"selectedDates",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&"today"!==e.displayDateMin&&(n=e.displayDateMin,i=new Date,new Date(n).getTime()>i.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,i;if(e.displayDateMax&&"today"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,"selectedMonth",t),setContext(e,"selectedYear",n),setContext(e,"displayYear",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,i=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),i?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,i;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const s=12===e.selectionTimeMode,o=s?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[a,l,r]=null!=(i=null==(n=null==(t=e.selectedTime)?void 0:t.match(o))?void 0:n.slice(1))?i:[];a?s&&!r&&(r="AM"):(a=s?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),l=String(e.timeMinMinute),r=s?Number(transformTime12(String(e.timeMinHour)))>=12?"PM":"AM":null),setContext(e,"selectedHours",a.padStart(2,"0")),setContext(e,"selectedMinutes",l.padStart(2,"0")),setContext(e,"selectedKeeping",r),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:""}`)},initAllVariables=e=>{setContext(e,"currentType",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:i,time:s,locale:o},a=!0)=>{var l;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=s?r.time:e.context.selectedTime,e.selectedDates="only-first"===i&&(null==(l=e.context.selectedDates)?void 0:l[0])?[e.context.selectedDates[0]]:!0===i?r.dates:e.context.selectedDates,o&&setContext(e,"locale",{months:{short:[],long:[]},weekdays:{short:[],long:[]}}),initAllVariables(e),a&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,"multiple-ranged"===e.selectionDatesMode&&i&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement("div");return t.className=e.styles.calendar,t.dataset.vc="calendar",t.dataset.vcInput="",t.dataset.vcCalendarHidden="",setContext(e,"inputModeInit",!0),setContext(e,"isShowInInputMode",!1),setContext(e,"mainElement",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout(()=>show(e)),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},canOpenOnFocus=e=>resolveToggle(e,e.openOnFocus),handleInput=e=>{setContext(e,"inputElement",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout(()=>show(e)):createToInput(e)};e.context.inputElement.addEventListener("click",t);const n="function"==typeof e.openOnFocus||!0===e.openOnFocus,i=()=>{shouldSkipOpenOnFocus(e)?clearSkipOpenOnFocus(e):canOpenOnFocus(e)&&t()};n&&e.context.inputElement.addEventListener("focus",i);const s=t=>{const n="Tab"===t.key&&!t.shiftKey,i=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key);(n||i)&&(t=>{var n;if(!e.context.isShowInInputMode)return!1;if(document.activeElement!==e.context.inputElement)return!1;const i=e=>e.tabIndex>=0&&!e.hasAttribute("disabled")&&"true"!==e.getAttribute("aria-disabled"),s=null!=(n=document.createTreeWalker(e.context.mainElement,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>i(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}).nextNode())?n:i(e.context.mainElement)?e.context.mainElement:null;!s||s.tabIndex<0||(t.preventDefault(),s.focus())})(t)};return e.context.inputElement.addEventListener("keydown",s),()=>{e.context.inputElement.removeEventListener("click",t),n&&e.context.inputElement.removeEventListener("focus",i),e.context.inputElement.removeEventListener("keydown",s)}},init=e=>(setContext(e,"originalElement",e.context.mainElement.cloneNode(!0)),setContext(e,"isInit",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let i=0;i<n.length;i++){const s=n[i];"object"!=typeof e[s]||"object"!=typeof t[s]||t[s]instanceof Date||Array.isArray(t[s])?void 0!==t[s]&&(e[s]=t[s]):replaceProperties(e[s],t[s])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n="left";if(!t||!e)return n;const{canShow:i,parentPositions:s}=getAvailablePosition(e,t),o=i.left&&i.right;return(o&&i.bottom?"center":o&&i.top?["top","center"]:Array.isArray(s)?["bottom"===s[0]?"top":"bottom",...s.slice(1)]:s)||n}const setPosition=(e,t,n)=>{if(!e)return;const i="auto"===n?findBestPickerPosition(e,t):n,s={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},o=Array.isArray(i)?i[0]:"bottom",a=Array.isArray(i)?i[1]:i;t.dataset.vcPosition=o;const{top:l,left:r}=getOffset(e),c=l+s[o];let d=r+s[a];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,"cleanupHandlers",[]),setContext(e,"isShowInInputMode",!0),e.inputMode&&restoreTabbing(e.context.mainElement),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute("data-vc-calendar-hidden");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener("resize",t),e.context.cleanupHandlers.push(()=>window.removeEventListener("resize",t));const n=t=>{"Escape"===t.key&&hide(e)};document.addEventListener("keydown",n),e.context.cleanupHandlers.push(()=>document.removeEventListener("keydown",n));const i=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener("click",i,{capture:!0}),e.context.cleanupHandlers.push(()=>document.removeEventListener("click",i,{capture:!0})),e.onShow&&e.onShow(e)},labels={application:"Calendar",navigation:"Calendar Navigation",arrowNext:{month:"Next month",year:"Next list of years"},arrowPrev:{month:"Previous month",year:"Previous list of years"},month:"Select month, current selected month:",months:"List of months",year:"Select year, current selected year:",years:"List of years",week:"Days of the week",weekNumber:"Numbers of weeks in a year",dates:"Dates in the current month",selectingTime:"Selecting a time ",inputHour:"Hours",inputMinute:"Minutes",rangeHour:"Slider for selecting hours",rangeMinute:"Slider for selecting minutes",btnKeeping:"Switch AM/PM, current position:"},styles={calendar:"vc",controls:"vc-controls",grid:"vc-grid",column:"vc-column",header:"vc-header",headerContent:"vc-header__content",month:"vc-month",year:"vc-year",arrowPrev:"vc-arrow vc-arrow_prev",arrowNext:"vc-arrow vc-arrow_next",wrapper:"vc-wrapper",content:"vc-content",months:"vc-months",monthsMonth:"vc-months__month",years:"vc-years",yearsYear:"vc-years__year",week:"vc-week",weekDay:"vc-week__day",weekNumbers:"vc-week-numbers",weekNumbersTitle:"vc-week-numbers__title",weekNumbersContent:"vc-week-numbers__content",weekNumber:"vc-week-number",dates:"vc-dates",datesRow:"vc-dates__row",date:"vc-date",dateBtn:"vc-date__btn",datePopup:"vc-date__popup",dateRangeTooltip:"vc-date-range-tooltip",time:"vc-time",timeContent:"vc-time__content",timeHour:"vc-time__hour",timeMinute:"vc-time__minute",timeKeeping:"vc-time__keeping",timeRanges:"vc-time__ranges",timeRange:"vc-time__range"};class OptionsCalendar{constructor(){__publicField(this,"type","default"),__publicField(this,"inputMode",!1),__publicField(this,"openOnFocus",!0),__publicField(this,"positionToInput","left"),__publicField(this,"firstWeekday",1),__publicField(this,"monthsToSwitch",1),__publicField(this,"themeAttrDetect","html[data-theme]"),__publicField(this,"locale","en"),__publicField(this,"dateToday","today"),__publicField(this,"dateMin","1970-01-01"),__publicField(this,"dateMax","2470-12-31"),__publicField(this,"displayDateMin"),__publicField(this,"displayDateMax"),__publicField(this,"displayDatesOutside",!0),__publicField(this,"displayDisabledDates",!1),__publicField(this,"displayMonthsCount"),__publicField(this,"disableDates",[]),__publicField(this,"disableAllDates",!1),__publicField(this,"disableDatesPast",!1),__publicField(this,"disableDatesGaps",!1),__publicField(this,"disableWeekdays",[]),__publicField(this,"disableToday",!1),__publicField(this,"enableDates",[]),__publicField(this,"enableEdgeDatesOnly",!0),__publicField(this,"enableDateToggle",!0),__publicField(this,"enableWeekNumbers",!1),__publicField(this,"enableMonthChangeOnDayClick",!0),__publicField(this,"enableJumpToSelectedDate",!1),__publicField(this,"selectionDatesMode","single"),__publicField(this,"selectionMonthsMode",!0),__publicField(this,"selectionYearsMode",!0),__publicField(this,"selectionTimeMode",!1),__publicField(this,"selectedDates",[]),__publicField(this,"selectedMonth"),__publicField(this,"selectedYear"),__publicField(this,"selectedHolidays",[]),__publicField(this,"selectedWeekends",[0,6]),__publicField(this,"selectedTime"),__publicField(this,"selectedTheme","system"),__publicField(this,"timeMinHour",0),__publicField(this,"timeMaxHour",23),__publicField(this,"timeMinMinute",0),__publicField(this,"timeMaxMinute",59),__publicField(this,"timeControls","all"),__publicField(this,"timeStepHour",1),__publicField(this,"timeStepMinute",1),__publicField(this,"sanitizerHTML",e=>e),__publicField(this,"onClickDate"),__publicField(this,"onClickWeekDay"),__publicField(this,"onClickWeekNumber"),__publicField(this,"onClickTitle"),__publicField(this,"onClickMonth"),__publicField(this,"onClickYear"),__publicField(this,"onClickArrow"),__publicField(this,"onChangeTime"),__publicField(this,"onChangeToInput"),__publicField(this,"onCreateDateRangeTooltip"),__publicField(this,"onCreateDateEls"),__publicField(this,"onCreateMonthEls"),__publicField(this,"onCreateYearEls"),__publicField(this,"onInit"),__publicField(this,"onUpdate"),__publicField(this,"onDestroy"),__publicField(this,"onShow"),__publicField(this,"onHide"),__publicField(this,"popups",{}),__publicField(this,"labels",__spreadValues({},labels)),__publicField(this,"layouts",{default:"",multiple:"",month:"",year:""}),__publicField(this,"styles",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var i;super(),__publicField(this,"init",()=>init(this)),__publicField(this,"update",e=>update(this,e)),__publicField(this,"destroy",()=>destroy(this)),__publicField(this,"show",()=>show(this)),__publicField(this,"hide",()=>hide(this)),__publicField(this,"set",(e,t)=>set(this,e,t)),__publicField(this,"context"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,"mainElement","string"==typeof t?null!=(i=e.memoizedElements.get(t))?i:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,"memoizedElements",new Map);let Calendar=_Calendar;const NAME$f="datepicker",DATA_KEY$b="bs.datepicker",EVENT_KEY$b=`.${DATA_KEY$b}`,DATA_API_KEY$6=".data-api",EVENT_CHANGE$1=`change${EVENT_KEY$b}`,EVENT_SHOW$5=`show${EVENT_KEY$b}`,EVENT_SHOWN$5=`shown${EVENT_KEY$b}`,EVENT_HIDE$5=`hide${EVENT_KEY$b}`,EVENT_HIDDEN$5=`hidden${EVENT_KEY$b}`,EVENT_CLICK_DATA_API$3=`click${EVENT_KEY$b}.data-api`,EVENT_FOCUSIN_DATA_API=`focusin${EVENT_KEY$b}.data-api`,SELECTOR_DATA_TOGGLE$6='[data-bs-toggle="datepicker"]',HIDE_DELAY=100,Default$e={datepickerTheme:null,dateMin:null,dateMax:null,dateFormat:null,displayElement:null,displayMonthsCount:1,firstWeekday:1,inline:!1,locale:"default",positionElement:null,selectedDates:[],selectionMode:"single",placement:"left",vcpOptions:{}},DefaultType$e={datepickerTheme:"(null|string)",dateMin:"(null|string|number|object)",dateMax:"(null|string|number|object)",dateFormat:"(null|object|function)",displayElement:"(null|string|element|boolean)",displayMonthsCount:"number",firstWeekday:"number",inline:"boolean",locale:"string",positionElement:"(null|string|element)",selectedDates:"array",selectionMode:"string",placement:"string",vcpOptions:"object"};class Datepicker extends BaseComponent{constructor(e,t){super(e,t),this._calendar=null,this._isShown=!1,this._initCalendar()}static get Default(){return Default$e}static get DefaultType(){return DefaultType$e}static get NAME(){return NAME$f}toggle(){if(!this._config.inline)return this._isShown?this.hide():this.show()}show(){this._config.inline||!this._calendar||isDisabled(this._element)||this._isShown||EventHandler.trigger(this._element,EVENT_SHOW$5).defaultPrevented||(this._calendar.show(),this._isShown=!0,EventHandler.trigger(this._element,EVENT_SHOWN$5))}hide(){this._config.inline||this._calendar&&this._isShown&&(EventHandler.trigger(this._element,EVENT_HIDE$5).defaultPrevented||(this._calendar.hide(),this._isShown=!1,EventHandler.trigger(this._element,EVENT_HIDDEN$5)))}dispose(){this._themeObserver&&(this._themeObserver.disconnect(),this._themeObserver=null),this._calendar&&this._calendar.destroy(),this._calendar=null,super.dispose()}getSelectedDates(){const e=this._calendar?.context?.selectedDates;return e?[...e]:[]}setSelectedDates(e){this._calendar&&this._calendar.set({selectedDates:e})}_initCalendar(){this._isInput="INPUT"===this._element.tagName,this._isInline=this._config.inline,this._isInline&&!this._isInput&&(this._boundInput=this._element.querySelector('input[type="hidden"], input[name]')),this._positionElement=this._resolvePositionElement(),this._displayElement=this._resolveDisplayElement();const e=this._buildCalendarOptions();this._calendar=new Calendar(this._positionElement,e),this._calendar.init(),this._setupThemeObserver(),this._isInput&&this._element.value&&this._parseInputValue(),this._updateDisplayWithSelectedDates()}_updateDisplayWithSelectedDates(){const{selectedDates:e}=this._config;if(!e||0===e.length)return;const t=this._formatDateForInput(e);this._isInput&&(this._element.value=t),this._boundInput&&(this._boundInput.value=e.join(",")),this._displayElement&&(this._displayElement.textContent=t)}_resolvePositionElement(){let{positionElement:e}=this._config;if("string"==typeof e&&(e=document.querySelector(e)),!e&&this._isInput&&!this._isInline){const t=this._element.closest(".form-adorn");t&&(e=t)}return e||this._element}_resolveDisplayElement(){const{displayElement:e}=this._config;return"string"==typeof e?document.querySelector(e):!0===e||null===e&&!this._isInput&&!this._isInline?this._element.querySelector("[data-bs-datepicker-display]")||this._element:e}_getThemeAncestor(){return this._element.closest("[data-bs-theme]")}_getEffectiveTheme(){const{datepickerTheme:e}=this._config;if(e)return e;const t=this._getThemeAncestor();return t?.getAttribute("data-bs-theme")||null}_syncThemeAttribute(e){if(!e)return;const t=this._getEffectiveTheme();t?e.setAttribute("data-bs-theme",t):e.removeAttribute("data-bs-theme")}_setupThemeObserver(){const e=this._getThemeAncestor();e&&!this._config.datepickerTheme&&(this._themeObserver=new MutationObserver(()=>{this._syncThemeAttribute(this._calendar?.context?.mainElement)}),this._themeObserver.observe(e,{attributes:!0,attributeFilter:["data-bs-theme"]}))}_buildCalendarOptions(){const e=this._getEffectiveTheme(),t=e&&"auto"!==e?e:"system",n={...this._config.vcpOptions,inputMode:!this._isInline,positionToInput:this._config.placement,firstWeekday:this._config.firstWeekday,locale:this._config.locale,selectionDatesMode:this._config.selectionMode,selectedDates:this._config.selectedDates,displayMonthsCount:this._config.displayMonthsCount,type:this._config.displayMonthsCount>1?"multiple":"default",selectedTheme:t,themeAttrDetect:"[data-bs-theme]",onClickDate:(e,t)=>this._handleDateClick(e,t),onInit:e=>{this._syncThemeAttribute(e.context.mainElement)},onShow:()=>{this._isShown=!0,this._syncThemeAttribute(this._calendar.context.mainElement)},onHide:()=>{this._isShown=!1}};if(this._config.selectedDates.length>0){const e=this._parseDate(this._config.selectedDates[0]);n.selectedMonth=e.getMonth(),n.selectedYear=e.getFullYear()}return this._config.dateMin&&(n.dateMin=this._config.dateMin),this._config.dateMax&&(n.dateMax=this._config.dateMax),n}_handleDateClick(e,t){const n=[...e.context.selectedDates];if(n.length>0){const e=this._formatDateForInput(n);this._isInput&&(this._element.value=e),this._boundInput&&(this._boundInput.value=n.join(",")),this._displayElement&&(this._displayElement.textContent=e)}EventHandler.trigger(this._element,EVENT_CHANGE$1,{dates:n,event:t}),this._maybeHideAfterSelection(n)}_maybeHideAfterSelection(e){this._isInline||("single"===this._config.selectionMode&&e.length>0||"multiple-ranged"===this._config.selectionMode&&e.length>=2)&&setTimeout(()=>this.hide(),100)}_parseDate(e){const[t,n,i]=e.split("-");return new Date(t,n-1,i)}_formatDate(e){const t=this._parseDate(e),n="default"===this._config.locale?void 0:this._config.locale,{dateFormat:i}=this._config;return"function"==typeof i?i(t,n):i&&"object"==typeof i?new Intl.DateTimeFormat(n,i).format(t):t.toLocaleDateString(n)}_formatDateForInput(e){if(0===e.length)return"";if(1===e.length)return this._formatDate(e[0]);const t="multiple-ranged"===this._config.selectionMode?" – ":", ";return e.map(e=>this._formatDate(e)).join(t)}_parseInputValue(){const e=this._element.value.trim();if(!e)return;const t=new Date(e);if(!Number.isNaN(t.getTime())){const e=`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`;this._calendar.set({selectedDates:[e]})}}}EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$6,function(e){"INPUT"!==this.tagName&&"true"!==this.dataset.bsInline&&(e.preventDefault(),Datepicker.getOrCreateInstance(this).toggle())}),EventHandler.on(document,EVENT_FOCUSIN_DATA_API,SELECTOR_DATA_TOGGLE$6,function(){"INPUT"===this.tagName&&Datepicker.getOrCreateInstance(this).show()}),EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$b}.data-api`,()=>{for(const e of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE$6}[data-bs-inline="true"]`))Datepicker.getOrCreateInstance(e)});const NAME$e="dialog",DATA_KEY$a="bs.dialog",EVENT_KEY$a=`.${DATA_KEY$a}`,DATA_API_KEY$5=".data-api",EVENT_SHOW$4=`show${EVENT_KEY$a}`,EVENT_SHOWN$4=`shown${EVENT_KEY$a}`,EVENT_HIDE$4=`hide${EVENT_KEY$a}`,EVENT_HIDDEN$4=`hidden${EVENT_KEY$a}`,EVENT_HIDE_PREVENTED$1=`hidePrevented${EVENT_KEY$a}`,EVENT_CANCEL=`cancel${EVENT_KEY$a}`,EVENT_CLICK_DATA_API$2=`click${EVENT_KEY$a}.data-api`,CLASS_NAME_STATIC="dialog-static",CLASS_NAME_OPEN="dialog-open",CLASS_NAME_NONMODAL="dialog-nonmodal",SELECTOR_DATA_TOGGLE$5='[data-bs-toggle="dialog"]',SELECTOR_OPEN_MODAL_DIALOG="dialog.dialog[open]:not(.dialog-nonmodal)",Default$d={backdrop:!0,keyboard:!0,modal:!0},DefaultType$d={backdrop:"(boolean|string)",keyboard:"boolean",modal:"boolean"};class Dialog extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._addEventListeners()}static get Default(){return Default$d}static get DefaultType(){return DefaultType$d}static get NAME(){return NAME$e}toggle(e){return this._element.open?this.hide():this.show(e)}show(e){this._element.open||this._isTransitioning||EventHandler.trigger(this._element,EVENT_SHOW$4,{relatedTarget:e}).defaultPrevented||(this._isTransitioning=!0,this._config.modal?(this._element.showModal(),document.body.classList.add("dialog-open")):(this._element.classList.add("dialog-nonmodal"),this._element.show()),this._queueCallback(()=>{this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_SHOWN$4,{relatedTarget:e})},this._element,this._isAnimated()))}hide(){this._element.open&&!this._isTransitioning&&(EventHandler.trigger(this._element,EVENT_HIDE$4).defaultPrevented||(this._isTransitioning=!0,this._queueCallback(()=>this._hideDialog(),this._element,this._isAnimated())))}dispose(){EventHandler.off(this._element,EVENT_KEY$a),super.dispose()}handleUpdate(){}_hideDialog(){this._element.close(),this._element.classList.remove("dialog-nonmodal"),this._isTransitioning=!1,document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)||document.body.classList.remove("dialog-open"),EventHandler.trigger(this._element,EVENT_HIDDEN$4)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED$1).defaultPrevented||(this._element.classList.add("dialog-static"),this._queueCallback(()=>{this._element.classList.remove("dialog-static")},this._element))}_addEventListeners(){EventHandler.on(this._element,"cancel",e=>{e.preventDefault(),this._config.keyboard?(EventHandler.trigger(this._element,EVENT_CANCEL),this.hide()):this._triggerBackdropTransition()}),EventHandler.on(this._element,"keydown",e=>{"Escape"!==e.key||this._config.modal||(e.preventDefault(),this._config.keyboard&&(EventHandler.trigger(this._element,EVENT_CANCEL),this.hide()))}),EventHandler.on(this._element,"click",e=>{e.target===this._element&&this._config.modal&&("static"!==this._config.backdrop?this.hide():this._triggerBackdropTransition())})}}EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_TOGGLE$5,function(e){const t=SelectorEngine.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),EventHandler.one(t,EVENT_SHOW$4,e=>{e.defaultPrevented||EventHandler.one(t,EVENT_HIDDEN$4,()=>{isVisible(this)&&this.focus()})});const n=Manipulator.getDataAttributes(this),i=this.closest("dialog[open]");if(i&&i!==t){Dialog.getOrCreateInstance(t,n).show(this);const e=Dialog.getInstance(i);return void(e&&e.hide())}Dialog.getOrCreateInstance(t,n).toggle(this)}),enableDismissTrigger(Dialog);const NAME$d="navoverflow",DATA_KEY$9="bs.navoverflow",EVENT_KEY$9=`.${DATA_KEY$9}`,EVENT_UPDATE=`update${EVENT_KEY$9}`,EVENT_OVERFLOW=`overflow${EVENT_KEY$9}`,CLASS_NAME_OVERFLOW="nav-overflow",CLASS_NAME_OVERFLOW_MENU="nav-overflow-menu",CLASS_NAME_HIDDEN="d-none",SELECTOR_NAV_ITEM=".nav-item",SELECTOR_NAV_LINK=".nav-link",SELECTOR_OVERFLOW_TOGGLE=".nav-overflow-toggle",SELECTOR_OVERFLOW_MENU=".nav-overflow-menu",CLASS_NAME_KEEP="nav-overflow-keep",Default$c={moreText:"More",moreIcon:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3"/></svg>',threshold:0},DefaultType$c={moreText:"string",moreIcon:"string",threshold:"number"};class NavOverflow extends BaseComponent{constructor(e,t){super(e,t),this._items=[],this._overflowItems=[],this._overflowMenu=null,this._overflowToggle=null,this._resizeObserver=null,this._isInitialized=!1,this._init()}static get Default(){return Default$c}static get DefaultType(){return DefaultType$c}static get NAME(){return NAME$d}update(){this._calculateOverflow(),EventHandler.trigger(this._element,EVENT_UPDATE)}dispose(){this._resizeObserver&&this._resizeObserver.disconnect(),this._restoreItems(),this._overflowToggle&&this._overflowToggle.parentElement&&this._overflowToggle.parentElement.remove(),super.dispose()}_init(){this._element.classList.add("nav-overflow"),this._items=[...SelectorEngine.find(".nav-item",this._element)];for(const[e,t]of this._items.entries())t.dataset.bsNavOrder=e;this._createOverflowMenu(),this._setupResizeObserver(),this._calculateOverflow(),this._isInitialized=!0}_createOverflowMenu(){if(this._overflowToggle=SelectorEngine.findOne(".nav-overflow-toggle",this._element),this._overflowToggle)return void(this._overflowMenu=SelectorEngine.findOne(".nav-overflow-menu",this._element));const e=document.createElement("li");e.className="nav-item nav-overflow-item",e.innerHTML=`\n <button class="nav-link nav-overflow-toggle" type="button" data-bs-toggle="menu" data-bs-placement="bottom-end" aria-expanded="false">\n <span class="nav-overflow-icon">${this._config.moreIcon}</span>\n <span class="nav-overflow-text">${this._config.moreText}</span>\n </button>\n <div class="nav-overflow-menu menu"></div>\n `,this._element.append(e),this._overflowToggle=e.querySelector(".nav-overflow-toggle"),this._overflowMenu=e.querySelector(".nav-overflow-menu")}_setupResizeObserver(){"undefined"!=typeof ResizeObserver?(this._resizeObserver=new ResizeObserver(()=>{this._calculateOverflow()}),this._resizeObserver.observe(this._element)):EventHandler.on(window,"resize",()=>this._calculateOverflow())}_calculateOverflow(){this._restoreItems();const e=this._element.offsetWidth,t=this._overflowToggle?.closest(".nav-item");let n=0;const i=[],s=e-(t?.offsetWidth||0)-10;for(const e of this._items)n+=e.offsetWidth,e.classList.contains(CLASS_NAME_KEEP)||n>s&&i.push(e);if(this._items.length-i.length<this._config.threshold&&this._items.length>this._config.threshold){const e=this._items.slice(this._config.threshold).filter(e=>!e.classList.contains(CLASS_NAME_KEEP));i.length=0,i.push(...e)}this._moveToOverflow(i),t&&(i.length>0?t.classList.remove("d-none"):t.classList.add("d-none")),i.length>0&&EventHandler.trigger(this._element,EVENT_OVERFLOW,{overflowCount:i.length,visibleCount:this._items.length-i.length})}_moveToOverflow(e){if(this._overflowMenu){this._overflowMenu.innerHTML="",this._overflowItems=[];for(const t of e){const e=SelectorEngine.findOne(".nav-link",t);if(!e)continue;const n=e.cloneNode(!0);n.className="menu-item",e.classList.contains("active")&&n.classList.add("active"),(e.classList.contains("disabled")||e.hasAttribute("disabled"))&&n.classList.add("disabled"),this._overflowMenu.append(n),t.classList.add("d-none"),t.dataset.bsNavOverflow="true",this._overflowItems.push(t)}}}_restoreItems(){for(const e of this._items)e.classList.remove("d-none"),delete e.dataset.bsNavOverflow;this._overflowMenu&&(this._overflowMenu.innerHTML=""),this._overflowItems=[]}}EventHandler.on(document,"DOMContentLoaded",()=>{for(const e of SelectorEngine.find('[data-bs-toggle="nav-overflow"]'))NavOverflow.getOrCreateInstance(e)});const NAME$c="backdrop",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$4="show",EVENT_MOUSEDOWN=`mousedown.bs.${NAME$c}`,Default$b={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},DefaultType$b={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Backdrop extends Config{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return Default$b}static get DefaultType(){return DefaultType$b}static get NAME(){return NAME$c}show(e){if(!this._config.isVisible)return void execute(e);this._append();const t=this._getElement();this._config.isAnimated&&reflow(t),t.classList.add("show"),this._emulateAnimation(()=>{execute(e)})}hide(e){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation(()=>{this.dispose(),execute(e)})):execute(e)}dispose(){this._isAppended&&(EventHandler.off(this._element,EVENT_MOUSEDOWN),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add("fade"),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=getElement(e.rootElement),e}_append(){if(this._isAppended)return;const e=this._getElement();this._config.rootElement.append(e),EventHandler.on(e,EVENT_MOUSEDOWN,()=>{execute(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(e){executeAfterTransition(e,this._getElement(),this._config.isAnimated)}}const NAME$b="focustrap",DATA_KEY$8="bs.focustrap",EVENT_KEY$8=`.${DATA_KEY$8}`,EVENT_FOCUSIN$3=`focusin${EVENT_KEY$8}`,EVENT_KEYDOWN_TAB=`keydown.tab${EVENT_KEY$8}`,TAB_KEY="Tab",TAB_NAV_FORWARD="forward",TAB_NAV_BACKWARD="backward",Default$a={autofocus:!0,trapElement:null},DefaultType$a={autofocus:"boolean",trapElement:"element"};class FocusTrap extends Config{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Default$a}static get DefaultType(){return DefaultType$a}static get NAME(){return NAME$b}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),EventHandler.off(document,EVENT_KEY$8),EventHandler.on(document,EVENT_FOCUSIN$3,e=>this._handleFocusin(e)),EventHandler.on(document,EVENT_KEYDOWN_TAB,e=>this._handleKeydown(e)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,EventHandler.off(document,EVENT_KEY$8))}_handleFocusin(e){const{trapElement:t}=this._config;if(e.target===document||e.target===t||t.contains(e.target))return;const n=SelectorEngine.focusableChildren(t);0===n.length?t.focus():"backward"===this._lastTabNavDirection?n[n.length-1].focus():n[0].focus()}_handleKeydown(e){"Tab"===e.key&&(this._lastTabNavDirection=e.shiftKey?"backward":"forward")}}const SELECTOR_FIXED_CONTENT=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",SELECTOR_STICKY_CONTENT=".sticky-top",PROPERTY_PADDING="padding-right",PROPERTY_MARGIN="margin-right";class ScrollBarHelper{constructor(){this._element=document.body}getWidth(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){const e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"padding-right",t=>t+e),this._setElementAttributes(SELECTOR_FIXED_CONTENT,"padding-right",t=>t+e),this._setElementAttributes(".sticky-top","margin-right",t=>t-e)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"padding-right"),this._resetElementAttributes(SELECTOR_FIXED_CONTENT,"padding-right"),this._resetElementAttributes(".sticky-top","margin-right")}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,n){const i=this.getWidth();this._applyManipulationCallback(e,e=>{if(e!==this._element&&window.innerWidth>e.clientWidth+i)return;this._saveInitialAttribute(e,t);const s=window.getComputedStyle(e).getPropertyValue(t);e.style.setProperty(t,`${n(Number.parseFloat(s))}px`)})}_saveInitialAttribute(e,t){const n=e.style.getPropertyValue(t);n&&Manipulator.setDataAttribute(e,t,n)}_resetElementAttributes(e,t){this._applyManipulationCallback(e,e=>{const n=Manipulator.getDataAttribute(e,t);null!==n?(Manipulator.removeDataAttribute(e,t),e.style.setProperty(t,n)):e.style.removeProperty(t)})}_applyManipulationCallback(e,t){if(isElement$1(e))t(e);else for(const n of SelectorEngine.find(e,this._element))t(n)}}const NAME$a="offcanvas",DATA_KEY$7="bs.offcanvas",EVENT_KEY$7=`.${DATA_KEY$7}`,DATA_API_KEY$4=".data-api",EVENT_LOAD_DATA_API$2=`load${EVENT_KEY$7}.data-api`,ESCAPE_KEY="Escape",CLASS_NAME_SHOW$3="show",CLASS_NAME_SHOWING$1="showing",CLASS_NAME_HIDING="hiding",CLASS_NAME_BACKDROP="offcanvas-backdrop",OPEN_SELECTOR=".offcanvas.show",EVENT_SHOW$3=`show${EVENT_KEY$7}`,EVENT_SHOWN$3=`shown${EVENT_KEY$7}`,EVENT_HIDE$3=`hide${EVENT_KEY$7}`,EVENT_HIDE_PREVENTED=`hidePrevented${EVENT_KEY$7}`,EVENT_HIDDEN$3=`hidden${EVENT_KEY$7}`,EVENT_RESIZE=`resize${EVENT_KEY$7}`,EVENT_CLICK_DATA_API$1=`click${EVENT_KEY$7}.data-api`,EVENT_KEYDOWN_DISMISS=`keydown.dismiss${EVENT_KEY$7}`,SELECTOR_DATA_TOGGLE$4='[data-bs-toggle="offcanvas"]',Default$9={backdrop:!0,keyboard:!0,scroll:!1},DefaultType$9={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Offcanvas extends BaseComponent{constructor(e,t){super(e,t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Default$9}static get DefaultType(){return DefaultType$9}static get NAME(){return NAME$a}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){this._isShown||EventHandler.trigger(this._element,EVENT_SHOW$3,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new ScrollBarHelper).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("showing"),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add("show"),this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN$3,{relatedTarget:e})},this._element,!0))}hide(){this._isShown&&(EventHandler.trigger(this._element,EVENT_HIDE$3).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add("hiding"),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove("show","hiding"),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new ScrollBarHelper).reset(),EventHandler.trigger(this._element,EVENT_HIDDEN$3)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const e=Boolean(this._config.backdrop);return new Backdrop({className:CLASS_NAME_BACKDROP,isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?()=>{"static"!==this._config.backdrop?this.hide():EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED)}:null})}_initializeFocusTrap(){return new FocusTrap({trapElement:this._element})}_addEventListeners(){EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS,e=>{"Escape"===e.key&&(this._config.keyboard?this.hide():EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED))})}}EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE$4,function(e){const t=SelectorEngine.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this))return;EventHandler.one(t,EVENT_HIDDEN$3,()=>{isVisible(this)&&this.focus()});const n=SelectorEngine.findOne(OPEN_SELECTOR);n&&n!==t&&Offcanvas.getInstance(n).hide(),Offcanvas.getOrCreateInstance(t).toggle(this)}),EventHandler.on(window,EVENT_LOAD_DATA_API$2,()=>{for(const e of SelectorEngine.find(OPEN_SELECTOR))Offcanvas.getOrCreateInstance(e).show()}),EventHandler.on(window,EVENT_RESIZE,()=>{for(const e of SelectorEngine.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(e).position&&Offcanvas.getOrCreateInstance(e).hide()}),enableDismissTrigger(Offcanvas);const NAME$9="strength",DATA_KEY$6="bs.strength",EVENT_KEY$6=`.${DATA_KEY$6}`,DATA_API_KEY$3=".data-api",EVENT_STRENGTH_CHANGE=`strengthChange${EVENT_KEY$6}`,SELECTOR_DATA_STRENGTH="[data-bs-strength]",STRENGTH_LEVELS=["weak","fair","good","strong"],Default$8={input:null,minLength:8,messages:{weak:"Weak",fair:"Fair",good:"Good",strong:"Strong"},weights:{minLength:1,extraLength:1,lowercase:1,uppercase:1,numbers:1,special:1,multipleSpecial:1,longPassword:1},thresholds:[2,4,6],scorer:null},DefaultType$8={input:"(string|element|null)",minLength:"number",messages:"object",weights:"object",thresholds:"array",scorer:"(function|null)"};class Strength extends BaseComponent{constructor(e,t){super(e,t),this._input=this._getInput(),this._segments=SelectorEngine.find(".strength-segment",this._element),this._textElement=SelectorEngine.findOne(".strength-text",this._element.parentElement),this._currentStrength=null,this._input&&(this._addEventListeners(),this._evaluate())}static get Default(){return Default$8}static get DefaultType(){return DefaultType$8}static get NAME(){return NAME$9}getStrength(){return this._currentStrength}evaluate(){this._evaluate()}_getInput(){if(this._config.input)return"string"==typeof this._config.input?SelectorEngine.findOne(this._config.input):this._config.input;const e=this._element.parentElement;return SelectorEngine.findOne('input[type="password"]',e)}_addEventListeners(){EventHandler.on(this._input,"input",()=>this._evaluate()),EventHandler.on(this._input,"change",()=>this._evaluate())}_evaluate(){const e=this._input.value,t=this._calculateScore(e),n=this._scoreToStrength(t);n!==this._currentStrength&&(this._currentStrength=n,this._updateUI(n,t),EventHandler.trigger(this._element,EVENT_STRENGTH_CHANGE,{strength:n,score:t,password:e.length>0?"***":""}))}_calculateScore(e){if(!e)return 0;if("function"==typeof this._config.scorer)return this._config.scorer(e);const{weights:t}=this._config;let n=0;return e.length>=this._config.minLength&&(n+=t.minLength),e.length>=this._config.minLength+4&&(n+=t.extraLength),/[a-z]/.test(e)&&(n+=t.lowercase),/[A-Z]/.test(e)&&(n+=t.uppercase),/\d/.test(e)&&(n+=t.numbers),/[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.special),/[!@#$%^&*(),.?":{}|<>].*[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.multipleSpecial),e.length>=16&&(n+=t.longPassword),n}_scoreToStrength(e){if(0===e)return null;const[t,n,i]=this._config.thresholds;return e<=t?"weak":e<=n?"fair":e<=i?"good":"strong"}_updateUI(e){e?this._element.dataset.bsStrength=e:delete this._element.dataset.bsStrength;const t=e?STRENGTH_LEVELS.indexOf(e):-1;for(const[e,n]of this._segments.entries())e<=t?n.classList.add("active"):n.classList.remove("active");if(this._textElement)if(e&&this._config.messages[e]){this._textElement.textContent=this._config.messages[e],this._textElement.dataset.bsStrength=e;const t={weak:"danger",fair:"warning",good:"info",strong:"success"};this._textElement.style.setProperty("--strength-color",`var(--${t[e]}-text)`)}else this._textElement.textContent="",delete this._textElement.dataset.bsStrength}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$6}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-strength]"))Strength.getOrCreateInstance(e)});const NAME$8="otpInput",DATA_KEY$5="bs.otp-input",EVENT_KEY$5=`.${DATA_KEY$5}`,DATA_API_KEY$2=".data-api",EVENT_COMPLETE=`complete${EVENT_KEY$5}`,EVENT_INPUT=`input${EVENT_KEY$5}`,SELECTOR_DATA_OTP="[data-bs-otp]",SELECTOR_INPUT="input",Default$7={length:6,mask:!1},DefaultType$7={length:"number",mask:"boolean"};class OtpInput extends BaseComponent{constructor(e,t){super(e,t),this._inputs=SelectorEngine.find("input",this._element),this._setupInputs(),this._addEventListeners()}static get Default(){return Default$7}static get DefaultType(){return DefaultType$7}static get NAME(){return NAME$8}getValue(){return this._inputs.map(e=>e.value).join("")}setValue(e){const t=String(e).split("");for(const[e,n]of this._inputs.entries())n.value=t[e]||"";this._checkComplete()}clear(){for(const e of this._inputs)e.value="";this._inputs[0]?.focus()}focus(){const e=this._inputs.find(e=>!e.value);e?e.focus():this._inputs.at(-1)?.focus()}_setupInputs(){for(const e of this._inputs)e.setAttribute("maxlength","1"),e.setAttribute("inputmode","numeric"),e.setAttribute("pattern","\\d*"),e===this._inputs[0]?e.setAttribute("autocomplete","one-time-code"):e.setAttribute("autocomplete","off"),this._config.mask&&e.setAttribute("type","password")}_addEventListeners(){for(const[e,t]of this._inputs.entries())EventHandler.on(t,"input",t=>this._handleInput(t,e)),EventHandler.on(t,"keydown",t=>this._handleKeydown(t,e)),EventHandler.on(t,"paste",e=>this._handlePaste(e)),EventHandler.on(t,"focus",e=>this._handleFocus(e))}_handleInput(e,t){const n=e.target;/^\d*$/.test(n.value)||(n.value=n.value.replace(/\D/g,""));const{value:i}=n;if(i.length>1){const e=i.split("");n.value=e[0]||"";for(let n=1;n<e.length&&t+n<this._inputs.length;n++)this._inputs[t+n].value=e[n];const s=Math.min(t+e.length,this._inputs.length-1);this._inputs[s].focus()}else i&&t<this._inputs.length-1&&this._inputs[t+1].focus();EventHandler.trigger(this._element,EVENT_INPUT,{value:this.getValue(),index:t}),this._checkComplete()}_handleKeydown(e,t){const{key:n}=e;switch(n){case"Backspace":!this._inputs[t].value&&t>0&&(e.preventDefault(),this._inputs[t-1].value="",this._inputs[t-1].focus());break;case"Delete":e.preventDefault();for(let e=t;e<this._inputs.length-1;e++)this._inputs[e].value=this._inputs[e+1].value;this._inputs.at(-1).value="";break;case"ArrowLeft":t>0&&(e.preventDefault(),this._inputs[t-1].focus());break;case"ArrowRight":t<this._inputs.length-1&&(e.preventDefault(),this._inputs[t+1].focus())}}_handlePaste(e){e.preventDefault();const t=(e.clipboardData||window.clipboardData).getData("text").replace(/\D/g,"").slice(0,this._inputs.length);if(t){this.setValue(t);const e=Math.min(t.length,this._inputs.length)-1;this._inputs[e].focus()}}_handleFocus(e){e.target.select()}_checkComplete(){const e=this.getValue();e.length===this._inputs.length&&this._inputs.every(e=>""!==e.value)&&EventHandler.trigger(this._element,EVENT_COMPLETE,{value:e})}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$5}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-otp]"))OtpInput.getOrCreateInstance(e)});const NAME$7="chipInput",DATA_KEY$4="bs.chip-input",EVENT_KEY$4=`.${DATA_KEY$4}`,DATA_API_KEY$1=".data-api",EVENT_ADD=`add${EVENT_KEY$4}`,EVENT_REMOVE=`remove${EVENT_KEY$4}`,EVENT_CHANGE=`change${EVENT_KEY$4}`,EVENT_SELECT=`select${EVENT_KEY$4}`,SELECTOR_DATA_CHIP_INPUT="[data-bs-chip-input]",SELECTOR_GHOST_INPUT=".form-ghost",SELECTOR_CHIP=".chip",SELECTOR_CHIP_DISMISS=".chip-dismiss",CLASS_NAME_CHIP="chip",CLASS_NAME_CHIP_DISMISS="chip-dismiss",CLASS_NAME_ACTIVE$2="active",DEFAULT_DISMISS_ICON='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"/><line x1="12" y1="4" x2="4" y2="12"/></svg>',Default$6={separator:",",allowDuplicates:!1,maxChips:null,placeholder:"",dismissible:!0,dismissIcon:DEFAULT_DISMISS_ICON,createOnBlur:!0},DefaultType$6={separator:"(string|null)",allowDuplicates:"boolean",maxChips:"(number|null)",placeholder:"string",dismissible:"boolean",dismissIcon:"string",createOnBlur:"boolean"};class ChipInput extends BaseComponent{constructor(e,t){super(e,t),this._input=SelectorEngine.findOne(".form-ghost",this._element),this._chips=[],this._selectedChips=new Set,this._anchorChip=null,this._input||this._createInput(),this._initializeExistingChips(),this._addEventListeners()}static get Default(){return Default$6}static get DefaultType(){return DefaultType$6}static get NAME(){return NAME$7}add(e){const t=String(e).trim();if(!t)return null;if(!this._config.allowDuplicates&&this._chips.includes(t))return null;if(null!==this._config.maxChips&&this._chips.length>=this._config.maxChips)return null;if(EventHandler.trigger(this._element,EVENT_ADD,{value:t,relatedTarget:this._input}).defaultPrevented)return null;const n=this._createChip(t);return this._element.insertBefore(n,this._input),this._chips.push(t),EventHandler.trigger(this._element,EVENT_CHANGE,{values:this.getValues()}),n}remove(e){let t,n;return"string"==typeof e?(n=e,t=this._findChipByValue(n)):(t=e,n=this._getChipValue(t)),!(!t||!n)&&(!EventHandler.trigger(this._element,EVENT_REMOVE,{value:n,chip:t,relatedTarget:this._input}).defaultPrevented&&(this._selectedChips.delete(t),this._anchorChip===t&&(this._anchorChip=null),t.remove(),this._chips=this._chips.filter(e=>e!==n),EventHandler.trigger(this._element,EVENT_CHANGE,{values:this.getValues()}),!0))}removeSelected(){const e=[...this._selectedChips];for(const t of e)this.remove(t);this._input?.focus()}getValues(){return[...this._chips]}getSelectedValues(){return[...this._selectedChips].map(e=>this._getChipValue(e))}clear(){const e=SelectorEngine.find(".chip",this._element);for(const t of e)t.remove();this._chips=[],this._selectedChips.clear(),this._anchorChip=null,EventHandler.trigger(this._element,EVENT_CHANGE,{values:[]})}clearSelection(){for(const e of this._selectedChips)e.classList.remove("active");this._selectedChips.clear(),this._anchorChip=null,EventHandler.trigger(this._element,EVENT_SELECT,{selected:[]})}selectChip(e,t={}){const{addToSelection:n=!1,rangeSelect:i=!1}=t,s=this._getChipElements();if(s.includes(e)){if(i&&this._anchorChip){const t=s.indexOf(this._anchorChip),i=s.indexOf(e),o=Math.min(t,i),a=Math.max(t,i);n||this.clearSelection();for(let e=o;e<=a;e++)this._selectedChips.add(s[e]),s[e].classList.add("active")}else n?this._selectedChips.has(e)?(this._selectedChips.delete(e),e.classList.remove("active")):(this._selectedChips.add(e),e.classList.add("active"),this._anchorChip=e):(this.clearSelection(),this._selectedChips.add(e),e.classList.add("active"),this._anchorChip=e);EventHandler.trigger(this._element,EVENT_SELECT,{selected:this.getSelectedValues()})}}focus(){this._input?.focus()}_getChipElements(){return SelectorEngine.find(".chip",this._element)}_createInput(){const e=document.createElement("input");e.type="text",e.className="form-ghost",this._config.placeholder&&(e.placeholder=this._config.placeholder),this._element.append(e),this._input=e}_initializeExistingChips(){const e=SelectorEngine.find(".chip",this._element);for(const t of e){const e=this._getChipValue(t);e&&(this._chips.push(e),this._setupChip(t))}}_setupChip(e){e.setAttribute("tabindex","0"),this._config.dismissible&&!SelectorEngine.findOne(".chip-dismiss",e)&&e.append(this._createDismissButton())}_createChip(e){const t=document.createElement("span");return t.className="chip",t.dataset.bsChipValue=e,t.append(document.createTextNode(e)),this._setupChip(t),t}_createDismissButton(){const e=document.createElement("button");return e.type="button",e.className="chip-dismiss",e.setAttribute("aria-label","Remove"),e.setAttribute("tabindex","-1"),e.innerHTML=this._config.dismissIcon,e}_findChipByValue(e){return this._getChipElements().find(t=>this._getChipValue(t)===e)}_getChipValue(e){if(e.dataset.bsChipValue)return e.dataset.bsChipValue;const t=e.cloneNode(!0),n=SelectorEngine.findOne(".chip-dismiss",t);return n&&n.remove(),t.textContent?.trim()||""}_addEventListeners(){EventHandler.on(this._input,"keydown",e=>this._handleInputKeydown(e)),EventHandler.on(this._input,"input",e=>this._handleInput(e)),EventHandler.on(this._input,"paste",e=>this._handlePaste(e)),EventHandler.on(this._input,"focus",()=>this.clearSelection()),this._config.createOnBlur&&EventHandler.on(this._input,"blur",e=>{e.relatedTarget?.closest(".chip")||this._createChipFromInput()}),EventHandler.on(this._element,"click",".chip",e=>{if(e.target.closest(".chip-dismiss"))return;const t=e.target.closest(".chip");t&&(e.preventDefault(),this.selectChip(t,{addToSelection:e.metaKey||e.ctrlKey,rangeSelect:e.shiftKey}),t.focus())}),EventHandler.on(this._element,"click",".chip-dismiss",e=>{e.stopPropagation();const t=e.target.closest(".chip");t&&(this.remove(t),this._input?.focus())}),EventHandler.on(this._element,"keydown",".chip",e=>{this._handleChipKeydown(e)}),EventHandler.on(this._element,"click",e=>{e.target===this._element&&(this.clearSelection(),this._input?.focus())})}_handleInputKeydown(e){const{key:t}=e;switch(t){case"Enter":e.preventDefault(),this._createChipFromInput();break;case"Backspace":case"Delete":if(""===this._input.value){e.preventDefault();const t=this._getChipElements();if(t.length>0){const e=t.at(-1);this.selectChip(e),e.focus()}}break;case"ArrowLeft":if(0===this._input.selectionStart&&0===this._input.selectionEnd){e.preventDefault();const t=this._getChipElements();if(t.length>0){const n=t.at(-1);e.shiftKey?this.selectChip(n,{addToSelection:!0}):this.selectChip(n),n.focus()}}break;case"Escape":this._input.value="",this.clearSelection(),this._input.blur()}}_handleChipKeydown(e){const{key:t}=e,n=e.target.closest(".chip");if(!n)return;const i=this._getChipElements(),s=i.indexOf(n);switch(t){case"Backspace":case"Delete":e.preventDefault(),this._handleChipDelete(s,i);break;case"ArrowLeft":e.preventDefault(),this._navigateChip(i,s,-1,e.shiftKey);break;case"ArrowRight":e.preventDefault(),this._navigateChip(i,s,1,e.shiftKey);break;case"Home":e.preventDefault(),this._navigateToEdge(i,0,e.shiftKey);break;case"End":case"Escape":e.preventDefault(),this.clearSelection(),this._input?.focus();break;case"a":this._handleSelectAll(e,i)}}_handleChipDelete(e,t){if(0===this._selectedChips.size)return;const n=Math.min(e,t.length-this._selectedChips.size-1);this.removeSelected();const i=this._getChipElements();if(i.length>0){const e=Math.max(0,Math.min(n,i.length-1));i[e].focus(),this.selectChip(i[e])}else this._input?.focus()}_navigateChip(e,t,n,i){const s=t+n;if(n<0&&s>=0){const t=e[s];this.selectChip(t,i?{addToSelection:!0,rangeSelect:!0}:{}),t.focus()}else if(n>0&&s<e.length){const t=e[s];this.selectChip(t,i?{addToSelection:!0,rangeSelect:!0}:{}),t.focus()}else n>0&&(this.clearSelection(),this._input?.focus())}_navigateToEdge(e,t,n){if(0===e.length)return;const i=e[t];this.selectChip(i,n?{rangeSelect:!0}:{}),i.focus()}_handleSelectAll(e,t){if(e.metaKey||e.ctrlKey){e.preventDefault();for(const e of t)this._selectedChips.add(e),e.classList.add("active");EventHandler.trigger(this._element,EVENT_SELECT,{selected:this.getSelectedValues()})}}_handleInput(e){const{value:t}=e.target,{separator:n}=this._config;if(n&&t.includes(n)){const e=t.split(n);for(const t of e.slice(0,-1))this.add(t.trim());this._input.value=e.at(-1)}}_handlePaste(e){const{separator:t}=this._config;if(!t)return;const n=(e.clipboardData||window.clipboardData).getData("text");if(n.includes(t)){e.preventDefault();const i=n.split(t);for(const e of i)this.add(e.trim())}}_createChipFromInput(){const e=this._input.value.trim();e&&(this.add(e),this._input.value="")}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$4}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-chip-input]"))ChipInput.getOrCreateInstance(e)});const ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,DefaultAllowlist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},uriAttributes=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),SAFE_URL_PATTERN=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,allowedAttribute=(e,t)=>{const n=e.nodeName.toLowerCase();return t.includes(n)?!uriAttributes.has(n)||Boolean(SAFE_URL_PATTERN.test(e.nodeValue)):t.filter(e=>e instanceof RegExp).some(e=>e.test(n))};function sanitizeHtml(e,t,n){if(!e.length)return e;if(n&&"function"==typeof n)return n(e);const i=(new window.DOMParser).parseFromString(e,"text/html"),s=[].concat(...i.body.querySelectorAll("*"));for(const e of s){const n=e.nodeName.toLowerCase();if(!Object.keys(t).includes(n)){e.remove();continue}const i=[].concat(...e.attributes),s=[].concat(t["*"]||[],t[n]||[]);for(const t of i)allowedAttribute(t,s)||e.removeAttribute(t.nodeName)}return i.body.innerHTML}const NAME$6="TemplateFactory",Default$5={allowList:DefaultAllowlist,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},DefaultType$5={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},DefaultContentType={entry:"(string|element|function|null)",selector:"(string|element)"};class TemplateFactory extends Config{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return Default$5}static get DefaultType(){return DefaultType$5}static get NAME(){return NAME$6}getContent(){return Object.values(this._config.content).map(e=>this._resolvePossibleFunction(e)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[t,n]of Object.entries(this._config.content))this._setContent(e,n,t);const t=e.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&t.classList.add(...n.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,n]of Object.entries(e))super._typeCheckConfig({selector:t,entry:n},DefaultContentType)}_setContent(e,t,n){const i=SelectorEngine.findOne(n,e);i&&((t=this._resolvePossibleFunction(t))?isElement$1(t)?this._putElementInTemplate(getElement(t),i):this._config.html?i.innerHTML=this._maybeSanitize(t):i.textContent=t:i.remove())}_maybeSanitize(e){return this._config.sanitize?sanitizeHtml(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return execute(e,[void 0,this])}_putElementInTemplate(e,t){if(this._config.html)return t.innerHTML="",void t.append(e);t.textContent=e.textContent}}const NAME$5="tooltip",DISALLOWED_ATTRIBUTES=new Set(["sanitize","allowList","sanitizeFn"]),CLASS_NAME_FADE$2="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$2="show",SELECTOR_TOOLTIP_INNER=".tooltip-inner",SELECTOR_MODAL=".modal",SELECTOR_DATA_TOGGLE$3='[data-bs-toggle="tooltip"]',EVENT_MODAL_HIDE="hide.bs.modal",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",EVENT_HIDE$2="hide",EVENT_HIDDEN$2="hidden",EVENT_SHOW$2="show",EVENT_SHOWN$2="shown",EVENT_INSERTED="inserted",EVENT_CLICK$3="click",EVENT_FOCUSIN$2="focusin",EVENT_FOCUSOUT$1="focusout",EVENT_MOUSEENTER$1="mouseenter",EVENT_MOUSELEAVE="mouseleave",AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:isRTL$1()?"left":"right",BOTTOM:"bottom",LEFT:isRTL$1()?"right":"left"},Default$4={allowList:DefaultAllowlist,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",floatingConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},DefaultType$4={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",floatingConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Tooltip extends BaseComponent{constructor(e,t){super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._floatingCleanup=null,this._templateFactory=null,this._newContent=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this.tip=null,this._parseResponsivePlacements(),this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Default$4}static get DefaultType(){return DefaultType$4}static get NAME(){return NAME$5}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),EventHandler.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposeFloating(),this._disposeMediaQueryListeners(),super.dispose()}async show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const e=EventHandler.trigger(this._element,this.constructor.eventName("show")),t=(findShadowRoot(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!t)return;this._disposeFloating();const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(n),EventHandler.trigger(this._element,this.constructor.eventName("inserted"))),await this._createFloating(n),n.classList.add("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._queueCallback(()=>{EventHandler.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!EventHandler.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposeFloating(),this._element.removeAttribute("aria-describedby"),EventHandler.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._floatingCleanup&&this.tip&&this._updateFloatingPosition()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();t.classList.remove("fade","show"),t.classList.add(`bs-${this.constructor.NAME}-auto`);const n=getUID(this.constructor.NAME).toString();return t.setAttribute("id",n),this._isAnimated()&&t.classList.add("fade"),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposeFloating(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new TemplateFactory({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[SELECTOR_TOOLTIP_INNER]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains("fade")}_isShown(){return this.tip&&this.tip.classList.contains("show")}_getPlacement(e){if(this._responsivePlacements){const e=getResponsivePlacement(this._responsivePlacements,"top");return AttachmentMap[e.toUpperCase()]||e}const t=execute(this._config.placement,[this,e,this._element]);return AttachmentMap[t.toUpperCase()]||t}_parseResponsivePlacements(){"string"==typeof this._config.placement?(this._responsivePlacements=parseResponsivePlacement(this._config.placement,"top"),this._responsivePlacements&&this._setupMediaQueryListeners()):this._responsivePlacements=null}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}async _createFloating(e){const t=this._getPlacement(e),n=e.querySelector(`.${this.constructor.NAME}-arrow`);await this._updateFloatingPosition(e,t,n),this._floatingCleanup=autoUpdate(this._element,e,()=>this._updateFloatingPosition(e,null,n))}async _updateFloatingPosition(e=this.tip,t=null,n=null){if(!e)return;t||(t=this._getPlacement(e)),n||(n=e.querySelector(`.${this.constructor.NAME}-arrow`));const i=this._getFloatingMiddleware(n),s=this._getFloatingConfig(t,i),{x:o,y:a,placement:l,middlewareData:r}=await computePosition(this._element,e,s);if(Object.assign(e.style,{position:"absolute",left:`${o}px`,top:`${a}px`}),n&&(n.style.position="absolute"),Manipulator.setDataAttribute(e,"placement",l),n&&r.arrow){const{x:e,y:t}=r.arrow,i=l.startsWith("top")||l.startsWith("bottom");Object.assign(n.style,{left:i&&null!==e?`${e}px`:"",top:i||null===t?"":`${t}px`,right:"",bottom:""})}}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_resolvePossibleFunction(e){return execute(e,[this._element,this._element])}_getFloatingMiddleware(e){const t=this._getOffset(),n=[offset("function"==typeof t?t:{mainAxis:t[1]||0,crossAxis:t[0]||0}),flip({fallbackPlacements:this._config.fallbackPlacements}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})];return e&&n.push(arrow({element:e})),n}_getFloatingConfig(e,t){const n={placement:e,middleware:t};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if("click"===t)EventHandler.on(this._element,this.constructor.eventName("click"),this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger.click=!(t._isShown()&&t._activeTrigger.click),t.toggle()});else if("manual"!==t){const e="hover"===t?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),n="hover"===t?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");EventHandler.on(this._element,e,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusin"===e.type?"focus":"hover"]=!0,t._enter()}),EventHandler.on(this._element,n,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusout"===e.type?"focus":"hover"]=t._element.contains(e.relatedTarget),t._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},EventHandler.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=Manipulator.getDataAttributes(this._element);for(const e of Object.keys(t))DISALLOWED_ATTRIBUTES.has(e)&&delete t[e];return e={...t,..."object"==typeof e&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=!1===e.container?document.body:getElement(e.container),"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const[t,n]of Object.entries(this._config))this.constructor.Default[t]!==n&&(e[t]=n);return e.selector=!1,e.trigger="manual",e}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null),this.tip&&(this.tip.remove(),this.tip=null)}}const initTooltip=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$3);if(!t)return;const n=Tooltip.getOrCreateInstance(t);"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$3,initTooltip),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$3,initTooltip);const NAME$4="popover",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",SELECTOR_DATA_TOGGLE$2='[data-bs-toggle="popover"]',EVENT_CLICK$2="click",EVENT_FOCUSIN$1="focusin",EVENT_MOUSEENTER="mouseenter",Default$3={...Tooltip.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},DefaultType$3={...Tooltip.DefaultType,content:"(null|string|element|function)"};class Popover extends Tooltip{static get Default(){return Default$3}static get DefaultType(){return DefaultType$3}static get NAME(){return NAME$4}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[SELECTOR_TITLE]:this._getTitle(),[SELECTOR_CONTENT]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}}const initPopover=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$2);if(!t)return;"click"===e.type&&e.preventDefault();const n=Popover.getOrCreateInstance(t);"click"===e.type?n.toggle():"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"click",SELECTOR_DATA_TOGGLE$2,initPopover),EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$2,initPopover),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$2,initPopover);const NAME$3="scrollspy",DATA_KEY$3="bs.scrollspy",EVENT_KEY$3=`.${DATA_KEY$3}`,DATA_API_KEY=".data-api",EVENT_ACTIVATE=`activate${EVENT_KEY$3}`,EVENT_CLICK$1=`click${EVENT_KEY$3}`,EVENT_LOAD_DATA_API$1=`load${EVENT_KEY$3}.data-api`,CLASS_NAME_MENU_ITEM="menu-item",CLASS_NAME_ACTIVE$1="active",SELECTOR_DATA_SPY='[data-bs-spy="scroll"]',SELECTOR_TARGET_LINKS="[href]",SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_LINK_ITEMS=".nav-link, .nav-item > .nav-link, .list-group-item",SELECTOR_MENU_TOGGLE$1='[data-bs-toggle="menu"]',Default$2={rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},DefaultType$2={rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ScrollSpy extends BaseComponent{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Default$2}static get DefaultType(){return DefaultType$2}static get NAME(){return NAME$3}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=getElement(e.target)||document.body,"string"==typeof e.threshold&&(e.threshold=e.threshold.split(",").map(e=>Number.parseFloat(e))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(EventHandler.off(this._config.target,EVENT_CLICK$1),EventHandler.on(this._config.target,EVENT_CLICK$1,"[href]",e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const n=this._rootElement||window,i=t.offsetTop-this._element.offsetTop;if(n.scrollTo)return void n.scrollTo({top:i,behavior:"smooth"});n.scrollTop=i}}))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(e=>this._observerCallback(e),e)}_observerCallback(e){const t=e=>this._targetLinks.get(`#${e.target.id}`),n=e=>{this._previousScrollData.visibleEntryTop=e.target.offsetTop,this._process(t(e))},i=(this._rootElement||document.documentElement).scrollTop,s=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const o of e){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(o));continue}const e=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&e){if(n(o),!i)return}else s||e||n(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=SelectorEngine.find("[href]",this._config.target);for(const t of e){if(!t.hash||isDisabled(t))continue;const e=SelectorEngine.findOne(decodeURI(t.hash),this._element);isVisible(e)&&(this._targetLinks.set(decodeURI(t.hash),t),this._observableSections.set(t.hash,e))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add("active"),this._activateParents(e),EventHandler.trigger(this._element,EVENT_ACTIVATE,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains("menu-item")){const t=e.closest(".menu")?.previousElementSibling;return void(t?.matches(SELECTOR_MENU_TOGGLE$1)&&t.classList.add("active"))}for(const t of SelectorEngine.parents(e,".nav, .list-group"))for(const e of SelectorEngine.prev(t,SELECTOR_LINK_ITEMS))e.classList.add("active")}_clearActiveClass(e){e.classList.remove("active");const t=SelectorEngine.find("[href].active",e);for(const e of t)e.classList.remove("active")}}EventHandler.on(window,EVENT_LOAD_DATA_API$1,()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_SPY))ScrollSpy.getOrCreateInstance(e)});const NAME$2="tab",DATA_KEY$2="bs.tab",EVENT_KEY$2=".bs.tab",EVENT_HIDE$1="hide.bs.tab",EVENT_HIDDEN$1="hidden.bs.tab",EVENT_SHOW$1="show.bs.tab",EVENT_SHOWN$1="shown.bs.tab",EVENT_CLICK_DATA_API="click.bs.tab",EVENT_KEYDOWN="keydown.bs.tab",EVENT_LOAD_DATA_API="load.bs.tab",ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",HOME_KEY="Home",END_KEY="End",CLASS_NAME_ACTIVE="active",CLASS_NAME_FADE$1="fade",CLASS_NAME_SHOW$1="show",SELECTOR_MENU_TOGGLE='[data-bs-toggle="menu"]',SELECTOR_MENU=".menu",NOT_SELECTOR_MENU_TOGGLE=`:not(${SELECTOR_MENU_TOGGLE})`,SELECTOR_TAB_PANEL='.list-group, .nav, [role="tablist"]',SELECTOR_OUTER=".nav-item, .list-group-item",SELECTOR_INNER=`.nav-link${NOT_SELECTOR_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role="tab"]${NOT_SELECTOR_MENU_TOGGLE}`,SELECTOR_DATA_TOGGLE$1='[data-bs-toggle="tab"]',SELECTOR_INNER_ELEM=`${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE$1}`,SELECTOR_DATA_TOGGLE_ACTIVE='.active[data-bs-toggle="tab"]';class Tab extends BaseComponent{constructor(e){super(e),this._parent=this._element.closest(SELECTOR_TAB_PANEL),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),EventHandler.on(this._element,EVENT_KEYDOWN,e=>this._keydown(e)))}static get NAME(){return"tab"}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),n=t?EventHandler.trigger(t,EVENT_HIDE$1,{relatedTarget:e}):null;EventHandler.trigger(e,EVENT_SHOW$1,{relatedTarget:t}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){e&&(e.classList.add("active"),this._activate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleMenu(e,!0),EventHandler.trigger(e,EVENT_SHOWN$1,{relatedTarget:t})):e.classList.add("show")},e,e.classList.contains("fade")))}_deactivate(e,t){e&&(e.classList.remove("active"),e.blur(),this._deactivate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleMenu(e,!1),EventHandler.trigger(e,EVENT_HIDDEN$1,{relatedTarget:t})):e.classList.remove("show")},e,e.classList.contains("fade")))}_keydown(e){if(![ARROW_LEFT_KEY,ARROW_RIGHT_KEY,ARROW_UP_KEY,ARROW_DOWN_KEY,HOME_KEY,END_KEY].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=this._getChildren().filter(e=>!isDisabled(e));let n;if([HOME_KEY,END_KEY].includes(e.key))n=t[e.key===HOME_KEY?0:t.length-1];else{const i=[ARROW_RIGHT_KEY,ARROW_DOWN_KEY].includes(e.key);n=getNextActiveElement(t,e.target,i,!0)}n&&(n.focus({preventScroll:!0}),Tab.getOrCreateInstance(n).show())}_getChildren(){return SelectorEngine.find(SELECTOR_INNER_ELEM,this._parent)}_getActiveElem(){return this._getChildren().find(e=>this._elemIsActive(e))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const e of t)this._setInitialAttributesOnChild(e)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),n=this._getOuterElement(e);e.setAttribute("aria-selected",t),n!==e&&this._setAttributeIfNotExists(n,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=SelectorEngine.getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`${e.id}`))}_toggleMenu(e,t){const n=this._getOuterElement(e),i=SelectorEngine.findOne(SELECTOR_MENU_TOGGLE,n);if(!i)return;const s=SelectorEngine.findOne(".menu",n);i.classList.toggle("active",t),s&&s.classList.toggle("show",t),i.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,n){e.hasAttribute(t)||e.setAttribute(t,n)}_elemIsActive(e){return e.classList.contains("active")}_getInnerElement(e){return e.matches(SELECTOR_INNER_ELEM)?e:SelectorEngine.findOne(SELECTOR_INNER_ELEM,e)}_getOuterElement(e){return e.closest(SELECTOR_OUTER)||e}}EventHandler.on(document,"click.bs.tab",SELECTOR_DATA_TOGGLE$1,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this)||Tab.getOrCreateInstance(this).show()}),EventHandler.on(window,"load.bs.tab",()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE))Tab.getOrCreateInstance(e)});const NAME$1="toast",DATA_KEY$1="bs.toast",EVENT_KEY$1=".bs.toast",EVENT_MOUSEOVER="mouseover.bs.toast",EVENT_MOUSEOUT="mouseout.bs.toast",EVENT_FOCUSIN="focusin.bs.toast",EVENT_FOCUSOUT="focusout.bs.toast",EVENT_HIDE="hide.bs.toast",EVENT_HIDDEN="hidden.bs.toast",EVENT_SHOW="show.bs.toast",EVENT_SHOWN="shown.bs.toast",CLASS_NAME_FADE="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW="show",CLASS_NAME_SHOWING="showing",DefaultType$1={animation:"boolean",autohide:"boolean",delay:"number"},Default$1={animation:!0,autohide:!0,delay:5e3};class Toast extends BaseComponent{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Default$1}static get DefaultType(){return DefaultType$1}static get NAME(){return NAME$1}show(){EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),reflow(this._element),this._element.classList.add("show","showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented||(this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.add("hide"),this._element.classList.remove("showing","show"),EventHandler.trigger(this._element,EVENT_HIDDEN)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove("show"),super.dispose()}isShown(){return this._element.classList.contains("show")}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t}if(t)return void this._clearTimeout();const n=e.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){EventHandler.on(this._element,EVENT_MOUSEOVER,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_MOUSEOUT,e=>this._onInteraction(e,!1)),EventHandler.on(this._element,EVENT_FOCUSIN,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_FOCUSOUT,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}}enableDismissTrigger(Toast);const NAME="toggler",DATA_KEY="bs.toggler",EVENT_KEY=`.${DATA_KEY}`,EVENT_TOGGLE=`toggle${EVENT_KEY}`,EVENT_TOGGLED=`toggled${EVENT_KEY}`,EVENT_CLICK="click",SELECTOR_DATA_TOGGLE='[data-bs-toggle="toggler"]',DefaultType={attribute:"string",value:"(string|number|boolean)"},Default={attribute:"class",value:null};class Toggler extends BaseComponent{static get Default(){return Default}static get DefaultType(){return DefaultType}static get NAME(){return NAME}toggle(){EventHandler.trigger(this._element,EVENT_TOGGLE).defaultPrevented||(this._execute(),EventHandler.trigger(this._element,EVENT_TOGGLED))}_execute(){const{attribute:e,value:t}=this._config;"id"!==e&&("class"!==e?this._element.getAttribute(e)!==String(t)?this._element.setAttribute(e,t):this._element.removeAttribute(e):this._element.classList.toggle(t))}}eventActionOnPlugin(Toggler,"click",SELECTOR_DATA_TOGGLE,"toggle");export{Alert,Button,Carousel,ChipInput,Collapse,Combobox,Datepicker,Dialog,Menu,NavOverflow,Offcanvas,OtpInput,Popover,ScrollSpy,Strength,Tab,Toast,Toggler,Tooltip};
+var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,"symbol"!=typeof t?t+"":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the "init()" method first.',notLocale:"You specified an incorrect language label or did not specify the required number of values for «locale.weekdays» or «locale.months».",incorrectTime:"The value of the time property can be: false, 12 or 24.",incorrectMonthsCount:"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1."},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,i,s,o;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(i=null==(n=e.context.inputElement)?void 0:n.replaceWith)||i.call(n,e.context.originalElement),setContext(e,"inputElement",void 0)):null==(o=(s=e.context.mainElement).replaceWith)||o.call(s,e.context.originalElement),setContext(e,"mainElement",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},skipOpenOnFocus=new WeakSet,shouldSkipOpenOnFocus=e=>skipOpenOnFocus.has(e),setSkipOpenOnFocus=e=>{skipOpenOnFocus.add(e)},clearSkipOpenOnFocus=e=>{skipOpenOnFocus.delete(e)},PREV_TABINDEX_ATTR="data-vc-prev-tabindex",isFocusable=e=>e.tabIndex>=0&&!e.hasAttribute("disabled")&&"true"!==e.getAttribute("aria-disabled"),storePrevTabIndex=e=>{if(e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute("tabindex");e.setAttribute(PREV_TABINDEX_ATTR,null!=t?t:"")},restorePrevTabIndex=e=>{if(!e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(PREV_TABINDEX_ATTR);""===t||null===t?e.removeAttribute("tabindex"):e.setAttribute("tabindex",t),e.removeAttribute(PREV_TABINDEX_ATTR)},disableTabbing=e=>{isFocusable(e)&&(storePrevTabIndex(e),e.tabIndex=-1);const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>isFocusable(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();){const e=t.currentNode;storePrevTabIndex(e),e.tabIndex=-1}},restoreTabbing=e=>{restorePrevTabIndex(e),e.querySelectorAll(`[${PREV_TABINDEX_ATTR}]`).forEach(restorePrevTabIndex)},hide=e=>{e.context.isShowInInputMode&&e.context.currentType&&(e.context.mainElement.dataset.vcCalendarHidden="",setContext(e,"isShowInInputMode",!1),e.inputMode&&disableTabbing(e.context.mainElement),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach(e=>e()),setContext(e,"cleanupHandlers",[])),e.inputMode&&e.context.inputElement&&e.context.mainElement.contains(document.activeElement)&&(("function"==typeof e.openOnFocus||!0===e.openOnFocus)&&setSkipOpenOnFocus(e),e.context.inputElement.focus()),e.onHide&&e.onHide(e))};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:i,left:s}=getOffset(e),{vh:o,vw:a}=getViewportDimensions(),l=i-t,r=s-n;return{top:l,bottom:o-(l+e.clientHeight),left:r,right:a-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const i={top:!0,bottom:!0,left:!0,right:!0},s=[];if(!t||!e)return{canShow:i,parentPositions:s};const{bottom:o,top:a}=calculateAvailableSpace(e),{top:l,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:h}=getViewportDimensions(),m=h/2,_=u/2;return[{condition:l<_,position:"top"},{condition:l>_,position:"bottom"},{condition:r<m,position:"left"},{condition:r>m,position:"right"}].forEach(({condition:e,position:t})=>{e&&s.push(t)}),Object.assign(i,{top:c<=a-n,bottom:c<=o-n,left:d<=r,right:d<=h-r}),{canShow:i,parentPositions:s}}const handleDay=(e,t,n,i)=>{var s;const o=i.querySelector(`[data-vc-date="${t}"]`),a=null==o?void 0:o.querySelector("[data-vc-date-btn]");if(!o||!a)return;if((null==n?void 0:n.modifier)&&a.classList.add(...n.modifier.trim().split(" ")),!(null==n?void 0:n.html))return;const l=document.createElement("div");l.className=e.styles.datePopup,l.dataset.vcDatePopup="",l.innerHTML=e.sanitizerHTML(n.html),a.ariaExpanded="true",a.ariaLabel=`${a.ariaLabel}, ${null==(s=null==l?void 0:l.textContent)?void 0:s.replace(/^\s+|\s+(?=\s)|\s+$/g,"").replace(/ /g," ")}`,o.appendChild(l),requestAnimationFrame(()=>{if(!l)return;const{canShow:e}=getAvailablePosition(o,l),t=e.bottom?o.offsetHeight:-l.offsetHeight,n=e.left&&!e.right?o.offsetWidth-l.offsetWidth/2:!e.left&&e.right?l.offsetWidth/2:0;Object.assign(l.style,{left:`${n}px`,top:`${t}px`})})},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach(([n,i])=>handleDay(e,n,i,t)))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`,parseDates=e=>e.reduce((e,t)=>{if(t instanceof Date||"number"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\d{4}-\d{2}-\d{2})$/g)?e.push(t):t.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g,(t,n,i)=>{const s=getDate(n),o=getDate(i),a=new Date(s.getTime());for(;a<=o;a.setDate(a.getDate()+1))e.push(getDateString(a));return t});return e},[]),updateAttribute=(e,t,n,i="")=>{t?e.setAttribute(n,i):e.getAttribute(n)===i&&e.removeAttribute(n)},setDateModifier=(e,t,n,i,s,o,a)=>{var l,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(o)||getDate(e.context.displayDateMax)<getDate(o)||(null==(l=e.context.disableDates)?void 0:l.includes(o))||!e.selectionMonthsMode&&"current"!==a||!e.selectionYearsMode&&getDate(o).getFullYear()!==t;updateAttribute(n,u,"data-vc-date-disabled"),i&&updateAttribute(i,u,"aria-disabled","true"),i&&updateAttribute(i,u,"tabindex","-1"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,"data-vc-date-today"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,"aria-current","date"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(s),"data-vc-date-weekend");const h=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,h.includes(o),"data-vc-date-holiday"),(null==(d=e.context.selectedDates)?void 0:d.includes(o))?(n.setAttribute("data-vc-date-selected",""),i&&i.setAttribute("aria-selected","true"),e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode&&(e.context.selectedDates[0]===o&&e.context.selectedDates[e.context.selectedDates.length-1]===o?n.setAttribute("data-vc-date-selected","first-and-last"):e.context.selectedDates[0]===o?n.setAttribute("data-vc-date-selected","first"):e.context.selectedDates[e.context.selectedDates.length-1]===o&&n.setAttribute("data-vc-date-selected","last"),e.context.selectedDates[0]!==o&&e.context.selectedDates[e.context.selectedDates.length-1]!==o&&n.setAttribute("data-vc-date-selected","middle"))):n.hasAttribute("data-vc-date-selected")&&(n.removeAttribute("data-vc-date-selected"),i&&i.removeAttribute("aria-selected")),!e.context.disableDates.includes(o)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),i=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),s=getDate(o);updateAttribute(n,s>t&&s<i,"data-vc-date-selected","middle")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),i=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-i);const s=new Date(n.getFullYear(),0,1),o=Math.ceil(((+n-+s)/864e5+1)/7);return{year:n.getFullYear(),week:o}},addWeekNumberForDate=(e,t,n)=>{const i=getWeekNumber(n,e.firstWeekday);i&&(t.dataset.vcDateWeekNumber=String(i.week))},setDaysAsDisabled=(e,t,n)=>{var i,s,o,a,l;const r=null==(i=e.disableWeekdays)?void 0:i.includes(n),c=e.disableAllDates&&!!(null==(s=e.context.enableDates)?void 0:s[0]);!r&&!c||(null==(o=e.context.enableDates)?void 0:o.includes(t))||(null==(a=e.context.disableDates)?void 0:a.includes(t))||(e.context.disableDates.push(t),null==(l=e.context.disableDates)||l.sort((e,t)=>+new Date(e)-+new Date(t)))},createDate=(e,t,n,i,s,o)=>{const a=getDate(s).getDay(),l="string"==typeof e.locale&&e.locale.length?e.locale:"en",r=document.createElement("div");let c;r.className=e.styles.date,r.dataset.vcDate=s,r.dataset.vcDateMonth=o,r.dataset.vcDateWeekDay=String(a),r.role="gridcell",("current"===o||e.displayDatesOutside)&&(c=document.createElement("button"),c.className=e.styles.dateBtn,c.type="button",c.ariaLabel=getLocaleString(s,l,{dateStyle:"long",timeZone:"UTC"}),c.dataset.vcDateBtn="",c.innerText=String(i),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,s),setDaysAsDisabled(e,s,a),setDateModifier(e,t,r,c,a,s,o),n.addDate(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,i,s)=>{for(let o=1;o<=n;o++){const n=new Date(i,s,o);createDate(e,i,t,o,getDateString(n),"current")}},createDatesFromNextMonth=(e,t,n,i,s)=>{const o=s+1===12?i+1:i,a=s+1===12?"01":s+2<10?`0${s+2}`:s+2;for(let s=1;s<=n;s++){const n=s<10?`0${s}`:String(s);createDate(e,i,t,s,`${o}-${a}-${n}`,"next")}},createDatesFromPrevMonth=(e,t,n,i,s)=>{let o=new Date(n,i,0).getDate()-(s-1);const a=0===i?n-1:n,l=0===i?12:i<10?`0${i}`:i;for(let i=s;i>0;i--,o++)createDate(e,n,t,o,`${a}-${l}-${o}`,"prev")},createWeekNumbers=(e,t,n,i,s)=>{if(!e.enableWeekNumbers)return;i.textContent="";const o=document.createElement("b");o.className=e.styles.weekNumbersTitle,o.innerText="#",o.dataset.vcWeekNumbers="title",i.appendChild(o);const a=document.createElement("div");a.className=e.styles.weekNumbersContent,a.dataset.vcWeekNumbers="content",i.appendChild(a);const l=document.createElement("button");l.type="button",l.className=e.styles.weekNumber;const r=s.querySelectorAll("[data-vc-date]"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,i=getWeekNumber(n,e.firstWeekday);if(!i)return;const s=l.cloneNode(!0);s.innerText=String(i.week),s.dataset.vcWeekNumber=String(i.week),s.dataset.vcWeekYear=String(i.year),s.role="rowheader",s.ariaLabel=`${i.week}`,a.appendChild(s)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc="dates"]'),i=e.context.mainElement.querySelectorAll('[data-vc-week="numbers"]');n.forEach((n,s)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=""),n.textContent="";const o=new Date(t);o.setMonth(o.getMonth()+s);const a=o.getMonth(),l=o.getFullYear(),r=(new Date(l,a,1).getDay()-e.firstWeekday+7)%7,c=new Date(l,a+1,0).getDate(),d=r+c,u=Math.ceil(d/7),h=7*u-d,m=[];for(let t=0;t<u;t++){const t=document.createElement("div");t.className=e.styles.datesRow,t.setAttribute("data-vc-dates","row"),t.setAttribute("role","row"),m.push(t)}let _=0,g=0;const E={addDate:e=>{m[_].appendChild(e),g++,g>=7&&(_++,g=0)}};createDatesFromPrevMonth(e,E,l,a,r),createDatesFromCurrentMonth(e,E,c,l,a),createDatesFromNextMonth(e,E,h,l,a);for(const e of m)n.appendChild(e);createDatePopup(e,n),createWeekNumbers(e,r,c,i[s],n)})},layoutDefault=e=>`\n <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n <#ArrowPrev [month] />\n <div class="${e.styles.headerContent}" data-vc-header="content">\n <#Month />\n <#Year />\n </div>\n <#ArrowNext [month] />\n </div>\n <div class="${e.styles.wrapper}" data-vc="wrapper">\n <#WeekNumbers />\n <div class="${e.styles.content}" data-vc="content" role="grid">\n <#Week />\n <#Dates />\n <#DateRangeTooltip />\n </div>\n </div>\n <#ControlTime />\n`,layoutMonths=e=>`\n <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n <div class="${e.styles.headerContent}" data-vc-header="content">\n <#Month />\n <#Year />\n </div>\n </div>\n <div class="${e.styles.wrapper}" data-vc="wrapper">\n <div class="${e.styles.content}" data-vc="content">\n <#Months />\n </div>\n </div>\n`,layoutMultiple=e=>`\n <div class="${e.styles.controls}" data-vc="controls" role="toolbar" aria-label="${e.labels.navigation}">\n <#ArrowPrev [month] />\n <#ArrowNext [month] />\n </div>\n <div class="${e.styles.grid}" data-vc="grid">\n <#Multiple>\n <div class="${e.styles.column}" data-vc="column" role="region">\n <div class="${e.styles.header}" data-vc="header">\n <div class="${e.styles.headerContent}" data-vc-header="content">\n <#Month />\n <#Year />\n </div>\n </div>\n <div class="${e.styles.wrapper}" data-vc="wrapper">\n <#WeekNumbers />\n <div class="${e.styles.content}" data-vc="content" role="grid">\n <#Week />\n <#Dates />\n </div>\n </div>\n </div>\n <#/Multiple>\n <#DateRangeTooltip />\n </div>\n <#ControlTime />\n`,layoutYears=e=>`\n <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n <#ArrowPrev [year] />\n <div class="${e.styles.headerContent}" data-vc-header="content">\n <#Month />\n <#Year />\n </div>\n <#ArrowNext [year] />\n </div>\n <div class="${e.styles.wrapper}" data-vc="wrapper">\n <div class="${e.styles.content}" data-vc="content">\n <#Years />\n </div>\n </div>\n`,ArrowNext=(e,t)=>`<button type="button" class="${e.styles.arrowNext}" data-vc-arrow="next" aria-label="${e.labels.arrowNext[t]}"></button>`,ArrowPrev=(e,t)=>`<button type="button" class="${e.styles.arrowPrev}" data-vc-arrow="prev" aria-label="${e.labels.arrowPrev[t]}"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class="${e.styles.time}" data-vc="time" role="group" aria-label="${e.labels.selectingTime}"></div>`:"",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class="${e.styles.dateRangeTooltip}" data-vc-date-range-tooltip="hidden"></div>`:"",Dates=e=>`<div class="${e.styles.dates}" data-vc="dates" aria-live="assertive" aria-label="${e.labels.dates}" ${"multiple"===e.type?"aria-multiselectable":""}></div>`,Month=e=>`<button type="button" class="${e.styles.month}" data-vc="month"></button>`,Months=e=>`<div class="${e.styles.months}" data-vc="months" role="grid" aria-live="assertive" aria-label="${e.labels.months}"></div>`,Week=e=>`<div class="${e.styles.week}" data-vc="week" role="row" aria-label="${e.labels.week}"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class="${e.styles.weekNumbers}" data-vc-week="numbers" role="row" aria-label="${e.labels.weekNumber}"></div>`:"",Year=e=>`<button type="button" class="${e.styles.year}" data-vc="year"></button>`,Years=e=>`<div class="${e.styles.years}" data-vc="years" role="grid" aria-live="assertive" aria-label="${e.labels.years}"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,(t,n)=>{const i=(n.match(/\[(.*?)\]/)||[])[1],s=n.replace(/[/\s\n\t]|\[(.*?)\]/g,""),o=getComponent(s),a=o?o(e,null!=i?i:null):"";return e.sanitizerHTML(a)}).replace(/[\n\t]/g,""),parseMultipleLayout=(e,t)=>t.replace(new RegExp("<#Multiple>(.*?)<#\\/Multiple>","gs"),(t,n)=>{const i=Array(e.context.displayMonthsCount).fill(n).join("");return e.sanitizerHTML(i)}).replace(/[\n\t]/g,""),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach(t=>{const i=t;e.layouts[i].length||(e.layouts[i]=n[i](e))}),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc="calendar",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role="application",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,"multiple"!==e.context.currentType){if("multiple"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc="controls"]'),i=e.context.mainElement.querySelector('[data-vc="grid"]'),s=t.closest('[data-vc="column"]');return n&&n.remove(),i&&(i.dataset.vcGrid="hidden"),s&&(s.dataset.vcColumn=e.context.currentType),void(s&&(s.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,i)=>{e.style.visibility=n?"hidden":"",t.style.visibility=i?"hidden":""},handleDefaultType=(e,t,n)=>{const i=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),s=new Date(i.getTime()),o=new Date(i.getTime());s.setMonth(s.getMonth()-e.monthsToSwitch),o.setMonth(o.getMonth()+e.monthsToSwitch);const a=getDate(e.context.dateMin),l=getDate(e.context.dateMax);e.selectionYearsMode||(a.setFullYear(i.getFullYear()),l.setFullYear(i.getFullYear()));const r=!e.selectionMonthsMode||s.getFullYear()<a.getFullYear()||s.getFullYear()===a.getFullYear()&&s.getMonth()<a.getMonth(),c=!e.selectionMonthsMode||o.getFullYear()>l.getFullYear()||o.getFullYear()===l.getFullYear()&&o.getMonth()>l.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const i=getDate(e.context.dateMin),s=getDate(e.context.dateMax),o=!!(i.getFullYear()&&e.context.displayYear-7<=i.getFullYear()),a=!!(s.getFullYear()&&e.context.displayYear+7>=s.getFullYear());setVisibilityArrows(t,n,o,a)},visibilityArrows=e=>{if("month"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow="prev"]'),n=e.context.mainElement.querySelector('[data-vc-arrow="next"]');t&&n&&{default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)}["multiple"===e.context.currentType?"default":e.context.currentType]()},visibilityHandler=(e,t,n,i,s)=>{const o=new Date(i.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),a=new Date(i.setMonth(e.context.selectedMonth+n)).getMonth(),l=e.context.locale.months.long[a],r=t.closest('[data-vc="column"]');r&&(r.ariaLabel=`${l} ${o}`);const c={month:{id:a,label:l},year:{id:o,label:o}};t.innerText=String(c[s].label),t.dataset[`vc${s.charAt(0).toUpperCase()+s.slice(1)}`]=String(c[s].id),t.ariaLabel=`${e.labels[s]} ${c[s].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[s]||"only-arrows"===d[s];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc="month"]'),n=e.context.mainElement.querySelectorAll('[data-vc="year"]'),i=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach(t=>null==t?void 0:t.forEach((t,n)=>visibilityHandler(e,t,n,i,t.dataset.vc)))},setYearModifier=(e,t,n,i,s)=>{var o;const a={month:{selected:"data-vc-months-month-selected",aria:"aria-selected",value:"vcMonthsMonth",selectedProperty:"selectedMonth"},year:{selected:"data-vc-years-year-selected",aria:"aria-selected",value:"vcYearsYear",selectedProperty:"selectedYear"}};s&&(null==(o=e.context.mainElement.querySelectorAll({month:"[data-vc-months-month]",year:"[data-vc-years-year]"}[n]))||o.forEach(e=>{e.removeAttribute(a[n].selected),e.removeAttribute(a[n].aria)}),setContext(e,a[n].selectedProperty,Number(t.dataset[a[n].value])),visibilityTitle(e),"year"===n&&visibilityArrows(e)),i&&(t.setAttribute(a[n].selected,""),t.setAttribute(a[n].aria,"true"))},getColumnID=(e,t)=>{var n;if("multiple"!==e.type)return{currentValue:null,columnID:0};const i=e.context.mainElement.querySelectorAll('[data-vc="column"]'),s=Array.from(i).findIndex(e=>e.closest(`[data-vc-column="${t}"]`));return{currentValue:s>=0?Number(null==(n=i[s].querySelector(`[data-vc="${t}"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(s,0)}},createMonthEl=(e,t,n,i,s,o,a)=>{const l=t.cloneNode(!1);return l.className=e.styles.monthsMonth,l.innerText=i,l.ariaLabel=s,l.role="gridcell",l.dataset.vcMonthsMonth=`${a}`,o&&(l.ariaDisabled="true"),o&&(l.tabIndex=-1),l.disabled=o,setYearModifier(e,l,"month",n===a,!1),l},createMonths=(e,t)=>{var n,i;const s=null==(n=null==t?void 0:t.closest('[data-vc="header"]'))?void 0:n.querySelector('[data-vc="year"]'),o=s?Number(s.dataset.vcYear):e.context.selectedYear,a=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,"currentType","month"),createLayouts(e,t),visibilityTitle(e);const l=e.context.mainElement.querySelector('[data-vc="months"]');if(!e.selectionMonthsMode||!l)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map((t,n)=>a-e.monthsToSwitch*n).concat(e.context.locale.months.long.map((t,n)=>a+e.monthsToSwitch*n)).filter(e=>e>=0&&e<=12):Array.from(Array(12).keys()),c=document.createElement("button");c.type="button";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),i=getDate(e.context.dateMax),s=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,"month"),u=o<=n.getFullYear()&&t<n.getMonth()+d||o>=i.getFullYear()&&t>i.getMonth()-s+d||o>i.getFullYear()||t!==a&&!r.includes(t),h=createMonthEl(e,c,a,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);l.appendChild(h),e.onCreateMonthEls&&e.onCreateMonthEls(e,h)}null==(i=e.context.mainElement.querySelector("[data-vc-months-month]:not([disabled])"))||i.focus()},TimeInput=(e,t,n,i,s)=>`\n <label class="${t}" data-vc-time-input="${e}">\n <input type="text" name="${e}" maxlength="2" aria-label="${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}" value="${i}" ${s?"disabled":""}>\n </label>\n`,TimeRange=(e,t,n,i,s,o,a)=>`\n <label class="${t}" data-vc-time-range="${e}">\n <input type="range" name="${e}" min="${i}" max="${s}" step="${o}" aria-label="${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}" value="${a}">\n </label>\n`,handleActions=(e,t,n,i)=>{({hour:()=>setContext(e,"selectedHours",n),minute:()=>setContext(e,"selectedMinutes",n)})[i](),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:""}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:"00",PM:"12"},1:{AM:"01",PM:"13"},2:{AM:"02",PM:"14"},3:{AM:"03",PM:"15"},4:{AM:"04",PM:"16"},5:{AM:"05",PM:"17"},6:{AM:"06",PM:"18"},7:{AM:"07",PM:"19"},8:{AM:"08",PM:"20"},9:{AM:"09",PM:"21"},10:{AM:"10",PM:"22"},11:{AM:"11",PM:"23"},12:{AM:"00",PM:"12"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,i,s)=>{const o=o=>{const a="AM"===e.context.selectedKeeping?"PM":"AM",l=transformTime24(e.context.selectedHours,a);Number(l)<=i&&Number(l)>=s?(setContext(e,"selectedKeeping",a),n.value=l,handleActions(e,o,e.context.selectedHours,"hour"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,o,!0)};return t.addEventListener("click",o),()=>{t.removeEventListener("click",o)}},transformTime12=e=>({0:"12",13:"01",14:"02",15:"03",16:"04",17:"05",18:"06",19:"07",20:"08",21:"09",22:"10",23:"11"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,i)=>{e.value=n,t.value=i},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,"selectedKeeping",n),t.innerText=n)},handleInput$1=(e,t,n,i,s,o,a)=>{const l={hour:(l,r,c)=>{e.selectionTimeMode&&{12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=o&&d>=a))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),l>12&&updateKeepingTime$1(e,i,"PM"),handleActions(e,c,transformTime12(r),s)},24:()=>{if(!(l<=o&&l>=a))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,s)}}[e.selectionTimeMode]()},minute:(i,l,r)=>{if(!(i<=o&&i>=a))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=l,t.value=l,handleActions(e,r,l,s)}},r=e=>{const t=Number(n.value),i=n.value.padStart(2,"0");l[s]&&l[s](t,i,e)};return n.addEventListener("change",r),()=>{n.removeEventListener("change",r)}},updateInputAndTime=(e,t,n,i,s)=>{t.value=s,handleActions(e,n,s,i)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,"selectedKeeping",n),t.innerText=n)},handleRange=(e,t,n,i,s)=>{const o=o=>{const a=Number(t.value),l=t.value.padStart(2,"0"),r="hour"===s,c=24===e.selectionTimeMode,d=a>0&&a<12;r&&!c&&updateKeepingTime(e,i,0===a||d?"AM":"PM"),updateInputAndTime(e,n,o,s,!r||c||d?l:transformTime12(t.value))};return t.addEventListener("input",o),()=>{t.removeEventListener("input",o)}},handleMouseOver=e=>e.setAttribute("data-vc-input-focus",""),handleMouseOut=e=>e.removeAttribute("data-vc-input-focus"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range="hour"] input[name="hour"]'),i=t.querySelector('[data-vc-time-range="minute"] input[name="minute"]'),s=t.querySelector('[data-vc-time-input="hour"] input[name="hour"]'),o=t.querySelector('[data-vc-time-input="minute"] input[name="minute"]'),a=t.querySelector('[data-vc-time="keeping"]');if(!(n&&i&&s&&o))return;const l=e=>{e.target===n&&handleMouseOver(s),e.target===i&&handleMouseOver(o)},r=e=>{e.target===n&&handleMouseOut(s),e.target===i&&handleMouseOut(o)};return t.addEventListener("mouseover",l),t.addEventListener("mouseout",r),handleInput$1(e,n,s,a,"hour",e.timeMaxHour,e.timeMinHour),handleInput$1(e,i,o,a,"minute",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,s,a,"hour"),handleRange(e,i,o,a,"minute"),a&&handleClickKeepingTime(e,a,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener("mouseover",l),t.removeEventListener("mouseout",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc="time"]');if(!e.selectionTimeMode||!t)return;const[n,i]=[e.timeMinHour,e.timeMaxHour],[s,o]=[e.timeMinMinute,e.timeMaxMinute],a=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,l="range"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\n <div class="${e.styles.timeContent}" data-vc-time="content">\n ${TimeInput("hour",e.styles.timeHour,e.labels,e.context.selectedHours,l)}\n ${TimeInput("minute",e.styles.timeMinute,e.labels,e.context.selectedMinutes,l)}\n ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type="button" class="${e.styles.timeKeeping}" aria-label="${e.labels.btnKeeping} ${r}" data-vc-time="keeping" ${l?"disabled":""}>${r}</button>`):""}\n </div>\n <div class="${e.styles.timeRanges}" data-vc-time="ranges">\n ${TimeRange("hour",e.styles.timeRange,e.labels,n,i,e.timeStepHour,a)}\n ${TimeRange("minute",e.styles.timeRange,e.labels,s,o,e.timeStepMinute,e.context.selectedMinutes)}\n </div>\n `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce((n,i,s)=>[...n,{id:s,titleShort:e.context.locale.weekdays.short[s],titleLong:i,isWeekend:t.includes(s)}],[]),i=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc="week"]').forEach(t=>{const n=e.onClickWeekDay?document.createElement("button"):document.createElement("b");e.onClickWeekDay&&(n.type="button"),i.forEach(i=>{const s=n.cloneNode(!0);s.innerText=i.titleShort,s.className=e.styles.weekDay,s.role="columnheader",s.ariaLabel=i.titleLong,s.dataset.vcWeekDay=String(i.id),i.isWeekend&&(s.dataset.vcWeekDayOff=""),t.appendChild(s)})})},createYearEl=(e,t,n,i,s)=>{const o=t.cloneNode(!1);return o.className=e.styles.yearsYear,o.innerText=String(s),o.ariaLabel=String(s),o.role="gridcell",o.dataset.vcYearsYear=`${s}`,i&&(o.ariaDisabled="true"),i&&(o.tabIndex=-1),o.disabled=i,setYearModifier(e,o,"year",n===s,!1),o},createYears=(e,t)=>{var n;const i=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,"currentType","year"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const s=e.context.mainElement.querySelector('[data-vc="years"]');if(!e.selectionYearsMode||!s)return;const o="multiple"!==e.type||e.context.selectedYear===i?0:1,a=document.createElement("button");a.type="button";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+o||t>getDate(e.context.dateMax).getFullYear(),l=createYearEl(e,a,i,n,t);s.appendChild(l),e.onCreateYearEls&&e.onCreateYearEls(e,l)}null==(n=e.context.mainElement.querySelector("[data-vc-years-year]:not([disabled])"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver(e=>{for(let i=0;i<e.length;i++)if(e[i].attributeName===t){n();break}}).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?"dark":"light"),"system"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc="calendar"]');null==t||t.forEach(t=>setTheme(t,e.matches?"dark":"light"))};t.addEventListener?t.addEventListener("change",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,i=e.themeAttrDetect.replace(/^.*\[(.+)\]/g,(e,t)=>t);if(!n||"system"===n.getAttribute(i))return void trackChangesThemeInSystemSettings(e,t);const s=n.getAttribute(i);s?(setTheme(e.context.mainElement,s),trackChangesHTMLElement(n,i,()=>{const t=n.getAttribute(i);t&&setTheme(e.context.mainElement,t)})):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{"not all"!==window.matchMedia("(prefers-color-scheme)").media?"system"===e.selectedTheme?detectTheme(e,window.matchMedia("(prefers-color-scheme: dark)")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,"light")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\./,""),getLocaleWeekday=(e,t,n)=>{const i=new Date(`1978-01-0${t+1}T00:00:00.000Z`),s=i.toLocaleString(n,{weekday:"short",timeZone:"UTC"}),o=i.toLocaleString(n,{weekday:"long",timeZone:"UTC"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(s)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(o))},getLocaleMonth=(e,t,n)=>{const i=new Date(`1978-${String(t+1).padStart(2,"0")}-01T00:00:00.000Z`),s=i.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=i.toLocaleString(n,{month:"long",timeZone:"UTC"});e.context.locale.months.short.push(capitalizeFirstLetter(s)),e.context.locale.months.long.push(capitalizeFirstLetter(o))},getLocale=e=>{var t,n,i,s,o,a,l,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if("string"==typeof e.locale){if("string"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},(t,n)=>getLocaleWeekday(e,n,e.locale)),Array.from({length:12},(t,n)=>getLocaleMonth(e,n,e.locale))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(s=null==(i=e.locale)?void 0:i.weekdays)?void 0:s.long[6])&&(null==(a=null==(o=e.locale)?void 0:o.months)?void 0:a.short[11])&&(null==(r=null==(l=e.locale)?void 0:l.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,"locale",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const i=t.target;if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key)||"button"!==i.localName)return;const s=Array.from(e.context.mainElement.querySelectorAll('[data-vc="calendar"] button')),o=s.indexOf(i);if(-1===o)return;const a=(l=s[o]).hasAttribute("data-vc-date-btn")?7:l.hasAttribute("data-vc-months-month")?4:l.hasAttribute("data-vc-years-year")?5:1;var l;const r=(0,{ArrowUp:()=>Math.max(0,o-a),ArrowDown:()=>Math.min(s.length-1,o+a),ArrowLeft:()=>Math.max(0,o-1),ArrowRight:()=>Math.min(s.length-1,o+1)}[t.key])();null==(n=s[r])||n.focus()};return e.context.mainElement.addEventListener("keydown",t),()=>e.context.mainElement.removeEventListener("keydown",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,"selectedMonth",n.getMonth()),setContext(e,"selectedYear",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest("[data-vc-arrow]");if(n){if(["default","multiple"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if("year"===e.context.currentType&&void 0!==e.context.displayYear){const i={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,"displayYear",e.context.displayYear+i),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},resolveToggle=(e,t)=>void 0===t||("function"==typeof t?t(e):t),canToggleSelection=e=>resolveToggle(e,e.enableDateToggle),handleSelectDate=(e,t,n)=>{const i=t.dataset.vcDate,s=t.closest("[data-vc-date][data-vc-date-selected]"),o=canToggleSelection(e);if(s&&!o)return;const a=s?e.context.selectedDates.filter(e=>e!==i):n?[...e.context.selectedDates,i]:[i];setContext(e,"selectedDates",a)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip="hidden",void(t.textContent="");const i=e.context.mainElement.getBoundingClientRect(),s=n.getBoundingClientRect();t.style.left=s.left-i.left+s.width/2+"px",t.style.top=s.bottom-i.top-s.height+"px",t.dataset.vcDateRangeTooltip="visible",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,s,i))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var i,s,o;if(!(null==(s=null==(i=state.self)?void 0:i.context)?void 0:s.selectedDates[0]))return;const a=getDateString(e);(null==(o=state.self.context.disableDates)?void 0:o.includes(a))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date="${a}"]`).forEach(e=>e.dataset.vcDateHover=""),t.forEach(e=>e.dataset.vcDateHover="first"),n.forEach(e=>{"first"===e.dataset.vcDateHover?e.dataset.vcDateHover="first-and-last":e.dataset.vcDateHover="last"}))},removeHoverEffect=()=>{var e,t;(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement)&&state.self.context.mainElement.querySelectorAll("[data-vc-date-hover]").forEach(e=>e.removeAttribute("data-vc-date-hover"))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc="dates"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const i=e.closest("[data-vc-date]");if(!i||state.lastDateEl===i)return;state.lastDateEl=i,createDateRangeTooltip(state.self,state.tooltipEl,i),removeHoverEffect();const s=i.dataset.vcDate,o=getDate(state.self.context.selectedDates[0]),a=getDate(s),l=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${state.self.context.selectedDates[0]}"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${s}"]`),[c,d]=o<a?[l,r]:[r,l],[u,h]=o<a?[o,a]:[a,o];for(let e=new Date(u);e<=h;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest("[data-vc-date-selected]");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame(()=>{e(n),state.isHovering=!1}))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&"Escape"===e.key&&(state.lastDateEl=null,setContext(state.self,"selectedDates",[]),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout(()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()},50)},updateDisabledDates=()=>{var e,t,n,i;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(i=state.self.context.disableDates)?void 0:i[0]))return;const s=getDate(state.self.context.selectedDates[0]),[o,a]=state.self.context.disableDates.map(e=>getDate(e)).reduce(([e,t],n)=>[s>=n?n:e,s<n&&null===t?n:t],[null,null]);o&&setContext(state.self,"displayDateMin",getDateString(new Date(o.setDate(o.getDate()+1)))),a&&setContext(state.self,"displayDateMax",getDateString(new Date(a.setDate(a.getDate()-1)))),state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,"displayDateMin",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector("[data-vc-date-range-tooltip]"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),i=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,"selectedDates",i),e.context.selectedDates.length>1&&e.context.selectedDates.sort((e,t)=>+new Date(e)-+new Date(t))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.addEventListener("keydown",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates)}),reset:()=>{const[n,i]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],s=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],o=parseDates([`${n}:${i}`]).filter(t=>!e.context.disableDates.includes(t)),a=s?e.enableEdgeDatesOnly?[n,i]:o:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,"selectedDates",a),e.disableDatesGaps&&(setContext(e,"displayDateMin",state.rangeMin),setContext(e,"displayDateMax",state.rangeMax)),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave)}}})[1===e.context.selectedDates.length?"set":"reset"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll("[data-vc-date]").forEach(t=>{const n=t.querySelector("[data-vc-date-btn]"),i=t.dataset.vcDate,s=getDate(i).getDay();setDateModifier(e,e.context.selectedYear,t,n,s,i,"current")})},handleClickDate=(e,t)=>{var n;const i=t.target,s=i.closest("[data-vc-date-btn]");if(!e.selectionDatesMode||!["single","multiple","multiple-ranged"].includes(e.selectionDatesMode)||!s)return;const o=s.closest("[data-vc-date]");({single:()=>handleSelectDate(e,o,!1),multiple:()=>handleSelectDate(e,o,!0),"multiple-ranged":()=>handleSelectDateRange(e,o)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort((e,t)=>+new Date(e)-+new Date(t)),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const a=i.closest('[data-vc-date-month="prev"]'),l=i.closest('[data-vc-date-month="next"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"prev"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"next"):updateDateModifier(e),current:()=>updateDateModifier(e)})[a?"prev":l?"next":"current"]()},typeClick=["month","year"],getValue=(e,t,n)=>{const{currentValue:i,columnID:s}=getColumnID(e,t);return"month"===e.context.currentType&&s>=0?n-s:"year"===e.context.currentType&&e.context.selectedYear!==i?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,"year",Number(t.dataset.vcYearsYear)),i=getDate(e.context.dateMin),s=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:a}=getColumnID(e,"year"),l=e.context.selectedMonth<i.getMonth()&&n<=i.getFullYear(),r=e.context.selectedMonth>s.getMonth()-o+a&&n>=s.getFullYear(),c=n<i.getFullYear(),d=n>s.getFullYear(),u=l||c?i.getFullYear():r||d?s.getFullYear():n,h=l||c?i.getMonth():r||d?s.getMonth()-o+a:e.context.selectedMonth;setContext(e,"selectedYear",u),setContext(e,"selectedMonth",h)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column="month"]').querySelector('[data-vc="year"]'),i=getValue(e,"month",Number(t.dataset.vcMonthsMonth)),s=Number(n.dataset.vcYear),o=getDate(e.context.dateMin),a=getDate(e.context.dateMax),l=i<o.getMonth()&&s<=o.getFullYear(),r=i>a.getMonth()&&s>=a.getFullYear();setContext(e,"selectedYear",s),setContext(e,"selectedMonth",l?o.getMonth():r?a.getMonth():i)},handleItemClick=(e,t,n,i)=>{var s;({year:()=>{if("multiple"===e.type)return handleMultipleYearSelection(e,i);setContext(e,"selectedYear",Number(i.dataset.vcYearsYear))},month:()=>{if("multiple"===e.type)return handleMultipleMonthSelection(e,i);setContext(e,"selectedMonth",Number(i.dataset.vcMonthsMonth))}})[n](),{year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}}[n](),e.context.currentType!==e.type?(setContext(e,"currentType",e.type),create(e),null==(s=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||s.focus()):setYearModifier(e,i,n,!0,!0)},handleClickType=(e,t,n)=>{var i;const s=t.target,o=s.closest(`[data-vc="${n}"]`),a={year:()=>createYears(e,s),month:()=>createMonths(e,s)};if(o&&e.onClickTitle&&e.onClickTitle(e,t),o&&e.context.currentType!==n)return a[n]();const l=s.closest(`[data-vc-${n}s-${n}]`);if(l)return handleItemClick(e,t,n,l);const r=s.closest('[data-vc="grid"]'),c=s.closest('[data-vc="column"]');(e.context.currentType===n&&o||"multiple"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,"currentType",e.type),create(e),null==(i=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||i.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach(i=>{n[i]&&t.target&&handleClickType(e,t,i)})},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest("[data-vc-week-number]"),i=e.context.mainElement.querySelectorAll("[data-vc-date-week-number]");if(!n||!i[0])return;const s=Number(n.innerText),o=Number(n.dataset.vcWeekYear),a=Array.from(i).filter(e=>Number(e.dataset.vcDateWeekNumber)===s);e.onClickWeekNumber(e,s,o,a,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest("[data-vc-week-day]"),i=t.target.closest('[data-vc="column"]'),s=i?i.querySelectorAll("[data-vc-date-week-day]"):e.context.mainElement.querySelectorAll("[data-vc-date-week-day]");if(!n||!s[0])return;const o=Number(n.dataset.vcWeekDay),a=Array.from(s).filter(e=>Number(e.dataset.vcDateWeekDay)===o);e.onClickWeekDay(e,o,a,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener("click",t),()=>e.context.mainElement.removeEventListener("click",t)},initMonthsCount=e=>{if("multiple"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if("multiple"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,"displayMonthsCount",e.displayMonthsCount?e.displayMonthsCount:"multiple"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>"today"===e?getLocalDate():e instanceof Date||"number"==typeof e||"string"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,i;const s=resolveDate(e.dateMin,e.dateMin),o=resolveDate(e.dateMax,e.dateMax),a=resolveDate(e.displayDateMin,s),l=resolveDate(e.displayDateMax,o);setContext(e,"dateToday",resolveDate(e.dateToday,e.dateToday)),setContext(e,"displayDateMin",a?getDate(s)>=getDate(a)?s:a:s),setContext(e,"displayDateMax",l?getDate(o)<=getDate(l)?o:l:o);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(a)<getDate(e.context.dateToday);setContext(e,"displayDateMin",r||e.disableAllDates?e.context.dateToday:a),setContext(e,"displayDateMax",e.disableAllDates?e.context.dateToday:l),setContext(e,"disableDates",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort((e,t)=>+new Date(e)-+new Date(t)),setContext(e,"enableDates",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,"disableDates",e.context.disableDates.filter(t=>!e.context.enableDates.includes(t))),e.context.enableDates.length>1&&e.context.enableDates.sort((e,t)=>+new Date(e)-+new Date(t)),(null==(i=e.context.enableDates)?void 0:i[0])&&e.disableAllDates&&(setContext(e,"displayDateMin",e.context.enableDates[0]),setContext(e,"displayDateMax",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,"dateMin",e.displayDisabledDates?s:e.context.displayDateMin),setContext(e,"dateMax",e.displayDisabledDates?o:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,"selectedDates",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&"today"!==e.displayDateMin&&(n=e.displayDateMin,i=new Date,new Date(n).getTime()>i.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,i;if(e.displayDateMax&&"today"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,"selectedMonth",t),setContext(e,"selectedYear",n),setContext(e,"displayYear",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,i=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),i?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,i;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const s=12===e.selectionTimeMode,o=s?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[a,l,r]=null!=(i=null==(n=null==(t=e.selectedTime)?void 0:t.match(o))?void 0:n.slice(1))?i:[];a?s&&!r&&(r="AM"):(a=s?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),l=String(e.timeMinMinute),r=s?Number(transformTime12(String(e.timeMinHour)))>=12?"PM":"AM":null),setContext(e,"selectedHours",a.padStart(2,"0")),setContext(e,"selectedMinutes",l.padStart(2,"0")),setContext(e,"selectedKeeping",r),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:""}`)},initAllVariables=e=>{setContext(e,"currentType",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:i,time:s,locale:o},a=!0)=>{var l;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=s?r.time:e.context.selectedTime,e.selectedDates="only-first"===i&&(null==(l=e.context.selectedDates)?void 0:l[0])?[e.context.selectedDates[0]]:!0===i?r.dates:e.context.selectedDates,o&&setContext(e,"locale",{months:{short:[],long:[]},weekdays:{short:[],long:[]}}),initAllVariables(e),a&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,"multiple-ranged"===e.selectionDatesMode&&i&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement("div");return t.className=e.styles.calendar,t.dataset.vc="calendar",t.dataset.vcInput="",t.dataset.vcCalendarHidden="",setContext(e,"inputModeInit",!0),setContext(e,"isShowInInputMode",!1),setContext(e,"mainElement",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout(()=>show(e)),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},canOpenOnFocus=e=>resolveToggle(e,e.openOnFocus),handleInput=e=>{setContext(e,"inputElement",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout(()=>show(e)):createToInput(e)};e.context.inputElement.addEventListener("click",t);const n="function"==typeof e.openOnFocus||!0===e.openOnFocus,i=()=>{shouldSkipOpenOnFocus(e)?clearSkipOpenOnFocus(e):canOpenOnFocus(e)&&t()};n&&e.context.inputElement.addEventListener("focus",i);const s=t=>{const n="Tab"===t.key&&!t.shiftKey,i=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key);(n||i)&&(t=>{var n;if(!e.context.isShowInInputMode)return!1;if(document.activeElement!==e.context.inputElement)return!1;const i=e=>e.tabIndex>=0&&!e.hasAttribute("disabled")&&"true"!==e.getAttribute("aria-disabled"),s=null!=(n=document.createTreeWalker(e.context.mainElement,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>i(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}).nextNode())?n:i(e.context.mainElement)?e.context.mainElement:null;!s||s.tabIndex<0||(t.preventDefault(),s.focus())})(t)};return e.context.inputElement.addEventListener("keydown",s),()=>{e.context.inputElement.removeEventListener("click",t),n&&e.context.inputElement.removeEventListener("focus",i),e.context.inputElement.removeEventListener("keydown",s)}},init=e=>(setContext(e,"originalElement",e.context.mainElement.cloneNode(!0)),setContext(e,"isInit",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let i=0;i<n.length;i++){const s=n[i];"object"!=typeof e[s]||"object"!=typeof t[s]||t[s]instanceof Date||Array.isArray(t[s])?void 0!==t[s]&&(e[s]=t[s]):replaceProperties(e[s],t[s])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n="left";if(!t||!e)return n;const{canShow:i,parentPositions:s}=getAvailablePosition(e,t),o=i.left&&i.right;return(o&&i.bottom?"center":o&&i.top?["top","center"]:Array.isArray(s)?["bottom"===s[0]?"top":"bottom",...s.slice(1)]:s)||n}const setPosition=(e,t,n)=>{if(!e)return;const i="auto"===n?findBestPickerPosition(e,t):n,s={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},o=Array.isArray(i)?i[0]:"bottom",a=Array.isArray(i)?i[1]:i;t.dataset.vcPosition=o;const{top:l,left:r}=getOffset(e),c=l+s[o];let d=r+s[a];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,"cleanupHandlers",[]),setContext(e,"isShowInInputMode",!0),e.inputMode&&restoreTabbing(e.context.mainElement),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute("data-vc-calendar-hidden");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener("resize",t),e.context.cleanupHandlers.push(()=>window.removeEventListener("resize",t));const n=t=>{"Escape"===t.key&&hide(e)};document.addEventListener("keydown",n),e.context.cleanupHandlers.push(()=>document.removeEventListener("keydown",n));const i=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener("click",i,{capture:!0}),e.context.cleanupHandlers.push(()=>document.removeEventListener("click",i,{capture:!0})),e.onShow&&e.onShow(e)},labels={application:"Calendar",navigation:"Calendar Navigation",arrowNext:{month:"Next month",year:"Next list of years"},arrowPrev:{month:"Previous month",year:"Previous list of years"},month:"Select month, current selected month:",months:"List of months",year:"Select year, current selected year:",years:"List of years",week:"Days of the week",weekNumber:"Numbers of weeks in a year",dates:"Dates in the current month",selectingTime:"Selecting a time ",inputHour:"Hours",inputMinute:"Minutes",rangeHour:"Slider for selecting hours",rangeMinute:"Slider for selecting minutes",btnKeeping:"Switch AM/PM, current position:"},styles={calendar:"vc",controls:"vc-controls",grid:"vc-grid",column:"vc-column",header:"vc-header",headerContent:"vc-header__content",month:"vc-month",year:"vc-year",arrowPrev:"vc-arrow vc-arrow_prev",arrowNext:"vc-arrow vc-arrow_next",wrapper:"vc-wrapper",content:"vc-content",months:"vc-months",monthsMonth:"vc-months__month",years:"vc-years",yearsYear:"vc-years__year",week:"vc-week",weekDay:"vc-week__day",weekNumbers:"vc-week-numbers",weekNumbersTitle:"vc-week-numbers__title",weekNumbersContent:"vc-week-numbers__content",weekNumber:"vc-week-number",dates:"vc-dates",datesRow:"vc-dates__row",date:"vc-date",dateBtn:"vc-date__btn",datePopup:"vc-date__popup",dateRangeTooltip:"vc-date-range-tooltip",time:"vc-time",timeContent:"vc-time__content",timeHour:"vc-time__hour",timeMinute:"vc-time__minute",timeKeeping:"vc-time__keeping",timeRanges:"vc-time__ranges",timeRange:"vc-time__range"};class OptionsCalendar{constructor(){__publicField(this,"type","default"),__publicField(this,"inputMode",!1),__publicField(this,"openOnFocus",!0),__publicField(this,"positionToInput","left"),__publicField(this,"firstWeekday",1),__publicField(this,"monthsToSwitch",1),__publicField(this,"themeAttrDetect","html[data-theme]"),__publicField(this,"locale","en"),__publicField(this,"dateToday","today"),__publicField(this,"dateMin","1970-01-01"),__publicField(this,"dateMax","2470-12-31"),__publicField(this,"displayDateMin"),__publicField(this,"displayDateMax"),__publicField(this,"displayDatesOutside",!0),__publicField(this,"displayDisabledDates",!1),__publicField(this,"displayMonthsCount"),__publicField(this,"disableDates",[]),__publicField(this,"disableAllDates",!1),__publicField(this,"disableDatesPast",!1),__publicField(this,"disableDatesGaps",!1),__publicField(this,"disableWeekdays",[]),__publicField(this,"disableToday",!1),__publicField(this,"enableDates",[]),__publicField(this,"enableEdgeDatesOnly",!0),__publicField(this,"enableDateToggle",!0),__publicField(this,"enableWeekNumbers",!1),__publicField(this,"enableMonthChangeOnDayClick",!0),__publicField(this,"enableJumpToSelectedDate",!1),__publicField(this,"selectionDatesMode","single"),__publicField(this,"selectionMonthsMode",!0),__publicField(this,"selectionYearsMode",!0),__publicField(this,"selectionTimeMode",!1),__publicField(this,"selectedDates",[]),__publicField(this,"selectedMonth"),__publicField(this,"selectedYear"),__publicField(this,"selectedHolidays",[]),__publicField(this,"selectedWeekends",[0,6]),__publicField(this,"selectedTime"),__publicField(this,"selectedTheme","system"),__publicField(this,"timeMinHour",0),__publicField(this,"timeMaxHour",23),__publicField(this,"timeMinMinute",0),__publicField(this,"timeMaxMinute",59),__publicField(this,"timeControls","all"),__publicField(this,"timeStepHour",1),__publicField(this,"timeStepMinute",1),__publicField(this,"sanitizerHTML",e=>e),__publicField(this,"onClickDate"),__publicField(this,"onClickWeekDay"),__publicField(this,"onClickWeekNumber"),__publicField(this,"onClickTitle"),__publicField(this,"onClickMonth"),__publicField(this,"onClickYear"),__publicField(this,"onClickArrow"),__publicField(this,"onChangeTime"),__publicField(this,"onChangeToInput"),__publicField(this,"onCreateDateRangeTooltip"),__publicField(this,"onCreateDateEls"),__publicField(this,"onCreateMonthEls"),__publicField(this,"onCreateYearEls"),__publicField(this,"onInit"),__publicField(this,"onUpdate"),__publicField(this,"onDestroy"),__publicField(this,"onShow"),__publicField(this,"onHide"),__publicField(this,"popups",{}),__publicField(this,"labels",__spreadValues({},labels)),__publicField(this,"layouts",{default:"",multiple:"",month:"",year:""}),__publicField(this,"styles",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var i;super(),__publicField(this,"init",()=>init(this)),__publicField(this,"update",e=>update(this,e)),__publicField(this,"destroy",()=>destroy(this)),__publicField(this,"show",()=>show(this)),__publicField(this,"hide",()=>hide(this)),__publicField(this,"set",(e,t)=>set(this,e,t)),__publicField(this,"context"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,"mainElement","string"==typeof t?null!=(i=e.memoizedElements.get(t))?i:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,"memoizedElements",new Map);let Calendar=_Calendar;const NAME$e="datepicker",DATA_KEY$a="bs.datepicker",EVENT_KEY$a=`.${DATA_KEY$a}`,DATA_API_KEY$5=".data-api",EVENT_CHANGE=`change${EVENT_KEY$a}`,EVENT_SHOW$5=`show${EVENT_KEY$a}`,EVENT_SHOWN$5=`shown${EVENT_KEY$a}`,EVENT_HIDE$5=`hide${EVENT_KEY$a}`,EVENT_HIDDEN$5=`hidden${EVENT_KEY$a}`,EVENT_CLICK_DATA_API$3=`click${EVENT_KEY$a}.data-api`,EVENT_FOCUSIN_DATA_API=`focusin${EVENT_KEY$a}.data-api`,SELECTOR_DATA_TOGGLE$6='[data-bs-toggle="datepicker"]',HIDE_DELAY=100,Default$d={datepickerTheme:null,dateMin:null,dateMax:null,dateFormat:null,displayElement:null,displayMonthsCount:1,firstWeekday:1,inline:!1,locale:"default",positionElement:null,selectedDates:[],selectionMode:"single",placement:"left",vcpOptions:{}},DefaultType$d={datepickerTheme:"(null|string)",dateMin:"(null|string|number|object)",dateMax:"(null|string|number|object)",dateFormat:"(null|object|function)",displayElement:"(null|string|element|boolean)",displayMonthsCount:"number",firstWeekday:"number",inline:"boolean",locale:"string",positionElement:"(null|string|element)",selectedDates:"array",selectionMode:"string",placement:"string",vcpOptions:"object"};class Datepicker extends BaseComponent{constructor(e,t){super(e,t),this._calendar=null,this._isShown=!1,this._initCalendar()}static get Default(){return Default$d}static get DefaultType(){return DefaultType$d}static get NAME(){return NAME$e}toggle(){if(!this._config.inline)return this._isShown?this.hide():this.show()}show(){this._config.inline||!this._calendar||isDisabled(this._element)||this._isShown||EventHandler.trigger(this._element,EVENT_SHOW$5).defaultPrevented||(this._calendar.show(),this._isShown=!0,EventHandler.trigger(this._element,EVENT_SHOWN$5))}hide(){this._config.inline||this._calendar&&this._isShown&&(EventHandler.trigger(this._element,EVENT_HIDE$5).defaultPrevented||(this._calendar.hide(),this._isShown=!1,EventHandler.trigger(this._element,EVENT_HIDDEN$5)))}dispose(){this._themeObserver&&(this._themeObserver.disconnect(),this._themeObserver=null),this._calendar&&this._calendar.destroy(),this._calendar=null,super.dispose()}getSelectedDates(){const e=this._calendar?.context?.selectedDates;return e?[...e]:[]}setSelectedDates(e){this._calendar&&this._calendar.set({selectedDates:e})}_initCalendar(){this._isInput="INPUT"===this._element.tagName,this._isInline=this._config.inline,this._isInline&&!this._isInput&&(this._boundInput=this._element.querySelector('input[type="hidden"], input[name]')),this._positionElement=this._resolvePositionElement(),this._displayElement=this._resolveDisplayElement();const e=this._buildCalendarOptions();this._calendar=new Calendar(this._positionElement,e),this._calendar.init(),this._setupThemeObserver(),this._isInput&&this._element.value&&this._parseInputValue(),this._updateDisplayWithSelectedDates()}_updateDisplayWithSelectedDates(){const{selectedDates:e}=this._config;if(!e||0===e.length)return;const t=this._formatDateForInput(e);this._isInput&&(this._element.value=t),this._boundInput&&(this._boundInput.value=e.join(",")),this._displayElement&&(this._displayElement.textContent=t)}_resolvePositionElement(){let{positionElement:e}=this._config;if("string"==typeof e&&(e=document.querySelector(e)),!e&&this._isInput&&!this._isInline){const t=this._element.closest(".form-adorn");t&&(e=t)}return e||this._element}_resolveDisplayElement(){const{displayElement:e}=this._config;return"string"==typeof e?document.querySelector(e):!0===e||null===e&&!this._isInput&&!this._isInline?this._element.querySelector("[data-bs-datepicker-display]")||this._element:e}_getThemeAncestor(){return this._element.closest("[data-bs-theme]")}_getEffectiveTheme(){const{datepickerTheme:e}=this._config;if(e)return e;const t=this._getThemeAncestor();return t?.getAttribute("data-bs-theme")||null}_syncThemeAttribute(e){if(!e)return;const t=this._getEffectiveTheme();t?e.setAttribute("data-bs-theme",t):e.removeAttribute("data-bs-theme")}_setupThemeObserver(){const e=this._getThemeAncestor();e&&!this._config.datepickerTheme&&(this._themeObserver=new MutationObserver(()=>{this._syncThemeAttribute(this._calendar?.context?.mainElement)}),this._themeObserver.observe(e,{attributes:!0,attributeFilter:["data-bs-theme"]}))}_buildCalendarOptions(){const e=this._getEffectiveTheme(),t=e&&"auto"!==e?e:"system",n={...this._config.vcpOptions,inputMode:!this._isInline,positionToInput:this._config.placement,firstWeekday:this._config.firstWeekday,locale:this._config.locale,selectionDatesMode:this._config.selectionMode,selectedDates:this._config.selectedDates,displayMonthsCount:this._config.displayMonthsCount,type:this._config.displayMonthsCount>1?"multiple":"default",selectedTheme:t,themeAttrDetect:"[data-bs-theme]",onClickDate:(e,t)=>this._handleDateClick(e,t),onInit:e=>{this._syncThemeAttribute(e.context.mainElement)},onShow:()=>{this._isShown=!0,this._syncThemeAttribute(this._calendar.context.mainElement)},onHide:()=>{this._isShown=!1}};if(this._config.selectedDates.length>0){const e=this._parseDate(this._config.selectedDates[0]);n.selectedMonth=e.getMonth(),n.selectedYear=e.getFullYear()}return this._config.dateMin&&(n.dateMin=this._config.dateMin),this._config.dateMax&&(n.dateMax=this._config.dateMax),n}_handleDateClick(e,t){const n=[...e.context.selectedDates];if(n.length>0){const e=this._formatDateForInput(n);this._isInput&&(this._element.value=e),this._boundInput&&(this._boundInput.value=n.join(",")),this._displayElement&&(this._displayElement.textContent=e)}EventHandler.trigger(this._element,EVENT_CHANGE,{dates:n,event:t}),this._maybeHideAfterSelection(n)}_maybeHideAfterSelection(e){this._isInline||("single"===this._config.selectionMode&&e.length>0||"multiple-ranged"===this._config.selectionMode&&e.length>=2)&&setTimeout(()=>this.hide(),100)}_parseDate(e){const[t,n,i]=e.split("-");return new Date(t,n-1,i)}_formatDate(e){const t=this._parseDate(e),n="default"===this._config.locale?void 0:this._config.locale,{dateFormat:i}=this._config;return"function"==typeof i?i(t,n):i&&"object"==typeof i?new Intl.DateTimeFormat(n,i).format(t):t.toLocaleDateString(n)}_formatDateForInput(e){if(0===e.length)return"";if(1===e.length)return this._formatDate(e[0]);const t="multiple-ranged"===this._config.selectionMode?" – ":", ";return e.map(e=>this._formatDate(e)).join(t)}_parseInputValue(){const e=this._element.value.trim();if(!e)return;const t=new Date(e);if(!Number.isNaN(t.getTime())){const e=`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`;this._calendar.set({selectedDates:[e]})}}}EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$6,function(e){"INPUT"!==this.tagName&&"true"!==this.dataset.bsInline&&(e.preventDefault(),Datepicker.getOrCreateInstance(this).toggle())}),EventHandler.on(document,EVENT_FOCUSIN_DATA_API,SELECTOR_DATA_TOGGLE$6,function(){"INPUT"===this.tagName&&Datepicker.getOrCreateInstance(this).show()}),EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$a}.data-api`,()=>{for(const e of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE$6}[data-bs-inline="true"]`))Datepicker.getOrCreateInstance(e)});const NAME$d="dialog",DATA_KEY$9="bs.dialog",EVENT_KEY$9=`.${DATA_KEY$9}`,DATA_API_KEY$4=".data-api",EVENT_SHOW$4=`show${EVENT_KEY$9}`,EVENT_SHOWN$4=`shown${EVENT_KEY$9}`,EVENT_HIDE$4=`hide${EVENT_KEY$9}`,EVENT_HIDDEN$4=`hidden${EVENT_KEY$9}`,EVENT_HIDE_PREVENTED$1=`hidePrevented${EVENT_KEY$9}`,EVENT_CANCEL=`cancel${EVENT_KEY$9}`,EVENT_CLICK_DATA_API$2=`click${EVENT_KEY$9}.data-api`,CLASS_NAME_STATIC="dialog-static",CLASS_NAME_OPEN="dialog-open",CLASS_NAME_NONMODAL="dialog-nonmodal",SELECTOR_DATA_TOGGLE$5='[data-bs-toggle="dialog"]',SELECTOR_OPEN_MODAL_DIALOG="dialog.dialog[open]:not(.dialog-nonmodal)",Default$c={backdrop:!0,keyboard:!0,modal:!0},DefaultType$c={backdrop:"(boolean|string)",keyboard:"boolean",modal:"boolean"};class Dialog extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._addEventListeners()}static get Default(){return Default$c}static get DefaultType(){return DefaultType$c}static get NAME(){return NAME$d}toggle(e){return this._element.open?this.hide():this.show(e)}show(e){this._element.open||this._isTransitioning||EventHandler.trigger(this._element,EVENT_SHOW$4,{relatedTarget:e}).defaultPrevented||(this._isTransitioning=!0,this._config.modal?(this._element.showModal(),document.body.classList.add("dialog-open")):(this._element.classList.add("dialog-nonmodal"),this._element.show()),this._queueCallback(()=>{this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_SHOWN$4,{relatedTarget:e})},this._element,this._isAnimated()))}hide(){this._element.open&&!this._isTransitioning&&(EventHandler.trigger(this._element,EVENT_HIDE$4).defaultPrevented||(this._isTransitioning=!0,this._queueCallback(()=>this._hideDialog(),this._element,this._isAnimated())))}dispose(){EventHandler.off(this._element,EVENT_KEY$9),super.dispose()}handleUpdate(){}_hideDialog(){this._element.close(),this._element.classList.remove("dialog-nonmodal"),this._isTransitioning=!1,document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)||document.body.classList.remove("dialog-open"),EventHandler.trigger(this._element,EVENT_HIDDEN$4)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED$1).defaultPrevented||(this._element.classList.add("dialog-static"),this._queueCallback(()=>{this._element.classList.remove("dialog-static")},this._element))}_addEventListeners(){EventHandler.on(this._element,"cancel",e=>{e.preventDefault(),this._config.keyboard?(EventHandler.trigger(this._element,EVENT_CANCEL),this.hide()):this._triggerBackdropTransition()}),EventHandler.on(this._element,"keydown",e=>{"Escape"!==e.key||this._config.modal||(e.preventDefault(),this._config.keyboard&&(EventHandler.trigger(this._element,EVENT_CANCEL),this.hide()))}),EventHandler.on(this._element,"click",e=>{e.target===this._element&&this._config.modal&&("static"!==this._config.backdrop?this.hide():this._triggerBackdropTransition())})}}EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_TOGGLE$5,function(e){const t=SelectorEngine.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),EventHandler.one(t,EVENT_SHOW$4,e=>{e.defaultPrevented||EventHandler.one(t,EVENT_HIDDEN$4,()=>{isVisible(this)&&this.focus()})});const n=Manipulator.getDataAttributes(this),i=this.closest("dialog[open]");if(i&&i!==t){Dialog.getOrCreateInstance(t,n).show(this);const e=Dialog.getInstance(i);return void(e&&e.hide())}Dialog.getOrCreateInstance(t,n).toggle(this)}),enableDismissTrigger(Dialog);const NAME$c="navoverflow",DATA_KEY$8="bs.navoverflow",EVENT_KEY$8=`.${DATA_KEY$8}`,EVENT_UPDATE=`update${EVENT_KEY$8}`,EVENT_OVERFLOW=`overflow${EVENT_KEY$8}`,CLASS_NAME_OVERFLOW="nav-overflow",CLASS_NAME_OVERFLOW_MENU="nav-overflow-menu",CLASS_NAME_HIDDEN="d-none",SELECTOR_NAV_ITEM=".nav-item",SELECTOR_NAV_LINK=".nav-link",SELECTOR_OVERFLOW_TOGGLE=".nav-overflow-toggle",SELECTOR_OVERFLOW_MENU=".nav-overflow-menu",CLASS_NAME_KEEP="nav-overflow-keep",Default$b={moreText:"More",moreIcon:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3"/></svg>',threshold:0},DefaultType$b={moreText:"string",moreIcon:"string",threshold:"number"};class NavOverflow extends BaseComponent{constructor(e,t){super(e,t),this._items=[],this._overflowItems=[],this._overflowMenu=null,this._overflowToggle=null,this._resizeObserver=null,this._isInitialized=!1,this._init()}static get Default(){return Default$b}static get DefaultType(){return DefaultType$b}static get NAME(){return NAME$c}update(){this._calculateOverflow(),EventHandler.trigger(this._element,EVENT_UPDATE)}dispose(){this._resizeObserver&&this._resizeObserver.disconnect(),this._restoreItems(),this._overflowToggle&&this._overflowToggle.parentElement&&this._overflowToggle.parentElement.remove(),super.dispose()}_init(){this._element.classList.add("nav-overflow"),this._items=[...SelectorEngine.find(".nav-item",this._element)];for(const[e,t]of this._items.entries())t.dataset.bsNavOrder=e;this._createOverflowMenu(),this._setupResizeObserver(),this._calculateOverflow(),this._isInitialized=!0}_createOverflowMenu(){if(this._overflowToggle=SelectorEngine.findOne(".nav-overflow-toggle",this._element),this._overflowToggle)return void(this._overflowMenu=SelectorEngine.findOne(".nav-overflow-menu",this._element));const e=document.createElement("li");e.className="nav-item nav-overflow-item",e.innerHTML=`\n <button class="nav-link nav-overflow-toggle" type="button" data-bs-toggle="menu" data-bs-placement="bottom-end" aria-expanded="false">\n <span class="nav-overflow-icon">${this._config.moreIcon}</span>\n <span class="nav-overflow-text">${this._config.moreText}</span>\n </button>\n <div class="nav-overflow-menu menu"></div>\n `,this._element.append(e),this._overflowToggle=e.querySelector(".nav-overflow-toggle"),this._overflowMenu=e.querySelector(".nav-overflow-menu")}_setupResizeObserver(){"undefined"!=typeof ResizeObserver?(this._resizeObserver=new ResizeObserver(()=>{this._calculateOverflow()}),this._resizeObserver.observe(this._element)):EventHandler.on(window,"resize",()=>this._calculateOverflow())}_calculateOverflow(){this._restoreItems();const e=this._element.offsetWidth,t=this._overflowToggle?.closest(".nav-item");let n=0;const i=[],s=e-(t?.offsetWidth||0)-10;for(const e of this._items)n+=e.offsetWidth,e.classList.contains(CLASS_NAME_KEEP)||n>s&&i.push(e);if(this._items.length-i.length<this._config.threshold&&this._items.length>this._config.threshold){const e=this._items.slice(this._config.threshold).filter(e=>!e.classList.contains(CLASS_NAME_KEEP));i.length=0,i.push(...e)}this._moveToOverflow(i),t&&(i.length>0?t.classList.remove("d-none"):t.classList.add("d-none")),i.length>0&&EventHandler.trigger(this._element,EVENT_OVERFLOW,{overflowCount:i.length,visibleCount:this._items.length-i.length})}_moveToOverflow(e){if(this._overflowMenu){this._overflowMenu.innerHTML="",this._overflowItems=[];for(const t of e){const e=SelectorEngine.findOne(".nav-link",t);if(!e)continue;const n=e.cloneNode(!0);n.className="menu-item",e.classList.contains("active")&&n.classList.add("active"),(e.classList.contains("disabled")||e.hasAttribute("disabled"))&&n.classList.add("disabled"),this._overflowMenu.append(n),t.classList.add("d-none"),t.dataset.bsNavOverflow="true",this._overflowItems.push(t)}}}_restoreItems(){for(const e of this._items)e.classList.remove("d-none"),delete e.dataset.bsNavOverflow;this._overflowMenu&&(this._overflowMenu.innerHTML=""),this._overflowItems=[]}}EventHandler.on(document,"DOMContentLoaded",()=>{for(const e of SelectorEngine.find('[data-bs-toggle="nav-overflow"]'))NavOverflow.getOrCreateInstance(e)});const NAME$b="backdrop",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$4="show",EVENT_MOUSEDOWN=`mousedown.bs.${NAME$b}`,Default$a={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},DefaultType$a={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Backdrop extends Config{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return Default$a}static get DefaultType(){return DefaultType$a}static get NAME(){return NAME$b}show(e){if(!this._config.isVisible)return void execute(e);this._append();const t=this._getElement();this._config.isAnimated&&reflow(t),t.classList.add("show"),this._emulateAnimation(()=>{execute(e)})}hide(e){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation(()=>{this.dispose(),execute(e)})):execute(e)}dispose(){this._isAppended&&(EventHandler.off(this._element,EVENT_MOUSEDOWN),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add("fade"),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=getElement(e.rootElement),e}_append(){if(this._isAppended)return;const e=this._getElement();this._config.rootElement.append(e),EventHandler.on(e,EVENT_MOUSEDOWN,()=>{execute(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(e){executeAfterTransition(e,this._getElement(),this._config.isAnimated)}}const NAME$a="focustrap",DATA_KEY$7="bs.focustrap",EVENT_KEY$7=`.${DATA_KEY$7}`,EVENT_FOCUSIN$3=`focusin${EVENT_KEY$7}`,EVENT_KEYDOWN_TAB=`keydown.tab${EVENT_KEY$7}`,TAB_KEY="Tab",TAB_NAV_FORWARD="forward",TAB_NAV_BACKWARD="backward",Default$9={autofocus:!0,trapElement:null},DefaultType$9={autofocus:"boolean",trapElement:"element"};class FocusTrap extends Config{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Default$9}static get DefaultType(){return DefaultType$9}static get NAME(){return NAME$a}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),EventHandler.off(document,EVENT_KEY$7),EventHandler.on(document,EVENT_FOCUSIN$3,e=>this._handleFocusin(e)),EventHandler.on(document,EVENT_KEYDOWN_TAB,e=>this._handleKeydown(e)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,EventHandler.off(document,EVENT_KEY$7))}_handleFocusin(e){const{trapElement:t}=this._config;if(e.target===document||e.target===t||t.contains(e.target))return;const n=SelectorEngine.focusableChildren(t);0===n.length?t.focus():"backward"===this._lastTabNavDirection?n[n.length-1].focus():n[0].focus()}_handleKeydown(e){"Tab"===e.key&&(this._lastTabNavDirection=e.shiftKey?"backward":"forward")}}const SELECTOR_FIXED_CONTENT=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",SELECTOR_STICKY_CONTENT=".sticky-top",PROPERTY_PADDING="padding-right",PROPERTY_MARGIN="margin-right";class ScrollBarHelper{constructor(){this._element=document.body}getWidth(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){const e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"padding-right",t=>t+e),this._setElementAttributes(SELECTOR_FIXED_CONTENT,"padding-right",t=>t+e),this._setElementAttributes(".sticky-top","margin-right",t=>t-e)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"padding-right"),this._resetElementAttributes(SELECTOR_FIXED_CONTENT,"padding-right"),this._resetElementAttributes(".sticky-top","margin-right")}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,n){const i=this.getWidth();this._applyManipulationCallback(e,e=>{if(e!==this._element&&window.innerWidth>e.clientWidth+i)return;this._saveInitialAttribute(e,t);const s=window.getComputedStyle(e).getPropertyValue(t);e.style.setProperty(t,`${n(Number.parseFloat(s))}px`)})}_saveInitialAttribute(e,t){const n=e.style.getPropertyValue(t);n&&Manipulator.setDataAttribute(e,t,n)}_resetElementAttributes(e,t){this._applyManipulationCallback(e,e=>{const n=Manipulator.getDataAttribute(e,t);null!==n?(Manipulator.removeDataAttribute(e,t),e.style.setProperty(t,n)):e.style.removeProperty(t)})}_applyManipulationCallback(e,t){if(isElement$1(e))t(e);else for(const n of SelectorEngine.find(e,this._element))t(n)}}const NAME$9="offcanvas",DATA_KEY$6="bs.offcanvas",EVENT_KEY$6=`.${DATA_KEY$6}`,DATA_API_KEY$3=".data-api",EVENT_LOAD_DATA_API$2=`load${EVENT_KEY$6}.data-api`,ESCAPE_KEY="Escape",CLASS_NAME_SHOW$3="show",CLASS_NAME_SHOWING$1="showing",CLASS_NAME_HIDING="hiding",CLASS_NAME_BACKDROP="offcanvas-backdrop",OPEN_SELECTOR=".offcanvas.show",EVENT_SHOW$3=`show${EVENT_KEY$6}`,EVENT_SHOWN$3=`shown${EVENT_KEY$6}`,EVENT_HIDE$3=`hide${EVENT_KEY$6}`,EVENT_HIDE_PREVENTED=`hidePrevented${EVENT_KEY$6}`,EVENT_HIDDEN$3=`hidden${EVENT_KEY$6}`,EVENT_RESIZE=`resize${EVENT_KEY$6}`,EVENT_CLICK_DATA_API$1=`click${EVENT_KEY$6}.data-api`,EVENT_KEYDOWN_DISMISS=`keydown.dismiss${EVENT_KEY$6}`,SELECTOR_DATA_TOGGLE$4='[data-bs-toggle="offcanvas"]',Default$8={backdrop:!0,keyboard:!0,scroll:!1},DefaultType$8={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Offcanvas extends BaseComponent{constructor(e,t){super(e,t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Default$8}static get DefaultType(){return DefaultType$8}static get NAME(){return NAME$9}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){this._isShown||EventHandler.trigger(this._element,EVENT_SHOW$3,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new ScrollBarHelper).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("showing"),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add("show"),this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN$3,{relatedTarget:e})},this._element,!0))}hide(){this._isShown&&(EventHandler.trigger(this._element,EVENT_HIDE$3).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add("hiding"),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove("show","hiding"),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new ScrollBarHelper).reset(),EventHandler.trigger(this._element,EVENT_HIDDEN$3)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const e=Boolean(this._config.backdrop);return new Backdrop({className:CLASS_NAME_BACKDROP,isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?()=>{"static"!==this._config.backdrop?this.hide():EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED)}:null})}_initializeFocusTrap(){return new FocusTrap({trapElement:this._element})}_addEventListeners(){EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS,e=>{"Escape"===e.key&&(this._config.keyboard?this.hide():EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED))})}}EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE$4,function(e){const t=SelectorEngine.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this))return;EventHandler.one(t,EVENT_HIDDEN$3,()=>{isVisible(this)&&this.focus()});const n=SelectorEngine.findOne(OPEN_SELECTOR);n&&n!==t&&Offcanvas.getInstance(n).hide(),Offcanvas.getOrCreateInstance(t).toggle(this)}),EventHandler.on(window,EVENT_LOAD_DATA_API$2,()=>{for(const e of SelectorEngine.find(OPEN_SELECTOR))Offcanvas.getOrCreateInstance(e).show()}),EventHandler.on(window,EVENT_RESIZE,()=>{for(const e of SelectorEngine.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(e).position&&Offcanvas.getOrCreateInstance(e).hide()}),enableDismissTrigger(Offcanvas);const NAME$8="strength",DATA_KEY$5="bs.strength",EVENT_KEY$5=`.${DATA_KEY$5}`,DATA_API_KEY$2=".data-api",EVENT_STRENGTH_CHANGE=`strengthChange${EVENT_KEY$5}`,SELECTOR_DATA_STRENGTH="[data-bs-strength]",STRENGTH_LEVELS=["weak","fair","good","strong"],Default$7={input:null,minLength:8,messages:{weak:"Weak",fair:"Fair",good:"Good",strong:"Strong"},weights:{minLength:1,extraLength:1,lowercase:1,uppercase:1,numbers:1,special:1,multipleSpecial:1,longPassword:1},thresholds:[2,4,6],scorer:null},DefaultType$7={input:"(string|element|null)",minLength:"number",messages:"object",weights:"object",thresholds:"array",scorer:"(function|null)"};class Strength extends BaseComponent{constructor(e,t){super(e,t),this._input=this._getInput(),this._segments=SelectorEngine.find(".strength-segment",this._element),this._textElement=SelectorEngine.findOne(".strength-text",this._element.parentElement),this._currentStrength=null,this._input&&(this._addEventListeners(),this._evaluate())}static get Default(){return Default$7}static get DefaultType(){return DefaultType$7}static get NAME(){return NAME$8}getStrength(){return this._currentStrength}evaluate(){this._evaluate()}_getInput(){if(this._config.input)return"string"==typeof this._config.input?SelectorEngine.findOne(this._config.input):this._config.input;const e=this._element.parentElement;return SelectorEngine.findOne('input[type="password"]',e)}_addEventListeners(){EventHandler.on(this._input,"input",()=>this._evaluate()),EventHandler.on(this._input,"change",()=>this._evaluate())}_evaluate(){const e=this._input.value,t=this._calculateScore(e),n=this._scoreToStrength(t);n!==this._currentStrength&&(this._currentStrength=n,this._updateUI(n,t),EventHandler.trigger(this._element,EVENT_STRENGTH_CHANGE,{strength:n,score:t,password:e.length>0?"***":""}))}_calculateScore(e){if(!e)return 0;if("function"==typeof this._config.scorer)return this._config.scorer(e);const{weights:t}=this._config;let n=0;return e.length>=this._config.minLength&&(n+=t.minLength),e.length>=this._config.minLength+4&&(n+=t.extraLength),/[a-z]/.test(e)&&(n+=t.lowercase),/[A-Z]/.test(e)&&(n+=t.uppercase),/\d/.test(e)&&(n+=t.numbers),/[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.special),/[!@#$%^&*(),.?":{}|<>].*[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.multipleSpecial),e.length>=16&&(n+=t.longPassword),n}_scoreToStrength(e){if(0===e)return null;const[t,n,i]=this._config.thresholds;return e<=t?"weak":e<=n?"fair":e<=i?"good":"strong"}_updateUI(e){e?this._element.dataset.bsStrength=e:delete this._element.dataset.bsStrength;const t=e?STRENGTH_LEVELS.indexOf(e):-1;for(const[e,n]of this._segments.entries())e<=t?n.classList.add("active"):n.classList.remove("active");if(this._textElement)if(e&&this._config.messages[e]){this._textElement.textContent=this._config.messages[e],this._textElement.dataset.bsStrength=e;const t={weak:"danger",fair:"warning",good:"info",strong:"success"};this._textElement.style.setProperty("--strength-color",`var(--${t[e]}-text)`)}else this._textElement.textContent="",delete this._textElement.dataset.bsStrength}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$5}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-strength]"))Strength.getOrCreateInstance(e)});const NAME$7="otpInput",DATA_KEY$4="bs.otp-input",EVENT_KEY$4=`.${DATA_KEY$4}`,DATA_API_KEY$1=".data-api",EVENT_COMPLETE=`complete${EVENT_KEY$4}`,EVENT_INPUT=`input${EVENT_KEY$4}`,SELECTOR_DATA_OTP="[data-bs-otp]",SELECTOR_INPUT="input",Default$6={length:6,mask:!1},DefaultType$6={length:"number",mask:"boolean"};class OtpInput extends BaseComponent{constructor(e,t){super(e,t),this._inputs=SelectorEngine.find("input",this._element),this._setupInputs(),this._addEventListeners()}static get Default(){return Default$6}static get DefaultType(){return DefaultType$6}static get NAME(){return NAME$7}getValue(){return this._inputs.map(e=>e.value).join("")}setValue(e){const t=String(e).split("");for(const[e,n]of this._inputs.entries())n.value=t[e]||"";this._checkComplete()}clear(){for(const e of this._inputs)e.value="";this._inputs[0]?.focus()}focus(){const e=this._inputs.find(e=>!e.value);e?e.focus():this._inputs.at(-1)?.focus()}_setupInputs(){for(const e of this._inputs)e.setAttribute("maxlength","1"),e.setAttribute("inputmode","numeric"),e.setAttribute("pattern","\\d*"),e===this._inputs[0]?e.setAttribute("autocomplete","one-time-code"):e.setAttribute("autocomplete","off"),this._config.mask&&e.setAttribute("type","password")}_addEventListeners(){for(const[e,t]of this._inputs.entries())EventHandler.on(t,"input",t=>this._handleInput(t,e)),EventHandler.on(t,"keydown",t=>this._handleKeydown(t,e)),EventHandler.on(t,"paste",e=>this._handlePaste(e)),EventHandler.on(t,"focus",e=>this._handleFocus(e))}_handleInput(e,t){const n=e.target;/^\d*$/.test(n.value)||(n.value=n.value.replace(/\D/g,""));const{value:i}=n;if(i.length>1){const e=i.split("");n.value=e[0]||"";for(let n=1;n<e.length&&t+n<this._inputs.length;n++)this._inputs[t+n].value=e[n];const s=Math.min(t+e.length,this._inputs.length-1);this._inputs[s].focus()}else i&&t<this._inputs.length-1&&this._inputs[t+1].focus();EventHandler.trigger(this._element,EVENT_INPUT,{value:this.getValue(),index:t}),this._checkComplete()}_handleKeydown(e,t){const{key:n}=e;switch(n){case"Backspace":!this._inputs[t].value&&t>0&&(e.preventDefault(),this._inputs[t-1].value="",this._inputs[t-1].focus());break;case"Delete":e.preventDefault();for(let e=t;e<this._inputs.length-1;e++)this._inputs[e].value=this._inputs[e+1].value;this._inputs.at(-1).value="";break;case"ArrowLeft":t>0&&(e.preventDefault(),this._inputs[t-1].focus());break;case"ArrowRight":t<this._inputs.length-1&&(e.preventDefault(),this._inputs[t+1].focus())}}_handlePaste(e){e.preventDefault();const t=(e.clipboardData||window.clipboardData).getData("text").replace(/\D/g,"").slice(0,this._inputs.length);if(t){this.setValue(t);const e=Math.min(t.length,this._inputs.length)-1;this._inputs[e].focus()}}_handleFocus(e){e.target.select()}_checkComplete(){const e=this.getValue();e.length===this._inputs.length&&this._inputs.every(e=>""!==e.value)&&EventHandler.trigger(this._element,EVENT_COMPLETE,{value:e})}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$4}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-otp]"))OtpInput.getOrCreateInstance(e)});const ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,DefaultAllowlist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},uriAttributes=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),SAFE_URL_PATTERN=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,allowedAttribute=(e,t)=>{const n=e.nodeName.toLowerCase();return t.includes(n)?!uriAttributes.has(n)||Boolean(SAFE_URL_PATTERN.test(e.nodeValue)):t.filter(e=>e instanceof RegExp).some(e=>e.test(n))};function sanitizeHtml(e,t,n){if(!e.length)return e;if(n&&"function"==typeof n)return n(e);const i=(new window.DOMParser).parseFromString(e,"text/html"),s=[].concat(...i.body.querySelectorAll("*"));for(const e of s){const n=e.nodeName.toLowerCase();if(!Object.keys(t).includes(n)){e.remove();continue}const i=[].concat(...e.attributes),s=[].concat(t["*"]||[],t[n]||[]);for(const t of i)allowedAttribute(t,s)||e.removeAttribute(t.nodeName)}return i.body.innerHTML}const NAME$6="TemplateFactory",Default$5={allowList:DefaultAllowlist,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},DefaultType$5={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},DefaultContentType={entry:"(string|element|function|null)",selector:"(string|element)"};class TemplateFactory extends Config{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return Default$5}static get DefaultType(){return DefaultType$5}static get NAME(){return NAME$6}getContent(){return Object.values(this._config.content).map(e=>this._resolvePossibleFunction(e)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[t,n]of Object.entries(this._config.content))this._setContent(e,n,t);const t=e.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&t.classList.add(...n.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,n]of Object.entries(e))super._typeCheckConfig({selector:t,entry:n},DefaultContentType)}_setContent(e,t,n){const i=SelectorEngine.findOne(n,e);i&&((t=this._resolvePossibleFunction(t))?isElement$1(t)?this._putElementInTemplate(getElement(t),i):this._config.html?i.innerHTML=this._maybeSanitize(t):i.textContent=t:i.remove())}_maybeSanitize(e){return this._config.sanitize?sanitizeHtml(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return execute(e,[void 0,this])}_putElementInTemplate(e,t){if(this._config.html)return t.innerHTML="",void t.append(e);t.textContent=e.textContent}}const NAME$5="tooltip",DISALLOWED_ATTRIBUTES=new Set(["sanitize","allowList","sanitizeFn"]),CLASS_NAME_FADE$2="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$2="show",SELECTOR_TOOLTIP_INNER=".tooltip-inner",SELECTOR_MODAL=".modal",SELECTOR_DATA_TOGGLE$3='[data-bs-toggle="tooltip"]',EVENT_MODAL_HIDE="hide.bs.modal",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",EVENT_HIDE$2="hide",EVENT_HIDDEN$2="hidden",EVENT_SHOW$2="show",EVENT_SHOWN$2="shown",EVENT_INSERTED="inserted",EVENT_CLICK$3="click",EVENT_FOCUSIN$2="focusin",EVENT_FOCUSOUT$1="focusout",EVENT_MOUSEENTER$1="mouseenter",EVENT_MOUSELEAVE="mouseleave",AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:isRTL$1()?"left":"right",BOTTOM:"bottom",LEFT:isRTL$1()?"right":"left"},Default$4={allowList:DefaultAllowlist,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",floatingConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},DefaultType$4={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",floatingConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Tooltip extends BaseComponent{constructor(e,t){super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._floatingCleanup=null,this._templateFactory=null,this._newContent=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this.tip=null,this._parseResponsivePlacements(),this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Default$4}static get DefaultType(){return DefaultType$4}static get NAME(){return NAME$5}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),EventHandler.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposeFloating(),this._disposeMediaQueryListeners(),super.dispose()}async show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const e=EventHandler.trigger(this._element,this.constructor.eventName("show")),t=(findShadowRoot(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!t)return;this._disposeFloating();const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(n),EventHandler.trigger(this._element,this.constructor.eventName("inserted"))),await this._createFloating(n),n.classList.add("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._queueCallback(()=>{EventHandler.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!EventHandler.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposeFloating(),this._element.removeAttribute("aria-describedby"),EventHandler.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._floatingCleanup&&this.tip&&this._updateFloatingPosition()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();t.classList.remove("fade","show"),t.classList.add(`bs-${this.constructor.NAME}-auto`);const n=getUID(this.constructor.NAME).toString();return t.setAttribute("id",n),this._isAnimated()&&t.classList.add("fade"),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposeFloating(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new TemplateFactory({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[SELECTOR_TOOLTIP_INNER]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains("fade")}_isShown(){return this.tip&&this.tip.classList.contains("show")}_getPlacement(e){if(this._responsivePlacements){const e=getResponsivePlacement(this._responsivePlacements,"top");return AttachmentMap[e.toUpperCase()]||e}const t=execute(this._config.placement,[this,e,this._element]);return AttachmentMap[t.toUpperCase()]||t}_parseResponsivePlacements(){"string"==typeof this._config.placement?(this._responsivePlacements=parseResponsivePlacement(this._config.placement,"top"),this._responsivePlacements&&this._setupMediaQueryListeners()):this._responsivePlacements=null}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}async _createFloating(e){const t=this._getPlacement(e),n=e.querySelector(`.${this.constructor.NAME}-arrow`);await this._updateFloatingPosition(e,t,n),this._floatingCleanup=autoUpdate(this._element,e,()=>this._updateFloatingPosition(e,null,n))}async _updateFloatingPosition(e=this.tip,t=null,n=null){if(!e)return;t||(t=this._getPlacement(e)),n||(n=e.querySelector(`.${this.constructor.NAME}-arrow`));const i=this._getFloatingMiddleware(n),s=this._getFloatingConfig(t,i),{x:o,y:a,placement:l,middlewareData:r}=await computePosition(this._element,e,s);if(Object.assign(e.style,{position:"absolute",left:`${o}px`,top:`${a}px`}),n&&(n.style.position="absolute"),Manipulator.setDataAttribute(e,"placement",l),n&&r.arrow){const{x:e,y:t}=r.arrow,i=l.startsWith("top")||l.startsWith("bottom");Object.assign(n.style,{left:i&&null!==e?`${e}px`:"",top:i||null===t?"":`${t}px`,right:"",bottom:""})}}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_resolvePossibleFunction(e){return execute(e,[this._element,this._element])}_getFloatingMiddleware(e){const t=this._getOffset(),n=[offset("function"==typeof t?t:{mainAxis:t[1]||0,crossAxis:t[0]||0}),flip({fallbackPlacements:this._config.fallbackPlacements}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})];return e&&n.push(arrow({element:e})),n}_getFloatingConfig(e,t){const n={placement:e,middleware:t};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if("click"===t)EventHandler.on(this._element,this.constructor.eventName("click"),this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger.click=!(t._isShown()&&t._activeTrigger.click),t.toggle()});else if("manual"!==t){const e="hover"===t?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),n="hover"===t?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");EventHandler.on(this._element,e,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusin"===e.type?"focus":"hover"]=!0,t._enter()}),EventHandler.on(this._element,n,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusout"===e.type?"focus":"hover"]=t._element.contains(e.relatedTarget),t._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},EventHandler.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=Manipulator.getDataAttributes(this._element);for(const e of Object.keys(t))DISALLOWED_ATTRIBUTES.has(e)&&delete t[e];return e={...t,..."object"==typeof e&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=!1===e.container?document.body:getElement(e.container),"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const[t,n]of Object.entries(this._config))this.constructor.Default[t]!==n&&(e[t]=n);return e.selector=!1,e.trigger="manual",e}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null),this.tip&&(this.tip.remove(),this.tip=null)}}const initTooltip=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$3);if(!t)return;const n=Tooltip.getOrCreateInstance(t);"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$3,initTooltip),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$3,initTooltip);const NAME$4="popover",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",SELECTOR_DATA_TOGGLE$2='[data-bs-toggle="popover"]',EVENT_CLICK$2="click",EVENT_FOCUSIN$1="focusin",EVENT_MOUSEENTER="mouseenter",Default$3={...Tooltip.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},DefaultType$3={...Tooltip.DefaultType,content:"(null|string|element|function)"};class Popover extends Tooltip{static get Default(){return Default$3}static get DefaultType(){return DefaultType$3}static get NAME(){return NAME$4}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[SELECTOR_TITLE]:this._getTitle(),[SELECTOR_CONTENT]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}}const initPopover=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$2);if(!t)return;"click"===e.type&&e.preventDefault();const n=Popover.getOrCreateInstance(t);"click"===e.type?n.toggle():"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"click",SELECTOR_DATA_TOGGLE$2,initPopover),EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$2,initPopover),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$2,initPopover);const NAME$3="scrollspy",DATA_KEY$3="bs.scrollspy",EVENT_KEY$3=`.${DATA_KEY$3}`,DATA_API_KEY=".data-api",EVENT_ACTIVATE=`activate${EVENT_KEY$3}`,EVENT_CLICK$1=`click${EVENT_KEY$3}`,EVENT_LOAD_DATA_API$1=`load${EVENT_KEY$3}.data-api`,CLASS_NAME_MENU_ITEM="menu-item",CLASS_NAME_ACTIVE$1="active",SELECTOR_DATA_SPY='[data-bs-spy="scroll"]',SELECTOR_TARGET_LINKS="[href]",SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_LINK_ITEMS=".nav-link, .nav-item > .nav-link, .list-group-item",SELECTOR_MENU_TOGGLE$1='[data-bs-toggle="menu"]',Default$2={rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},DefaultType$2={rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ScrollSpy extends BaseComponent{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Default$2}static get DefaultType(){return DefaultType$2}static get NAME(){return NAME$3}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=getElement(e.target)||document.body,"string"==typeof e.threshold&&(e.threshold=e.threshold.split(",").map(e=>Number.parseFloat(e))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(EventHandler.off(this._config.target,EVENT_CLICK$1),EventHandler.on(this._config.target,EVENT_CLICK$1,"[href]",e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const n=this._rootElement||window,i=t.offsetTop-this._element.offsetTop;if(n.scrollTo)return void n.scrollTo({top:i,behavior:"smooth"});n.scrollTop=i}}))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(e=>this._observerCallback(e),e)}_observerCallback(e){const t=e=>this._targetLinks.get(`#${e.target.id}`),n=e=>{this._previousScrollData.visibleEntryTop=e.target.offsetTop,this._process(t(e))},i=(this._rootElement||document.documentElement).scrollTop,s=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const o of e){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(o));continue}const e=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&e){if(n(o),!i)return}else s||e||n(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=SelectorEngine.find("[href]",this._config.target);for(const t of e){if(!t.hash||isDisabled(t))continue;const e=SelectorEngine.findOne(decodeURI(t.hash),this._element);isVisible(e)&&(this._targetLinks.set(decodeURI(t.hash),t),this._observableSections.set(t.hash,e))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add("active"),this._activateParents(e),EventHandler.trigger(this._element,EVENT_ACTIVATE,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains("menu-item")){const t=e.closest(".menu")?.previousElementSibling;return void(t?.matches(SELECTOR_MENU_TOGGLE$1)&&t.classList.add("active"))}for(const t of SelectorEngine.parents(e,".nav, .list-group"))for(const e of SelectorEngine.prev(t,SELECTOR_LINK_ITEMS))e.classList.add("active")}_clearActiveClass(e){e.classList.remove("active");const t=SelectorEngine.find("[href].active",e);for(const e of t)e.classList.remove("active")}}EventHandler.on(window,EVENT_LOAD_DATA_API$1,()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_SPY))ScrollSpy.getOrCreateInstance(e)});const NAME$2="tab",DATA_KEY$2="bs.tab",EVENT_KEY$2=".bs.tab",EVENT_HIDE$1="hide.bs.tab",EVENT_HIDDEN$1="hidden.bs.tab",EVENT_SHOW$1="show.bs.tab",EVENT_SHOWN$1="shown.bs.tab",EVENT_CLICK_DATA_API="click.bs.tab",EVENT_KEYDOWN="keydown.bs.tab",EVENT_LOAD_DATA_API="load.bs.tab",ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",HOME_KEY="Home",END_KEY="End",CLASS_NAME_ACTIVE="active",CLASS_NAME_FADE$1="fade",CLASS_NAME_SHOW$1="show",SELECTOR_MENU_TOGGLE='[data-bs-toggle="menu"]',SELECTOR_MENU=".menu",NOT_SELECTOR_MENU_TOGGLE=`:not(${SELECTOR_MENU_TOGGLE})`,SELECTOR_TAB_PANEL='.list-group, .nav, [role="tablist"]',SELECTOR_OUTER=".nav-item, .list-group-item",SELECTOR_INNER=`.nav-link${NOT_SELECTOR_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role="tab"]${NOT_SELECTOR_MENU_TOGGLE}`,SELECTOR_DATA_TOGGLE$1='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',SELECTOR_INNER_ELEM=`${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE$1}`,SELECTOR_DATA_TOGGLE_ACTIVE='.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]';class Tab extends BaseComponent{constructor(e){super(e),this._parent=this._element.closest(SELECTOR_TAB_PANEL),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),EventHandler.on(this._element,EVENT_KEYDOWN,e=>this._keydown(e)))}static get NAME(){return"tab"}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),n=t?EventHandler.trigger(t,EVENT_HIDE$1,{relatedTarget:e}):null;EventHandler.trigger(e,EVENT_SHOW$1,{relatedTarget:t}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){e&&(e.classList.add("active"),this._activate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleMenu(e,!0),EventHandler.trigger(e,EVENT_SHOWN$1,{relatedTarget:t})):e.classList.add("show")},e,e.classList.contains("fade")))}_deactivate(e,t){e&&(e.classList.remove("active"),e.blur(),this._deactivate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleMenu(e,!1),EventHandler.trigger(e,EVENT_HIDDEN$1,{relatedTarget:t})):e.classList.remove("show")},e,e.classList.contains("fade")))}_keydown(e){if(![ARROW_LEFT_KEY,ARROW_RIGHT_KEY,ARROW_UP_KEY,ARROW_DOWN_KEY,HOME_KEY,END_KEY].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=this._getChildren().filter(e=>!isDisabled(e));let n;if([HOME_KEY,END_KEY].includes(e.key))n=t[e.key===HOME_KEY?0:t.length-1];else{const i=[ARROW_RIGHT_KEY,ARROW_DOWN_KEY].includes(e.key);n=getNextActiveElement(t,e.target,i,!0)}n&&(n.focus({preventScroll:!0}),Tab.getOrCreateInstance(n).show())}_getChildren(){return SelectorEngine.find(SELECTOR_INNER_ELEM,this._parent)}_getActiveElem(){return this._getChildren().find(e=>this._elemIsActive(e))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const e of t)this._setInitialAttributesOnChild(e)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),n=this._getOuterElement(e);e.setAttribute("aria-selected",t),n!==e&&this._setAttributeIfNotExists(n,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=SelectorEngine.getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`${e.id}`))}_toggleMenu(e,t){const n=this._getOuterElement(e),i=SelectorEngine.findOne(SELECTOR_MENU_TOGGLE,n);if(!i)return;const s=SelectorEngine.findOne(".menu",n);i.classList.toggle("active",t),s&&s.classList.toggle("show",t),i.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,n){e.hasAttribute(t)||e.setAttribute(t,n)}_elemIsActive(e){return e.classList.contains("active")}_getInnerElement(e){return e.matches(SELECTOR_INNER_ELEM)?e:SelectorEngine.findOne(SELECTOR_INNER_ELEM,e)}_getOuterElement(e){return e.closest(SELECTOR_OUTER)||e}}EventHandler.on(document,"click.bs.tab",SELECTOR_DATA_TOGGLE$1,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this)||Tab.getOrCreateInstance(this).show()}),EventHandler.on(window,"load.bs.tab",()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE))Tab.getOrCreateInstance(e)});const NAME$1="toast",DATA_KEY$1="bs.toast",EVENT_KEY$1=".bs.toast",EVENT_MOUSEOVER="mouseover.bs.toast",EVENT_MOUSEOUT="mouseout.bs.toast",EVENT_FOCUSIN="focusin.bs.toast",EVENT_FOCUSOUT="focusout.bs.toast",EVENT_HIDE="hide.bs.toast",EVENT_HIDDEN="hidden.bs.toast",EVENT_SHOW="show.bs.toast",EVENT_SHOWN="shown.bs.toast",CLASS_NAME_FADE="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW="show",CLASS_NAME_SHOWING="showing",DefaultType$1={animation:"boolean",autohide:"boolean",delay:"number"},Default$1={animation:!0,autohide:!0,delay:5e3};class Toast extends BaseComponent{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Default$1}static get DefaultType(){return DefaultType$1}static get NAME(){return NAME$1}show(){EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),reflow(this._element),this._element.classList.add("show","showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented||(this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.add("hide"),this._element.classList.remove("showing","show"),EventHandler.trigger(this._element,EVENT_HIDDEN)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove("show"),super.dispose()}isShown(){return this._element.classList.contains("show")}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t}if(t)return void this._clearTimeout();const n=e.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){EventHandler.on(this._element,EVENT_MOUSEOVER,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_MOUSEOUT,e=>this._onInteraction(e,!1)),EventHandler.on(this._element,EVENT_FOCUSIN,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_FOCUSOUT,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}}enableDismissTrigger(Toast);const NAME="toggler",DATA_KEY="bs.toggler",EVENT_KEY=`.${DATA_KEY}`,EVENT_TOGGLE=`toggle${EVENT_KEY}`,EVENT_TOGGLED=`toggled${EVENT_KEY}`,EVENT_CLICK="click",SELECTOR_DATA_TOGGLE='[data-bs-toggle="toggler"]',DefaultType={attribute:"string",value:"(string|number|boolean)"},Default={attribute:"class",value:null};class Toggler extends BaseComponent{static get Default(){return Default}static get DefaultType(){return DefaultType}static get NAME(){return NAME}toggle(){EventHandler.trigger(this._element,EVENT_TOGGLE).defaultPrevented||(this._execute(),EventHandler.trigger(this._element,EVENT_TOGGLED))}_execute(){const{attribute:e,value:t}=this._config;"id"!==e&&("class"!==e?this._element.getAttribute(e)!==String(t)?this._element.setAttribute(e,t):this._element.removeAttribute(e):this._element.classList.toggle(t))}}eventActionOnPlugin(Toggler,"click",SELECTOR_DATA_TOGGLE,"toggle");export{Alert,Button,Carousel,Collapse,Combobox,Datepicker,Dialog,Menu,NavOverflow,Offcanvas,OtpInput,Popover,ScrollSpy,Strength,Tab,Toast,Toggler,Tooltip};
//# sourceMappingURL=bootstrap.bundle.min.js.map
\ No newline at end of file
-{"version":3,"names":["elementMap","Map","Data","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","this","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","elementEvent","slice","keyHandlers","length","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","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","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","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_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","ARROW_LEFT_KEY$2","ARROW_RIGHT_KEY$2","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","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","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","round","createCoords","v","x","y","oppositeSideMap","left","right","bottom","top","clamp","start","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","firstChar","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","mainAlignmentSide","reference","floating","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getSideList","side","isStart","getOppositeAxisPlacements","flipAlignment","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","width","height","computeCoordsFromPlacement","_ref","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","async","detectOverflow","state","options","_await$platform$isEle","platform","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","getClippingRect","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","MAX_RESET_COUNT","computePosition","middleware","platformWithDetectOverflow","getElementRects","statefulPlacement","resetCount","middlewareData","i","currentMiddleware","nextX","nextY","reset","initialPlacement","arrow","arrowDimensions","getDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","centerOffset","flip","_middlewareData$arrow","_middlewareData$flip","mainAxis","checkMainAxis","crossAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","detectOverflowOptions","initialSideAxis","isBasePlacement","hasFallbackAxisSideDirection","placements","overflow","overflows","overflowsData","sides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","d","resetPlacement","sort","a","b","_overflowsData$filter2","currentSideAxis","reduce","acc","originSides","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","_middlewareData$offse","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","enabled","hasWindow","getNodeName","node","isNode","nodeName","getWindow","_node$ownerDocument","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","isOverflowElement","overflowX","overflowY","display","isTableElement","isTopLayer","_e","willChangeRe","containRe","isNotNone","isWebKitValue","isContainingBlock","elementOrCss","css","transform","translate","scale","rotate","perspective","isWebKit","backdropFilter","willChange","contain","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","supports","getNodeScroll","scrollLeft","scrollTop","scrollX","scrollY","result","assignedSlot","host","getNearestOverflowAncestor","body","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","visualViewport","getPrototypeOf","getCssDimensions","getComputedStyle$1","hasOffset","offsetWidth","shouldFallback","$","unwrapElement","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","shouldAddVisualOffsets","isFixed","floatingOffsetParent","includeScale","isFixedStrategy","clientRect","visualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","leftScroll","getHTMLOffset","scroll","htmlRect","topLayer","offsets","isOffsetParentAnElement","offsetRect","htmlOffset","getDocumentRect","html","scrollWidth","clientWidth","scrollHeight","clientHeight","SCROLLBAR_MAX","getViewportRect","visualViewportBased","windowScrollbarX","doc","bodyStyles","bodyMarginInline","compatMode","marginLeft","marginRight","clippingStableScrollbarWidth","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","position","getClippingElementAncestors","cache","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","clippingAncestors","_c","firstRect","getRectRelativeToOffsetParent","setLeftRTLScrollbarOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","getOffsetParentFn","getDimensionsFn","floatingDimensions","rectsAreEqual","observeMove","onMove","timeoutId","io","cleanup","_io","disconnect","refresh","skip","threshold","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","ratio","intersectionRatio","IntersectionObserver","observe","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","animationFrame","referenceEl","ancestors","forEach","passive","cleanupIo","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset$1","shift$1","flip$1","arrow$1","mergedOptions","platformWithCache","computePosition$1","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","xs","part","breakpoint","undefined","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","createBreakpointListeners","listeners","minWidth","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","autoClose","container","floatingConfig","menu","submenuTrigger","submenuDelay","Menu","static","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_findMenu","_menuOriginalParent","_parseResponsivePlacements","_setupSubmenuListeners","_moveMenuToContainer","_createFloating","focus","focusVisible","_openInstances","_completeHide","_disposeFloating","_restoreMenuToOriginalParent","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","_updateFloatingPosition","referenceElement","_getPlacement","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","offsetValue","_getFallbackPlacements","defaultConfig","_getContainer","append","isConnected","finalPlacement","assign","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","updatePosition","clear","clientY","timestamp","Date","now","submenuRect","currentPos","lastPos","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","_selectMenuItem","currentMenu","_handleSubmenuKeydown","isRtl","enterKey","exitKey","isSubmenuTrigger","firstItem","parentSubmenuWrapper","parentTrigger","clearMenus","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_CHANGE","CLASS_NAME_SELECTED","CLASS_NAME_PLACEHOLDER","SELECTOR_MENU_ITEM","SELECTOR_VALUE","SELECTOR_SEARCH_INPUT","SELECTOR_NO_RESULTS","multiple","placeholder","search","searchNormalize","Combobox","_toggle","_valueDisplay","_searchInput","_noResults","_hiddenInput","_menuInstance","_createHiddenInput","_createMenuInstance","_syncInitialSelection","_filterItems","createElement","insertBefore","_getSelectedItems","_updateToggleText","_updateHiddenInput","_showPlaceholder","item","_selectItem","_handleToggleKeydown","_handleMenuKeydown","_getVisibleItems","previouslySelected","bsValue","selectedItems","textContent","label","query","normalizedQuery","_normalizeText","visibleCount","text","normalize","jQueryInterface","each","__defProp","__defProps","defineProperties","__getOwnPropDescs","getOwnPropertyDescriptors","__getOwnPropSymbols","getOwnPropertySymbols","__hasOwnProp","hasOwnProperty","__propIsEnum","propertyIsEnumerable","__defNormalProp","e","t","n","enumerable","writable","__spreadValues","__spreadProps","__publicField","errorMessages","notFoundSelector","notInit","notLocale","incorrectTime","incorrectMonthsCount","setContext","context","destroy","o","l","isInit","inputMode","mainElement","parentElement","removeChild","inputElement","replaceWith","originalElement","onDestroy","skipOpenOnFocus","WeakSet","shouldSkipOpenOnFocus","setSkipOpenOnFocus","clearSkipOpenOnFocus","PREV_TABINDEX_ATTR","isFocusable","tabIndex","storePrevTabIndex","restorePrevTabIndex","disableTabbing","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","FILTER_ACCEPT","FILTER_SKIP","nextNode","restoreTabbing","isShowInInputMode","currentType","vcCalendarHidden","cleanupHandlers","openOnFocus","onHide","getOffset","getViewportDimensions","vw","vh","innerHeight","getWindowScrollPosition","calculateAvailableSpace","s","r","getAvailablePosition","canShow","parentPositions","c","u","m","p","h","condition","handleDay","modifier","className","styles","datePopup","vcDatePopup","innerHTML","sanitizerHTML","ariaExpanded","ariaLabel","appendChild","createDatePopup","popups","getDate","getDateString","getFullYear","String","getMonth","padStart","parseDates","toISOString","substring","getTime","setDate","updateAttribute","setDateModifier","displayDateMin","displayDateMax","disableDates","selectionMonthsMode","selectionYearsMode","disableToday","dateToday","selectedWeekends","selectedHolidays","selectedDates","selectionDatesMode","enableEdgeDatesOnly","getLocaleString","toLocaleString","getWeekNumber","getDay","ceil","year","week","addWeekNumberForDate","firstWeekday","vcDateWeekNumber","setDaysAsDisabled","disableWeekdays","disableAllDates","enableDates","createDate","locale","date","vcDate","vcDateMonth","vcDateWeekDay","role","displayDatesOutside","dateBtn","dateStyle","timeZone","vcDateBtn","innerText","enableWeekNumbers","addDate","onCreateDateEls","createDatesFromCurrentMonth","createDatesFromNextMonth","createDatesFromPrevMonth","createWeekNumbers","weekNumbersTitle","vcWeekNumbers","weekNumbersContent","weekNumber","cloneNode","vcWeekNumber","vcWeekYear","createDates","selectedYear","selectedMonth","vcDatesDisabled","setMonth","datesRow","g","layoutDefault","header","labels","navigation","headerContent","wrapper","content","layoutMonths","layoutMultiple","controls","grid","column","layoutYears","ArrowNext","arrowNext","ArrowPrev","arrowPrev","ControlTime","selectionTimeMode","time","selectingTime","DateRangeTooltip","onCreateDateRangeTooltip","dateRangeTooltip","Dates","dates","Month","month","Months","months","Week","WeekNumbers","weekNumbers","Year","Years","years","components","getComponent","parseLayout","parseMultipleLayout","displayMonthsCount","fill","createLayouts","default","layouts","calendar","vc","vcType","application","vcGrid","vcColumn","setVisibilityArrows","visibility","handleDefaultType","monthsToSwitch","dateMin","dateMax","setFullYear","handleYearType","displayYear","visibilityArrows","visibilityHandler","long","visibilityTitle","setYearModifier","aria","selectedProperty","getColumnID","currentValue","columnID","findIndex","createMonthEl","monthsMonth","vcMonthsMonth","ariaDisabled","createMonths","vcYear","vcMonth","short","onCreateMonthEls","TimeInput","TimeRange","handleActions","hour","minute","selectedHours","selectedMinutes","selectedKeeping","onChangeTime","onChangeToInput","transformTime24","AM","PM","handleClickKeepingTime","btnKeeping","transformTime12","updateInputAndRange","updateKeepingTime$1","handleInput$1","updateInputAndTime","updateKeepingTime","handleRange","handleMouseOver","handleMouseOut","handleTime","timeMaxHour","timeMinHour","timeMaxMinute","timeMinMinute","createTime","timeControls","timeContent","timeHour","timeMinute","timeKeeping","timeRanges","timeRange","timeStepHour","timeStepMinute","createWeek","weekdays","titleShort","titleLong","isWeekend","onClickWeekDay","weekDay","vcWeekDay","vcWeekDayOff","createYearEl","yearsYear","vcYearsYear","createYears","onCreateYearEls","trackChangesHTMLElement","MutationObserver","attributeName","haveListener","check","setTheme","vcTheme","trackChangesThemeInSystemSettings","selectedTheme","addListener","detectTheme","themeAttrDetect","handleTheme","media","capitalizeFirstLetter","getLocaleWeekday","weekday","getLocaleMonth","getLocale","create","handleArrowKeys","localName","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","handleMonth","handleClickArrow","vcArrow","onClickArrow","resolveToggle","canToggleSelection","enableDateToggle","handleSelectDate","createDateRangeTooltip","vcDateRangeTooltip","self","lastDateEl","isHovering","rangeMin","rangeMax","tooltipEl","addHoverEffect","vcDateHover","removeHoverEffect","handleHoverDatesEvent","handleHoverSelectedDatesRangeEvent","optimizedHoverHandler","optimizedHandleHoverDatesEvent","optimizedHandleHoverSelectedDatesRangeEvent","handleCancelSelectionDates","handleMouseLeave","updateDisabledDates","disableDatesPast","handleSelectDateRange","disableDatesGaps","updateDateModifier","handleClickDate","single","onClickDate","enableMonthChangeOnDayClick","current","typeClick","getValue","handleMultipleYearSelection","handleMultipleMonthSelection","handleItemClick","onClickYear","onClickMonth","handleClickType","onClickTitle","handleClickMonthOrYear","handleClickWeekNumber","onClickWeekNumber","handleClickWeekDay","handleClick","initMonthsCount","getLocalDate","getTimezoneOffset","resolveDate","initRange","displayDisabledDates","initSelectedDates","displayClosestValidDate","setInitialContext","initSelectedMonthYear","enableJumpToSelectedDate","initTime","selectedTime","initAllVariables","createToInput","vcInput","onInit","canOpenOnFocus","handleInput","inputModeInit","shiftKey","init","onUpdate","replaceProperties","isArray","findBestPickerPosition","setPosition","vcPosition","click","positionToInput","capture","onShow","inputHour","inputMinute","rangeHour","rangeMinute","OptionsCalendar","_Calendar","memoizedElements","queryAndMemoize","Calendar","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateFormat","displayElement","inline","positionElement","selectionMode","vcpOptions","Datepicker","_calendar","_initCalendar","_themeObserver","getSelectedDates","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","attributeFilter","vcpTheme","_handleDateClick","firstDate","_parseDate","_maybeHideAfterSelection","dateStr","day","_formatDate","Intl","DateTimeFormat","format","toLocaleDateString","separator","isNaN","formatted","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showModal","_hideDialog","handleUpdate","_triggerBackdropTransition","showEvent","currentDialog","currentInstance","EVENT_UPDATE","EVENT_OVERFLOW","CLASS_NAME_OVERFLOW","CLASS_NAME_OVERFLOW_MENU","CLASS_NAME_HIDDEN","SELECTOR_NAV_ITEM","SELECTOR_NAV_LINK","SELECTOR_OVERFLOW_TOGGLE","SELECTOR_OVERFLOW_MENU","CLASS_NAME_KEEP","moreText","moreIcon","NavOverflow","_items","_overflowItems","_overflowMenu","_overflowToggle","_isInitialized","_init","_calculateOverflow","_restoreItems","bsNavOrder","_createOverflowMenu","_setupResizeObserver","overflowItem","navWidth","usedWidth","itemsToOverflow","overflowThreshold","toMove","_moveToOverflow","overflowCount","link","clonedLink","bsNavOverflow","EVENT_MOUSEDOWN","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","isOverflowing","_saveInitialAttribute","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","_currentStrength","_evaluate","getStrength","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","digits","clipboardData","getData","lastIndex","select","EVENT_ADD","EVENT_REMOVE","EVENT_SELECT","SELECTOR_DATA_CHIP_INPUT","SELECTOR_GHOST_INPUT","SELECTOR_CHIP","SELECTOR_CHIP_DISMISS","CLASS_NAME_CHIP","CLASS_NAME_CHIP_DISMISS","DEFAULT_DISMISS_ICON","allowDuplicates","maxChips","dismissible","dismissIcon","createOnBlur","ChipInput","_chips","_selectedChips","_anchorChip","_createInput","_initializeExistingChips","trimmedValue","chip","_createChip","getValues","chipOrValue","_findChipByValue","_getChipValue","removeSelected","chipsToRemove","getSelectedValues","chips","clearSelection","selectChip","addToSelection","rangeSelect","chipElements","_getChipElements","anchorIndex","chipIndex","existingChips","_setupChip","_createDismissButton","bsChipValue","createTextNode","clone","dismiss","_handleInputKeydown","_createChipFromInput","metaKey","ctrlKey","_handleChipKeydown","lastChip","selectionStart","selectionEnd","currentIndex","_handleChipDelete","_navigateChip","_navigateToEdge","_handleSelectAll","remainingChips","focusIndex","targetIndex","targetChip","pastedData","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","area","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","pre","small","span","sub","sup","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","extraClass","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","isInTheDom","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","arrowX","arrowY","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_MENU_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_MENU_TOGGLE","smoothScroll","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","scrollTo","behavior","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","menuToggle","listGroup","activeNodes","spy","NOT_SELECTOR_MENU_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleMenu","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","_execute"],"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/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../js/src/util/floating-ui.js","../../js/src/menu.js","../../js/src/combobox.js","../../node_modules/vanilla-calendar-pro/index.mjs","../../js/src/datepicker.js","../../js/src/dialog.js","../../js/src/nav-overflow.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/chip-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n element.dispatchEvent(evt)\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n if (isElement(object)) {\n return object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n // Private\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n if (typeof callback === 'function') {\n callback({ ...data, instances })\n }\n\n for (const instance of instances) {\n instance[method]()\n }\n })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n EventHandler.on(document, onEvent, selector, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n const selector = SelectorEngine.getSelectorFromElement(this)\n const targets = selector ? SelectorEngine.find(selector) : [this]\n\n callback({ targets, event })\n })\n}\n\nexport {\n enableDismissTrigger,\n eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: 'number',\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (document.visibilityState === 'visible' && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n getElement,\n reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n // Private\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\nexport default Collapse\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n const firstChar = placement[0];\n return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n const side = getSide(placement);\n return oppositeSideMap[side] + placement.slice(side.length);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n// Maximum number of resets that can occur before bailing to avoid infinite reset loops.\nconst MAX_RESET_COUNT = 50;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const platformWithDetectOverflow = platform.detectOverflow ? platform : {\n ...platform,\n detectOverflow\n };\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let resetCount = 0;\n const middlewareData = {};\n for (let i = 0; i < middleware.length; i++) {\n const currentMiddleware = middleware[i];\n if (!currentMiddleware) {\n continue;\n }\n const {\n name,\n fn\n } = currentMiddleware;\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platformWithDetectOverflow,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData[name] = {\n ...middlewareData[name],\n ...data\n };\n if (reset && resetCount < MAX_RESET_COUNT) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects,\n platform\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n platform\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';\n}\nfunction isTableElement(element) {\n return /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n try {\n if (element.matches(':popover-open')) {\n return true;\n }\n } catch (_e) {\n // no-op\n }\n try {\n return element.matches(':modal');\n } catch (_e) {\n return false;\n }\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = value => !!value && value !== 'none';\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (isWebKitValue == null) {\n isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');\n }\n return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n return /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n } else {\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n }\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the <html> but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the <body> scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n let top = firstRect.top;\n let right = firstRect.right;\n let bottom = firstRect.bottom;\n let left = firstRect.left;\n for (let i = 1; i < clippingAncestors.length; i++) {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n top = max(rect.top, top);\n right = min(rect.right, right);\n bottom = min(rect.bottom, bottom);\n left = max(rect.left, left);\n }\n return {\n width: right - left,\n height: bottom - top,\n x: left,\n y: top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n if (floating) {\n resizeObserver.observe(floating);\n }\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $breakpoints)\n */\nexport const BREAKPOINTS = {\n sm: 576,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n if (fallback.includes('-start') || fallback.includes('-end')) {\n const [side, alignment] = fallback.split('-')\n const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n return isRTL() ? `${side}-${flippedAlignment}` : fallback\n }\n\n return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n if (!placementString || !placementString.includes(':')) {\n return null\n }\n\n // Parse the placement string into breakpoint-keyed object\n const parts = placementString.split(/\\s+/)\n const placements = { xs: defaultPlacement } // Default fallback\n\n for (const part of parts) {\n if (part.includes(':')) {\n // Responsive placement like \"md:top-end\"\n const [breakpoint, placement] = part.split(':')\n if (BREAKPOINTS[breakpoint] !== undefined) {\n placements[breakpoint] = placement\n }\n } else {\n // Base placement (no prefix = xs/default)\n placements.xs = part\n }\n }\n\n return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n if (!responsivePlacements) {\n return defaultPlacement\n }\n\n // Get current viewport width\n const viewportWidth = window.innerWidth\n\n // Find the largest breakpoint that matches\n let activePlacement = responsivePlacements.xs || defaultPlacement\n\n // Check breakpoints in order (sm, md, lg, xl, 2xl)\n const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n for (const breakpoint of breakpointOrder) {\n const minWidth = BREAKPOINTS[breakpoint]\n if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n activePlacement = responsivePlacements[breakpoint]\n }\n }\n\n return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n const listeners = []\n\n for (const breakpoint of Object.keys(BREAKPOINTS)) {\n const minWidth = BREAKPOINTS[breakpoint]\n const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n mql.addEventListener('change', callback)\n listeners.push({ mql, handler: callback })\n }\n\n return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n for (const { mql, handler } of listeners) {\n mql.removeEventListener('change', handler)\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap menu.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n computePosition,\n flip,\n shift,\n offset,\n autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\nimport {\n parseResponsivePlacement,\n getResponsivePlacement,\n createBreakpointListeners,\n disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'menu'\nconst DATA_KEY = 'bs.menu'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"menu\"]:not(.disabled):not(:disabled)'\n\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_SUBMENU = '.submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.submenu > .menu-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item:not(.disabled):not(:disabled)'\n\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\nconst resolveLogicalPlacement = placement => {\n if (isRTL()) {\n return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n }\n\n return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\nconst triangleSign = (p1, p2, p3) =>\n ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n container: false,\n display: 'dynamic',\n offset: [0, 2],\n floatingConfig: null,\n menu: null,\n placement: DEFAULT_PLACEMENT,\n reference: 'toggle',\n strategy: 'absolute',\n submenuTrigger: 'both',\n submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n display: 'string',\n offset: '(array|string|function)',\n floatingConfig: '(null|object|function)',\n menu: '(null|element)',\n placement: 'string',\n reference: '(string|element|object)',\n strategy: 'string',\n submenuTrigger: 'string',\n submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Menu extends BaseComponent {\n static _openInstances = new Set()\n\n constructor(element, config) {\n if (typeof computePosition === 'undefined') {\n throw new TypeError('Bootstrap\\'s menus require Floating UI (https://floating-ui.com)')\n }\n\n super(element, config)\n\n this._floatingCleanup = null\n this._mediaQueryListeners = []\n this._responsivePlacements = null\n this._parent = this._element.parentNode\n this._isSubmenu = this._parent.classList?.contains('submenu')\n this._openSubmenus = new Map()\n this._submenuCloseTimeouts = new Map()\n this._hoverIntentData = null\n\n this._menu = this._config.menu || this._findMenu()\n\n this._menuOriginalParent = this._menu?.parentNode\n\n this._parseResponsivePlacements()\n this._setupSubmenuListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._moveMenuToContainer()\n this._createFloating()\n\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({ focusVisible: false })\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\n if (this._parent) {\n this._parent.classList.add(CLASS_NAME_SHOW)\n }\n\n Menu._openInstances.add(this)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n this._disposeFloating()\n this._restoreMenuToOriginalParent()\n this._disposeMediaQueryListeners()\n this._closeAllSubmenus()\n this._clearAllSubmenuTimeouts()\n Menu._openInstances.delete(this)\n super.dispose()\n }\n\n update() {\n if (this._floatingCleanup) {\n this._updateFloatingPosition()\n }\n }\n\n // Private\n _findMenu() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n }\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._closeAllSubmenus()\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._disposeFloating()\n this._restoreMenuToOriginalParent()\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n if (this._parent) {\n this._parent.classList.remove(CLASS_NAME_SHOW)\n }\n\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'placement')\n Manipulator.removeDataAttribute(this._menu, 'display')\n Menu._openInstances.delete(this)\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 throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createFloating() {\n if (this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'display', 'static')\n return\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n this._updateFloatingPosition(referenceElement)\n\n this._floatingCleanup = autoUpdate(\n referenceElement,\n this._menu,\n () => this._updateFloatingPosition(referenceElement)\n )\n }\n\n async _updateFloatingPosition(referenceElement = null) {\n if (!this._menu) {\n return\n }\n\n if (!referenceElement) {\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n } else {\n referenceElement = this._element\n }\n }\n\n const placement = this._getPlacement()\n const middleware = this._getFloatingMiddleware()\n const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n await this._applyFloatingPosition(\n referenceElement,\n this._menu,\n floatingConfig.placement,\n floatingConfig.middleware,\n floatingConfig.strategy\n )\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const placement = this._responsivePlacements ?\n getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n this._config.placement\n\n return resolveLogicalPlacement(placement)\n }\n\n _parseResponsivePlacements() {\n this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n if (this._responsivePlacements) {\n this._setupMediaQueryListeners()\n }\n }\n\n _setupMediaQueryListeners() {\n this._disposeMediaQueryListeners()\n this._mediaQueryListeners = createBreakpointListeners(() => {\n if (this._isShown()) {\n this._updateFloatingPosition()\n }\n })\n }\n\n _disposeMediaQueryListeners() {\n disposeBreakpointListeners(this._mediaQueryListeners)\n this._mediaQueryListeners = []\n }\n\n _getOffset() {\n const { offset: offsetConfig } = this._config\n\n if (typeof offsetConfig === 'string') {\n return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offsetConfig === 'function') {\n return ({ placement, rects }) => {\n const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n return result\n }\n }\n\n return offsetConfig\n }\n\n _getFloatingMiddleware() {\n const offsetValue = this._getOffset()\n\n const middleware = [\n offset(\n typeof offsetValue === 'function' ?\n offsetValue :\n { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n ),\n flip({\n fallbackPlacements: this._getFallbackPlacements()\n }),\n shift({\n boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n })\n ]\n\n return middleware\n }\n\n _getFallbackPlacements() {\n const placement = this._getPlacement()\n\n const fallbackMap = {\n bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n 'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n 'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n 'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n 'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n 'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n 'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n 'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n 'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n }\n\n return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n }\n\n _getFloatingConfig(placement, middleware) {\n const defaultConfig = {\n placement,\n middleware,\n strategy: this._config.strategy\n }\n\n return {\n ...defaultConfig,\n ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n }\n }\n\n _disposeFloating() {\n if (this._floatingCleanup) {\n this._floatingCleanup()\n this._floatingCleanup = null\n }\n }\n\n _getContainer() {\n const { container } = this._config\n if (container === false) {\n return null\n }\n\n return container === true ? document.body : getElement(container)\n }\n\n _moveMenuToContainer() {\n const container = this._getContainer()\n if (!container || !this._menu) {\n return\n }\n\n if (this._menu.parentNode !== container) {\n container.append(this._menu)\n }\n }\n\n _restoreMenuToOriginalParent() {\n if (!this._menuOriginalParent || !this._menu) {\n return\n }\n\n if (this._menu.parentNode !== this._menuOriginalParent) {\n this._menuOriginalParent.append(this._menu)\n }\n }\n\n async _applyFloatingPosition(reference, floating, placement, middleware, strategy = 'absolute') {\n if (!floating.isConnected) {\n return null\n }\n\n const { x, y, placement: finalPlacement } = await computePosition(\n reference,\n floating,\n { placement, middleware, strategy }\n )\n\n if (!floating.isConnected) {\n return null\n }\n\n Object.assign(floating.style, {\n position: strategy,\n left: `${x}px`,\n top: `${y}px`,\n margin: '0'\n })\n\n Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n return finalPlacement\n }\n\n // -------------------------------------------------------------------------\n // Submenu handling\n // -------------------------------------------------------------------------\n\n _setupSubmenuListeners() {\n if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n this._onSubmenuTriggerEnter(event)\n })\n\n EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n this._onSubmenuLeave(event)\n })\n\n EventHandler.on(this._menu, 'mousemove', event => {\n this._trackMousePosition(event)\n })\n }\n\n if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n this._onSubmenuTriggerClick(event)\n })\n }\n }\n\n _onSubmenuTriggerEnter(event) {\n const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n if (!trigger) {\n return\n }\n\n const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (!submenu) {\n return\n }\n\n this._cancelSubmenuCloseTimeout(submenu)\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(trigger, submenu, submenuWrapper)\n }\n\n _onSubmenuLeave(event) {\n const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (!submenu || !this._openSubmenus.has(submenu)) {\n return\n }\n\n if (this._isMovingTowardSubmenu(event, submenu)) {\n return\n }\n\n this._scheduleSubmenuClose(submenu, submenuWrapper)\n }\n\n _onSubmenuTriggerClick(event) {\n const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n if (!trigger) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (!submenu) {\n return\n }\n\n if (this._openSubmenus.has(submenu)) {\n this._closeSubmenu(submenu, submenuWrapper)\n } else {\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(trigger, submenu, submenuWrapper)\n }\n }\n\n _openSubmenu(trigger, submenu, submenuWrapper) {\n if (this._openSubmenus.has(submenu)) {\n return\n }\n\n trigger.setAttribute('aria-expanded', 'true')\n trigger.setAttribute('aria-haspopup', 'true')\n\n submenu.classList.add(CLASS_NAME_SHOW)\n submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n this._openSubmenus.set(submenu, cleanup)\n\n EventHandler.on(submenu, 'mouseenter', () => {\n this._cancelSubmenuCloseTimeout(submenu)\n })\n }\n\n _closeSubmenu(submenu, submenuWrapper) {\n if (!this._openSubmenus.has(submenu)) {\n return\n }\n\n const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n for (const nested of nestedSubmenus) {\n const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n this._closeSubmenu(nested, nestedWrapper)\n }\n\n const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n const cleanup = this._openSubmenus.get(submenu)\n if (cleanup) {\n cleanup()\n }\n\n this._openSubmenus.delete(submenu)\n EventHandler.off(submenu, 'mouseenter')\n\n if (trigger) {\n trigger.setAttribute('aria-expanded', 'false')\n }\n\n submenu.classList.remove(CLASS_NAME_SHOW)\n submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n submenu.style.position = ''\n submenu.style.left = ''\n submenu.style.top = ''\n submenu.style.margin = ''\n }\n\n _closeAllSubmenus() {\n for (const [submenu] of this._openSubmenus) {\n const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n this._closeSubmenu(submenu, submenuWrapper)\n }\n }\n\n _closeSiblingSubmenus(currentSubmenuWrapper) {\n const parent = currentSubmenuWrapper.parentNode\n const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n for (const siblingMenu of siblingSubmenus) {\n const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n if (siblingWrapper !== currentSubmenuWrapper) {\n this._closeSubmenu(siblingMenu, siblingWrapper)\n }\n }\n }\n\n _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n const referenceElement = submenuWrapper\n const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n const middleware = [\n offset({ mainAxis: 0, crossAxis: -4 }),\n flip({\n fallbackPlacements: [\n resolveLogicalPlacement('start-start'),\n resolveLogicalPlacement('end-end'),\n resolveLogicalPlacement('start-end')\n ]\n }),\n shift({ padding: 8 })\n ]\n\n const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n updatePosition()\n return autoUpdate(referenceElement, submenu, updatePosition)\n }\n\n _scheduleSubmenuClose(submenu, submenuWrapper) {\n this._cancelSubmenuCloseTimeout(submenu)\n\n const timeoutId = setTimeout(() => {\n this._closeSubmenu(submenu, submenuWrapper)\n this._submenuCloseTimeouts.delete(submenu)\n }, this._config.submenuDelay)\n\n this._submenuCloseTimeouts.set(submenu, timeoutId)\n }\n\n _cancelSubmenuCloseTimeout(submenu) {\n const timeoutId = this._submenuCloseTimeouts.get(submenu)\n if (timeoutId) {\n clearTimeout(timeoutId)\n this._submenuCloseTimeouts.delete(submenu)\n }\n }\n\n _clearAllSubmenuTimeouts() {\n for (const timeoutId of this._submenuCloseTimeouts.values()) {\n clearTimeout(timeoutId)\n }\n\n this._submenuCloseTimeouts.clear()\n }\n\n // -------------------------------------------------------------------------\n // Hover intent / Safe triangle\n // -------------------------------------------------------------------------\n\n _trackMousePosition(event) {\n this._hoverIntentData = {\n x: event.clientX,\n y: event.clientY,\n timestamp: Date.now()\n }\n }\n\n _isMovingTowardSubmenu(event, submenu) {\n if (!this._hoverIntentData) {\n return false\n }\n\n const submenuRect = submenu.getBoundingClientRect()\n const currentPos = { x: event.clientX, y: event.clientY }\n const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n const isRtl = isRTL()\n const targetX = isRtl ? submenuRect.right : submenuRect.left\n const topCorner = { x: targetX, y: submenuRect.top }\n const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n }\n\n _pointInTriangle(point, v1, v2, v3) {\n const d1 = triangleSign(point, v1, v2)\n const d2 = triangleSign(point, v2, v3)\n const d3 = triangleSign(point, v3, v1)\n\n const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n return !(hasNeg && hasPos)\n }\n\n // -------------------------------------------------------------------------\n // Keyboard navigation\n // -------------------------------------------------------------------------\n\n _selectMenuItem({ key, target }) {\n const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n .filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n _handleSubmenuKeydown(event) {\n const { key, target } = event\n const isRtl = isRTL()\n\n const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n event.preventDefault()\n event.stopPropagation()\n\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (submenu) {\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(target, submenu, submenuWrapper)\n requestAnimationFrame(() => {\n const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n if (firstItem) {\n firstItem.focus()\n }\n })\n }\n\n return true\n }\n\n if (key === enterKey && isSubmenuTrigger) {\n event.preventDefault()\n event.stopPropagation()\n\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (submenu) {\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(target, submenu, submenuWrapper)\n requestAnimationFrame(() => {\n const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n if (firstItem) {\n firstItem.focus()\n }\n })\n }\n\n return true\n }\n\n if (key === exitKey) {\n const currentMenu = target.closest(SELECTOR_MENU)\n const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n if (parentSubmenuWrapper) {\n event.preventDefault()\n event.stopPropagation()\n\n const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n if (parentTrigger) {\n parentTrigger.focus()\n }\n\n return true\n }\n }\n\n if (key === HOME_KEY || key === END_KEY) {\n event.preventDefault()\n event.stopPropagation()\n\n const currentMenu = target.closest(SELECTOR_MENU)\n const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n .filter(element => isVisible(element))\n\n if (items.length) {\n const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n targetItem.focus()\n }\n\n return true\n }\n\n return false\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n for (const instance of Menu._openInstances) {\n if (instance._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(instance._menu)\n if (\n composedPath.includes(instance._element) ||\n (instance._config.autoClose === 'inside' && !isMenuTarget) ||\n (instance._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n if (instance._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: instance._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n instance._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n if (!getToggleButton) {\n return\n }\n\n const instance = Menu.getOrCreateInstance(getToggleButton)\n\n if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n return\n }\n\n if (isUpOrDownEvent) {\n event.preventDefault()\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (isEscapeEvent && instance._isShown()) {\n event.preventDefault()\n event.stopPropagation()\n\n const currentMenu = event.target.closest(SELECTOR_MENU)\n const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n if (parentTrigger) {\n parentTrigger.focus()\n }\n\n return\n }\n\n 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, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Menu.getOrCreateInstance(this).toggle()\n})\n\nexport default Menu\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap combobox.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 Menu from './menu.js'\nimport { getNextActiveElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'combobox'\nconst DATA_KEY = 'bs.combobox'\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 HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SELECTED = 'selected'\nconst CLASS_NAME_PLACEHOLDER = 'combobox-placeholder'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"combobox\"]'\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_MENU_ITEM = '.menu-item[data-bs-value]'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item[data-bs-value]:not(.disabled):not(:disabled)'\nconst SELECTOR_VALUE = '.combobox-value'\nconst SELECTOR_SEARCH_INPUT = '.combobox-search-input'\nconst SELECTOR_NO_RESULTS = '.combobox-no-results'\n\nconst Default = {\n boundary: 'clippingParents',\n multiple: false,\n name: null,\n offset: [0, 2],\n placeholder: '',\n placement: 'bottom-start',\n search: false,\n searchNormalize: false\n}\n\nconst DefaultType = {\n boundary: '(string|element)',\n multiple: 'boolean',\n name: '(string|null)',\n offset: '(array|string|function)',\n placeholder: 'string',\n placement: 'string',\n search: 'boolean',\n searchNormalize: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Combobox extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._toggle = this._element\n this._menu = SelectorEngine.next(this._toggle, SELECTOR_MENU)[0]\n this._valueDisplay = SelectorEngine.findOne(SELECTOR_VALUE, this._toggle)\n this._searchInput = SelectorEngine.findOne(SELECTOR_SEARCH_INPUT, this._menu)\n this._noResults = SelectorEngine.findOne(SELECTOR_NO_RESULTS, this._menu)\n this._hiddenInput = null\n this._menuInstance = null\n\n this._createHiddenInput()\n this._createMenuInstance()\n this._syncInitialSelection()\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() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._toggle) || this._isShown()) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW)\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._menuInstance.show()\n\n if (this._searchInput) {\n this._searchInput.value = ''\n this._filterItems('')\n requestAnimationFrame(() => this._searchInput.focus())\n }\n\n EventHandler.trigger(this._toggle, EVENT_SHOWN)\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._menuInstance.hide()\n EventHandler.trigger(this._toggle, EVENT_HIDDEN)\n }\n\n dispose() {\n if (this._menuInstance) {\n this._menuInstance.dispose()\n this._menuInstance = null\n }\n\n if (this._hiddenInput) {\n this._hiddenInput.remove()\n this._hiddenInput = null\n }\n\n EventHandler.off(this._menu, EVENT_KEY)\n EventHandler.off(this._toggle, EVENT_KEY)\n\n super.dispose()\n }\n\n // Private\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createHiddenInput() {\n const { name } = this._config\n if (!name) {\n return\n }\n\n this._hiddenInput = document.createElement('input')\n this._hiddenInput.type = 'hidden'\n this._hiddenInput.name = name\n this._hiddenInput.value = ''\n this._toggle.parentNode.insertBefore(this._hiddenInput, this._toggle)\n }\n\n _createMenuInstance() {\n this._menuInstance = new Menu(this._toggle, {\n menu: this._menu,\n autoClose: this._config.multiple ? 'outside' : true,\n boundary: this._config.boundary,\n offset: this._config.offset,\n placement: this._config.placement\n })\n }\n\n _syncInitialSelection() {\n const selectedItems = this._getSelectedItems()\n if (selectedItems.length > 0) {\n this._updateToggleText()\n this._updateHiddenInput()\n } else {\n this._showPlaceholder()\n }\n }\n\n _addEventListeners() {\n EventHandler.on(this._menu, 'click', SELECTOR_MENU_ITEM, event => {\n const item = event.target.closest(SELECTOR_MENU_ITEM)\n if (!item || isDisabled(item)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n this._selectItem(item)\n })\n\n EventHandler.on(this._toggle, 'keydown', event => {\n this._handleToggleKeydown(event)\n })\n\n EventHandler.on(this._menu, 'keydown', event => {\n this._handleMenuKeydown(event)\n })\n\n if (this._searchInput) {\n EventHandler.on(this._searchInput, 'input', () => {\n this._filterItems(this._searchInput.value)\n })\n\n EventHandler.on(this._searchInput, 'keydown', event => {\n if (event.key === ARROW_DOWN_KEY) {\n event.preventDefault()\n const items = this._getVisibleItems()\n if (items.length > 0) {\n items[0].focus()\n }\n }\n\n if (event.key === ESCAPE_KEY) {\n this.hide()\n this._toggle.focus()\n }\n })\n }\n }\n\n _selectItem(item) {\n if (this._config.multiple) {\n item.classList.toggle(CLASS_NAME_SELECTED)\n item.setAttribute('aria-selected', item.classList.contains(CLASS_NAME_SELECTED))\n } else {\n const previouslySelected = SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n for (const prev of previouslySelected) {\n prev.classList.remove(CLASS_NAME_SELECTED)\n prev.setAttribute('aria-selected', 'false')\n }\n\n item.classList.add(CLASS_NAME_SELECTED)\n item.setAttribute('aria-selected', 'true')\n }\n\n this._updateToggleText()\n this._updateHiddenInput()\n\n const value = this._config.multiple ?\n this._getSelectedItems().map(el => el.dataset.bsValue) :\n item.dataset.bsValue\n\n EventHandler.trigger(this._toggle, EVENT_CHANGE, {\n value,\n item\n })\n\n if (!this._config.multiple) {\n this.hide()\n this._toggle.focus()\n }\n }\n\n _updateToggleText() {\n const selectedItems = this._getSelectedItems()\n\n if (selectedItems.length === 0) {\n this._showPlaceholder()\n return\n }\n\n this._valueDisplay.classList.remove(CLASS_NAME_PLACEHOLDER)\n\n if (this._config.multiple && selectedItems.length > 1) {\n this._valueDisplay.textContent = `${selectedItems.length} selected`\n } else {\n const item = selectedItems[0]\n const label = SelectorEngine.findOne('.menu-item-content > span:first-child', item)\n this._valueDisplay.textContent = label ? label.textContent : item.textContent.trim()\n }\n }\n\n _showPlaceholder() {\n const { placeholder } = this._config\n if (placeholder) {\n this._valueDisplay.textContent = placeholder\n this._valueDisplay.classList.add(CLASS_NAME_PLACEHOLDER)\n }\n }\n\n _updateHiddenInput() {\n if (!this._hiddenInput) {\n return\n }\n\n const selectedItems = this._getSelectedItems()\n const values = selectedItems.map(el => el.dataset.bsValue)\n this._hiddenInput.value = this._config.multiple ? values.join(',') : (values[0] || '')\n }\n\n _getSelectedItems() {\n return SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n }\n\n _getVisibleItems() {\n return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu)\n .filter(item => isVisible(item))\n }\n\n _filterItems(query) {\n const normalizedQuery = this._normalizeText(query.toLowerCase().trim())\n const items = SelectorEngine.find(SELECTOR_MENU_ITEM, this._menu)\n let visibleCount = 0\n\n for (const item of items) {\n const text = this._normalizeText(item.textContent.toLowerCase().trim())\n const matches = !normalizedQuery || text.includes(normalizedQuery)\n item.style.display = matches ? '' : 'none'\n if (matches) {\n visibleCount++\n }\n }\n\n if (this._noResults) {\n this._noResults.classList.toggle('d-none', visibleCount > 0)\n }\n }\n\n _normalizeText(text) {\n if (this._config.searchNormalize) {\n return text.normalize('NFD').replace(/[\\u0300-\\u036F]/g, '')\n }\n\n return text\n }\n\n _handleToggleKeydown(event) {\n const { key } = event\n\n if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n event.preventDefault()\n if (!this._isShown()) {\n this.show()\n }\n\n const items = this._getVisibleItems()\n if (items.length > 0) {\n const target = key === ARROW_DOWN_KEY ? items[0] : items[items.length - 1]\n target.focus()\n }\n\n return\n }\n\n if ((key === ENTER_KEY || key === SPACE_KEY) && !this._isShown()) {\n event.preventDefault()\n this.show()\n }\n }\n\n _handleMenuKeydown(event) {\n const { key, target } = event\n\n if (key === ESCAPE_KEY) {\n event.preventDefault()\n event.stopPropagation()\n this.hide()\n this._toggle.focus()\n return\n }\n\n if (key === TAB_KEY) {\n this.hide()\n return\n }\n\n const isInput = target.matches('input')\n\n if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n event.preventDefault()\n const items = this._getVisibleItems()\n if (items.length > 0) {\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n return\n }\n\n if (key === HOME_KEY || key === END_KEY) {\n event.preventDefault()\n const items = this._getVisibleItems()\n if (items.length > 0) {\n const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n targetItem.focus()\n }\n\n return\n }\n\n if ((key === ENTER_KEY || key === SPACE_KEY) && !isInput) {\n event.preventDefault()\n const item = target.closest(SELECTOR_MENU_ITEM)\n if (item && !isDisabled(item)) {\n this._selectItem(item)\n }\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Combobox.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]()\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Combobox.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n for (const toggle of SelectorEngine.find(SELECTOR_DATA_TOGGLE)) {\n Combobox.getOrCreateInstance(toggle)\n }\n})\n\nexport default Combobox\n","/*! name: vanilla-calendar-pro v3.1.0 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */\nvar __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,\"symbol\"!=typeof t?t+\"\":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the \"init()\" method first.',notLocale:\"You specified an incorrect language label or did not specify the required number of values for «locale.weekdays» or «locale.months».\",incorrectTime:\"The value of the time property can be: false, 12 or 24.\",incorrectMonthsCount:\"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1.\"},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,a,o,l;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(a=null==(n=e.context.inputElement)?void 0:n.replaceWith)||a.call(n,e.context.originalElement),setContext(e,\"inputElement\",void 0)):null==(l=(o=e.context.mainElement).replaceWith)||l.call(o,e.context.originalElement),setContext(e,\"mainElement\",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},skipOpenOnFocus=new WeakSet,shouldSkipOpenOnFocus=e=>skipOpenOnFocus.has(e),setSkipOpenOnFocus=e=>{skipOpenOnFocus.add(e)},clearSkipOpenOnFocus=e=>{skipOpenOnFocus.delete(e)},PREV_TABINDEX_ATTR=\"data-vc-prev-tabindex\",isFocusable=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),storePrevTabIndex=e=>{if(e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(\"tabindex\");e.setAttribute(PREV_TABINDEX_ATTR,null!=t?t:\"\")},restorePrevTabIndex=e=>{if(!e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(PREV_TABINDEX_ATTR);\"\"===t||null===t?e.removeAttribute(\"tabindex\"):e.setAttribute(\"tabindex\",t),e.removeAttribute(PREV_TABINDEX_ATTR)},disableTabbing=e=>{isFocusable(e)&&(storePrevTabIndex(e),e.tabIndex=-1);const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>isFocusable(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();){const e=t.currentNode;storePrevTabIndex(e),e.tabIndex=-1}},restoreTabbing=e=>{restorePrevTabIndex(e),e.querySelectorAll(`[${PREV_TABINDEX_ATTR}]`).forEach(restorePrevTabIndex)},hide=e=>{if(e.context.isShowInInputMode&&e.context.currentType){if(e.context.mainElement.dataset.vcCalendarHidden=\"\",setContext(e,\"isShowInInputMode\",!1),e.inputMode&&disableTabbing(e.context.mainElement),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach((e=>e())),setContext(e,\"cleanupHandlers\",[])),e.inputMode&&e.context.inputElement&&e.context.mainElement.contains(document.activeElement)){(\"function\"==typeof e.openOnFocus||!0===e.openOnFocus)&&setSkipOpenOnFocus(e),e.context.inputElement.focus()}e.onHide&&e.onHide(e)}};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:a,left:o}=getOffset(e),{vh:l,vw:s}=getViewportDimensions(),i=a-t,r=o-n;return{top:i,bottom:l-(i+e.clientHeight),left:r,right:s-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const a={top:!0,bottom:!0,left:!0,right:!0},o=[];if(!t||!e)return{canShow:a,parentPositions:o};const{bottom:l,top:s}=calculateAvailableSpace(e),{top:i,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:m}=getViewportDimensions(),p=m/2,h=u/2;return[{condition:i<h,position:\"top\"},{condition:i>h,position:\"bottom\"},{condition:r<p,position:\"left\"},{condition:r>p,position:\"right\"}].forEach((({condition:e,position:t})=>{e&&o.push(t)})),Object.assign(a,{top:c<=s-n,bottom:c<=l-n,left:d<=r,right:d<=m-r}),{canShow:a,parentPositions:o}}const handleDay=(e,t,n,a)=>{var o;const l=a.querySelector(`[data-vc-date=\"${t}\"]`),s=null==l?void 0:l.querySelector(\"[data-vc-date-btn]\");if(!l||!s)return;if((null==n?void 0:n.modifier)&&s.classList.add(...n.modifier.trim().split(\" \")),!(null==n?void 0:n.html))return;const i=document.createElement(\"div\");i.className=e.styles.datePopup,i.dataset.vcDatePopup=\"\",i.innerHTML=e.sanitizerHTML(n.html),s.ariaExpanded=\"true\",s.ariaLabel=`${s.ariaLabel}, ${null==(o=null==i?void 0:i.textContent)?void 0:o.replace(/^\\s+|\\s+(?=\\s)|\\s+$/g,\"\").replace(/ /g,\" \")}`,l.appendChild(i),requestAnimationFrame((()=>{if(!i)return;const{canShow:e}=getAvailablePosition(l,i),t=e.bottom?l.offsetHeight:-i.offsetHeight,n=e.left&&!e.right?l.offsetWidth-i.offsetWidth/2:!e.left&&e.right?i.offsetWidth/2:0;Object.assign(i.style,{left:`${n}px`,top:`${t}px`})}))},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach((([n,a])=>handleDay(e,n,a,t))))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,\"0\")}-${String(e.getDate()).padStart(2,\"0\")}`,parseDates=e=>e.reduce(((e,t)=>{if(t instanceof Date||\"number\"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\\d{4}-\\d{2}-\\d{2})$/g)?e.push(t):t.replace(/(\\d{4}-\\d{2}-\\d{2}).*?(\\d{4}-\\d{2}-\\d{2})/g,((t,n,a)=>{const o=getDate(n),l=getDate(a),s=new Date(o.getTime());for(;s<=l;s.setDate(s.getDate()+1))e.push(getDateString(s));return t}));return e}),[]),updateAttribute=(e,t,n,a=\"\")=>{t?e.setAttribute(n,a):e.getAttribute(n)===a&&e.removeAttribute(n)},setDateModifier=(e,t,n,a,o,l,s)=>{var i,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(l)||getDate(e.context.displayDateMax)<getDate(l)||(null==(i=e.context.disableDates)?void 0:i.includes(l))||!e.selectionMonthsMode&&\"current\"!==s||!e.selectionYearsMode&&getDate(l).getFullYear()!==t;updateAttribute(n,u,\"data-vc-date-disabled\"),a&&updateAttribute(a,u,\"aria-disabled\",\"true\"),a&&updateAttribute(a,u,\"tabindex\",\"-1\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"data-vc-date-today\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"aria-current\",\"date\"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(o),\"data-vc-date-weekend\");const m=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,m.includes(l),\"data-vc-date-holiday\"),(null==(d=e.context.selectedDates)?void 0:d.includes(l))?(n.setAttribute(\"data-vc-date-selected\",\"\"),a&&a.setAttribute(\"aria-selected\",\"true\"),e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode&&(e.context.selectedDates[0]===l&&e.context.selectedDates[e.context.selectedDates.length-1]===l?n.setAttribute(\"data-vc-date-selected\",\"first-and-last\"):e.context.selectedDates[0]===l?n.setAttribute(\"data-vc-date-selected\",\"first\"):e.context.selectedDates[e.context.selectedDates.length-1]===l&&n.setAttribute(\"data-vc-date-selected\",\"last\"),e.context.selectedDates[0]!==l&&e.context.selectedDates[e.context.selectedDates.length-1]!==l&&n.setAttribute(\"data-vc-date-selected\",\"middle\"))):n.hasAttribute(\"data-vc-date-selected\")&&(n.removeAttribute(\"data-vc-date-selected\"),a&&a.removeAttribute(\"aria-selected\")),!e.context.disableDates.includes(l)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),a=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),o=getDate(l);updateAttribute(n,o>t&&o<a,\"data-vc-date-selected\",\"middle\")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),a=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-a);const o=new Date(n.getFullYear(),0,1),l=Math.ceil(((+n-+o)/864e5+1)/7);return{year:n.getFullYear(),week:l}},addWeekNumberForDate=(e,t,n)=>{const a=getWeekNumber(n,e.firstWeekday);a&&(t.dataset.vcDateWeekNumber=String(a.week))},setDaysAsDisabled=(e,t,n)=>{var a,o,l,s,i;const r=null==(a=e.disableWeekdays)?void 0:a.includes(n),c=e.disableAllDates&&!!(null==(o=e.context.enableDates)?void 0:o[0]);!r&&!c||(null==(l=e.context.enableDates)?void 0:l.includes(t))||(null==(s=e.context.disableDates)?void 0:s.includes(t))||(e.context.disableDates.push(t),null==(i=e.context.disableDates)||i.sort(((e,t)=>+new Date(e)-+new Date(t))))},createDate=(e,t,n,a,o,l)=>{const s=getDate(o).getDay(),i=\"string\"==typeof e.locale&&e.locale.length?e.locale:\"en\",r=document.createElement(\"div\");let c;r.className=e.styles.date,r.dataset.vcDate=o,r.dataset.vcDateMonth=l,r.dataset.vcDateWeekDay=String(s),r.role=\"gridcell\",(\"current\"===l||e.displayDatesOutside)&&(c=document.createElement(\"button\"),c.className=e.styles.dateBtn,c.type=\"button\",c.ariaLabel=getLocaleString(o,i,{dateStyle:\"long\",timeZone:\"UTC\"}),c.dataset.vcDateBtn=\"\",c.innerText=String(a),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,o),setDaysAsDisabled(e,o,s),setDateModifier(e,t,r,c,s,o,l),n.addDate(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,a,o)=>{for(let l=1;l<=n;l++){const n=new Date(a,o,l);createDate(e,a,t,l,getDateString(n),\"current\")}},createDatesFromNextMonth=(e,t,n,a,o)=>{const l=o+1===12?a+1:a,s=o+1===12?\"01\":o+2<10?`0${o+2}`:o+2;for(let o=1;o<=n;o++){const n=o<10?`0${o}`:String(o);createDate(e,a,t,o,`${l}-${s}-${n}`,\"next\")}},createDatesFromPrevMonth=(e,t,n,a,o)=>{let l=new Date(n,a,0).getDate()-(o-1);const s=0===a?n-1:n,i=0===a?12:a<10?`0${a}`:a;for(let a=o;a>0;a--,l++){createDate(e,n,t,l,`${s}-${i}-${l}`,\"prev\")}},createWeekNumbers=(e,t,n,a,o)=>{if(!e.enableWeekNumbers)return;a.textContent=\"\";const l=document.createElement(\"b\");l.className=e.styles.weekNumbersTitle,l.innerText=\"#\",l.dataset.vcWeekNumbers=\"title\",a.appendChild(l);const s=document.createElement(\"div\");s.className=e.styles.weekNumbersContent,s.dataset.vcWeekNumbers=\"content\",a.appendChild(s);const i=document.createElement(\"button\");i.type=\"button\",i.className=e.styles.weekNumber;const r=o.querySelectorAll(\"[data-vc-date]\"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,a=getWeekNumber(n,e.firstWeekday);if(!a)return;const o=i.cloneNode(!0);o.innerText=String(a.week),o.dataset.vcWeekNumber=String(a.week),o.dataset.vcWeekYear=String(a.year),o.role=\"rowheader\",o.ariaLabel=`${a.week}`,s.appendChild(o)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc=\"dates\"]'),a=e.context.mainElement.querySelectorAll('[data-vc-week=\"numbers\"]');n.forEach(((n,o)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=\"\"),n.textContent=\"\";const l=new Date(t);l.setMonth(l.getMonth()+o);const s=l.getMonth(),i=l.getFullYear(),r=(new Date(i,s,1).getDay()-e.firstWeekday+7)%7,c=new Date(i,s+1,0).getDate(),d=r+c,u=Math.ceil(d/7),m=7*u-d,p=[];for(let t=0;t<u;t++){const t=document.createElement(\"div\");t.className=e.styles.datesRow,t.setAttribute(\"data-vc-dates\",\"row\"),t.setAttribute(\"role\",\"row\"),p.push(t)}let h=0,v=0;const g={addDate:e=>{p[h].appendChild(e),v++,v>=7&&(h++,v=0)}};createDatesFromPrevMonth(e,g,i,s,r),createDatesFromCurrentMonth(e,g,c,i,s),createDatesFromNextMonth(e,g,m,i,s);for(const e of p)n.appendChild(e);createDatePopup(e,n),createWeekNumbers(e,r,c,a[o],n)}))},layoutDefault=e=>`\\n <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <#ArrowPrev [month] />\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n <#ArrowNext [month] />\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <#WeekNumbers />\\n <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n <#Week />\\n <#Dates />\\n <#DateRangeTooltip />\\n </div>\\n </div>\\n <#ControlTime />\\n`,layoutMonths=e=>`\\n <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <div class=\"${e.styles.content}\" data-vc=\"content\">\\n <#Months />\\n </div>\\n </div>\\n`,layoutMultiple=e=>`\\n <div class=\"${e.styles.controls}\" data-vc=\"controls\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <#ArrowPrev [month] />\\n <#ArrowNext [month] />\\n </div>\\n <div class=\"${e.styles.grid}\" data-vc=\"grid\">\\n <#Multiple>\\n <div class=\"${e.styles.column}\" data-vc=\"column\" role=\"region\">\\n <div class=\"${e.styles.header}\" data-vc=\"header\">\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <#WeekNumbers />\\n <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n <#Week />\\n <#Dates />\\n </div>\\n </div>\\n </div>\\n <#/Multiple>\\n <#DateRangeTooltip />\\n </div>\\n <#ControlTime />\\n`,layoutYears=e=>`\\n <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <#ArrowPrev [year] />\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n <#ArrowNext [year] />\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <div class=\"${e.styles.content}\" data-vc=\"content\">\\n <#Years />\\n </div>\\n </div>\\n`,ArrowNext=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowNext}\" data-vc-arrow=\"next\" aria-label=\"${e.labels.arrowNext[t]}\"></button>`,ArrowPrev=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowPrev}\" data-vc-arrow=\"prev\" aria-label=\"${e.labels.arrowPrev[t]}\"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class=\"${e.styles.time}\" data-vc=\"time\" role=\"group\" aria-label=\"${e.labels.selectingTime}\"></div>`:\"\",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class=\"${e.styles.dateRangeTooltip}\" data-vc-date-range-tooltip=\"hidden\"></div>`:\"\",Dates=e=>`<div class=\"${e.styles.dates}\" data-vc=\"dates\" aria-live=\"assertive\" aria-label=\"${e.labels.dates}\" ${\"multiple\"===e.type?\"aria-multiselectable\":\"\"}></div>`,Month=e=>`<button type=\"button\" class=\"${e.styles.month}\" data-vc=\"month\"></button>`,Months=e=>`<div class=\"${e.styles.months}\" data-vc=\"months\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.months}\"></div>`,Week=e=>`<div class=\"${e.styles.week}\" data-vc=\"week\" role=\"row\" aria-label=\"${e.labels.week}\"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class=\"${e.styles.weekNumbers}\" data-vc-week=\"numbers\" role=\"row\" aria-label=\"${e.labels.weekNumber}\"></div>`:\"\",Year=e=>`<button type=\"button\" class=\"${e.styles.year}\" data-vc=\"year\"></button>`,Years=e=>`<div class=\"${e.styles.years}\" data-vc=\"years\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.years}\"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\\n\\t]/g,\"\").replace(/<#(?!\\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\\[(.*?)\\]/)||[])[1],o=n.replace(/[/\\s\\n\\t]|\\[(.*?)\\]/g,\"\"),l=getComponent(o),s=l?l(e,null!=a?a:null):\"\";return e.sanitizerHTML(s)})).replace(/[\\n\\t]/g,\"\"),parseMultipleLayout=(e,t)=>t.replace(new RegExp(\"<#Multiple>(.*?)<#\\\\/Multiple>\",\"gs\"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join(\"\");return e.sanitizerHTML(a)})).replace(/[\\n\\t]/g,\"\"),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e))})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc=\"calendar\",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role=\"application\",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,\"multiple\"!==e.context.currentType){if(\"multiple\"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc=\"controls\"]'),a=e.context.mainElement.querySelector('[data-vc=\"grid\"]'),o=t.closest('[data-vc=\"column\"]');return n&&n.remove(),a&&(a.dataset.vcGrid=\"hidden\"),o&&(o.dataset.vcColumn=e.context.currentType),void(o&&(o.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?\"hidden\":\"\",t.style.visibility=a?\"hidden\":\"\"},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),o=new Date(a.getTime()),l=new Date(a.getTime());o.setMonth(o.getMonth()-e.monthsToSwitch),l.setMonth(l.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||o.getFullYear()<s.getFullYear()||o.getFullYear()===s.getFullYear()&&o.getMonth()<s.getMonth(),c=!e.selectionMonthsMode||l.getFullYear()>i.getFullYear()||l.getFullYear()===i.getFullYear()&&l.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(o.getFullYear()&&e.context.displayYear+7>=o.getFullYear());setVisibilityArrows(t,n,l,s)},visibilityArrows=e=>{if(\"month\"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow=\"prev\"]'),n=e.context.mainElement.querySelector('[data-vc-arrow=\"next\"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})[\"multiple\"===e.context.currentType?\"default\":e.context.currentType]()},visibilityHandler=(e,t,n,a,o)=>{const l=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc=\"column\"]');r&&(r.ariaLabel=`${i} ${l}`);const c={month:{id:s,label:i},year:{id:l,label:l}};t.innerText=String(c[o].label),t.dataset[`vc${o.charAt(0).toUpperCase()+o.slice(1)}`]=String(c[o].id),t.ariaLabel=`${e.labels[o]} ${c[o].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[o]||\"only-arrows\"===d[o];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc=\"month\"]'),n=e.context.mainElement.querySelectorAll('[data-vc=\"year\"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))))},setYearModifier=(e,t,n,a,o)=>{var l;const s={month:\"[data-vc-months-month]\",year:\"[data-vc-years-year]\"},i={month:{selected:\"data-vc-months-month-selected\",aria:\"aria-selected\",value:\"vcMonthsMonth\",selectedProperty:\"selectedMonth\"},year:{selected:\"data-vc-years-year-selected\",aria:\"aria-selected\",value:\"vcYearsYear\",selectedProperty:\"selectedYear\"}};o&&(null==(l=e.context.mainElement.querySelectorAll(s[n]))||l.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria)})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),\"year\"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,\"\"),t.setAttribute(i[n].aria,\"true\"))},getColumnID=(e,t)=>{var n;if(\"multiple\"!==e.type)return{currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc=\"column\"]'),o=Array.from(a).findIndex((e=>e.closest(`[data-vc-column=\"${t}\"]`)));return{currentValue:o>=0?Number(null==(n=a[o].querySelector(`[data-vc=\"${t}\"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(o,0)}},createMonthEl=(e,t,n,a,o,l,s)=>{const i=t.cloneNode(!1);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=o,i.role=\"gridcell\",i.dataset.vcMonthsMonth=`${s}`,l&&(i.ariaDisabled=\"true\"),l&&(i.tabIndex=-1),i.disabled=l,setYearModifier(e,i,\"month\",n===s,!1),i},createMonths=(e,t)=>{var n,a;const o=null==(n=null==t?void 0:t.closest('[data-vc=\"header\"]'))?void 0:n.querySelector('[data-vc=\"year\"]'),l=o?Number(o.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,\"currentType\",\"month\"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc=\"months\"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement(\"button\");c.type=\"button\";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,\"month\"),u=l<=n.getFullYear()&&t<n.getMonth()+d||l>=a.getFullYear()&&t>a.getMonth()-o+d||l>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m)}null==(a=e.context.mainElement.querySelector(\"[data-vc-months-month]:not([disabled])\"))||a.focus()},TimeInput=(e,t,n,a,o)=>`\\n <label class=\"${t}\" data-vc-time-input=\"${e}\">\\n <input type=\"text\" name=\"${e}\" maxlength=\"2\" aria-label=\"${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${a}\" ${o?\"disabled\":\"\"}>\\n </label>\\n`,TimeRange=(e,t,n,a,o,l,s)=>`\\n <label class=\"${t}\" data-vc-time-range=\"${e}\">\\n <input type=\"range\" name=\"${e}\" min=\"${a}\" max=\"${o}\" step=\"${l}\" aria-label=\"${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${s}\">\\n </label>\\n`,handleActions=(e,t,n,a)=>{({hour:()=>setContext(e,\"selectedHours\",n),minute:()=>setContext(e,\"selectedMinutes\",n)})[a](),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:\"\"}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:\"00\",PM:\"12\"},1:{AM:\"01\",PM:\"13\"},2:{AM:\"02\",PM:\"14\"},3:{AM:\"03\",PM:\"15\"},4:{AM:\"04\",PM:\"16\"},5:{AM:\"05\",PM:\"17\"},6:{AM:\"06\",PM:\"18\"},7:{AM:\"07\",PM:\"19\"},8:{AM:\"08\",PM:\"20\"},9:{AM:\"09\",PM:\"21\"},10:{AM:\"10\",PM:\"22\"},11:{AM:\"11\",PM:\"23\"},12:{AM:\"00\",PM:\"12\"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,o)=>{const l=l=>{const s=\"AM\"===e.context.selectedKeeping?\"PM\":\"AM\",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=o?(setContext(e,\"selectedKeeping\",s),n.value=i,handleActions(e,l,e.context.selectedHours,\"hour\"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,l,!0)};return t.addEventListener(\"click\",l),()=>{t.removeEventListener(\"click\",l)}},transformTime12=e=>({0:\"12\",13:\"01\",14:\"02\",15:\"03\",16:\"04\",17:\"05\",18:\"06\",19:\"07\",20:\"08\",21:\"09\",22:\"10\",23:\"11\"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleInput$1=(e,t,n,a,o,l,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=l&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,\"PM\"),handleActions(e,c,transformTime12(r),o)},24:()=>{if(!(i<=l&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,o)}})[e.selectionTimeMode]()},minute:(a,i,r)=>{if(!(a<=l&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=i,t.value=i,handleActions(e,r,i,o)}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,\"0\");i[o]&&i[o](t,a,e)};return n.addEventListener(\"change\",r),()=>{n.removeEventListener(\"change\",r)}},updateInputAndTime=(e,t,n,a,o)=>{t.value=o,handleActions(e,n,o,a)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleRange=(e,t,n,a,o)=>{const l=l=>{const s=Number(t.value),i=t.value.padStart(2,\"0\"),r=\"hour\"===o,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?\"AM\":\"PM\"),updateInputAndTime(e,n,l,o,!r||c||d?i:transformTime12(t.value))};return t.addEventListener(\"input\",l),()=>{t.removeEventListener(\"input\",l)}},handleMouseOver=e=>e.setAttribute(\"data-vc-input-focus\",\"\"),handleMouseOut=e=>e.removeAttribute(\"data-vc-input-focus\"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range=\"hour\"] input[name=\"hour\"]'),a=t.querySelector('[data-vc-time-range=\"minute\"] input[name=\"minute\"]'),o=t.querySelector('[data-vc-time-input=\"hour\"] input[name=\"hour\"]'),l=t.querySelector('[data-vc-time-input=\"minute\"] input[name=\"minute\"]'),s=t.querySelector('[data-vc-time=\"keeping\"]');if(!(n&&a&&o&&l))return;const i=e=>{e.target===n&&handleMouseOver(o),e.target===a&&handleMouseOver(l)},r=e=>{e.target===n&&handleMouseOut(o),e.target===a&&handleMouseOut(l)};return t.addEventListener(\"mouseover\",i),t.addEventListener(\"mouseout\",r),handleInput$1(e,n,o,s,\"hour\",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,l,s,\"minute\",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,o,s,\"hour\"),handleRange(e,a,l,s,\"minute\"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener(\"mouseover\",i),t.removeEventListener(\"mouseout\",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc=\"time\"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[o,l]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i=\"range\"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\\n <div class=\"${e.styles.timeContent}\" data-vc-time=\"content\">\\n ${TimeInput(\"hour\",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\\n ${TimeInput(\"minute\",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\\n ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type=\"button\" class=\"${e.styles.timeKeeping}\" aria-label=\"${e.labels.btnKeeping} ${r}\" data-vc-time=\"keeping\" ${i?\"disabled\":\"\"}>${r}</button>`):\"\"}\\n </div>\\n <div class=\"${e.styles.timeRanges}\" data-vc-time=\"ranges\">\\n ${TimeRange(\"hour\",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\\n ${TimeRange(\"minute\",e.styles.timeRange,e.labels,o,l,e.timeStepMinute,e.context.selectedMinutes)}\\n </div>\\n `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,o)=>[...n,{id:o,titleShort:e.context.locale.weekdays.short[o],titleLong:a,isWeekend:t.includes(o)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc=\"week\"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement(\"button\"):document.createElement(\"b\");e.onClickWeekDay&&(n.type=\"button\"),a.forEach((a=>{const o=n.cloneNode(!0);o.innerText=a.titleShort,o.className=e.styles.weekDay,o.role=\"columnheader\",o.ariaLabel=a.titleLong,o.dataset.vcWeekDay=String(a.id),a.isWeekend&&(o.dataset.vcWeekDayOff=\"\"),t.appendChild(o)}))}))},createYearEl=(e,t,n,a,o)=>{const l=t.cloneNode(!1);return l.className=e.styles.yearsYear,l.innerText=String(o),l.ariaLabel=String(o),l.role=\"gridcell\",l.dataset.vcYearsYear=`${o}`,a&&(l.ariaDisabled=\"true\"),a&&(l.tabIndex=-1),l.disabled=a,setYearModifier(e,l,\"year\",n===o,!1),l},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,\"currentType\",\"year\"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const o=e.context.mainElement.querySelector('[data-vc=\"years\"]');if(!e.selectionYearsMode||!o)return;const l=\"multiple\"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement(\"button\");s.type=\"button\";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+l||t>getDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);o.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i)}null==(n=e.context.mainElement.querySelector(\"[data-vc-years-year]:not([disabled])\"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;a<e.length;a++){if(e[a].attributeName===t){n();break}}})).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?\"dark\":\"light\"),\"system\"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc=\"calendar\"]');null==t||t.forEach((t=>setTheme(t,e.matches?\"dark\":\"light\")))};t.addEventListener?t.addEventListener(\"change\",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\\[(.+)\\]/g,((e,t)=>t));if(!n||\"system\"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const o=n.getAttribute(a);o?(setTheme(e.context.mainElement,o),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t)}))):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{\"not all\"!==window.matchMedia(\"(prefers-color-scheme)\").media?\"system\"===e.selectedTheme?detectTheme(e,window.matchMedia(\"(prefers-color-scheme: dark)\")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,\"light\")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\\./,\"\"),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),o=a.toLocaleString(n,{weekday:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{weekday:\"long\",timeZone:\"UTC\"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(o)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(l))},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,\"0\")}-01T00:00:00.000Z`),o=a.toLocaleString(n,{month:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{month:\"long\",timeZone:\"UTC\"});e.context.locale.months.short.push(capitalizeFirstLetter(o)),e.context.locale.months.long.push(capitalizeFirstLetter(l))},getLocale=e=>{var t,n,a,o,l,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if(\"string\"==typeof e.locale){if(\"string\"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(o=null==(a=e.locale)?void 0:a.weekdays)?void 0:o.long[6])&&(null==(s=null==(l=e.locale)?void 0:l.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,\"locale\",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(![\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key)||\"button\"!==a.localName)return;const o=Array.from(e.context.mainElement.querySelectorAll('[data-vc=\"calendar\"] button')),l=o.indexOf(a);if(-1===l)return;const s=(i=o[l]).hasAttribute(\"data-vc-date-btn\")?7:i.hasAttribute(\"data-vc-months-month\")?4:i.hasAttribute(\"data-vc-years-year\")?5:1;var i;const r=(0,{ArrowUp:()=>Math.max(0,l-s),ArrowDown:()=>Math.min(o.length-1,l+s),ArrowLeft:()=>Math.max(0,l-1),ArrowRight:()=>Math.min(o.length-1,l+1)}[t.key])();null==(n=o[r])||n.focus()};return e.context.mainElement.addEventListener(\"keydown\",t),()=>e.context.mainElement.removeEventListener(\"keydown\",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,\"selectedMonth\",n.getMonth()),setContext(e,\"selectedYear\",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest(\"[data-vc-arrow]\");if(n){if([\"default\",\"multiple\"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if(\"year\"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,\"displayYear\",e.context.displayYear+a),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},resolveToggle=(e,t)=>void 0===t||(\"function\"==typeof t?t(e):t),canToggleSelection=e=>resolveToggle(e,e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,o=t.closest(\"[data-vc-date][data-vc-date-selected]\"),l=canToggleSelection(e);if(o&&!l)return;const s=o?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,\"selectedDates\",s)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip=\"hidden\",void(t.textContent=\"\");const a=e.context.mainElement.getBoundingClientRect(),o=n.getBoundingClientRect();t.style.left=o.left-a.left+o.width/2+\"px\",t.style.top=o.bottom-a.top-o.height+\"px\",t.dataset.vcDateRangeTooltip=\"visible\",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,o,a))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,o,l;if(!(null==(o=null==(a=state.self)?void 0:a.context)?void 0:o.selectedDates[0]))return;const s=getDateString(e);(null==(l=state.self.context.disableDates)?void 0:l.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${s}\"]`).forEach((e=>e.dataset.vcDateHover=\"\")),t.forEach((e=>e.dataset.vcDateHover=\"first\")),n.forEach((e=>{\"first\"===e.dataset.vcDateHover?e.dataset.vcDateHover=\"first-and-last\":e.dataset.vcDateHover=\"last\"})))},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll(\"[data-vc-date-hover]\").forEach((e=>e.removeAttribute(\"data-vc-date-hover\")))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc=\"dates\"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest(\"[data-vc-date]\");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const o=a.dataset.vcDate,l=getDate(state.self.context.selectedDates[0]),s=getDate(o),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${state.self.context.selectedDates[0]}\"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${o}\"]`),[c,d]=l<s?[i,r]:[r,i],[u,m]=l<s?[l,s]:[s,l];for(let e=new Date(u);e<=m;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest(\"[data-vc-date-selected]\");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame((()=>{e(n),state.isHovering=!1})))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&\"Escape\"===e.key&&(state.lastDateEl=null,setContext(state.self,\"selectedDates\",[]),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()}),50)},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const o=getDate(state.self.context.selectedDates[0]),[l,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[o>=n?n:e,o<n&&null===t?n:t]),[null,null]);l&&setContext(state.self,\"displayDateMin\",getDateString(new Date(l.setDate(l.getDate()+1)))),s&&setContext(state.self,\"displayDateMax\",getDateString(new Date(s.setDate(s.getDate()-1))));state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,\"displayDateMin\",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector(\"[data-vc-date-range-tooltip]\"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,\"selectedDates\",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.addEventListener(\"keydown\",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates)}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],o=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],l=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=o?e.enableEdgeDatesOnly?[n,a]:l:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,\"selectedDates\",s),e.disableDatesGaps&&(setContext(e,\"displayDateMin\",state.rangeMin),setContext(e,\"displayDateMax\",state.rangeMax)),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave)}}})[1===e.context.selectedDates.length?\"set\":\"reset\"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll(\"[data-vc-date]\").forEach((t=>{const n=t.querySelector(\"[data-vc-date-btn]\"),a=t.dataset.vcDate,o=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,o,a,\"current\")}))},handleClickDate=(e,t)=>{var n;const a=t.target,o=a.closest(\"[data-vc-date-btn]\");if(!e.selectionDatesMode||![\"single\",\"multiple\",\"multiple-ranged\"].includes(e.selectionDatesMode)||!o)return;const l=o.closest(\"[data-vc-date]\");({single:()=>handleSelectDate(e,l,!1),multiple:()=>handleSelectDate(e,l,!0),\"multiple-ranged\":()=>handleSelectDateRange(e,l)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month=\"prev\"]'),i=a.closest('[data-vc-date-month=\"next\"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"prev\"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"next\"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?\"prev\":i?\"next\":\"current\"]()},typeClick=[\"month\",\"year\"],getValue=(e,t,n)=>{const{currentValue:a,columnID:o}=getColumnID(e,t);return\"month\"===e.context.currentType&&o>=0?n-o:\"year\"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,\"year\",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,\"year\"),i=e.context.selectedMonth<a.getMonth()&&n<=a.getFullYear(),r=e.context.selectedMonth>o.getMonth()-l+s&&n>=o.getFullYear(),c=n<a.getFullYear(),d=n>o.getFullYear(),u=i||c?a.getFullYear():r||d?o.getFullYear():n,m=i||c?a.getMonth():r||d?o.getMonth()-l+s:e.context.selectedMonth;setContext(e,\"selectedYear\",u),setContext(e,\"selectedMonth\",m)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column=\"month\"]').querySelector('[data-vc=\"year\"]'),a=getValue(e,\"month\",Number(t.dataset.vcMonthsMonth)),o=Number(n.dataset.vcYear),l=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=a<l.getMonth()&&o<=l.getFullYear(),r=a>s.getMonth()&&o>=s.getFullYear();setContext(e,\"selectedYear\",o),setContext(e,\"selectedMonth\",i?l.getMonth():r?s.getMonth():a)},handleItemClick=(e,t,n,a)=>{var o;({year:()=>{if(\"multiple\"===e.type)return handleMultipleYearSelection(e,a);setContext(e,\"selectedYear\",Number(a.dataset.vcYearsYear))},month:()=>{if(\"multiple\"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,\"selectedMonth\",Number(a.dataset.vcMonthsMonth))}})[n]();({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}})[n](),e.context.currentType!==e.type?(setContext(e,\"currentType\",e.type),create(e),null==(o=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||o.focus()):setYearModifier(e,a,n,!0,!0)},handleClickType=(e,t,n)=>{var a;const o=t.target,l=o.closest(`[data-vc=\"${n}\"]`),s={year:()=>createYears(e,o),month:()=>createMonths(e,o)};if(l&&e.onClickTitle&&e.onClickTitle(e,t),l&&e.context.currentType!==n)return s[n]();const i=o.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=o.closest('[data-vc=\"grid\"]'),c=o.closest('[data-vc=\"column\"]');(e.context.currentType===n&&l||\"multiple\"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,\"currentType\",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||a.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a)}))},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest(\"[data-vc-week-number]\"),a=e.context.mainElement.querySelectorAll(\"[data-vc-date-week-number]\");if(!n||!a[0])return;const o=Number(n.innerText),l=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===o));e.onClickWeekNumber(e,o,l,s,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest(\"[data-vc-week-day]\"),a=t.target.closest('[data-vc=\"column\"]'),o=a?a.querySelectorAll(\"[data-vc-date-week-day]\"):e.context.mainElement.querySelectorAll(\"[data-vc-date-week-day]\");if(!n||!o[0])return;const l=Number(n.dataset.vcWeekDay),s=Array.from(o).filter((e=>Number(e.dataset.vcDateWeekDay)===l));e.onClickWeekDay(e,l,s,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener(\"click\",t),()=>e.context.mainElement.removeEventListener(\"click\",t)},initMonthsCount=e=>{if(\"multiple\"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if(\"multiple\"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,\"displayMonthsCount\",e.displayMonthsCount?e.displayMonthsCount:\"multiple\"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>\"today\"===e?getLocalDate():e instanceof Date||\"number\"==typeof e||\"string\"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const o=resolveDate(e.dateMin,e.dateMin),l=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,o),i=resolveDate(e.displayDateMax,l);setContext(e,\"dateToday\",resolveDate(e.dateToday,e.dateToday)),setContext(e,\"displayDateMin\",s?getDate(o)>=getDate(s)?o:s:o),setContext(e,\"displayDateMax\",i?getDate(l)<=getDate(i)?l:i:l);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)<getDate(e.context.dateToday);setContext(e,\"displayDateMin\",r||e.disableAllDates?e.context.dateToday:s),setContext(e,\"displayDateMax\",e.disableAllDates?e.context.dateToday:i),setContext(e,\"disableDates\",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,\"enableDates\",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,\"disableDates\",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,\"displayDateMin\",e.context.enableDates[0]),setContext(e,\"displayDateMax\",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,\"dateMin\",e.displayDisabledDates?o:e.context.displayDateMin),setContext(e,\"dateMax\",e.displayDisabledDates?l:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,\"selectedDates\",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&\"today\"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,a;if(e.displayDateMax&&\"today\"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,\"selectedMonth\",t),setContext(e,\"selectedYear\",n),setContext(e,\"displayYear\",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const o=12===e.selectionTimeMode,l=o?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(l))?void 0:n.slice(1))?a:[];s?o&&!r&&(r=\"AM\"):(s=o?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=o?Number(transformTime12(String(e.timeMinHour)))>=12?\"PM\":\"AM\":null),setContext(e,\"selectedHours\",s.padStart(2,\"0\")),setContext(e,\"selectedMinutes\",i.padStart(2,\"0\")),setContext(e,\"selectedKeeping\",r),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:\"\"}`)},initAllVariables=e=>{setContext(e,\"currentType\",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:a,time:o,locale:l},s=!0)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=o?r.time:e.context.selectedTime,e.selectedDates=\"only-first\"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:!0===a?r.dates:e.context.selectedDates,l){setContext(e,\"locale\",{months:{short:[],long:[]},weekdays:{short:[],long:[]}})}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,\"multiple-ranged\"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement(\"div\");return t.className=e.styles.calendar,t.dataset.vc=\"calendar\",t.dataset.vcInput=\"\",t.dataset.vcCalendarHidden=\"\",setContext(e,\"inputModeInit\",!0),setContext(e,\"isShowInInputMode\",!1),setContext(e,\"mainElement\",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},canOpenOnFocus=e=>resolveToggle(e,e.openOnFocus),handleInput=e=>{setContext(e,\"inputElement\",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e)};e.context.inputElement.addEventListener(\"click\",t);const n=\"function\"==typeof e.openOnFocus||!0===e.openOnFocus,a=()=>{shouldSkipOpenOnFocus(e)?clearSkipOpenOnFocus(e):canOpenOnFocus(e)&&t()};n&&e.context.inputElement.addEventListener(\"focus\",a);const o=t=>{const n=\"Tab\"===t.key&&!t.shiftKey,a=[\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key);(n||a)&&(t=>{var n;if(!e.context.isShowInInputMode)return!1;if(document.activeElement!==e.context.inputElement)return!1;const a=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),o=null!=(n=document.createTreeWalker(e.context.mainElement,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>a(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}).nextNode())?n:a(e.context.mainElement)?e.context.mainElement:null;!o||o.tabIndex<0||(t.preventDefault(),o.focus())})(t)};return e.context.inputElement.addEventListener(\"keydown\",o),()=>{e.context.inputElement.removeEventListener(\"click\",t),n&&e.context.inputElement.removeEventListener(\"focus\",a),e.context.inputElement.removeEventListener(\"keydown\",o)}},init=e=>(setContext(e,\"originalElement\",e.context.mainElement.cloneNode(!0)),setContext(e,\"isInit\",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a<n.length;a++){const o=n[a];\"object\"!=typeof e[o]||\"object\"!=typeof t[o]||t[o]instanceof Date||Array.isArray(t[o])?void 0!==t[o]&&(e[o]=t[o]):replaceProperties(e[o],t[o])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n=\"left\";if(!t||!e)return n;const{canShow:a,parentPositions:o}=getAvailablePosition(e,t),l=a.left&&a.right;return(l&&a.bottom?\"center\":l&&a.top?[\"top\",\"center\"]:Array.isArray(o)?[\"bottom\"===o[0]?\"top\":\"bottom\",...o.slice(1)]:o)||n}const setPosition=(e,t,n)=>{if(!e)return;const a=\"auto\"===n?findBestPickerPosition(e,t):n,o={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},l=Array.isArray(a)?a[0]:\"bottom\",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=l;const{top:i,left:r}=getOffset(e),c=i+o[l];let d=r+o[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,\"cleanupHandlers\",[]),setContext(e,\"isShowInInputMode\",!0),e.inputMode&&restoreTabbing(e.context.mainElement),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute(\"data-vc-calendar-hidden\");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener(\"resize\",t),e.context.cleanupHandlers.push((()=>window.removeEventListener(\"resize\",t)));const n=t=>{\"Escape\"===t.key&&hide(e)};document.addEventListener(\"keydown\",n),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"keydown\",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener(\"click\",a,{capture:!0}),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"click\",a,{capture:!0}))),e.onShow&&e.onShow(e)},labels={application:\"Calendar\",navigation:\"Calendar Navigation\",arrowNext:{month:\"Next month\",year:\"Next list of years\"},arrowPrev:{month:\"Previous month\",year:\"Previous list of years\"},month:\"Select month, current selected month:\",months:\"List of months\",year:\"Select year, current selected year:\",years:\"List of years\",week:\"Days of the week\",weekNumber:\"Numbers of weeks in a year\",dates:\"Dates in the current month\",selectingTime:\"Selecting a time \",inputHour:\"Hours\",inputMinute:\"Minutes\",rangeHour:\"Slider for selecting hours\",rangeMinute:\"Slider for selecting minutes\",btnKeeping:\"Switch AM/PM, current position:\"},styles={calendar:\"vc\",controls:\"vc-controls\",grid:\"vc-grid\",column:\"vc-column\",header:\"vc-header\",headerContent:\"vc-header__content\",month:\"vc-month\",year:\"vc-year\",arrowPrev:\"vc-arrow vc-arrow_prev\",arrowNext:\"vc-arrow vc-arrow_next\",wrapper:\"vc-wrapper\",content:\"vc-content\",months:\"vc-months\",monthsMonth:\"vc-months__month\",years:\"vc-years\",yearsYear:\"vc-years__year\",week:\"vc-week\",weekDay:\"vc-week__day\",weekNumbers:\"vc-week-numbers\",weekNumbersTitle:\"vc-week-numbers__title\",weekNumbersContent:\"vc-week-numbers__content\",weekNumber:\"vc-week-number\",dates:\"vc-dates\",datesRow:\"vc-dates__row\",date:\"vc-date\",dateBtn:\"vc-date__btn\",datePopup:\"vc-date__popup\",dateRangeTooltip:\"vc-date-range-tooltip\",time:\"vc-time\",timeContent:\"vc-time__content\",timeHour:\"vc-time__hour\",timeMinute:\"vc-time__minute\",timeKeeping:\"vc-time__keeping\",timeRanges:\"vc-time__ranges\",timeRange:\"vc-time__range\"};class OptionsCalendar{constructor(){__publicField(this,\"type\",\"default\"),__publicField(this,\"inputMode\",!1),__publicField(this,\"openOnFocus\",!0),__publicField(this,\"positionToInput\",\"left\"),__publicField(this,\"firstWeekday\",1),__publicField(this,\"monthsToSwitch\",1),__publicField(this,\"themeAttrDetect\",\"html[data-theme]\"),__publicField(this,\"locale\",\"en\"),__publicField(this,\"dateToday\",\"today\"),__publicField(this,\"dateMin\",\"1970-01-01\"),__publicField(this,\"dateMax\",\"2470-12-31\"),__publicField(this,\"displayDateMin\"),__publicField(this,\"displayDateMax\"),__publicField(this,\"displayDatesOutside\",!0),__publicField(this,\"displayDisabledDates\",!1),__publicField(this,\"displayMonthsCount\"),__publicField(this,\"disableDates\",[]),__publicField(this,\"disableAllDates\",!1),__publicField(this,\"disableDatesPast\",!1),__publicField(this,\"disableDatesGaps\",!1),__publicField(this,\"disableWeekdays\",[]),__publicField(this,\"disableToday\",!1),__publicField(this,\"enableDates\",[]),__publicField(this,\"enableEdgeDatesOnly\",!0),__publicField(this,\"enableDateToggle\",!0),__publicField(this,\"enableWeekNumbers\",!1),__publicField(this,\"enableMonthChangeOnDayClick\",!0),__publicField(this,\"enableJumpToSelectedDate\",!1),__publicField(this,\"selectionDatesMode\",\"single\"),__publicField(this,\"selectionMonthsMode\",!0),__publicField(this,\"selectionYearsMode\",!0),__publicField(this,\"selectionTimeMode\",!1),__publicField(this,\"selectedDates\",[]),__publicField(this,\"selectedMonth\"),__publicField(this,\"selectedYear\"),__publicField(this,\"selectedHolidays\",[]),__publicField(this,\"selectedWeekends\",[0,6]),__publicField(this,\"selectedTime\"),__publicField(this,\"selectedTheme\",\"system\"),__publicField(this,\"timeMinHour\",0),__publicField(this,\"timeMaxHour\",23),__publicField(this,\"timeMinMinute\",0),__publicField(this,\"timeMaxMinute\",59),__publicField(this,\"timeControls\",\"all\"),__publicField(this,\"timeStepHour\",1),__publicField(this,\"timeStepMinute\",1),__publicField(this,\"sanitizerHTML\",(e=>e)),__publicField(this,\"onClickDate\"),__publicField(this,\"onClickWeekDay\"),__publicField(this,\"onClickWeekNumber\"),__publicField(this,\"onClickTitle\"),__publicField(this,\"onClickMonth\"),__publicField(this,\"onClickYear\"),__publicField(this,\"onClickArrow\"),__publicField(this,\"onChangeTime\"),__publicField(this,\"onChangeToInput\"),__publicField(this,\"onCreateDateRangeTooltip\"),__publicField(this,\"onCreateDateEls\"),__publicField(this,\"onCreateMonthEls\"),__publicField(this,\"onCreateYearEls\"),__publicField(this,\"onInit\"),__publicField(this,\"onUpdate\"),__publicField(this,\"onDestroy\"),__publicField(this,\"onShow\"),__publicField(this,\"onHide\"),__publicField(this,\"popups\",{}),__publicField(this,\"labels\",__spreadValues({},labels)),__publicField(this,\"layouts\",{default:\"\",multiple:\"\",month:\"\",year:\"\"}),__publicField(this,\"styles\",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,\"init\",(()=>init(this))),__publicField(this,\"update\",(e=>update(this,e))),__publicField(this,\"destroy\",(()=>destroy(this))),__publicField(this,\"show\",(()=>show(this))),__publicField(this,\"hide\",(()=>hide(this))),__publicField(this,\"set\",((e,t)=>set(this,e,t))),__publicField(this,\"context\"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,\"mainElement\",\"string\"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,\"memoizedElements\",new Map);let Calendar=_Calendar;export{Calendar};","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n dateMin: null,\n dateMax: null,\n dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n displayElement: null, // Element to show formatted date (defaults to element for buttons)\n displayMonthsCount: 1, // Number of months to display side-by-side\n firstWeekday: 1, // Monday\n inline: false, // Render calendar inline (no popup)\n locale: 'default',\n positionElement: null, // Element to position calendar relative to (defaults to input)\n selectedDates: [],\n selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n placement: 'left', // 'left', 'center', 'right', 'auto'\n vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n datepickerTheme: '(null|string)',\n dateMin: '(null|string|number|object)',\n dateMax: '(null|string|number|object)',\n dateFormat: '(null|object|function)',\n displayElement: '(null|string|element|boolean)',\n displayMonthsCount: 'number',\n firstWeekday: 'number',\n inline: 'boolean',\n locale: 'string',\n positionElement: '(null|string|element)',\n selectedDates: 'array',\n selectionMode: 'string',\n placement: 'string',\n vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._calendar = null\n this._isShown = false\n\n this._initCalendar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._config.inline) {\n return // Inline calendars are always visible\n }\n\n return this._isShown ? this.hide() : this.show()\n }\n\n show() {\n if (this._config.inline) {\n return // Inline calendars are always visible\n }\n\n if (!this._calendar || isDisabled(this._element) || this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._calendar.show()\n this._isShown = true\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n hide() {\n if (this._config.inline) {\n return // Inline calendars are always visible\n }\n\n if (!this._calendar || !this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._calendar.hide()\n this._isShown = false\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n dispose() {\n if (this._themeObserver) {\n this._themeObserver.disconnect()\n this._themeObserver = null\n }\n\n if (this._calendar) {\n this._calendar.destroy()\n }\n\n this._calendar = null\n super.dispose()\n }\n\n getSelectedDates() {\n const dates = this._calendar?.context?.selectedDates\n return dates ? [...dates] : []\n }\n\n setSelectedDates(dates) {\n if (this._calendar) {\n this._calendar.set({ selectedDates: dates })\n }\n }\n\n // Private\n _initCalendar() {\n this._isInput = this._element.tagName === 'INPUT'\n this._isInline = this._config.inline\n\n // For inline mode, look for a hidden input child to bind to\n if (this._isInline && !this._isInput) {\n this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n }\n\n this._positionElement = this._resolvePositionElement()\n this._displayElement = this._resolveDisplayElement()\n\n const calendarOptions = this._buildCalendarOptions()\n\n // Create calendar on the position element (for correct popup positioning)\n // but value updates still go to this._element (the input)\n this._calendar = new Calendar(this._positionElement, calendarOptions)\n this._calendar.init()\n\n // Watch for theme changes on ancestor elements (for live theme switching)\n this._setupThemeObserver()\n\n // Set initial value if input has a value\n if (this._isInput && this._element.value) {\n this._parseInputValue()\n }\n\n // Populate input/display with preselected dates\n this._updateDisplayWithSelectedDates()\n }\n\n _updateDisplayWithSelectedDates() {\n const { selectedDates } = this._config\n if (!selectedDates || selectedDates.length === 0) {\n return\n }\n\n const formattedDate = this._formatDateForInput(selectedDates)\n\n if (this._isInput) {\n this._element.value = formattedDate\n }\n\n if (this._boundInput) {\n this._boundInput.value = selectedDates.join(',')\n }\n\n if (this._displayElement) {\n this._displayElement.textContent = formattedDate\n }\n }\n\n _resolvePositionElement() {\n let { positionElement } = this._config\n\n if (typeof positionElement === 'string') {\n positionElement = document.querySelector(positionElement)\n }\n\n // Use input's parent if in form-adorn\n if (!positionElement && this._isInput && !this._isInline) {\n const parent = this._element.closest('.form-adorn')\n if (parent) {\n positionElement = parent\n }\n }\n\n return positionElement || this._element\n }\n\n _resolveDisplayElement() {\n const { displayElement } = this._config\n\n if (typeof displayElement === 'string') {\n return document.querySelector(displayElement)\n }\n\n // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n return displayChild || this._element\n }\n\n return displayElement\n }\n\n _getThemeAncestor() {\n return this._element.closest('[data-bs-theme]')\n }\n\n _getEffectiveTheme() {\n // Priority: explicit datepickerTheme config > inherited from ancestor > none\n const { datepickerTheme } = this._config\n if (datepickerTheme) {\n return datepickerTheme\n }\n\n const ancestor = this._getThemeAncestor()\n return ancestor?.getAttribute('data-bs-theme') || null\n }\n\n _syncThemeAttribute(element) {\n if (!element) {\n return\n }\n\n const theme = this._getEffectiveTheme()\n\n if (theme) {\n // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n element.setAttribute('data-bs-theme', theme)\n } else {\n // No theme - remove attribute to allow natural inheritance\n element.removeAttribute('data-bs-theme')\n }\n }\n\n _setupThemeObserver() {\n // Watch for theme changes on ancestor elements\n const ancestor = this._getThemeAncestor()\n if (!ancestor || this._config.datepickerTheme) {\n // No ancestor to watch, or explicit datepickerTheme overrides\n return\n }\n\n this._themeObserver = new MutationObserver(() => {\n this._syncThemeAttribute(this._calendar?.context?.mainElement)\n })\n\n this._themeObserver.observe(ancestor, {\n attributes: true,\n attributeFilter: ['data-bs-theme']\n })\n }\n\n _buildCalendarOptions() {\n // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n const theme = this._getEffectiveTheme()\n // VCP uses 'system' for auto, Bootstrap uses 'auto'\n const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n const calendarOptions = {\n ...this._config.vcpOptions,\n inputMode: !this._isInline,\n positionToInput: this._config.placement,\n firstWeekday: this._config.firstWeekday,\n locale: this._config.locale,\n selectionDatesMode: this._config.selectionMode,\n selectedDates: this._config.selectedDates,\n displayMonthsCount: this._config.displayMonthsCount,\n type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n selectedTheme: vcpTheme,\n themeAttrDetect: '[data-bs-theme]',\n onClickDate: (self, event) => this._handleDateClick(self, event),\n onInit: self => {\n this._syncThemeAttribute(self.context.mainElement)\n },\n onShow: () => {\n this._isShown = true\n this._syncThemeAttribute(this._calendar.context.mainElement)\n },\n onHide: () => {\n this._isShown = false\n }\n }\n\n // Navigate to the month of the first selected date\n if (this._config.selectedDates.length > 0) {\n const firstDate = this._parseDate(this._config.selectedDates[0])\n calendarOptions.selectedMonth = firstDate.getMonth()\n calendarOptions.selectedYear = firstDate.getFullYear()\n }\n\n if (this._config.dateMin) {\n calendarOptions.dateMin = this._config.dateMin\n }\n\n if (this._config.dateMax) {\n calendarOptions.dateMax = this._config.dateMax\n }\n\n return calendarOptions\n }\n\n _handleDateClick(self, event) {\n const selectedDates = [...self.context.selectedDates]\n\n if (selectedDates.length > 0) {\n const formattedDate = this._formatDateForInput(selectedDates)\n\n if (this._isInput) {\n this._element.value = formattedDate\n }\n\n if (this._boundInput) {\n this._boundInput.value = selectedDates.join(',')\n }\n\n if (this._displayElement) {\n this._displayElement.textContent = formattedDate\n }\n }\n\n EventHandler.trigger(this._element, EVENT_CHANGE, {\n dates: selectedDates,\n event\n })\n\n this._maybeHideAfterSelection(selectedDates)\n }\n\n _maybeHideAfterSelection(selectedDates) {\n if (this._isInline) {\n return\n }\n\n const shouldHide =\n (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n if (shouldHide) {\n setTimeout(() => this.hide(), HIDE_DELAY)\n }\n }\n\n _parseDate(dateStr) {\n const [year, month, day] = dateStr.split('-')\n return new Date(year, month - 1, day)\n }\n\n _formatDate(dateStr) {\n const date = this._parseDate(dateStr)\n const locale = this._config.locale === 'default' ? undefined : this._config.locale\n const { dateFormat } = this._config\n\n // Custom function formatter\n if (typeof dateFormat === 'function') {\n return dateFormat(date, locale)\n }\n\n // Intl.DateTimeFormat options object\n if (dateFormat && typeof dateFormat === 'object') {\n return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n }\n\n // Default: locale-aware formatting\n return date.toLocaleDateString(locale)\n }\n\n _formatDateForInput(dates) {\n if (dates.length === 0) {\n return ''\n }\n\n if (dates.length === 1) {\n return this._formatDate(dates[0])\n }\n\n // For date ranges, use en-dash; for multiple dates, use comma\n const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n return dates.map(d => this._formatDate(d)).join(separator)\n }\n\n _parseInputValue() {\n // Try to parse the input value as a date\n const value = this._element.value.trim()\n if (!value) {\n return\n }\n\n const date = new Date(value)\n if (!Number.isNaN(date.getTime())) {\n const year = date.getFullYear()\n const month = String(date.getMonth() + 1).padStart(2, '0')\n const day = String(date.getDate()).padStart(2, '0')\n const formatted = `${year}-${month}-${day}`\n this._calendar.set({ selectedDates: [formatted] })\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // Only handle if not an input (inputs use focus)\n // Skip inline datepickers (they're always visible)\n if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n return\n }\n\n event.preventDefault()\n Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n // Handle focus for input elements\n if (this.tagName !== 'INPUT') {\n return\n }\n\n Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n Datepicker.getOrCreateInstance(element)\n }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n keyboard: true,\n modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._element.open ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._element.open || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isTransitioning = true\n\n if (this._config.modal) {\n // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n this._element.showModal()\n // Prevent body scroll for modal dialogs\n document.body.classList.add(CLASS_NAME_OPEN)\n } else {\n // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n this._element.classList.add(CLASS_NAME_NONMODAL)\n this._element.show()\n }\n\n this._queueCallback(() => {\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }, this._element, this._isAnimated())\n }\n\n hide() {\n if (!this._element.open || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isTransitioning = true\n\n this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n super.dispose()\n }\n\n handleUpdate() {\n // Provided for API consistency with Modal.\n // Native dialogs handle their own positioning.\n }\n\n // Private\n _hideDialog() {\n this._element.close()\n this._element.classList.remove(CLASS_NAME_NONMODAL)\n this._isTransitioning = false\n\n // Only restore body scroll if no other modal dialogs are open\n if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n document.body.classList.remove(CLASS_NAME_OPEN)\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n _isAnimated() {\n return this._element.classList.contains('fade')\n }\n\n _triggerBackdropTransition() {\n const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hidePreventedEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n }, this._element)\n }\n\n _addEventListeners() {\n // Handle native cancel event (Escape key) - only fires for modal dialogs\n EventHandler.on(this._element, 'cancel', event => {\n // Prevent native close behavior - we'll handle it\n event.preventDefault()\n\n if (!this._config.keyboard) {\n this._triggerBackdropTransition()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_CANCEL)\n this.hide()\n })\n\n // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n EventHandler.on(this._element, 'keydown', event => {\n if (event.key !== 'Escape' || this._config.modal) {\n return\n }\n\n event.preventDefault()\n\n if (!this._config.keyboard) {\n return\n }\n\n EventHandler.trigger(this._element, EVENT_CANCEL)\n this.hide()\n })\n\n // Handle backdrop clicks (only applies to modal dialogs)\n // Native <dialog> fires click on the dialog element when backdrop is clicked\n EventHandler.on(this._element, 'click', event => {\n // Only handle clicks directly on the dialog (backdrop area)\n // Non-modal dialogs don't have a backdrop\n if (event.target !== this._element || !this._config.modal) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n // Default: click backdrop to dismiss\n this.hide()\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // Get config from trigger's data attributes\n const config = Manipulator.getDataAttributes(this)\n\n // Check if trigger is inside an open dialog\n const currentDialog = this.closest('dialog[open]')\n const shouldSwap = currentDialog && currentDialog !== target\n\n if (shouldSwap) {\n // Open new dialog first (its backdrop appears over current)\n const newDialog = Dialog.getOrCreateInstance(target, config)\n newDialog.show(this)\n\n // Close the current dialog (no backdrop flash since new one is already open)\n const currentInstance = Dialog.getInstance(currentDialog)\n if (currentInstance) {\n currentInstance.hide()\n }\n\n return\n }\n\n const data = Dialog.getOrCreateInstance(target, config)\n data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap nav-overflow.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'navoverflow'\nconst DATA_KEY = 'bs.navoverflow'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_UPDATE = `update${EVENT_KEY}`\nconst EVENT_OVERFLOW = `overflow${EVENT_KEY}`\n\nconst CLASS_NAME_OVERFLOW = 'nav-overflow'\nconst CLASS_NAME_OVERFLOW_MENU = 'nav-overflow-menu'\nconst CLASS_NAME_HIDDEN = 'd-none'\n\nconst SELECTOR_NAV_ITEM = '.nav-item'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle'\nconst SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu'\nconst CLASS_NAME_KEEP = 'nav-overflow-keep'\n\nconst Default = {\n moreText: 'More',\n moreIcon: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"><path d=\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3\"/></svg>',\n threshold: 0 // Minimum items to keep visible before showing overflow\n}\n\nconst DefaultType = {\n moreText: 'string',\n moreIcon: 'string',\n threshold: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass NavOverflow extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._items = []\n this._overflowItems = []\n this._overflowMenu = null\n this._overflowToggle = null\n this._resizeObserver = null\n this._isInitialized = false\n\n this._init()\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 update() {\n this._calculateOverflow()\n EventHandler.trigger(this._element, EVENT_UPDATE)\n }\n\n dispose() {\n if (this._resizeObserver) {\n this._resizeObserver.disconnect()\n }\n\n // Move items back to original positions\n this._restoreItems()\n\n // Remove overflow menu\n if (this._overflowToggle && this._overflowToggle.parentElement) {\n this._overflowToggle.parentElement.remove()\n }\n\n super.dispose()\n }\n\n // Private\n _init() {\n // Add overflow class to nav\n this._element.classList.add(CLASS_NAME_OVERFLOW)\n\n // Get all nav items\n this._items = [...SelectorEngine.find(SELECTOR_NAV_ITEM, this._element)]\n\n // Store original order data\n for (const [index, item] of this._items.entries()) {\n item.dataset.bsNavOrder = index\n }\n\n // Create overflow menu if it doesn't exist\n this._createOverflowMenu()\n\n // Setup resize observer\n this._setupResizeObserver()\n\n // Initial calculation\n this._calculateOverflow()\n\n this._isInitialized = true\n }\n\n _createOverflowMenu() {\n // Check if overflow menu already exists\n this._overflowToggle = SelectorEngine.findOne(SELECTOR_OVERFLOW_TOGGLE, this._element)\n\n if (this._overflowToggle) {\n this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element)\n return\n }\n\n const overflowItem = document.createElement('li')\n overflowItem.className = 'nav-item nav-overflow-item'\n overflowItem.innerHTML = `\n <button class=\"nav-link nav-overflow-toggle\" type=\"button\" data-bs-toggle=\"menu\" data-bs-placement=\"bottom-end\" aria-expanded=\"false\">\n <span class=\"nav-overflow-icon\">${this._config.moreIcon}</span>\n <span class=\"nav-overflow-text\">${this._config.moreText}</span>\n </button>\n <div class=\"${CLASS_NAME_OVERFLOW_MENU} menu\"></div>\n `\n\n this._element.append(overflowItem)\n this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE)\n this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU)\n }\n\n _setupResizeObserver() {\n if (typeof ResizeObserver === 'undefined') {\n // Fallback for older browsers\n EventHandler.on(window, 'resize', () => this._calculateOverflow())\n return\n }\n\n this._resizeObserver = new ResizeObserver(() => {\n this._calculateOverflow()\n })\n\n this._resizeObserver.observe(this._element)\n }\n\n _calculateOverflow() {\n // First, restore all items to measure properly\n this._restoreItems()\n\n const navWidth = this._element.offsetWidth\n const overflowItem = this._overflowToggle?.closest('.nav-item')\n const overflowWidth = overflowItem?.offsetWidth || 0\n\n let usedWidth = 0\n const itemsToOverflow = []\n const overflowThreshold = navWidth - overflowWidth - 10 // 10px buffer\n\n // Calculate which items need to overflow (skip items with keep class)\n for (const item of this._items) {\n const itemWidth = item.offsetWidth\n usedWidth += itemWidth\n\n // Never overflow items with the keep class\n if (item.classList.contains(CLASS_NAME_KEEP)) {\n continue\n }\n\n if (usedWidth > overflowThreshold) {\n itemsToOverflow.push(item)\n }\n }\n\n // Check if we need threshold minimum visible\n const visibleCount = this._items.length - itemsToOverflow.length\n if (visibleCount < this._config.threshold && this._items.length > this._config.threshold) {\n // Add more items to overflow until we reach threshold (but not keep items)\n const toMove = this._items.slice(this._config.threshold).filter(item => !item.classList.contains(CLASS_NAME_KEEP))\n itemsToOverflow.length = 0\n itemsToOverflow.push(...toMove)\n }\n\n // Move items to overflow menu\n this._moveToOverflow(itemsToOverflow)\n\n // Show/hide overflow toggle\n if (overflowItem) {\n if (itemsToOverflow.length > 0) {\n overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n } else {\n overflowItem.classList.add(CLASS_NAME_HIDDEN)\n }\n }\n\n // Trigger overflow event if items changed\n if (itemsToOverflow.length > 0) {\n EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n overflowCount: itemsToOverflow.length,\n visibleCount: this._items.length - itemsToOverflow.length\n })\n }\n }\n\n _moveToOverflow(items) {\n if (!this._overflowMenu) {\n return\n }\n\n // Clear existing overflow items\n this._overflowMenu.innerHTML = ''\n this._overflowItems = []\n\n for (const item of items) {\n const link = SelectorEngine.findOne(SELECTOR_NAV_LINK, item)\n if (!link) {\n continue\n }\n\n const clonedLink = link.cloneNode(true)\n clonedLink.className = 'menu-item'\n\n if (link.classList.contains('active')) {\n clonedLink.classList.add('active')\n }\n\n if (link.classList.contains('disabled') || link.hasAttribute('disabled')) {\n clonedLink.classList.add('disabled')\n }\n\n this._overflowMenu.append(clonedLink)\n\n // Hide original item\n item.classList.add(CLASS_NAME_HIDDEN)\n item.dataset.bsNavOverflow = 'true'\n\n this._overflowItems.push(item)\n }\n }\n\n _restoreItems() {\n for (const item of this._items) {\n item.classList.remove(CLASS_NAME_HIDDEN)\n delete item.dataset.bsNavOverflow\n }\n\n if (this._overflowMenu) {\n this._overflowMenu.innerHTML = ''\n }\n\n this._overflowItems = []\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n for (const element of SelectorEngine.find('[data-bs-toggle=\"nav-overflow\"]')) {\n NavOverflow.getOrCreateInstance(element)\n }\n})\n\nexport default NavOverflow\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n autofocus: 'boolean',\n trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n input: null, // Selector or element for password input\n minLength: 8,\n messages: {\n weak: 'Weak',\n fair: 'Fair',\n good: 'Good',\n strong: 'Strong'\n },\n weights: {\n minLength: 1,\n extraLength: 1,\n lowercase: 1,\n uppercase: 1,\n numbers: 1,\n special: 1,\n multipleSpecial: 1,\n longPassword: 1\n },\n thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n input: '(string|element|null)',\n minLength: 'number',\n messages: 'object',\n weights: 'object',\n thresholds: 'array',\n scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._input = this._getInput()\n this._segments = SelectorEngine.find('.strength-segment', this._element)\n this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n this._currentStrength = null\n\n if (this._input) {\n this._addEventListeners()\n // Check initial value\n this._evaluate()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getStrength() {\n return this._currentStrength\n }\n\n evaluate() {\n this._evaluate()\n }\n\n // Private\n _getInput() {\n if (this._config.input) {\n return typeof this._config.input === 'string' ?\n SelectorEngine.findOne(this._config.input) :\n this._config.input\n }\n\n // Look for preceding password input\n const parent = this._element.parentElement\n return SelectorEngine.findOne('input[type=\"password\"]', parent)\n }\n\n _addEventListeners() {\n EventHandler.on(this._input, 'input', () => this._evaluate())\n EventHandler.on(this._input, 'change', () => this._evaluate())\n }\n\n _evaluate() {\n const password = this._input.value\n const score = this._calculateScore(password)\n const strength = this._scoreToStrength(score)\n\n if (strength !== this._currentStrength) {\n this._currentStrength = strength\n this._updateUI(strength, score)\n\n EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n strength,\n score,\n password: password.length > 0 ? '***' : '' // Don't expose actual password\n })\n }\n }\n\n _calculateScore(password) {\n if (!password) {\n return 0\n }\n\n // Use custom scorer if provided\n if (typeof this._config.scorer === 'function') {\n return this._config.scorer(password)\n }\n\n const { weights } = this._config\n let score = 0\n\n // Length scoring\n if (password.length >= this._config.minLength) {\n score += weights.minLength\n }\n\n if (password.length >= this._config.minLength + 4) {\n score += weights.extraLength\n }\n\n // Character variety\n if (/[a-z]/.test(password)) {\n score += weights.lowercase\n }\n\n if (/[A-Z]/.test(password)) {\n score += weights.uppercase\n }\n\n if (/\\d/.test(password)) {\n score += weights.numbers\n }\n\n // Special characters\n if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n score += weights.special\n }\n\n // Extra points for more special chars or length\n if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n score += weights.multipleSpecial\n }\n\n if (password.length >= 16) {\n score += weights.longPassword\n }\n\n return score\n }\n\n _scoreToStrength(score) {\n if (score === 0) {\n return null\n }\n\n const [weak, fair, good] = this._config.thresholds\n\n if (score <= weak) {\n return 'weak'\n }\n\n if (score <= fair) {\n return 'fair'\n }\n\n if (score <= good) {\n return 'good'\n }\n\n return 'strong'\n }\n\n _updateUI(strength) {\n // Update data attribute on element\n if (strength) {\n this._element.dataset.bsStrength = strength\n } else {\n delete this._element.dataset.bsStrength\n }\n\n // Update segmented meter\n const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n for (const [index, segment] of this._segments.entries()) {\n if (index <= strengthIndex) {\n segment.classList.add('active')\n } else {\n segment.classList.remove('active')\n }\n }\n\n // Update text feedback\n if (this._textElement) {\n if (strength && this._config.messages[strength]) {\n this._textElement.textContent = this._config.messages[strength]\n this._textElement.dataset.bsStrength = strength\n\n // Also set the color via inheriting from parent or using CSS variable\n const colorMap = {\n weak: 'danger',\n fair: 'warning',\n good: 'info',\n strong: 'success'\n }\n this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n } else {\n this._textElement.textContent = ''\n delete this._textElement.dataset.bsStrength\n }\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n Strength.getOrCreateInstance(element)\n }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n length: 6,\n mask: false\n}\n\nconst DefaultType = {\n length: 'number',\n mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n this._setupInputs()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getValue() {\n return this._inputs.map(input => input.value).join('')\n }\n\n setValue(value) {\n const chars = String(value).split('')\n for (const [index, input] of this._inputs.entries()) {\n input.value = chars[index] || ''\n }\n\n this._checkComplete()\n }\n\n clear() {\n for (const input of this._inputs) {\n input.value = ''\n }\n\n this._inputs[0]?.focus()\n }\n\n focus() {\n // Focus first empty input, or last input if all filled\n const emptyInput = this._inputs.find(input => !input.value)\n if (emptyInput) {\n emptyInput.focus()\n } else {\n this._inputs.at(-1)?.focus()\n }\n }\n\n // Private\n _setupInputs() {\n for (const input of this._inputs) {\n // Set attributes for proper OTP handling\n input.setAttribute('maxlength', '1')\n input.setAttribute('inputmode', 'numeric')\n input.setAttribute('pattern', '\\\\d*')\n\n // First input gets autocomplete for browser OTP autofill\n if (input === this._inputs[0]) {\n input.setAttribute('autocomplete', 'one-time-code')\n } else {\n input.setAttribute('autocomplete', 'off')\n }\n\n // Mask input if configured\n if (this._config.mask) {\n input.setAttribute('type', 'password')\n }\n }\n }\n\n _addEventListeners() {\n for (const [index, input] of this._inputs.entries()) {\n EventHandler.on(input, 'input', event => this._handleInput(event, index))\n EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n EventHandler.on(input, 'paste', event => this._handlePaste(event))\n EventHandler.on(input, 'focus', event => this._handleFocus(event))\n }\n }\n\n _handleInput(event, index) {\n const input = event.target\n\n // Only allow digits\n if (!/^\\d*$/.test(input.value)) {\n input.value = input.value.replace(/\\D/g, '')\n }\n\n const { value } = input\n\n // Handle multi-character input (some browsers/autofill)\n if (value.length > 1) {\n // Distribute characters across inputs\n const chars = value.split('')\n input.value = chars[0] || ''\n\n for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n this._inputs[index + i].value = chars[i]\n }\n\n // Focus appropriate input\n const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n this._inputs[nextIndex].focus()\n } else if (value && index < this._inputs.length - 1) {\n // Auto-advance to next input\n this._inputs[index + 1].focus()\n }\n\n EventHandler.trigger(this._element, EVENT_INPUT, {\n value: this.getValue(),\n index\n })\n\n this._checkComplete()\n }\n\n _handleKeydown(event, index) {\n const { key } = event\n\n switch (key) {\n case 'Backspace': {\n if (!this._inputs[index].value && index > 0) {\n // Move to previous input and clear it\n event.preventDefault()\n this._inputs[index - 1].value = ''\n this._inputs[index - 1].focus()\n }\n\n break\n }\n\n case 'Delete': {\n // Clear current and shift remaining values left\n event.preventDefault()\n for (let i = index; i < this._inputs.length - 1; i++) {\n this._inputs[i].value = this._inputs[i + 1].value\n }\n\n this._inputs.at(-1).value = ''\n break\n }\n\n case 'ArrowLeft': {\n if (index > 0) {\n event.preventDefault()\n this._inputs[index - 1].focus()\n }\n\n break\n }\n\n case 'ArrowRight': {\n if (index < this._inputs.length - 1) {\n event.preventDefault()\n this._inputs[index + 1].focus()\n }\n\n break\n }\n\n // No default\n }\n }\n\n _handlePaste(event) {\n event.preventDefault()\n const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n if (digits) {\n this.setValue(digits)\n\n // Focus last filled input or last input\n const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n this._inputs[lastIndex].focus()\n }\n }\n\n _handleFocus(event) {\n // Select the content on focus for easy replacement\n event.target.select()\n }\n\n _checkComplete() {\n const value = this.getValue()\n const isComplete = value.length === this._inputs.length &&\n this._inputs.every(input => input.value !== '')\n\n if (isComplete) {\n EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n OtpInput.getOrCreateInstance(element)\n }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap chip-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'chipInput'\nconst DATA_KEY = 'bs.chip-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ADD = `add${EVENT_KEY}`\nconst EVENT_REMOVE = `remove${EVENT_KEY}`\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SELECT = `select${EVENT_KEY}`\n\nconst SELECTOR_DATA_CHIP_INPUT = '[data-bs-chip-input]'\nconst SELECTOR_GHOST_INPUT = '.form-ghost'\nconst SELECTOR_CHIP = '.chip'\nconst SELECTOR_CHIP_DISMISS = '.chip-dismiss'\n\nconst CLASS_NAME_CHIP = 'chip'\nconst CLASS_NAME_CHIP_DISMISS = 'chip-dismiss'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst DEFAULT_DISMISS_ICON = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\"/></svg>'\n\nconst Default = {\n separator: ',',\n allowDuplicates: false,\n maxChips: null,\n placeholder: '',\n dismissible: true,\n dismissIcon: DEFAULT_DISMISS_ICON,\n createOnBlur: true\n}\n\nconst DefaultType = {\n separator: '(string|null)',\n allowDuplicates: 'boolean',\n maxChips: '(number|null)',\n placeholder: 'string',\n dismissible: 'boolean',\n dismissIcon: 'string',\n createOnBlur: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass ChipInput extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._input = SelectorEngine.findOne(SELECTOR_GHOST_INPUT, this._element)\n this._chips = []\n this._selectedChips = new Set()\n this._anchorChip = null // For shift+click range selection\n\n if (!this._input) {\n this._createInput()\n }\n\n this._initializeExistingChips()\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 add(value) {\n const trimmedValue = String(value).trim()\n\n if (!trimmedValue) {\n return null\n }\n\n // Check for duplicates\n if (!this._config.allowDuplicates && this._chips.includes(trimmedValue)) {\n return null\n }\n\n // Check max chips limit\n if (this._config.maxChips !== null && this._chips.length >= this._config.maxChips) {\n return null\n }\n\n const addEvent = EventHandler.trigger(this._element, EVENT_ADD, {\n value: trimmedValue,\n relatedTarget: this._input\n })\n\n if (addEvent.defaultPrevented) {\n return null\n }\n\n const chip = this._createChip(trimmedValue)\n this._element.insertBefore(chip, this._input)\n this._chips.push(trimmedValue)\n\n EventHandler.trigger(this._element, EVENT_CHANGE, {\n values: this.getValues()\n })\n\n return chip\n }\n\n remove(chipOrValue) {\n let chip\n let value\n\n if (typeof chipOrValue === 'string') {\n value = chipOrValue\n chip = this._findChipByValue(value)\n } else {\n chip = chipOrValue\n value = this._getChipValue(chip)\n }\n\n if (!chip || !value) {\n return false\n }\n\n const removeEvent = EventHandler.trigger(this._element, EVENT_REMOVE, {\n value,\n chip,\n relatedTarget: this._input\n })\n\n if (removeEvent.defaultPrevented) {\n return false\n }\n\n // Remove from selection\n this._selectedChips.delete(chip)\n if (this._anchorChip === chip) {\n this._anchorChip = null\n }\n\n // Remove from DOM and array\n chip.remove()\n this._chips = this._chips.filter(v => v !== value)\n\n EventHandler.trigger(this._element, EVENT_CHANGE, {\n values: this.getValues()\n })\n\n return true\n }\n\n removeSelected() {\n const chipsToRemove = [...this._selectedChips]\n for (const chip of chipsToRemove) {\n this.remove(chip)\n }\n\n this._input?.focus()\n }\n\n getValues() {\n return [...this._chips]\n }\n\n getSelectedValues() {\n return [...this._selectedChips].map(chip => this._getChipValue(chip))\n }\n\n clear() {\n const chips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n for (const chip of chips) {\n chip.remove()\n }\n\n this._chips = []\n this._selectedChips.clear()\n this._anchorChip = null\n\n EventHandler.trigger(this._element, EVENT_CHANGE, {\n values: []\n })\n }\n\n clearSelection() {\n for (const chip of this._selectedChips) {\n chip.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n this._selectedChips.clear()\n this._anchorChip = null\n\n EventHandler.trigger(this._element, EVENT_SELECT, {\n selected: []\n })\n }\n\n selectChip(chip, options = {}) {\n const { addToSelection = false, rangeSelect = false } = options\n const chipElements = this._getChipElements()\n\n if (!chipElements.includes(chip)) {\n return\n }\n\n if (rangeSelect && this._anchorChip) {\n // Range selection from anchor to chip\n const anchorIndex = chipElements.indexOf(this._anchorChip)\n const chipIndex = chipElements.indexOf(chip)\n const start = Math.min(anchorIndex, chipIndex)\n const end = Math.max(anchorIndex, chipIndex)\n\n if (!addToSelection) {\n this.clearSelection()\n }\n\n for (let i = start; i <= end; i++) {\n this._selectedChips.add(chipElements[i])\n chipElements[i].classList.add(CLASS_NAME_ACTIVE)\n }\n } else if (addToSelection) {\n // Toggle selection\n if (this._selectedChips.has(chip)) {\n this._selectedChips.delete(chip)\n chip.classList.remove(CLASS_NAME_ACTIVE)\n } else {\n this._selectedChips.add(chip)\n chip.classList.add(CLASS_NAME_ACTIVE)\n this._anchorChip = chip\n }\n } else {\n // Single selection\n this.clearSelection()\n this._selectedChips.add(chip)\n chip.classList.add(CLASS_NAME_ACTIVE)\n this._anchorChip = chip\n }\n\n EventHandler.trigger(this._element, EVENT_SELECT, {\n selected: this.getSelectedValues()\n })\n }\n\n focus() {\n this._input?.focus()\n }\n\n // Private\n _getChipElements() {\n return SelectorEngine.find(SELECTOR_CHIP, this._element)\n }\n\n _createInput() {\n const input = document.createElement('input')\n input.type = 'text'\n input.className = 'form-ghost'\n if (this._config.placeholder) {\n input.placeholder = this._config.placeholder\n }\n\n this._element.append(input)\n this._input = input\n }\n\n _initializeExistingChips() {\n const existingChips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n for (const chip of existingChips) {\n const value = this._getChipValue(chip)\n if (value) {\n this._chips.push(value)\n this._setupChip(chip)\n }\n }\n }\n\n _setupChip(chip) {\n // Make chip focusable\n chip.setAttribute('tabindex', '0')\n\n // Add dismiss button if needed\n if (this._config.dismissible && !SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, chip)) {\n chip.append(this._createDismissButton())\n }\n }\n\n _createChip(value) {\n const chip = document.createElement('span')\n chip.className = CLASS_NAME_CHIP\n chip.dataset.bsChipValue = value\n\n // Add text node\n chip.append(document.createTextNode(value))\n\n // Setup chip (tabindex, dismiss button)\n this._setupChip(chip)\n\n return chip\n }\n\n _createDismissButton() {\n const button = document.createElement('button')\n button.type = 'button'\n button.className = CLASS_NAME_CHIP_DISMISS\n button.setAttribute('aria-label', 'Remove')\n button.setAttribute('tabindex', '-1') // Not in tab order, chips handle keyboard\n button.innerHTML = this._config.dismissIcon\n return button\n }\n\n _findChipByValue(value) {\n const chips = this._getChipElements()\n return chips.find(chip => this._getChipValue(chip) === value)\n }\n\n _getChipValue(chip) {\n if (chip.dataset.bsChipValue) {\n return chip.dataset.bsChipValue\n }\n\n const clone = chip.cloneNode(true)\n const dismiss = SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, clone)\n if (dismiss) {\n dismiss.remove()\n }\n\n return clone.textContent?.trim() || ''\n }\n\n _addEventListeners() {\n // Input events\n EventHandler.on(this._input, 'keydown', event => this._handleInputKeydown(event))\n EventHandler.on(this._input, 'input', event => this._handleInput(event))\n EventHandler.on(this._input, 'paste', event => this._handlePaste(event))\n EventHandler.on(this._input, 'focus', () => this.clearSelection())\n\n if (this._config.createOnBlur) {\n EventHandler.on(this._input, 'blur', event => {\n // Don't create chip if clicking on a chip\n if (!event.relatedTarget?.closest(SELECTOR_CHIP)) {\n this._createChipFromInput()\n }\n })\n }\n\n // Chip click events (delegated)\n EventHandler.on(this._element, 'click', SELECTOR_CHIP, event => {\n // Ignore clicks on dismiss button\n if (event.target.closest(SELECTOR_CHIP_DISMISS)) {\n return\n }\n\n const chip = event.target.closest(SELECTOR_CHIP)\n if (chip) {\n event.preventDefault()\n this.selectChip(chip, {\n addToSelection: event.metaKey || event.ctrlKey,\n rangeSelect: event.shiftKey\n })\n chip.focus()\n }\n })\n\n // Dismiss button clicks (delegated)\n EventHandler.on(this._element, 'click', SELECTOR_CHIP_DISMISS, event => {\n event.stopPropagation()\n const chip = event.target.closest(SELECTOR_CHIP)\n if (chip) {\n this.remove(chip)\n this._input?.focus()\n }\n })\n\n // Chip keyboard events (delegated)\n EventHandler.on(this._element, 'keydown', SELECTOR_CHIP, event => {\n this._handleChipKeydown(event)\n })\n\n // Focus input when clicking container background\n EventHandler.on(this._element, 'click', event => {\n if (event.target === this._element) {\n this.clearSelection()\n this._input?.focus()\n }\n })\n }\n\n _handleInputKeydown(event) {\n const { key } = event\n\n switch (key) {\n case 'Enter': {\n event.preventDefault()\n this._createChipFromInput()\n break\n }\n\n case 'Backspace':\n case 'Delete': {\n if (this._input.value === '') {\n event.preventDefault()\n const chips = this._getChipElements()\n\n if (chips.length > 0) {\n // Select last chip and focus it\n const lastChip = chips.at(-1)\n this.selectChip(lastChip)\n lastChip.focus()\n }\n }\n\n break\n }\n\n case 'ArrowLeft': {\n if (this._input.selectionStart === 0 && this._input.selectionEnd === 0) {\n event.preventDefault()\n const chips = this._getChipElements()\n if (chips.length > 0) {\n const lastChip = chips.at(-1)\n if (event.shiftKey) {\n this.selectChip(lastChip, { addToSelection: true })\n } else {\n this.selectChip(lastChip)\n }\n\n lastChip.focus()\n }\n }\n\n break\n }\n\n case 'Escape': {\n this._input.value = ''\n this.clearSelection()\n this._input.blur()\n break\n }\n\n // No default\n }\n }\n\n _handleChipKeydown(event) {\n const { key } = event\n const chip = event.target.closest(SELECTOR_CHIP)\n if (!chip) {\n return\n }\n\n const chips = this._getChipElements()\n const currentIndex = chips.indexOf(chip)\n\n switch (key) {\n case 'Backspace':\n case 'Delete': {\n event.preventDefault()\n this._handleChipDelete(currentIndex, chips)\n break\n }\n\n case 'ArrowLeft': {\n event.preventDefault()\n this._navigateChip(chips, currentIndex, -1, event.shiftKey)\n break\n }\n\n case 'ArrowRight': {\n event.preventDefault()\n this._navigateChip(chips, currentIndex, 1, event.shiftKey)\n break\n }\n\n case 'Home': {\n event.preventDefault()\n this._navigateToEdge(chips, 0, event.shiftKey)\n break\n }\n\n case 'End': {\n event.preventDefault()\n this.clearSelection()\n this._input?.focus()\n break\n }\n\n case 'a': {\n this._handleSelectAll(event, chips)\n break\n }\n\n case 'Escape': {\n event.preventDefault()\n this.clearSelection()\n this._input?.focus()\n break\n }\n\n // No default\n }\n }\n\n _handleChipDelete(currentIndex, chips) {\n if (this._selectedChips.size === 0) {\n return\n }\n\n const nextIndex = Math.min(currentIndex, chips.length - this._selectedChips.size - 1)\n this.removeSelected()\n\n const remainingChips = this._getChipElements()\n if (remainingChips.length > 0) {\n const focusIndex = Math.max(0, Math.min(nextIndex, remainingChips.length - 1))\n remainingChips[focusIndex].focus()\n this.selectChip(remainingChips[focusIndex])\n } else {\n this._input?.focus()\n }\n }\n\n _navigateChip(chips, currentIndex, direction, shiftKey) {\n const targetIndex = currentIndex + direction\n\n if (direction < 0 && targetIndex >= 0) {\n const targetChip = chips[targetIndex]\n this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n targetChip.focus()\n } else if (direction > 0 && targetIndex < chips.length) {\n const targetChip = chips[targetIndex]\n this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n targetChip.focus()\n } else if (direction > 0) {\n this.clearSelection()\n this._input?.focus()\n }\n }\n\n _navigateToEdge(chips, targetIndex, shiftKey) {\n if (chips.length === 0) {\n return\n }\n\n const targetChip = chips[targetIndex]\n this.selectChip(targetChip, shiftKey ? { rangeSelect: true } : {})\n targetChip.focus()\n }\n\n _handleSelectAll(event, chips) {\n if (!(event.metaKey || event.ctrlKey)) {\n return\n }\n\n event.preventDefault()\n for (const c of chips) {\n this._selectedChips.add(c)\n c.classList.add(CLASS_NAME_ACTIVE)\n }\n\n EventHandler.trigger(this._element, EVENT_SELECT, {\n selected: this.getSelectedValues()\n })\n }\n\n _handleInput(event) {\n const { value } = event.target\n const { separator } = this._config\n\n if (separator && value.includes(separator)) {\n const parts = value.split(separator)\n for (const part of parts.slice(0, -1)) {\n this.add(part.trim())\n }\n\n this._input.value = parts.at(-1)\n }\n }\n\n _handlePaste(event) {\n const { separator } = this._config\n if (!separator) {\n return\n }\n\n const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n if (pastedData.includes(separator)) {\n event.preventDefault()\n\n const parts = pastedData.split(separator)\n for (const part of parts) {\n this.add(part.trim())\n }\n }\n }\n\n _createChipFromInput() {\n const value = this._input.value.trim()\n if (value) {\n this.add(value)\n this._input.value = ''\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP_INPUT)) {\n ChipInput.getOrCreateInstance(element)\n }\n})\n\nexport default ChipInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n dd: [],\n div: [],\n dl: [],\n dt: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n allowList: DefaultAllowlist,\n content: {}, // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '<div></div>'\n}\n\nconst DefaultType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [undefined, this])\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n computePosition,\n flip,\n shift,\n offset,\n arrow,\n autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n parseResponsivePlacement,\n getResponsivePlacement,\n createBreakpointListeners,\n disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n floatingConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div>' +\n '</div>',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n floatingConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof computePosition === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n }\n\n super(element, config)\n\n // Private\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._floatingCleanup = null\n this._templateFactory = null\n this._newContent = null\n this._mediaQueryListeners = []\n this._responsivePlacements = null\n\n // Protected\n this.tip = null\n\n this._parseResponsivePlacements()\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle() {\n if (!this._isEnabled) {\n return\n }\n\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n }\n\n this._disposeFloating()\n this._disposeMediaQueryListeners()\n super.dispose()\n }\n\n async show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n this._disposeFloating()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n }\n\n await this._createFloating(tip)\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposeFloating()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n update() {\n if (this._floatingCleanup && this.tip) {\n this._updateFloatingPosition()\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle())\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml()\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n this._newContent = content\n if (this._isShown()) {\n this._disposeFloating()\n this.show()\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement(tip) {\n // If we have responsive placements, get the one for current viewport\n if (this._responsivePlacements) {\n const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n return AttachmentMap[placement.toUpperCase()] || placement\n }\n\n // Execute placement (can be a function)\n const placement = execute(this._config.placement, [this, tip, this._element])\n return AttachmentMap[placement.toUpperCase()] || placement\n }\n\n _parseResponsivePlacements() {\n // Only parse if placement is a string (not a function)\n if (typeof this._config.placement !== 'string') {\n this._responsivePlacements = null\n return\n }\n\n this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n if (this._responsivePlacements) {\n this._setupMediaQueryListeners()\n }\n }\n\n _setupMediaQueryListeners() {\n this._disposeMediaQueryListeners()\n this._mediaQueryListeners = createBreakpointListeners(() => {\n if (this._isShown()) {\n this._updateFloatingPosition()\n }\n })\n }\n\n _disposeMediaQueryListeners() {\n disposeBreakpointListeners(this._mediaQueryListeners)\n this._mediaQueryListeners = []\n }\n\n async _createFloating(tip) {\n const placement = this._getPlacement(tip)\n const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n // Initial position update\n await this._updateFloatingPosition(tip, placement, arrowElement)\n\n // Set up auto-update for scroll/resize\n this._floatingCleanup = autoUpdate(\n this._element,\n tip,\n () => this._updateFloatingPosition(tip, null, arrowElement)\n )\n }\n\n async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n if (!tip) {\n return\n }\n\n if (!placement) {\n placement = this._getPlacement(tip)\n }\n\n if (!arrowElement) {\n arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n }\n\n const middleware = this._getFloatingMiddleware(arrowElement)\n const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n this._element,\n tip,\n floatingConfig\n )\n\n // Apply position to tooltip\n Object.assign(tip.style, {\n position: 'absolute',\n left: `${x}px`,\n top: `${y}px`\n })\n\n // Ensure arrow is absolutely positioned within tooltip\n if (arrowElement) {\n arrowElement.style.position = 'absolute'\n }\n\n // Set placement attribute for CSS arrow styling\n Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n // Position arrow along the edge (center it) if present\n // The CSS handles which edge to place it on via data-bs-placement\n if (arrowElement && middlewareData.arrow) {\n const { x: arrowX, y: arrowY } = middlewareData.arrow\n const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n // Only set the cross-axis position (centering along the edge)\n // The main-axis position (which edge) is handled by CSS\n Object.assign(arrowElement.style, {\n left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n // Reset the other axis to let CSS handle it\n right: '',\n bottom: ''\n })\n }\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n // Floating UI passes different args, adapt the interface for offset function callbacks\n return ({ placement, rects }) => {\n const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n return result\n }\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element, this._element])\n }\n\n _getFloatingMiddleware(arrowElement) {\n const offsetValue = this._getOffset()\n\n const middleware = [\n // Offset middleware - handles distance from reference\n offset(\n typeof offsetValue === 'function' ?\n offsetValue :\n { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n ),\n // Flip middleware - handles fallback placements\n flip({\n fallbackPlacements: this._config.fallbackPlacements\n }),\n // Shift middleware - prevents overflow\n shift({\n boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n })\n ]\n\n // Arrow middleware - positions the arrow element\n if (arrowElement) {\n middleware.push(arrow({ element: arrowElement }))\n }\n\n return middleware\n }\n\n _getFloatingConfig(placement, middleware) {\n const defaultConfig = {\n placement,\n middleware\n }\n\n return {\n ...defaultConfig,\n ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n }\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSEENTER) :\n this.constructor.eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSELEAVE) :\n this.constructor.eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title')\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _disposeFloating() {\n if (this._floatingCleanup) {\n this._floatingCleanup()\n this._floatingCleanup = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n if (!target) {\n return\n }\n\n // Get or create instance and trigger the appropriate action\n const tooltip = Tooltip.getOrCreateInstance(target)\n\n // For focus events, manually trigger enter to show\n if (event.type === 'focusin') {\n tooltip._activeTrigger.focus = true\n tooltip._enter()\n }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div>' +\n '</div>',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n if (!target) {\n return\n }\n\n // Prevent default for click events to avoid navigation\n if (event.type === 'click') {\n event.preventDefault()\n }\n\n // Get or create instance\n const popover = Popover.getOrCreateInstance(target)\n\n // Trigger the appropriate action based on event type\n if (event.type === 'click') {\n popover.toggle()\n } else if (event.type === 'focusin') {\n popover._activeTrigger.focus = true\n popover._enter()\n }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_MENU_ITEM = 'menu-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_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\n\nconst Default = {\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh() // initialize\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose() {\n this._observer.disconnect()\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.target = getElement(config.target) || document.body\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK)\n\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if (root.scrollTo) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height\n }\n })\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n this._process(targetElement(entry))\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry))\n\n continue\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor)\n this._observableSections.set(anchor.hash, observableSection)\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target) {\n // Activate menu parents\n if (target.classList.contains(CLASS_NAME_MENU_ITEM)) {\n const menuToggle = target.closest('.menu')?.previousElementSibling\n if (menuToggle?.matches(SELECTOR_MENU_TOGGLE)) {\n menuToggle.classList.add(CLASS_NAME_ACTIVE)\n }\n\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 SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\nconst SELECTOR_MENU = '.menu'\nconst NOT_SELECTOR_MENU_TOGGLE = `:not(${SELECTOR_MENU_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_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_MENU_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"]'\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n constructor(element) {\n super(element)\n this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n if (!this._parent) {\n return\n // TODO: should throw exception in v6\n // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n }\n\n // Set up initial aria attributes\n this._setInitialAttributes(this._parent, this._getChildren())\n\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n show() { // Shows this elem and deactivate the active sibling if exists\n const innerElem = this._element\n if (this._elemIsActive(innerElem)) {\n return\n }\n\n // Search for active tab on same parent to deactivate it\n const active = this._getActiveElem()\n\n const hideEvent = active ?\n EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n null\n\n const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n return\n }\n\n this._deactivate(active, innerElem)\n this._activate(innerElem, active)\n }\n\n // Private\n _activate(element, relatedElem) {\n if (!element) {\n return\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n\n this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n const complete = () => {\n if (element.getAttribute('role') !== 'tab') {\n element.classList.add(CLASS_NAME_SHOW)\n return\n }\n\n element.removeAttribute('tabindex')\n element.setAttribute('aria-selected', true)\n this._toggleMenu(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._toggleMenu(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 _toggleMenu(element, open) {\n const outerElem = this._getOuterElement(element)\n const menuToggle = SelectorEngine.findOne(SELECTOR_MENU_TOGGLE, outerElem)\n if (!menuToggle) {\n return\n }\n\n const menu = SelectorEngine.findOne(SELECTOR_MENU, outerElem)\n\n menuToggle.classList.toggle(CLASS_NAME_ACTIVE, open)\n if (menu) {\n menu.classList.toggle(CLASS_NAME_SHOW, open)\n }\n\n menuToggle.setAttribute('aria-expanded', open)\n }\n\n _setAttributeIfNotExists(element, attribute, value) {\n if (!element.hasAttribute(attribute)) {\n element.setAttribute(attribute, value)\n }\n }\n\n _elemIsActive(elem) {\n return elem.classList.contains(CLASS_NAME_ACTIVE)\n }\n\n // Try to get the inner element (usually the .nav-link)\n _getInnerElement(elem) {\n return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n }\n\n // Try to get the outer element (usually the .nav-item)\n _getOuterElement(elem) {\n return elem.closest(SELECTOR_OUTER) || elem\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n Tab.getOrCreateInstance(element)\n }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._timeout = null\n this._hasMouseInteraction = false\n this._hasKeyboardInteraction = false\n this._setListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._maybeScheduleHide()\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n hide() {\n if (!this.isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.add(CLASS_NAME_SHOWING)\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this.isShown()) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n super.dispose()\n }\n\n isShown() {\n return this._element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _maybeScheduleHide() {\n if (!this._config.autohide) {\n return\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return\n }\n\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n\n _onInteraction(event, isInteracting) {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout': {\n this._hasMouseInteraction = isInteracting\n break\n }\n\n case 'focusin':\n case 'focusout': {\n this._hasKeyboardInteraction = isInteracting\n break\n }\n\n default: {\n break\n }\n }\n\n if (isInteracting) {\n this._clearTimeout()\n return\n }\n\n const nextElement = event.relatedTarget\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return\n }\n\n this._maybeScheduleHide()\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n attribute: 'string',\n value: '(string|number|boolean)'\n}\n\nconst Default = {\n attribute: 'class',\n value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n if (toggleEvent.defaultPrevented) {\n return\n }\n\n this._execute()\n\n EventHandler.trigger(this._element, EVENT_TOGGLED)\n }\n\n // Private\n _execute() {\n const { attribute, value } = this._config\n\n if (attribute === 'id') {\n return // You have to be kidding\n }\n\n if (attribute === 'class') {\n this._element.classList.toggle(value)\n return\n }\n\n // Compare as strings since getAttribute() always returns a string\n if (this._element.getAttribute(attribute) === String(value)) {\n this._element.removeAttribute(attribute)\n return\n }\n\n this._element.setAttribute(attribute, value)\n }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
+{"version":3,"names":["elementMap","Map","Data","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","this","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","elementEvent","slice","keyHandlers","length","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","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","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","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_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","ARROW_LEFT_KEY$2","ARROW_RIGHT_KEY$2","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","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","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","round","createCoords","v","x","y","oppositeSideMap","left","right","bottom","top","clamp","start","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","firstChar","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","mainAlignmentSide","reference","floating","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getSideList","side","isStart","getOppositeAxisPlacements","flipAlignment","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","width","height","computeCoordsFromPlacement","_ref","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","async","detectOverflow","state","options","_await$platform$isEle","platform","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","getClippingRect","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","MAX_RESET_COUNT","computePosition","middleware","platformWithDetectOverflow","getElementRects","statefulPlacement","resetCount","middlewareData","i","currentMiddleware","nextX","nextY","reset","initialPlacement","arrow","arrowDimensions","getDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","centerOffset","flip","_middlewareData$arrow","_middlewareData$flip","mainAxis","checkMainAxis","crossAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","detectOverflowOptions","initialSideAxis","isBasePlacement","hasFallbackAxisSideDirection","placements","overflow","overflows","overflowsData","sides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","d","resetPlacement","sort","a","b","_overflowsData$filter2","currentSideAxis","reduce","acc","originSides","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","_middlewareData$offse","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","enabled","hasWindow","getNodeName","node","isNode","nodeName","getWindow","_node$ownerDocument","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","isOverflowElement","overflowX","overflowY","display","isTableElement","isTopLayer","_e","willChangeRe","containRe","isNotNone","isWebKitValue","isContainingBlock","elementOrCss","css","transform","translate","scale","rotate","perspective","isWebKit","backdropFilter","willChange","contain","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","supports","getNodeScroll","scrollLeft","scrollTop","scrollX","scrollY","result","assignedSlot","host","getNearestOverflowAncestor","body","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","visualViewport","getPrototypeOf","getCssDimensions","getComputedStyle$1","hasOffset","offsetWidth","shouldFallback","$","unwrapElement","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","shouldAddVisualOffsets","isFixed","floatingOffsetParent","includeScale","isFixedStrategy","clientRect","visualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","leftScroll","getHTMLOffset","scroll","htmlRect","topLayer","offsets","isOffsetParentAnElement","offsetRect","htmlOffset","getDocumentRect","html","scrollWidth","clientWidth","scrollHeight","clientHeight","SCROLLBAR_MAX","getViewportRect","visualViewportBased","windowScrollbarX","doc","bodyStyles","bodyMarginInline","compatMode","marginLeft","marginRight","clippingStableScrollbarWidth","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","position","getClippingElementAncestors","cache","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","clippingAncestors","_c","firstRect","getRectRelativeToOffsetParent","setLeftRTLScrollbarOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","getOffsetParentFn","getDimensionsFn","floatingDimensions","rectsAreEqual","observeMove","onMove","timeoutId","io","cleanup","_io","disconnect","refresh","skip","threshold","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","ratio","intersectionRatio","IntersectionObserver","observe","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","animationFrame","referenceEl","ancestors","forEach","passive","cleanupIo","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset$1","shift$1","flip$1","arrow$1","mergedOptions","platformWithCache","computePosition$1","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","xs","part","breakpoint","undefined","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","createBreakpointListeners","listeners","minWidth","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","autoClose","container","floatingConfig","menu","submenuTrigger","submenuDelay","Menu","static","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_findMenu","_menuOriginalParent","_parseResponsivePlacements","_setupSubmenuListeners","_moveMenuToContainer","_createFloating","focus","focusVisible","_openInstances","_completeHide","_disposeFloating","_restoreMenuToOriginalParent","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","_updateFloatingPosition","referenceElement","_getPlacement","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","offsetValue","_getFallbackPlacements","defaultConfig","_getContainer","append","isConnected","finalPlacement","assign","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","updatePosition","clear","clientY","timestamp","Date","now","submenuRect","currentPos","lastPos","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","_selectMenuItem","currentMenu","_handleSubmenuKeydown","isRtl","enterKey","exitKey","isSubmenuTrigger","firstItem","parentSubmenuWrapper","parentTrigger","clearMenus","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_CHANGE","CLASS_NAME_SELECTED","CLASS_NAME_PLACEHOLDER","SELECTOR_MENU_ITEM","SELECTOR_VALUE","SELECTOR_SEARCH_INPUT","SELECTOR_NO_RESULTS","multiple","placeholder","search","searchNormalize","Combobox","_toggle","_valueDisplay","_searchInput","_noResults","_hiddenInput","_menuInstance","_createHiddenInput","_createMenuInstance","_syncInitialSelection","_filterItems","createElement","insertBefore","_getSelectedItems","_updateToggleText","_updateHiddenInput","_showPlaceholder","item","_selectItem","_handleToggleKeydown","_handleMenuKeydown","_getVisibleItems","previouslySelected","bsValue","selectedItems","textContent","label","query","normalizedQuery","_normalizeText","visibleCount","text","normalize","jQueryInterface","each","__defProp","__defProps","defineProperties","__getOwnPropDescs","getOwnPropertyDescriptors","__getOwnPropSymbols","getOwnPropertySymbols","__hasOwnProp","hasOwnProperty","__propIsEnum","propertyIsEnumerable","__defNormalProp","e","t","n","enumerable","writable","__spreadValues","__spreadProps","__publicField","errorMessages","notFoundSelector","notInit","notLocale","incorrectTime","incorrectMonthsCount","setContext","context","destroy","o","l","isInit","inputMode","mainElement","parentElement","removeChild","inputElement","replaceWith","originalElement","onDestroy","skipOpenOnFocus","WeakSet","shouldSkipOpenOnFocus","setSkipOpenOnFocus","clearSkipOpenOnFocus","PREV_TABINDEX_ATTR","isFocusable","tabIndex","storePrevTabIndex","restorePrevTabIndex","disableTabbing","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","FILTER_ACCEPT","FILTER_SKIP","nextNode","restoreTabbing","isShowInInputMode","currentType","vcCalendarHidden","cleanupHandlers","openOnFocus","onHide","getOffset","getViewportDimensions","vw","vh","innerHeight","getWindowScrollPosition","calculateAvailableSpace","s","r","getAvailablePosition","canShow","parentPositions","c","u","m","p","h","condition","handleDay","modifier","className","styles","datePopup","vcDatePopup","innerHTML","sanitizerHTML","ariaExpanded","ariaLabel","appendChild","createDatePopup","popups","getDate","getDateString","getFullYear","String","getMonth","padStart","parseDates","toISOString","substring","getTime","setDate","updateAttribute","setDateModifier","displayDateMin","displayDateMax","disableDates","selectionMonthsMode","selectionYearsMode","disableToday","dateToday","selectedWeekends","selectedHolidays","selectedDates","selectionDatesMode","enableEdgeDatesOnly","getLocaleString","toLocaleString","getWeekNumber","getDay","ceil","year","week","addWeekNumberForDate","firstWeekday","vcDateWeekNumber","setDaysAsDisabled","disableWeekdays","disableAllDates","enableDates","createDate","locale","date","vcDate","vcDateMonth","vcDateWeekDay","role","displayDatesOutside","dateBtn","dateStyle","timeZone","vcDateBtn","innerText","enableWeekNumbers","addDate","onCreateDateEls","createDatesFromCurrentMonth","createDatesFromNextMonth","createDatesFromPrevMonth","createWeekNumbers","weekNumbersTitle","vcWeekNumbers","weekNumbersContent","weekNumber","cloneNode","vcWeekNumber","vcWeekYear","createDates","selectedYear","selectedMonth","vcDatesDisabled","setMonth","datesRow","g","layoutDefault","header","labels","navigation","headerContent","wrapper","content","layoutMonths","layoutMultiple","controls","grid","column","layoutYears","ArrowNext","arrowNext","ArrowPrev","arrowPrev","ControlTime","selectionTimeMode","time","selectingTime","DateRangeTooltip","onCreateDateRangeTooltip","dateRangeTooltip","Dates","dates","Month","month","Months","months","Week","WeekNumbers","weekNumbers","Year","Years","years","components","getComponent","parseLayout","parseMultipleLayout","displayMonthsCount","fill","createLayouts","default","layouts","calendar","vc","vcType","application","vcGrid","vcColumn","setVisibilityArrows","visibility","handleDefaultType","monthsToSwitch","dateMin","dateMax","setFullYear","handleYearType","displayYear","visibilityArrows","visibilityHandler","long","visibilityTitle","setYearModifier","aria","selectedProperty","getColumnID","currentValue","columnID","findIndex","createMonthEl","monthsMonth","vcMonthsMonth","ariaDisabled","createMonths","vcYear","vcMonth","short","onCreateMonthEls","TimeInput","TimeRange","handleActions","hour","minute","selectedHours","selectedMinutes","selectedKeeping","onChangeTime","onChangeToInput","transformTime24","AM","PM","handleClickKeepingTime","btnKeeping","transformTime12","updateInputAndRange","updateKeepingTime$1","handleInput$1","updateInputAndTime","updateKeepingTime","handleRange","handleMouseOver","handleMouseOut","handleTime","timeMaxHour","timeMinHour","timeMaxMinute","timeMinMinute","createTime","timeControls","timeContent","timeHour","timeMinute","timeKeeping","timeRanges","timeRange","timeStepHour","timeStepMinute","createWeek","weekdays","titleShort","titleLong","isWeekend","onClickWeekDay","weekDay","vcWeekDay","vcWeekDayOff","createYearEl","yearsYear","vcYearsYear","createYears","onCreateYearEls","trackChangesHTMLElement","MutationObserver","attributeName","haveListener","check","setTheme","vcTheme","trackChangesThemeInSystemSettings","selectedTheme","addListener","detectTheme","themeAttrDetect","handleTheme","media","capitalizeFirstLetter","getLocaleWeekday","weekday","getLocaleMonth","getLocale","create","handleArrowKeys","localName","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","handleMonth","handleClickArrow","vcArrow","onClickArrow","resolveToggle","canToggleSelection","enableDateToggle","handleSelectDate","createDateRangeTooltip","vcDateRangeTooltip","self","lastDateEl","isHovering","rangeMin","rangeMax","tooltipEl","addHoverEffect","vcDateHover","removeHoverEffect","handleHoverDatesEvent","handleHoverSelectedDatesRangeEvent","optimizedHoverHandler","optimizedHandleHoverDatesEvent","optimizedHandleHoverSelectedDatesRangeEvent","handleCancelSelectionDates","handleMouseLeave","updateDisabledDates","disableDatesPast","handleSelectDateRange","disableDatesGaps","updateDateModifier","handleClickDate","single","onClickDate","enableMonthChangeOnDayClick","current","typeClick","getValue","handleMultipleYearSelection","handleMultipleMonthSelection","handleItemClick","onClickYear","onClickMonth","handleClickType","onClickTitle","handleClickMonthOrYear","handleClickWeekNumber","onClickWeekNumber","handleClickWeekDay","handleClick","initMonthsCount","getLocalDate","getTimezoneOffset","resolveDate","initRange","displayDisabledDates","initSelectedDates","displayClosestValidDate","setInitialContext","initSelectedMonthYear","enableJumpToSelectedDate","initTime","selectedTime","initAllVariables","createToInput","vcInput","onInit","canOpenOnFocus","handleInput","inputModeInit","shiftKey","init","onUpdate","replaceProperties","isArray","findBestPickerPosition","setPosition","vcPosition","click","positionToInput","capture","onShow","inputHour","inputMinute","rangeHour","rangeMinute","OptionsCalendar","_Calendar","memoizedElements","queryAndMemoize","Calendar","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateFormat","displayElement","inline","positionElement","selectionMode","vcpOptions","Datepicker","_calendar","_initCalendar","_themeObserver","getSelectedDates","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","attributeFilter","vcpTheme","_handleDateClick","firstDate","_parseDate","_maybeHideAfterSelection","dateStr","day","_formatDate","Intl","DateTimeFormat","format","toLocaleDateString","separator","isNaN","formatted","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showModal","_hideDialog","handleUpdate","_triggerBackdropTransition","showEvent","currentDialog","currentInstance","EVENT_UPDATE","EVENT_OVERFLOW","CLASS_NAME_OVERFLOW","CLASS_NAME_OVERFLOW_MENU","CLASS_NAME_HIDDEN","SELECTOR_NAV_ITEM","SELECTOR_NAV_LINK","SELECTOR_OVERFLOW_TOGGLE","SELECTOR_OVERFLOW_MENU","CLASS_NAME_KEEP","moreText","moreIcon","NavOverflow","_items","_overflowItems","_overflowMenu","_overflowToggle","_isInitialized","_init","_calculateOverflow","_restoreItems","bsNavOrder","_createOverflowMenu","_setupResizeObserver","overflowItem","navWidth","usedWidth","itemsToOverflow","overflowThreshold","toMove","_moveToOverflow","overflowCount","link","clonedLink","bsNavOverflow","EVENT_MOUSEDOWN","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","isOverflowing","_saveInitialAttribute","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","_currentStrength","_evaluate","getStrength","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","digits","clipboardData","getData","lastIndex","select","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","area","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","pre","small","span","sub","sup","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","extraClass","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","isInTheDom","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","arrowX","arrowY","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_MENU_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_MENU_TOGGLE","smoothScroll","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","scrollTo","behavior","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","menuToggle","listGroup","activeNodes","spy","NOT_SELECTOR_MENU_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleMenu","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","_execute"],"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/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../js/src/util/floating-ui.js","../../js/src/menu.js","../../js/src/combobox.js","../../node_modules/vanilla-calendar-pro/index.mjs","../../js/src/datepicker.js","../../js/src/dialog.js","../../js/src/nav-overflow.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n element.dispatchEvent(evt)\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n if (isElement(object)) {\n return object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n // Private\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n if (typeof callback === 'function') {\n callback({ ...data, instances })\n }\n\n for (const instance of instances) {\n instance[method]()\n }\n })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n EventHandler.on(document, onEvent, selector, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n const selector = SelectorEngine.getSelectorFromElement(this)\n const targets = selector ? SelectorEngine.find(selector) : [this]\n\n callback({ targets, event })\n })\n}\n\nexport {\n enableDismissTrigger,\n eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: 'number',\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (document.visibilityState === 'visible' && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n getElement,\n reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n // Private\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\nexport default Collapse\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n const firstChar = placement[0];\n return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n const side = getSide(placement);\n return oppositeSideMap[side] + placement.slice(side.length);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n// Maximum number of resets that can occur before bailing to avoid infinite reset loops.\nconst MAX_RESET_COUNT = 50;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const platformWithDetectOverflow = platform.detectOverflow ? platform : {\n ...platform,\n detectOverflow\n };\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let resetCount = 0;\n const middlewareData = {};\n for (let i = 0; i < middleware.length; i++) {\n const currentMiddleware = middleware[i];\n if (!currentMiddleware) {\n continue;\n }\n const {\n name,\n fn\n } = currentMiddleware;\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platformWithDetectOverflow,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData[name] = {\n ...middlewareData[name],\n ...data\n };\n if (reset && resetCount < MAX_RESET_COUNT) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects,\n platform\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n platform\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';\n}\nfunction isTableElement(element) {\n return /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n try {\n if (element.matches(':popover-open')) {\n return true;\n }\n } catch (_e) {\n // no-op\n }\n try {\n return element.matches(':modal');\n } catch (_e) {\n return false;\n }\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = value => !!value && value !== 'none';\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (isWebKitValue == null) {\n isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');\n }\n return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n return /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n } else {\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n }\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the <html> but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the <body> scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n let top = firstRect.top;\n let right = firstRect.right;\n let bottom = firstRect.bottom;\n let left = firstRect.left;\n for (let i = 1; i < clippingAncestors.length; i++) {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n top = max(rect.top, top);\n right = min(rect.right, right);\n bottom = min(rect.bottom, bottom);\n left = max(rect.left, left);\n }\n return {\n width: right - left,\n height: bottom - top,\n x: left,\n y: top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n if (floating) {\n resizeObserver.observe(floating);\n }\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $breakpoints)\n */\nexport const BREAKPOINTS = {\n sm: 576,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n if (fallback.includes('-start') || fallback.includes('-end')) {\n const [side, alignment] = fallback.split('-')\n const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n return isRTL() ? `${side}-${flippedAlignment}` : fallback\n }\n\n return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n if (!placementString || !placementString.includes(':')) {\n return null\n }\n\n // Parse the placement string into breakpoint-keyed object\n const parts = placementString.split(/\\s+/)\n const placements = { xs: defaultPlacement } // Default fallback\n\n for (const part of parts) {\n if (part.includes(':')) {\n // Responsive placement like \"md:top-end\"\n const [breakpoint, placement] = part.split(':')\n if (BREAKPOINTS[breakpoint] !== undefined) {\n placements[breakpoint] = placement\n }\n } else {\n // Base placement (no prefix = xs/default)\n placements.xs = part\n }\n }\n\n return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n if (!responsivePlacements) {\n return defaultPlacement\n }\n\n // Get current viewport width\n const viewportWidth = window.innerWidth\n\n // Find the largest breakpoint that matches\n let activePlacement = responsivePlacements.xs || defaultPlacement\n\n // Check breakpoints in order (sm, md, lg, xl, 2xl)\n const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n for (const breakpoint of breakpointOrder) {\n const minWidth = BREAKPOINTS[breakpoint]\n if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n activePlacement = responsivePlacements[breakpoint]\n }\n }\n\n return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n const listeners = []\n\n for (const breakpoint of Object.keys(BREAKPOINTS)) {\n const minWidth = BREAKPOINTS[breakpoint]\n const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n mql.addEventListener('change', callback)\n listeners.push({ mql, handler: callback })\n }\n\n return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n for (const { mql, handler } of listeners) {\n mql.removeEventListener('change', handler)\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap menu.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n computePosition,\n flip,\n shift,\n offset,\n autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\nimport {\n parseResponsivePlacement,\n getResponsivePlacement,\n createBreakpointListeners,\n disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'menu'\nconst DATA_KEY = 'bs.menu'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"menu\"]:not(.disabled):not(:disabled)'\n\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_SUBMENU = '.submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.submenu > .menu-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item:not(.disabled):not(:disabled)'\n\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\nconst resolveLogicalPlacement = placement => {\n if (isRTL()) {\n return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n }\n\n return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\nconst triangleSign = (p1, p2, p3) =>\n ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n container: false,\n display: 'dynamic',\n offset: [0, 2],\n floatingConfig: null,\n menu: null,\n placement: DEFAULT_PLACEMENT,\n reference: 'toggle',\n strategy: 'absolute',\n submenuTrigger: 'both',\n submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n display: 'string',\n offset: '(array|string|function)',\n floatingConfig: '(null|object|function)',\n menu: '(null|element)',\n placement: 'string',\n reference: '(string|element|object)',\n strategy: 'string',\n submenuTrigger: 'string',\n submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Menu extends BaseComponent {\n static _openInstances = new Set()\n\n constructor(element, config) {\n if (typeof computePosition === 'undefined') {\n throw new TypeError('Bootstrap\\'s menus require Floating UI (https://floating-ui.com)')\n }\n\n super(element, config)\n\n this._floatingCleanup = null\n this._mediaQueryListeners = []\n this._responsivePlacements = null\n this._parent = this._element.parentNode\n this._isSubmenu = this._parent.classList?.contains('submenu')\n this._openSubmenus = new Map()\n this._submenuCloseTimeouts = new Map()\n this._hoverIntentData = null\n\n this._menu = this._config.menu || this._findMenu()\n\n this._menuOriginalParent = this._menu?.parentNode\n\n this._parseResponsivePlacements()\n this._setupSubmenuListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._moveMenuToContainer()\n this._createFloating()\n\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({ focusVisible: false })\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\n if (this._parent) {\n this._parent.classList.add(CLASS_NAME_SHOW)\n }\n\n Menu._openInstances.add(this)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n this._disposeFloating()\n this._restoreMenuToOriginalParent()\n this._disposeMediaQueryListeners()\n this._closeAllSubmenus()\n this._clearAllSubmenuTimeouts()\n Menu._openInstances.delete(this)\n super.dispose()\n }\n\n update() {\n if (this._floatingCleanup) {\n this._updateFloatingPosition()\n }\n }\n\n // Private\n _findMenu() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n }\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._closeAllSubmenus()\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._disposeFloating()\n this._restoreMenuToOriginalParent()\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n if (this._parent) {\n this._parent.classList.remove(CLASS_NAME_SHOW)\n }\n\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'placement')\n Manipulator.removeDataAttribute(this._menu, 'display')\n Menu._openInstances.delete(this)\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 throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createFloating() {\n if (this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'display', 'static')\n return\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n this._updateFloatingPosition(referenceElement)\n\n this._floatingCleanup = autoUpdate(\n referenceElement,\n this._menu,\n () => this._updateFloatingPosition(referenceElement)\n )\n }\n\n async _updateFloatingPosition(referenceElement = null) {\n if (!this._menu) {\n return\n }\n\n if (!referenceElement) {\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n } else {\n referenceElement = this._element\n }\n }\n\n const placement = this._getPlacement()\n const middleware = this._getFloatingMiddleware()\n const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n await this._applyFloatingPosition(\n referenceElement,\n this._menu,\n floatingConfig.placement,\n floatingConfig.middleware,\n floatingConfig.strategy\n )\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const placement = this._responsivePlacements ?\n getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n this._config.placement\n\n return resolveLogicalPlacement(placement)\n }\n\n _parseResponsivePlacements() {\n this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n if (this._responsivePlacements) {\n this._setupMediaQueryListeners()\n }\n }\n\n _setupMediaQueryListeners() {\n this._disposeMediaQueryListeners()\n this._mediaQueryListeners = createBreakpointListeners(() => {\n if (this._isShown()) {\n this._updateFloatingPosition()\n }\n })\n }\n\n _disposeMediaQueryListeners() {\n disposeBreakpointListeners(this._mediaQueryListeners)\n this._mediaQueryListeners = []\n }\n\n _getOffset() {\n const { offset: offsetConfig } = this._config\n\n if (typeof offsetConfig === 'string') {\n return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offsetConfig === 'function') {\n return ({ placement, rects }) => {\n const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n return result\n }\n }\n\n return offsetConfig\n }\n\n _getFloatingMiddleware() {\n const offsetValue = this._getOffset()\n\n const middleware = [\n offset(\n typeof offsetValue === 'function' ?\n offsetValue :\n { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n ),\n flip({\n fallbackPlacements: this._getFallbackPlacements()\n }),\n shift({\n boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n })\n ]\n\n return middleware\n }\n\n _getFallbackPlacements() {\n const placement = this._getPlacement()\n\n const fallbackMap = {\n bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n 'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n 'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n 'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n 'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n 'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n 'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n 'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n 'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n }\n\n return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n }\n\n _getFloatingConfig(placement, middleware) {\n const defaultConfig = {\n placement,\n middleware,\n strategy: this._config.strategy\n }\n\n return {\n ...defaultConfig,\n ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n }\n }\n\n _disposeFloating() {\n if (this._floatingCleanup) {\n this._floatingCleanup()\n this._floatingCleanup = null\n }\n }\n\n _getContainer() {\n const { container } = this._config\n if (container === false) {\n return null\n }\n\n return container === true ? document.body : getElement(container)\n }\n\n _moveMenuToContainer() {\n const container = this._getContainer()\n if (!container || !this._menu) {\n return\n }\n\n if (this._menu.parentNode !== container) {\n container.append(this._menu)\n }\n }\n\n _restoreMenuToOriginalParent() {\n if (!this._menuOriginalParent || !this._menu) {\n return\n }\n\n if (this._menu.parentNode !== this._menuOriginalParent) {\n this._menuOriginalParent.append(this._menu)\n }\n }\n\n async _applyFloatingPosition(reference, floating, placement, middleware, strategy = 'absolute') {\n if (!floating.isConnected) {\n return null\n }\n\n const { x, y, placement: finalPlacement } = await computePosition(\n reference,\n floating,\n { placement, middleware, strategy }\n )\n\n if (!floating.isConnected) {\n return null\n }\n\n Object.assign(floating.style, {\n position: strategy,\n left: `${x}px`,\n top: `${y}px`,\n margin: '0'\n })\n\n Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n return finalPlacement\n }\n\n // -------------------------------------------------------------------------\n // Submenu handling\n // -------------------------------------------------------------------------\n\n _setupSubmenuListeners() {\n if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n this._onSubmenuTriggerEnter(event)\n })\n\n EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n this._onSubmenuLeave(event)\n })\n\n EventHandler.on(this._menu, 'mousemove', event => {\n this._trackMousePosition(event)\n })\n }\n\n if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n this._onSubmenuTriggerClick(event)\n })\n }\n }\n\n _onSubmenuTriggerEnter(event) {\n const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n if (!trigger) {\n return\n }\n\n const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (!submenu) {\n return\n }\n\n this._cancelSubmenuCloseTimeout(submenu)\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(trigger, submenu, submenuWrapper)\n }\n\n _onSubmenuLeave(event) {\n const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (!submenu || !this._openSubmenus.has(submenu)) {\n return\n }\n\n if (this._isMovingTowardSubmenu(event, submenu)) {\n return\n }\n\n this._scheduleSubmenuClose(submenu, submenuWrapper)\n }\n\n _onSubmenuTriggerClick(event) {\n const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n if (!trigger) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (!submenu) {\n return\n }\n\n if (this._openSubmenus.has(submenu)) {\n this._closeSubmenu(submenu, submenuWrapper)\n } else {\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(trigger, submenu, submenuWrapper)\n }\n }\n\n _openSubmenu(trigger, submenu, submenuWrapper) {\n if (this._openSubmenus.has(submenu)) {\n return\n }\n\n trigger.setAttribute('aria-expanded', 'true')\n trigger.setAttribute('aria-haspopup', 'true')\n\n submenu.classList.add(CLASS_NAME_SHOW)\n submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n this._openSubmenus.set(submenu, cleanup)\n\n EventHandler.on(submenu, 'mouseenter', () => {\n this._cancelSubmenuCloseTimeout(submenu)\n })\n }\n\n _closeSubmenu(submenu, submenuWrapper) {\n if (!this._openSubmenus.has(submenu)) {\n return\n }\n\n const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n for (const nested of nestedSubmenus) {\n const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n this._closeSubmenu(nested, nestedWrapper)\n }\n\n const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n const cleanup = this._openSubmenus.get(submenu)\n if (cleanup) {\n cleanup()\n }\n\n this._openSubmenus.delete(submenu)\n EventHandler.off(submenu, 'mouseenter')\n\n if (trigger) {\n trigger.setAttribute('aria-expanded', 'false')\n }\n\n submenu.classList.remove(CLASS_NAME_SHOW)\n submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n submenu.style.position = ''\n submenu.style.left = ''\n submenu.style.top = ''\n submenu.style.margin = ''\n }\n\n _closeAllSubmenus() {\n for (const [submenu] of this._openSubmenus) {\n const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n this._closeSubmenu(submenu, submenuWrapper)\n }\n }\n\n _closeSiblingSubmenus(currentSubmenuWrapper) {\n const parent = currentSubmenuWrapper.parentNode\n const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n for (const siblingMenu of siblingSubmenus) {\n const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n if (siblingWrapper !== currentSubmenuWrapper) {\n this._closeSubmenu(siblingMenu, siblingWrapper)\n }\n }\n }\n\n _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n const referenceElement = submenuWrapper\n const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n const middleware = [\n offset({ mainAxis: 0, crossAxis: -4 }),\n flip({\n fallbackPlacements: [\n resolveLogicalPlacement('start-start'),\n resolveLogicalPlacement('end-end'),\n resolveLogicalPlacement('start-end')\n ]\n }),\n shift({ padding: 8 })\n ]\n\n const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n updatePosition()\n return autoUpdate(referenceElement, submenu, updatePosition)\n }\n\n _scheduleSubmenuClose(submenu, submenuWrapper) {\n this._cancelSubmenuCloseTimeout(submenu)\n\n const timeoutId = setTimeout(() => {\n this._closeSubmenu(submenu, submenuWrapper)\n this._submenuCloseTimeouts.delete(submenu)\n }, this._config.submenuDelay)\n\n this._submenuCloseTimeouts.set(submenu, timeoutId)\n }\n\n _cancelSubmenuCloseTimeout(submenu) {\n const timeoutId = this._submenuCloseTimeouts.get(submenu)\n if (timeoutId) {\n clearTimeout(timeoutId)\n this._submenuCloseTimeouts.delete(submenu)\n }\n }\n\n _clearAllSubmenuTimeouts() {\n for (const timeoutId of this._submenuCloseTimeouts.values()) {\n clearTimeout(timeoutId)\n }\n\n this._submenuCloseTimeouts.clear()\n }\n\n // -------------------------------------------------------------------------\n // Hover intent / Safe triangle\n // -------------------------------------------------------------------------\n\n _trackMousePosition(event) {\n this._hoverIntentData = {\n x: event.clientX,\n y: event.clientY,\n timestamp: Date.now()\n }\n }\n\n _isMovingTowardSubmenu(event, submenu) {\n if (!this._hoverIntentData) {\n return false\n }\n\n const submenuRect = submenu.getBoundingClientRect()\n const currentPos = { x: event.clientX, y: event.clientY }\n const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n const isRtl = isRTL()\n const targetX = isRtl ? submenuRect.right : submenuRect.left\n const topCorner = { x: targetX, y: submenuRect.top }\n const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n }\n\n _pointInTriangle(point, v1, v2, v3) {\n const d1 = triangleSign(point, v1, v2)\n const d2 = triangleSign(point, v2, v3)\n const d3 = triangleSign(point, v3, v1)\n\n const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n return !(hasNeg && hasPos)\n }\n\n // -------------------------------------------------------------------------\n // Keyboard navigation\n // -------------------------------------------------------------------------\n\n _selectMenuItem({ key, target }) {\n const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n .filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n _handleSubmenuKeydown(event) {\n const { key, target } = event\n const isRtl = isRTL()\n\n const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n event.preventDefault()\n event.stopPropagation()\n\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (submenu) {\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(target, submenu, submenuWrapper)\n requestAnimationFrame(() => {\n const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n if (firstItem) {\n firstItem.focus()\n }\n })\n }\n\n return true\n }\n\n if (key === enterKey && isSubmenuTrigger) {\n event.preventDefault()\n event.stopPropagation()\n\n const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n if (submenu) {\n this._closeSiblingSubmenus(submenuWrapper)\n this._openSubmenu(target, submenu, submenuWrapper)\n requestAnimationFrame(() => {\n const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n if (firstItem) {\n firstItem.focus()\n }\n })\n }\n\n return true\n }\n\n if (key === exitKey) {\n const currentMenu = target.closest(SELECTOR_MENU)\n const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n if (parentSubmenuWrapper) {\n event.preventDefault()\n event.stopPropagation()\n\n const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n if (parentTrigger) {\n parentTrigger.focus()\n }\n\n return true\n }\n }\n\n if (key === HOME_KEY || key === END_KEY) {\n event.preventDefault()\n event.stopPropagation()\n\n const currentMenu = target.closest(SELECTOR_MENU)\n const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n .filter(element => isVisible(element))\n\n if (items.length) {\n const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n targetItem.focus()\n }\n\n return true\n }\n\n return false\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n for (const instance of Menu._openInstances) {\n if (instance._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(instance._menu)\n if (\n composedPath.includes(instance._element) ||\n (instance._config.autoClose === 'inside' && !isMenuTarget) ||\n (instance._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n if (instance._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: instance._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n instance._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n if (!getToggleButton) {\n return\n }\n\n const instance = Menu.getOrCreateInstance(getToggleButton)\n\n if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n return\n }\n\n if (isUpOrDownEvent) {\n event.preventDefault()\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (isEscapeEvent && instance._isShown()) {\n event.preventDefault()\n event.stopPropagation()\n\n const currentMenu = event.target.closest(SELECTOR_MENU)\n const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n if (parentTrigger) {\n parentTrigger.focus()\n }\n\n return\n }\n\n 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, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Menu.getOrCreateInstance(this).toggle()\n})\n\nexport default Menu\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap combobox.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 Menu from './menu.js'\nimport { getNextActiveElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'combobox'\nconst DATA_KEY = 'bs.combobox'\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 HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SELECTED = 'selected'\nconst CLASS_NAME_PLACEHOLDER = 'combobox-placeholder'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"combobox\"]'\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_MENU_ITEM = '.menu-item[data-bs-value]'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item[data-bs-value]:not(.disabled):not(:disabled)'\nconst SELECTOR_VALUE = '.combobox-value'\nconst SELECTOR_SEARCH_INPUT = '.combobox-search-input'\nconst SELECTOR_NO_RESULTS = '.combobox-no-results'\n\nconst Default = {\n boundary: 'clippingParents',\n multiple: false,\n name: null,\n offset: [0, 2],\n placeholder: '',\n placement: 'bottom-start',\n search: false,\n searchNormalize: false\n}\n\nconst DefaultType = {\n boundary: '(string|element)',\n multiple: 'boolean',\n name: '(string|null)',\n offset: '(array|string|function)',\n placeholder: 'string',\n placement: 'string',\n search: 'boolean',\n searchNormalize: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Combobox extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._toggle = this._element\n this._menu = SelectorEngine.next(this._toggle, SELECTOR_MENU)[0]\n this._valueDisplay = SelectorEngine.findOne(SELECTOR_VALUE, this._toggle)\n this._searchInput = SelectorEngine.findOne(SELECTOR_SEARCH_INPUT, this._menu)\n this._noResults = SelectorEngine.findOne(SELECTOR_NO_RESULTS, this._menu)\n this._hiddenInput = null\n this._menuInstance = null\n\n this._createHiddenInput()\n this._createMenuInstance()\n this._syncInitialSelection()\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() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._toggle) || this._isShown()) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW)\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._menuInstance.show()\n\n if (this._searchInput) {\n this._searchInput.value = ''\n this._filterItems('')\n requestAnimationFrame(() => this._searchInput.focus())\n }\n\n EventHandler.trigger(this._toggle, EVENT_SHOWN)\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._menuInstance.hide()\n EventHandler.trigger(this._toggle, EVENT_HIDDEN)\n }\n\n dispose() {\n if (this._menuInstance) {\n this._menuInstance.dispose()\n this._menuInstance = null\n }\n\n if (this._hiddenInput) {\n this._hiddenInput.remove()\n this._hiddenInput = null\n }\n\n EventHandler.off(this._menu, EVENT_KEY)\n EventHandler.off(this._toggle, EVENT_KEY)\n\n super.dispose()\n }\n\n // Private\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createHiddenInput() {\n const { name } = this._config\n if (!name) {\n return\n }\n\n this._hiddenInput = document.createElement('input')\n this._hiddenInput.type = 'hidden'\n this._hiddenInput.name = name\n this._hiddenInput.value = ''\n this._toggle.parentNode.insertBefore(this._hiddenInput, this._toggle)\n }\n\n _createMenuInstance() {\n this._menuInstance = new Menu(this._toggle, {\n menu: this._menu,\n autoClose: this._config.multiple ? 'outside' : true,\n boundary: this._config.boundary,\n offset: this._config.offset,\n placement: this._config.placement\n })\n }\n\n _syncInitialSelection() {\n const selectedItems = this._getSelectedItems()\n if (selectedItems.length > 0) {\n this._updateToggleText()\n this._updateHiddenInput()\n } else {\n this._showPlaceholder()\n }\n }\n\n _addEventListeners() {\n EventHandler.on(this._menu, 'click', SELECTOR_MENU_ITEM, event => {\n const item = event.target.closest(SELECTOR_MENU_ITEM)\n if (!item || isDisabled(item)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n this._selectItem(item)\n })\n\n EventHandler.on(this._toggle, 'keydown', event => {\n this._handleToggleKeydown(event)\n })\n\n EventHandler.on(this._menu, 'keydown', event => {\n this._handleMenuKeydown(event)\n })\n\n if (this._searchInput) {\n EventHandler.on(this._searchInput, 'input', () => {\n this._filterItems(this._searchInput.value)\n })\n\n EventHandler.on(this._searchInput, 'keydown', event => {\n if (event.key === ARROW_DOWN_KEY) {\n event.preventDefault()\n const items = this._getVisibleItems()\n if (items.length > 0) {\n items[0].focus()\n }\n }\n\n if (event.key === ESCAPE_KEY) {\n this.hide()\n this._toggle.focus()\n }\n })\n }\n }\n\n _selectItem(item) {\n if (this._config.multiple) {\n item.classList.toggle(CLASS_NAME_SELECTED)\n item.setAttribute('aria-selected', item.classList.contains(CLASS_NAME_SELECTED))\n } else {\n const previouslySelected = SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n for (const prev of previouslySelected) {\n prev.classList.remove(CLASS_NAME_SELECTED)\n prev.setAttribute('aria-selected', 'false')\n }\n\n item.classList.add(CLASS_NAME_SELECTED)\n item.setAttribute('aria-selected', 'true')\n }\n\n this._updateToggleText()\n this._updateHiddenInput()\n\n const value = this._config.multiple ?\n this._getSelectedItems().map(el => el.dataset.bsValue) :\n item.dataset.bsValue\n\n EventHandler.trigger(this._toggle, EVENT_CHANGE, {\n value,\n item\n })\n\n if (!this._config.multiple) {\n this.hide()\n this._toggle.focus()\n }\n }\n\n _updateToggleText() {\n const selectedItems = this._getSelectedItems()\n\n if (selectedItems.length === 0) {\n this._showPlaceholder()\n return\n }\n\n this._valueDisplay.classList.remove(CLASS_NAME_PLACEHOLDER)\n\n if (this._config.multiple && selectedItems.length > 1) {\n this._valueDisplay.textContent = `${selectedItems.length} selected`\n } else {\n const item = selectedItems[0]\n const label = SelectorEngine.findOne('.menu-item-content > span:first-child', item)\n this._valueDisplay.textContent = label ? label.textContent : item.textContent.trim()\n }\n }\n\n _showPlaceholder() {\n const { placeholder } = this._config\n if (placeholder) {\n this._valueDisplay.textContent = placeholder\n this._valueDisplay.classList.add(CLASS_NAME_PLACEHOLDER)\n }\n }\n\n _updateHiddenInput() {\n if (!this._hiddenInput) {\n return\n }\n\n const selectedItems = this._getSelectedItems()\n const values = selectedItems.map(el => el.dataset.bsValue)\n this._hiddenInput.value = this._config.multiple ? values.join(',') : (values[0] || '')\n }\n\n _getSelectedItems() {\n return SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n }\n\n _getVisibleItems() {\n return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu)\n .filter(item => isVisible(item))\n }\n\n _filterItems(query) {\n const normalizedQuery = this._normalizeText(query.toLowerCase().trim())\n const items = SelectorEngine.find(SELECTOR_MENU_ITEM, this._menu)\n let visibleCount = 0\n\n for (const item of items) {\n const text = this._normalizeText(item.textContent.toLowerCase().trim())\n const matches = !normalizedQuery || text.includes(normalizedQuery)\n item.style.display = matches ? '' : 'none'\n if (matches) {\n visibleCount++\n }\n }\n\n if (this._noResults) {\n this._noResults.classList.toggle('d-none', visibleCount > 0)\n }\n }\n\n _normalizeText(text) {\n if (this._config.searchNormalize) {\n return text.normalize('NFD').replace(/[\\u0300-\\u036F]/g, '')\n }\n\n return text\n }\n\n _handleToggleKeydown(event) {\n const { key } = event\n\n if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n event.preventDefault()\n if (!this._isShown()) {\n this.show()\n }\n\n const items = this._getVisibleItems()\n if (items.length > 0) {\n const target = key === ARROW_DOWN_KEY ? items[0] : items[items.length - 1]\n target.focus()\n }\n\n return\n }\n\n if ((key === ENTER_KEY || key === SPACE_KEY) && !this._isShown()) {\n event.preventDefault()\n this.show()\n }\n }\n\n _handleMenuKeydown(event) {\n const { key, target } = event\n\n if (key === ESCAPE_KEY) {\n event.preventDefault()\n event.stopPropagation()\n this.hide()\n this._toggle.focus()\n return\n }\n\n if (key === TAB_KEY) {\n this.hide()\n return\n }\n\n const isInput = target.matches('input')\n\n if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n event.preventDefault()\n const items = this._getVisibleItems()\n if (items.length > 0) {\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n return\n }\n\n if (key === HOME_KEY || key === END_KEY) {\n event.preventDefault()\n const items = this._getVisibleItems()\n if (items.length > 0) {\n const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n targetItem.focus()\n }\n\n return\n }\n\n if ((key === ENTER_KEY || key === SPACE_KEY) && !isInput) {\n event.preventDefault()\n const item = target.closest(SELECTOR_MENU_ITEM)\n if (item && !isDisabled(item)) {\n this._selectItem(item)\n }\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Combobox.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]()\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Combobox.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n for (const toggle of SelectorEngine.find(SELECTOR_DATA_TOGGLE)) {\n Combobox.getOrCreateInstance(toggle)\n }\n})\n\nexport default Combobox\n","/*! name: vanilla-calendar-pro v3.1.0 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */\nvar __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,\"symbol\"!=typeof t?t+\"\":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the \"init()\" method first.',notLocale:\"You specified an incorrect language label or did not specify the required number of values for «locale.weekdays» or «locale.months».\",incorrectTime:\"The value of the time property can be: false, 12 or 24.\",incorrectMonthsCount:\"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1.\"},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,a,o,l;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(a=null==(n=e.context.inputElement)?void 0:n.replaceWith)||a.call(n,e.context.originalElement),setContext(e,\"inputElement\",void 0)):null==(l=(o=e.context.mainElement).replaceWith)||l.call(o,e.context.originalElement),setContext(e,\"mainElement\",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},skipOpenOnFocus=new WeakSet,shouldSkipOpenOnFocus=e=>skipOpenOnFocus.has(e),setSkipOpenOnFocus=e=>{skipOpenOnFocus.add(e)},clearSkipOpenOnFocus=e=>{skipOpenOnFocus.delete(e)},PREV_TABINDEX_ATTR=\"data-vc-prev-tabindex\",isFocusable=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),storePrevTabIndex=e=>{if(e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(\"tabindex\");e.setAttribute(PREV_TABINDEX_ATTR,null!=t?t:\"\")},restorePrevTabIndex=e=>{if(!e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(PREV_TABINDEX_ATTR);\"\"===t||null===t?e.removeAttribute(\"tabindex\"):e.setAttribute(\"tabindex\",t),e.removeAttribute(PREV_TABINDEX_ATTR)},disableTabbing=e=>{isFocusable(e)&&(storePrevTabIndex(e),e.tabIndex=-1);const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>isFocusable(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();){const e=t.currentNode;storePrevTabIndex(e),e.tabIndex=-1}},restoreTabbing=e=>{restorePrevTabIndex(e),e.querySelectorAll(`[${PREV_TABINDEX_ATTR}]`).forEach(restorePrevTabIndex)},hide=e=>{if(e.context.isShowInInputMode&&e.context.currentType){if(e.context.mainElement.dataset.vcCalendarHidden=\"\",setContext(e,\"isShowInInputMode\",!1),e.inputMode&&disableTabbing(e.context.mainElement),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach((e=>e())),setContext(e,\"cleanupHandlers\",[])),e.inputMode&&e.context.inputElement&&e.context.mainElement.contains(document.activeElement)){(\"function\"==typeof e.openOnFocus||!0===e.openOnFocus)&&setSkipOpenOnFocus(e),e.context.inputElement.focus()}e.onHide&&e.onHide(e)}};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:a,left:o}=getOffset(e),{vh:l,vw:s}=getViewportDimensions(),i=a-t,r=o-n;return{top:i,bottom:l-(i+e.clientHeight),left:r,right:s-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const a={top:!0,bottom:!0,left:!0,right:!0},o=[];if(!t||!e)return{canShow:a,parentPositions:o};const{bottom:l,top:s}=calculateAvailableSpace(e),{top:i,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:m}=getViewportDimensions(),p=m/2,h=u/2;return[{condition:i<h,position:\"top\"},{condition:i>h,position:\"bottom\"},{condition:r<p,position:\"left\"},{condition:r>p,position:\"right\"}].forEach((({condition:e,position:t})=>{e&&o.push(t)})),Object.assign(a,{top:c<=s-n,bottom:c<=l-n,left:d<=r,right:d<=m-r}),{canShow:a,parentPositions:o}}const handleDay=(e,t,n,a)=>{var o;const l=a.querySelector(`[data-vc-date=\"${t}\"]`),s=null==l?void 0:l.querySelector(\"[data-vc-date-btn]\");if(!l||!s)return;if((null==n?void 0:n.modifier)&&s.classList.add(...n.modifier.trim().split(\" \")),!(null==n?void 0:n.html))return;const i=document.createElement(\"div\");i.className=e.styles.datePopup,i.dataset.vcDatePopup=\"\",i.innerHTML=e.sanitizerHTML(n.html),s.ariaExpanded=\"true\",s.ariaLabel=`${s.ariaLabel}, ${null==(o=null==i?void 0:i.textContent)?void 0:o.replace(/^\\s+|\\s+(?=\\s)|\\s+$/g,\"\").replace(/ /g,\" \")}`,l.appendChild(i),requestAnimationFrame((()=>{if(!i)return;const{canShow:e}=getAvailablePosition(l,i),t=e.bottom?l.offsetHeight:-i.offsetHeight,n=e.left&&!e.right?l.offsetWidth-i.offsetWidth/2:!e.left&&e.right?i.offsetWidth/2:0;Object.assign(i.style,{left:`${n}px`,top:`${t}px`})}))},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach((([n,a])=>handleDay(e,n,a,t))))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,\"0\")}-${String(e.getDate()).padStart(2,\"0\")}`,parseDates=e=>e.reduce(((e,t)=>{if(t instanceof Date||\"number\"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\\d{4}-\\d{2}-\\d{2})$/g)?e.push(t):t.replace(/(\\d{4}-\\d{2}-\\d{2}).*?(\\d{4}-\\d{2}-\\d{2})/g,((t,n,a)=>{const o=getDate(n),l=getDate(a),s=new Date(o.getTime());for(;s<=l;s.setDate(s.getDate()+1))e.push(getDateString(s));return t}));return e}),[]),updateAttribute=(e,t,n,a=\"\")=>{t?e.setAttribute(n,a):e.getAttribute(n)===a&&e.removeAttribute(n)},setDateModifier=(e,t,n,a,o,l,s)=>{var i,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(l)||getDate(e.context.displayDateMax)<getDate(l)||(null==(i=e.context.disableDates)?void 0:i.includes(l))||!e.selectionMonthsMode&&\"current\"!==s||!e.selectionYearsMode&&getDate(l).getFullYear()!==t;updateAttribute(n,u,\"data-vc-date-disabled\"),a&&updateAttribute(a,u,\"aria-disabled\",\"true\"),a&&updateAttribute(a,u,\"tabindex\",\"-1\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"data-vc-date-today\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"aria-current\",\"date\"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(o),\"data-vc-date-weekend\");const m=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,m.includes(l),\"data-vc-date-holiday\"),(null==(d=e.context.selectedDates)?void 0:d.includes(l))?(n.setAttribute(\"data-vc-date-selected\",\"\"),a&&a.setAttribute(\"aria-selected\",\"true\"),e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode&&(e.context.selectedDates[0]===l&&e.context.selectedDates[e.context.selectedDates.length-1]===l?n.setAttribute(\"data-vc-date-selected\",\"first-and-last\"):e.context.selectedDates[0]===l?n.setAttribute(\"data-vc-date-selected\",\"first\"):e.context.selectedDates[e.context.selectedDates.length-1]===l&&n.setAttribute(\"data-vc-date-selected\",\"last\"),e.context.selectedDates[0]!==l&&e.context.selectedDates[e.context.selectedDates.length-1]!==l&&n.setAttribute(\"data-vc-date-selected\",\"middle\"))):n.hasAttribute(\"data-vc-date-selected\")&&(n.removeAttribute(\"data-vc-date-selected\"),a&&a.removeAttribute(\"aria-selected\")),!e.context.disableDates.includes(l)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),a=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),o=getDate(l);updateAttribute(n,o>t&&o<a,\"data-vc-date-selected\",\"middle\")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),a=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-a);const o=new Date(n.getFullYear(),0,1),l=Math.ceil(((+n-+o)/864e5+1)/7);return{year:n.getFullYear(),week:l}},addWeekNumberForDate=(e,t,n)=>{const a=getWeekNumber(n,e.firstWeekday);a&&(t.dataset.vcDateWeekNumber=String(a.week))},setDaysAsDisabled=(e,t,n)=>{var a,o,l,s,i;const r=null==(a=e.disableWeekdays)?void 0:a.includes(n),c=e.disableAllDates&&!!(null==(o=e.context.enableDates)?void 0:o[0]);!r&&!c||(null==(l=e.context.enableDates)?void 0:l.includes(t))||(null==(s=e.context.disableDates)?void 0:s.includes(t))||(e.context.disableDates.push(t),null==(i=e.context.disableDates)||i.sort(((e,t)=>+new Date(e)-+new Date(t))))},createDate=(e,t,n,a,o,l)=>{const s=getDate(o).getDay(),i=\"string\"==typeof e.locale&&e.locale.length?e.locale:\"en\",r=document.createElement(\"div\");let c;r.className=e.styles.date,r.dataset.vcDate=o,r.dataset.vcDateMonth=l,r.dataset.vcDateWeekDay=String(s),r.role=\"gridcell\",(\"current\"===l||e.displayDatesOutside)&&(c=document.createElement(\"button\"),c.className=e.styles.dateBtn,c.type=\"button\",c.ariaLabel=getLocaleString(o,i,{dateStyle:\"long\",timeZone:\"UTC\"}),c.dataset.vcDateBtn=\"\",c.innerText=String(a),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,o),setDaysAsDisabled(e,o,s),setDateModifier(e,t,r,c,s,o,l),n.addDate(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,a,o)=>{for(let l=1;l<=n;l++){const n=new Date(a,o,l);createDate(e,a,t,l,getDateString(n),\"current\")}},createDatesFromNextMonth=(e,t,n,a,o)=>{const l=o+1===12?a+1:a,s=o+1===12?\"01\":o+2<10?`0${o+2}`:o+2;for(let o=1;o<=n;o++){const n=o<10?`0${o}`:String(o);createDate(e,a,t,o,`${l}-${s}-${n}`,\"next\")}},createDatesFromPrevMonth=(e,t,n,a,o)=>{let l=new Date(n,a,0).getDate()-(o-1);const s=0===a?n-1:n,i=0===a?12:a<10?`0${a}`:a;for(let a=o;a>0;a--,l++){createDate(e,n,t,l,`${s}-${i}-${l}`,\"prev\")}},createWeekNumbers=(e,t,n,a,o)=>{if(!e.enableWeekNumbers)return;a.textContent=\"\";const l=document.createElement(\"b\");l.className=e.styles.weekNumbersTitle,l.innerText=\"#\",l.dataset.vcWeekNumbers=\"title\",a.appendChild(l);const s=document.createElement(\"div\");s.className=e.styles.weekNumbersContent,s.dataset.vcWeekNumbers=\"content\",a.appendChild(s);const i=document.createElement(\"button\");i.type=\"button\",i.className=e.styles.weekNumber;const r=o.querySelectorAll(\"[data-vc-date]\"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,a=getWeekNumber(n,e.firstWeekday);if(!a)return;const o=i.cloneNode(!0);o.innerText=String(a.week),o.dataset.vcWeekNumber=String(a.week),o.dataset.vcWeekYear=String(a.year),o.role=\"rowheader\",o.ariaLabel=`${a.week}`,s.appendChild(o)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc=\"dates\"]'),a=e.context.mainElement.querySelectorAll('[data-vc-week=\"numbers\"]');n.forEach(((n,o)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=\"\"),n.textContent=\"\";const l=new Date(t);l.setMonth(l.getMonth()+o);const s=l.getMonth(),i=l.getFullYear(),r=(new Date(i,s,1).getDay()-e.firstWeekday+7)%7,c=new Date(i,s+1,0).getDate(),d=r+c,u=Math.ceil(d/7),m=7*u-d,p=[];for(let t=0;t<u;t++){const t=document.createElement(\"div\");t.className=e.styles.datesRow,t.setAttribute(\"data-vc-dates\",\"row\"),t.setAttribute(\"role\",\"row\"),p.push(t)}let h=0,v=0;const g={addDate:e=>{p[h].appendChild(e),v++,v>=7&&(h++,v=0)}};createDatesFromPrevMonth(e,g,i,s,r),createDatesFromCurrentMonth(e,g,c,i,s),createDatesFromNextMonth(e,g,m,i,s);for(const e of p)n.appendChild(e);createDatePopup(e,n),createWeekNumbers(e,r,c,a[o],n)}))},layoutDefault=e=>`\\n <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <#ArrowPrev [month] />\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n <#ArrowNext [month] />\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <#WeekNumbers />\\n <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n <#Week />\\n <#Dates />\\n <#DateRangeTooltip />\\n </div>\\n </div>\\n <#ControlTime />\\n`,layoutMonths=e=>`\\n <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <div class=\"${e.styles.content}\" data-vc=\"content\">\\n <#Months />\\n </div>\\n </div>\\n`,layoutMultiple=e=>`\\n <div class=\"${e.styles.controls}\" data-vc=\"controls\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <#ArrowPrev [month] />\\n <#ArrowNext [month] />\\n </div>\\n <div class=\"${e.styles.grid}\" data-vc=\"grid\">\\n <#Multiple>\\n <div class=\"${e.styles.column}\" data-vc=\"column\" role=\"region\">\\n <div class=\"${e.styles.header}\" data-vc=\"header\">\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <#WeekNumbers />\\n <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n <#Week />\\n <#Dates />\\n </div>\\n </div>\\n </div>\\n <#/Multiple>\\n <#DateRangeTooltip />\\n </div>\\n <#ControlTime />\\n`,layoutYears=e=>`\\n <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n <#ArrowPrev [year] />\\n <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n <#Month />\\n <#Year />\\n </div>\\n <#ArrowNext [year] />\\n </div>\\n <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n <div class=\"${e.styles.content}\" data-vc=\"content\">\\n <#Years />\\n </div>\\n </div>\\n`,ArrowNext=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowNext}\" data-vc-arrow=\"next\" aria-label=\"${e.labels.arrowNext[t]}\"></button>`,ArrowPrev=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowPrev}\" data-vc-arrow=\"prev\" aria-label=\"${e.labels.arrowPrev[t]}\"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class=\"${e.styles.time}\" data-vc=\"time\" role=\"group\" aria-label=\"${e.labels.selectingTime}\"></div>`:\"\",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class=\"${e.styles.dateRangeTooltip}\" data-vc-date-range-tooltip=\"hidden\"></div>`:\"\",Dates=e=>`<div class=\"${e.styles.dates}\" data-vc=\"dates\" aria-live=\"assertive\" aria-label=\"${e.labels.dates}\" ${\"multiple\"===e.type?\"aria-multiselectable\":\"\"}></div>`,Month=e=>`<button type=\"button\" class=\"${e.styles.month}\" data-vc=\"month\"></button>`,Months=e=>`<div class=\"${e.styles.months}\" data-vc=\"months\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.months}\"></div>`,Week=e=>`<div class=\"${e.styles.week}\" data-vc=\"week\" role=\"row\" aria-label=\"${e.labels.week}\"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class=\"${e.styles.weekNumbers}\" data-vc-week=\"numbers\" role=\"row\" aria-label=\"${e.labels.weekNumber}\"></div>`:\"\",Year=e=>`<button type=\"button\" class=\"${e.styles.year}\" data-vc=\"year\"></button>`,Years=e=>`<div class=\"${e.styles.years}\" data-vc=\"years\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.years}\"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\\n\\t]/g,\"\").replace(/<#(?!\\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\\[(.*?)\\]/)||[])[1],o=n.replace(/[/\\s\\n\\t]|\\[(.*?)\\]/g,\"\"),l=getComponent(o),s=l?l(e,null!=a?a:null):\"\";return e.sanitizerHTML(s)})).replace(/[\\n\\t]/g,\"\"),parseMultipleLayout=(e,t)=>t.replace(new RegExp(\"<#Multiple>(.*?)<#\\\\/Multiple>\",\"gs\"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join(\"\");return e.sanitizerHTML(a)})).replace(/[\\n\\t]/g,\"\"),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e))})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc=\"calendar\",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role=\"application\",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,\"multiple\"!==e.context.currentType){if(\"multiple\"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc=\"controls\"]'),a=e.context.mainElement.querySelector('[data-vc=\"grid\"]'),o=t.closest('[data-vc=\"column\"]');return n&&n.remove(),a&&(a.dataset.vcGrid=\"hidden\"),o&&(o.dataset.vcColumn=e.context.currentType),void(o&&(o.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?\"hidden\":\"\",t.style.visibility=a?\"hidden\":\"\"},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),o=new Date(a.getTime()),l=new Date(a.getTime());o.setMonth(o.getMonth()-e.monthsToSwitch),l.setMonth(l.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||o.getFullYear()<s.getFullYear()||o.getFullYear()===s.getFullYear()&&o.getMonth()<s.getMonth(),c=!e.selectionMonthsMode||l.getFullYear()>i.getFullYear()||l.getFullYear()===i.getFullYear()&&l.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(o.getFullYear()&&e.context.displayYear+7>=o.getFullYear());setVisibilityArrows(t,n,l,s)},visibilityArrows=e=>{if(\"month\"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow=\"prev\"]'),n=e.context.mainElement.querySelector('[data-vc-arrow=\"next\"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})[\"multiple\"===e.context.currentType?\"default\":e.context.currentType]()},visibilityHandler=(e,t,n,a,o)=>{const l=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc=\"column\"]');r&&(r.ariaLabel=`${i} ${l}`);const c={month:{id:s,label:i},year:{id:l,label:l}};t.innerText=String(c[o].label),t.dataset[`vc${o.charAt(0).toUpperCase()+o.slice(1)}`]=String(c[o].id),t.ariaLabel=`${e.labels[o]} ${c[o].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[o]||\"only-arrows\"===d[o];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc=\"month\"]'),n=e.context.mainElement.querySelectorAll('[data-vc=\"year\"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))))},setYearModifier=(e,t,n,a,o)=>{var l;const s={month:\"[data-vc-months-month]\",year:\"[data-vc-years-year]\"},i={month:{selected:\"data-vc-months-month-selected\",aria:\"aria-selected\",value:\"vcMonthsMonth\",selectedProperty:\"selectedMonth\"},year:{selected:\"data-vc-years-year-selected\",aria:\"aria-selected\",value:\"vcYearsYear\",selectedProperty:\"selectedYear\"}};o&&(null==(l=e.context.mainElement.querySelectorAll(s[n]))||l.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria)})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),\"year\"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,\"\"),t.setAttribute(i[n].aria,\"true\"))},getColumnID=(e,t)=>{var n;if(\"multiple\"!==e.type)return{currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc=\"column\"]'),o=Array.from(a).findIndex((e=>e.closest(`[data-vc-column=\"${t}\"]`)));return{currentValue:o>=0?Number(null==(n=a[o].querySelector(`[data-vc=\"${t}\"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(o,0)}},createMonthEl=(e,t,n,a,o,l,s)=>{const i=t.cloneNode(!1);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=o,i.role=\"gridcell\",i.dataset.vcMonthsMonth=`${s}`,l&&(i.ariaDisabled=\"true\"),l&&(i.tabIndex=-1),i.disabled=l,setYearModifier(e,i,\"month\",n===s,!1),i},createMonths=(e,t)=>{var n,a;const o=null==(n=null==t?void 0:t.closest('[data-vc=\"header\"]'))?void 0:n.querySelector('[data-vc=\"year\"]'),l=o?Number(o.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,\"currentType\",\"month\"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc=\"months\"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement(\"button\");c.type=\"button\";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,\"month\"),u=l<=n.getFullYear()&&t<n.getMonth()+d||l>=a.getFullYear()&&t>a.getMonth()-o+d||l>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m)}null==(a=e.context.mainElement.querySelector(\"[data-vc-months-month]:not([disabled])\"))||a.focus()},TimeInput=(e,t,n,a,o)=>`\\n <label class=\"${t}\" data-vc-time-input=\"${e}\">\\n <input type=\"text\" name=\"${e}\" maxlength=\"2\" aria-label=\"${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${a}\" ${o?\"disabled\":\"\"}>\\n </label>\\n`,TimeRange=(e,t,n,a,o,l,s)=>`\\n <label class=\"${t}\" data-vc-time-range=\"${e}\">\\n <input type=\"range\" name=\"${e}\" min=\"${a}\" max=\"${o}\" step=\"${l}\" aria-label=\"${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${s}\">\\n </label>\\n`,handleActions=(e,t,n,a)=>{({hour:()=>setContext(e,\"selectedHours\",n),minute:()=>setContext(e,\"selectedMinutes\",n)})[a](),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:\"\"}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:\"00\",PM:\"12\"},1:{AM:\"01\",PM:\"13\"},2:{AM:\"02\",PM:\"14\"},3:{AM:\"03\",PM:\"15\"},4:{AM:\"04\",PM:\"16\"},5:{AM:\"05\",PM:\"17\"},6:{AM:\"06\",PM:\"18\"},7:{AM:\"07\",PM:\"19\"},8:{AM:\"08\",PM:\"20\"},9:{AM:\"09\",PM:\"21\"},10:{AM:\"10\",PM:\"22\"},11:{AM:\"11\",PM:\"23\"},12:{AM:\"00\",PM:\"12\"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,o)=>{const l=l=>{const s=\"AM\"===e.context.selectedKeeping?\"PM\":\"AM\",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=o?(setContext(e,\"selectedKeeping\",s),n.value=i,handleActions(e,l,e.context.selectedHours,\"hour\"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,l,!0)};return t.addEventListener(\"click\",l),()=>{t.removeEventListener(\"click\",l)}},transformTime12=e=>({0:\"12\",13:\"01\",14:\"02\",15:\"03\",16:\"04\",17:\"05\",18:\"06\",19:\"07\",20:\"08\",21:\"09\",22:\"10\",23:\"11\"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleInput$1=(e,t,n,a,o,l,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=l&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,\"PM\"),handleActions(e,c,transformTime12(r),o)},24:()=>{if(!(i<=l&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,o)}})[e.selectionTimeMode]()},minute:(a,i,r)=>{if(!(a<=l&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=i,t.value=i,handleActions(e,r,i,o)}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,\"0\");i[o]&&i[o](t,a,e)};return n.addEventListener(\"change\",r),()=>{n.removeEventListener(\"change\",r)}},updateInputAndTime=(e,t,n,a,o)=>{t.value=o,handleActions(e,n,o,a)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleRange=(e,t,n,a,o)=>{const l=l=>{const s=Number(t.value),i=t.value.padStart(2,\"0\"),r=\"hour\"===o,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?\"AM\":\"PM\"),updateInputAndTime(e,n,l,o,!r||c||d?i:transformTime12(t.value))};return t.addEventListener(\"input\",l),()=>{t.removeEventListener(\"input\",l)}},handleMouseOver=e=>e.setAttribute(\"data-vc-input-focus\",\"\"),handleMouseOut=e=>e.removeAttribute(\"data-vc-input-focus\"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range=\"hour\"] input[name=\"hour\"]'),a=t.querySelector('[data-vc-time-range=\"minute\"] input[name=\"minute\"]'),o=t.querySelector('[data-vc-time-input=\"hour\"] input[name=\"hour\"]'),l=t.querySelector('[data-vc-time-input=\"minute\"] input[name=\"minute\"]'),s=t.querySelector('[data-vc-time=\"keeping\"]');if(!(n&&a&&o&&l))return;const i=e=>{e.target===n&&handleMouseOver(o),e.target===a&&handleMouseOver(l)},r=e=>{e.target===n&&handleMouseOut(o),e.target===a&&handleMouseOut(l)};return t.addEventListener(\"mouseover\",i),t.addEventListener(\"mouseout\",r),handleInput$1(e,n,o,s,\"hour\",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,l,s,\"minute\",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,o,s,\"hour\"),handleRange(e,a,l,s,\"minute\"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener(\"mouseover\",i),t.removeEventListener(\"mouseout\",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc=\"time\"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[o,l]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i=\"range\"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\\n <div class=\"${e.styles.timeContent}\" data-vc-time=\"content\">\\n ${TimeInput(\"hour\",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\\n ${TimeInput(\"minute\",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\\n ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type=\"button\" class=\"${e.styles.timeKeeping}\" aria-label=\"${e.labels.btnKeeping} ${r}\" data-vc-time=\"keeping\" ${i?\"disabled\":\"\"}>${r}</button>`):\"\"}\\n </div>\\n <div class=\"${e.styles.timeRanges}\" data-vc-time=\"ranges\">\\n ${TimeRange(\"hour\",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\\n ${TimeRange(\"minute\",e.styles.timeRange,e.labels,o,l,e.timeStepMinute,e.context.selectedMinutes)}\\n </div>\\n `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,o)=>[...n,{id:o,titleShort:e.context.locale.weekdays.short[o],titleLong:a,isWeekend:t.includes(o)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc=\"week\"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement(\"button\"):document.createElement(\"b\");e.onClickWeekDay&&(n.type=\"button\"),a.forEach((a=>{const o=n.cloneNode(!0);o.innerText=a.titleShort,o.className=e.styles.weekDay,o.role=\"columnheader\",o.ariaLabel=a.titleLong,o.dataset.vcWeekDay=String(a.id),a.isWeekend&&(o.dataset.vcWeekDayOff=\"\"),t.appendChild(o)}))}))},createYearEl=(e,t,n,a,o)=>{const l=t.cloneNode(!1);return l.className=e.styles.yearsYear,l.innerText=String(o),l.ariaLabel=String(o),l.role=\"gridcell\",l.dataset.vcYearsYear=`${o}`,a&&(l.ariaDisabled=\"true\"),a&&(l.tabIndex=-1),l.disabled=a,setYearModifier(e,l,\"year\",n===o,!1),l},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,\"currentType\",\"year\"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const o=e.context.mainElement.querySelector('[data-vc=\"years\"]');if(!e.selectionYearsMode||!o)return;const l=\"multiple\"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement(\"button\");s.type=\"button\";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+l||t>getDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);o.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i)}null==(n=e.context.mainElement.querySelector(\"[data-vc-years-year]:not([disabled])\"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;a<e.length;a++){if(e[a].attributeName===t){n();break}}})).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?\"dark\":\"light\"),\"system\"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc=\"calendar\"]');null==t||t.forEach((t=>setTheme(t,e.matches?\"dark\":\"light\")))};t.addEventListener?t.addEventListener(\"change\",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\\[(.+)\\]/g,((e,t)=>t));if(!n||\"system\"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const o=n.getAttribute(a);o?(setTheme(e.context.mainElement,o),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t)}))):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{\"not all\"!==window.matchMedia(\"(prefers-color-scheme)\").media?\"system\"===e.selectedTheme?detectTheme(e,window.matchMedia(\"(prefers-color-scheme: dark)\")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,\"light\")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\\./,\"\"),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),o=a.toLocaleString(n,{weekday:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{weekday:\"long\",timeZone:\"UTC\"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(o)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(l))},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,\"0\")}-01T00:00:00.000Z`),o=a.toLocaleString(n,{month:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{month:\"long\",timeZone:\"UTC\"});e.context.locale.months.short.push(capitalizeFirstLetter(o)),e.context.locale.months.long.push(capitalizeFirstLetter(l))},getLocale=e=>{var t,n,a,o,l,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if(\"string\"==typeof e.locale){if(\"string\"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(o=null==(a=e.locale)?void 0:a.weekdays)?void 0:o.long[6])&&(null==(s=null==(l=e.locale)?void 0:l.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,\"locale\",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(![\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key)||\"button\"!==a.localName)return;const o=Array.from(e.context.mainElement.querySelectorAll('[data-vc=\"calendar\"] button')),l=o.indexOf(a);if(-1===l)return;const s=(i=o[l]).hasAttribute(\"data-vc-date-btn\")?7:i.hasAttribute(\"data-vc-months-month\")?4:i.hasAttribute(\"data-vc-years-year\")?5:1;var i;const r=(0,{ArrowUp:()=>Math.max(0,l-s),ArrowDown:()=>Math.min(o.length-1,l+s),ArrowLeft:()=>Math.max(0,l-1),ArrowRight:()=>Math.min(o.length-1,l+1)}[t.key])();null==(n=o[r])||n.focus()};return e.context.mainElement.addEventListener(\"keydown\",t),()=>e.context.mainElement.removeEventListener(\"keydown\",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,\"selectedMonth\",n.getMonth()),setContext(e,\"selectedYear\",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest(\"[data-vc-arrow]\");if(n){if([\"default\",\"multiple\"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if(\"year\"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,\"displayYear\",e.context.displayYear+a),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},resolveToggle=(e,t)=>void 0===t||(\"function\"==typeof t?t(e):t),canToggleSelection=e=>resolveToggle(e,e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,o=t.closest(\"[data-vc-date][data-vc-date-selected]\"),l=canToggleSelection(e);if(o&&!l)return;const s=o?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,\"selectedDates\",s)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip=\"hidden\",void(t.textContent=\"\");const a=e.context.mainElement.getBoundingClientRect(),o=n.getBoundingClientRect();t.style.left=o.left-a.left+o.width/2+\"px\",t.style.top=o.bottom-a.top-o.height+\"px\",t.dataset.vcDateRangeTooltip=\"visible\",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,o,a))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,o,l;if(!(null==(o=null==(a=state.self)?void 0:a.context)?void 0:o.selectedDates[0]))return;const s=getDateString(e);(null==(l=state.self.context.disableDates)?void 0:l.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${s}\"]`).forEach((e=>e.dataset.vcDateHover=\"\")),t.forEach((e=>e.dataset.vcDateHover=\"first\")),n.forEach((e=>{\"first\"===e.dataset.vcDateHover?e.dataset.vcDateHover=\"first-and-last\":e.dataset.vcDateHover=\"last\"})))},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll(\"[data-vc-date-hover]\").forEach((e=>e.removeAttribute(\"data-vc-date-hover\")))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc=\"dates\"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest(\"[data-vc-date]\");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const o=a.dataset.vcDate,l=getDate(state.self.context.selectedDates[0]),s=getDate(o),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${state.self.context.selectedDates[0]}\"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${o}\"]`),[c,d]=l<s?[i,r]:[r,i],[u,m]=l<s?[l,s]:[s,l];for(let e=new Date(u);e<=m;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest(\"[data-vc-date-selected]\");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame((()=>{e(n),state.isHovering=!1})))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&\"Escape\"===e.key&&(state.lastDateEl=null,setContext(state.self,\"selectedDates\",[]),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()}),50)},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const o=getDate(state.self.context.selectedDates[0]),[l,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[o>=n?n:e,o<n&&null===t?n:t]),[null,null]);l&&setContext(state.self,\"displayDateMin\",getDateString(new Date(l.setDate(l.getDate()+1)))),s&&setContext(state.self,\"displayDateMax\",getDateString(new Date(s.setDate(s.getDate()-1))));state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,\"displayDateMin\",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector(\"[data-vc-date-range-tooltip]\"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,\"selectedDates\",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.addEventListener(\"keydown\",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates)}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],o=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],l=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=o?e.enableEdgeDatesOnly?[n,a]:l:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,\"selectedDates\",s),e.disableDatesGaps&&(setContext(e,\"displayDateMin\",state.rangeMin),setContext(e,\"displayDateMax\",state.rangeMax)),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave)}}})[1===e.context.selectedDates.length?\"set\":\"reset\"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll(\"[data-vc-date]\").forEach((t=>{const n=t.querySelector(\"[data-vc-date-btn]\"),a=t.dataset.vcDate,o=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,o,a,\"current\")}))},handleClickDate=(e,t)=>{var n;const a=t.target,o=a.closest(\"[data-vc-date-btn]\");if(!e.selectionDatesMode||![\"single\",\"multiple\",\"multiple-ranged\"].includes(e.selectionDatesMode)||!o)return;const l=o.closest(\"[data-vc-date]\");({single:()=>handleSelectDate(e,l,!1),multiple:()=>handleSelectDate(e,l,!0),\"multiple-ranged\":()=>handleSelectDateRange(e,l)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month=\"prev\"]'),i=a.closest('[data-vc-date-month=\"next\"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"prev\"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"next\"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?\"prev\":i?\"next\":\"current\"]()},typeClick=[\"month\",\"year\"],getValue=(e,t,n)=>{const{currentValue:a,columnID:o}=getColumnID(e,t);return\"month\"===e.context.currentType&&o>=0?n-o:\"year\"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,\"year\",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,\"year\"),i=e.context.selectedMonth<a.getMonth()&&n<=a.getFullYear(),r=e.context.selectedMonth>o.getMonth()-l+s&&n>=o.getFullYear(),c=n<a.getFullYear(),d=n>o.getFullYear(),u=i||c?a.getFullYear():r||d?o.getFullYear():n,m=i||c?a.getMonth():r||d?o.getMonth()-l+s:e.context.selectedMonth;setContext(e,\"selectedYear\",u),setContext(e,\"selectedMonth\",m)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column=\"month\"]').querySelector('[data-vc=\"year\"]'),a=getValue(e,\"month\",Number(t.dataset.vcMonthsMonth)),o=Number(n.dataset.vcYear),l=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=a<l.getMonth()&&o<=l.getFullYear(),r=a>s.getMonth()&&o>=s.getFullYear();setContext(e,\"selectedYear\",o),setContext(e,\"selectedMonth\",i?l.getMonth():r?s.getMonth():a)},handleItemClick=(e,t,n,a)=>{var o;({year:()=>{if(\"multiple\"===e.type)return handleMultipleYearSelection(e,a);setContext(e,\"selectedYear\",Number(a.dataset.vcYearsYear))},month:()=>{if(\"multiple\"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,\"selectedMonth\",Number(a.dataset.vcMonthsMonth))}})[n]();({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}})[n](),e.context.currentType!==e.type?(setContext(e,\"currentType\",e.type),create(e),null==(o=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||o.focus()):setYearModifier(e,a,n,!0,!0)},handleClickType=(e,t,n)=>{var a;const o=t.target,l=o.closest(`[data-vc=\"${n}\"]`),s={year:()=>createYears(e,o),month:()=>createMonths(e,o)};if(l&&e.onClickTitle&&e.onClickTitle(e,t),l&&e.context.currentType!==n)return s[n]();const i=o.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=o.closest('[data-vc=\"grid\"]'),c=o.closest('[data-vc=\"column\"]');(e.context.currentType===n&&l||\"multiple\"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,\"currentType\",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||a.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a)}))},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest(\"[data-vc-week-number]\"),a=e.context.mainElement.querySelectorAll(\"[data-vc-date-week-number]\");if(!n||!a[0])return;const o=Number(n.innerText),l=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===o));e.onClickWeekNumber(e,o,l,s,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest(\"[data-vc-week-day]\"),a=t.target.closest('[data-vc=\"column\"]'),o=a?a.querySelectorAll(\"[data-vc-date-week-day]\"):e.context.mainElement.querySelectorAll(\"[data-vc-date-week-day]\");if(!n||!o[0])return;const l=Number(n.dataset.vcWeekDay),s=Array.from(o).filter((e=>Number(e.dataset.vcDateWeekDay)===l));e.onClickWeekDay(e,l,s,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener(\"click\",t),()=>e.context.mainElement.removeEventListener(\"click\",t)},initMonthsCount=e=>{if(\"multiple\"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if(\"multiple\"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,\"displayMonthsCount\",e.displayMonthsCount?e.displayMonthsCount:\"multiple\"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>\"today\"===e?getLocalDate():e instanceof Date||\"number\"==typeof e||\"string\"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const o=resolveDate(e.dateMin,e.dateMin),l=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,o),i=resolveDate(e.displayDateMax,l);setContext(e,\"dateToday\",resolveDate(e.dateToday,e.dateToday)),setContext(e,\"displayDateMin\",s?getDate(o)>=getDate(s)?o:s:o),setContext(e,\"displayDateMax\",i?getDate(l)<=getDate(i)?l:i:l);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)<getDate(e.context.dateToday);setContext(e,\"displayDateMin\",r||e.disableAllDates?e.context.dateToday:s),setContext(e,\"displayDateMax\",e.disableAllDates?e.context.dateToday:i),setContext(e,\"disableDates\",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,\"enableDates\",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,\"disableDates\",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,\"displayDateMin\",e.context.enableDates[0]),setContext(e,\"displayDateMax\",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,\"dateMin\",e.displayDisabledDates?o:e.context.displayDateMin),setContext(e,\"dateMax\",e.displayDisabledDates?l:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,\"selectedDates\",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&\"today\"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,a;if(e.displayDateMax&&\"today\"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,\"selectedMonth\",t),setContext(e,\"selectedYear\",n),setContext(e,\"displayYear\",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const o=12===e.selectionTimeMode,l=o?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(l))?void 0:n.slice(1))?a:[];s?o&&!r&&(r=\"AM\"):(s=o?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=o?Number(transformTime12(String(e.timeMinHour)))>=12?\"PM\":\"AM\":null),setContext(e,\"selectedHours\",s.padStart(2,\"0\")),setContext(e,\"selectedMinutes\",i.padStart(2,\"0\")),setContext(e,\"selectedKeeping\",r),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:\"\"}`)},initAllVariables=e=>{setContext(e,\"currentType\",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:a,time:o,locale:l},s=!0)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=o?r.time:e.context.selectedTime,e.selectedDates=\"only-first\"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:!0===a?r.dates:e.context.selectedDates,l){setContext(e,\"locale\",{months:{short:[],long:[]},weekdays:{short:[],long:[]}})}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,\"multiple-ranged\"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement(\"div\");return t.className=e.styles.calendar,t.dataset.vc=\"calendar\",t.dataset.vcInput=\"\",t.dataset.vcCalendarHidden=\"\",setContext(e,\"inputModeInit\",!0),setContext(e,\"isShowInInputMode\",!1),setContext(e,\"mainElement\",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},canOpenOnFocus=e=>resolveToggle(e,e.openOnFocus),handleInput=e=>{setContext(e,\"inputElement\",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e)};e.context.inputElement.addEventListener(\"click\",t);const n=\"function\"==typeof e.openOnFocus||!0===e.openOnFocus,a=()=>{shouldSkipOpenOnFocus(e)?clearSkipOpenOnFocus(e):canOpenOnFocus(e)&&t()};n&&e.context.inputElement.addEventListener(\"focus\",a);const o=t=>{const n=\"Tab\"===t.key&&!t.shiftKey,a=[\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key);(n||a)&&(t=>{var n;if(!e.context.isShowInInputMode)return!1;if(document.activeElement!==e.context.inputElement)return!1;const a=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),o=null!=(n=document.createTreeWalker(e.context.mainElement,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>a(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}).nextNode())?n:a(e.context.mainElement)?e.context.mainElement:null;!o||o.tabIndex<0||(t.preventDefault(),o.focus())})(t)};return e.context.inputElement.addEventListener(\"keydown\",o),()=>{e.context.inputElement.removeEventListener(\"click\",t),n&&e.context.inputElement.removeEventListener(\"focus\",a),e.context.inputElement.removeEventListener(\"keydown\",o)}},init=e=>(setContext(e,\"originalElement\",e.context.mainElement.cloneNode(!0)),setContext(e,\"isInit\",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a<n.length;a++){const o=n[a];\"object\"!=typeof e[o]||\"object\"!=typeof t[o]||t[o]instanceof Date||Array.isArray(t[o])?void 0!==t[o]&&(e[o]=t[o]):replaceProperties(e[o],t[o])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n=\"left\";if(!t||!e)return n;const{canShow:a,parentPositions:o}=getAvailablePosition(e,t),l=a.left&&a.right;return(l&&a.bottom?\"center\":l&&a.top?[\"top\",\"center\"]:Array.isArray(o)?[\"bottom\"===o[0]?\"top\":\"bottom\",...o.slice(1)]:o)||n}const setPosition=(e,t,n)=>{if(!e)return;const a=\"auto\"===n?findBestPickerPosition(e,t):n,o={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},l=Array.isArray(a)?a[0]:\"bottom\",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=l;const{top:i,left:r}=getOffset(e),c=i+o[l];let d=r+o[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,\"cleanupHandlers\",[]),setContext(e,\"isShowInInputMode\",!0),e.inputMode&&restoreTabbing(e.context.mainElement),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute(\"data-vc-calendar-hidden\");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener(\"resize\",t),e.context.cleanupHandlers.push((()=>window.removeEventListener(\"resize\",t)));const n=t=>{\"Escape\"===t.key&&hide(e)};document.addEventListener(\"keydown\",n),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"keydown\",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener(\"click\",a,{capture:!0}),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"click\",a,{capture:!0}))),e.onShow&&e.onShow(e)},labels={application:\"Calendar\",navigation:\"Calendar Navigation\",arrowNext:{month:\"Next month\",year:\"Next list of years\"},arrowPrev:{month:\"Previous month\",year:\"Previous list of years\"},month:\"Select month, current selected month:\",months:\"List of months\",year:\"Select year, current selected year:\",years:\"List of years\",week:\"Days of the week\",weekNumber:\"Numbers of weeks in a year\",dates:\"Dates in the current month\",selectingTime:\"Selecting a time \",inputHour:\"Hours\",inputMinute:\"Minutes\",rangeHour:\"Slider for selecting hours\",rangeMinute:\"Slider for selecting minutes\",btnKeeping:\"Switch AM/PM, current position:\"},styles={calendar:\"vc\",controls:\"vc-controls\",grid:\"vc-grid\",column:\"vc-column\",header:\"vc-header\",headerContent:\"vc-header__content\",month:\"vc-month\",year:\"vc-year\",arrowPrev:\"vc-arrow vc-arrow_prev\",arrowNext:\"vc-arrow vc-arrow_next\",wrapper:\"vc-wrapper\",content:\"vc-content\",months:\"vc-months\",monthsMonth:\"vc-months__month\",years:\"vc-years\",yearsYear:\"vc-years__year\",week:\"vc-week\",weekDay:\"vc-week__day\",weekNumbers:\"vc-week-numbers\",weekNumbersTitle:\"vc-week-numbers__title\",weekNumbersContent:\"vc-week-numbers__content\",weekNumber:\"vc-week-number\",dates:\"vc-dates\",datesRow:\"vc-dates__row\",date:\"vc-date\",dateBtn:\"vc-date__btn\",datePopup:\"vc-date__popup\",dateRangeTooltip:\"vc-date-range-tooltip\",time:\"vc-time\",timeContent:\"vc-time__content\",timeHour:\"vc-time__hour\",timeMinute:\"vc-time__minute\",timeKeeping:\"vc-time__keeping\",timeRanges:\"vc-time__ranges\",timeRange:\"vc-time__range\"};class OptionsCalendar{constructor(){__publicField(this,\"type\",\"default\"),__publicField(this,\"inputMode\",!1),__publicField(this,\"openOnFocus\",!0),__publicField(this,\"positionToInput\",\"left\"),__publicField(this,\"firstWeekday\",1),__publicField(this,\"monthsToSwitch\",1),__publicField(this,\"themeAttrDetect\",\"html[data-theme]\"),__publicField(this,\"locale\",\"en\"),__publicField(this,\"dateToday\",\"today\"),__publicField(this,\"dateMin\",\"1970-01-01\"),__publicField(this,\"dateMax\",\"2470-12-31\"),__publicField(this,\"displayDateMin\"),__publicField(this,\"displayDateMax\"),__publicField(this,\"displayDatesOutside\",!0),__publicField(this,\"displayDisabledDates\",!1),__publicField(this,\"displayMonthsCount\"),__publicField(this,\"disableDates\",[]),__publicField(this,\"disableAllDates\",!1),__publicField(this,\"disableDatesPast\",!1),__publicField(this,\"disableDatesGaps\",!1),__publicField(this,\"disableWeekdays\",[]),__publicField(this,\"disableToday\",!1),__publicField(this,\"enableDates\",[]),__publicField(this,\"enableEdgeDatesOnly\",!0),__publicField(this,\"enableDateToggle\",!0),__publicField(this,\"enableWeekNumbers\",!1),__publicField(this,\"enableMonthChangeOnDayClick\",!0),__publicField(this,\"enableJumpToSelectedDate\",!1),__publicField(this,\"selectionDatesMode\",\"single\"),__publicField(this,\"selectionMonthsMode\",!0),__publicField(this,\"selectionYearsMode\",!0),__publicField(this,\"selectionTimeMode\",!1),__publicField(this,\"selectedDates\",[]),__publicField(this,\"selectedMonth\"),__publicField(this,\"selectedYear\"),__publicField(this,\"selectedHolidays\",[]),__publicField(this,\"selectedWeekends\",[0,6]),__publicField(this,\"selectedTime\"),__publicField(this,\"selectedTheme\",\"system\"),__publicField(this,\"timeMinHour\",0),__publicField(this,\"timeMaxHour\",23),__publicField(this,\"timeMinMinute\",0),__publicField(this,\"timeMaxMinute\",59),__publicField(this,\"timeControls\",\"all\"),__publicField(this,\"timeStepHour\",1),__publicField(this,\"timeStepMinute\",1),__publicField(this,\"sanitizerHTML\",(e=>e)),__publicField(this,\"onClickDate\"),__publicField(this,\"onClickWeekDay\"),__publicField(this,\"onClickWeekNumber\"),__publicField(this,\"onClickTitle\"),__publicField(this,\"onClickMonth\"),__publicField(this,\"onClickYear\"),__publicField(this,\"onClickArrow\"),__publicField(this,\"onChangeTime\"),__publicField(this,\"onChangeToInput\"),__publicField(this,\"onCreateDateRangeTooltip\"),__publicField(this,\"onCreateDateEls\"),__publicField(this,\"onCreateMonthEls\"),__publicField(this,\"onCreateYearEls\"),__publicField(this,\"onInit\"),__publicField(this,\"onUpdate\"),__publicField(this,\"onDestroy\"),__publicField(this,\"onShow\"),__publicField(this,\"onHide\"),__publicField(this,\"popups\",{}),__publicField(this,\"labels\",__spreadValues({},labels)),__publicField(this,\"layouts\",{default:\"\",multiple:\"\",month:\"\",year:\"\"}),__publicField(this,\"styles\",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,\"init\",(()=>init(this))),__publicField(this,\"update\",(e=>update(this,e))),__publicField(this,\"destroy\",(()=>destroy(this))),__publicField(this,\"show\",(()=>show(this))),__publicField(this,\"hide\",(()=>hide(this))),__publicField(this,\"set\",((e,t)=>set(this,e,t))),__publicField(this,\"context\"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,\"mainElement\",\"string\"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,\"memoizedElements\",new Map);let Calendar=_Calendar;export{Calendar};","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n dateMin: null,\n dateMax: null,\n dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n displayElement: null, // Element to show formatted date (defaults to element for buttons)\n displayMonthsCount: 1, // Number of months to display side-by-side\n firstWeekday: 1, // Monday\n inline: false, // Render calendar inline (no popup)\n locale: 'default',\n positionElement: null, // Element to position calendar relative to (defaults to input)\n selectedDates: [],\n selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n placement: 'left', // 'left', 'center', 'right', 'auto'\n vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n datepickerTheme: '(null|string)',\n dateMin: '(null|string|number|object)',\n dateMax: '(null|string|number|object)',\n dateFormat: '(null|object|function)',\n displayElement: '(null|string|element|boolean)',\n displayMonthsCount: 'number',\n firstWeekday: 'number',\n inline: 'boolean',\n locale: 'string',\n positionElement: '(null|string|element)',\n selectedDates: 'array',\n selectionMode: 'string',\n placement: 'string',\n vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._calendar = null\n this._isShown = false\n\n this._initCalendar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._config.inline) {\n return // Inline calendars are always visible\n }\n\n return this._isShown ? this.hide() : this.show()\n }\n\n show() {\n if (this._config.inline) {\n return // Inline calendars are always visible\n }\n\n if (!this._calendar || isDisabled(this._element) || this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._calendar.show()\n this._isShown = true\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n hide() {\n if (this._config.inline) {\n return // Inline calendars are always visible\n }\n\n if (!this._calendar || !this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._calendar.hide()\n this._isShown = false\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n dispose() {\n if (this._themeObserver) {\n this._themeObserver.disconnect()\n this._themeObserver = null\n }\n\n if (this._calendar) {\n this._calendar.destroy()\n }\n\n this._calendar = null\n super.dispose()\n }\n\n getSelectedDates() {\n const dates = this._calendar?.context?.selectedDates\n return dates ? [...dates] : []\n }\n\n setSelectedDates(dates) {\n if (this._calendar) {\n this._calendar.set({ selectedDates: dates })\n }\n }\n\n // Private\n _initCalendar() {\n this._isInput = this._element.tagName === 'INPUT'\n this._isInline = this._config.inline\n\n // For inline mode, look for a hidden input child to bind to\n if (this._isInline && !this._isInput) {\n this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n }\n\n this._positionElement = this._resolvePositionElement()\n this._displayElement = this._resolveDisplayElement()\n\n const calendarOptions = this._buildCalendarOptions()\n\n // Create calendar on the position element (for correct popup positioning)\n // but value updates still go to this._element (the input)\n this._calendar = new Calendar(this._positionElement, calendarOptions)\n this._calendar.init()\n\n // Watch for theme changes on ancestor elements (for live theme switching)\n this._setupThemeObserver()\n\n // Set initial value if input has a value\n if (this._isInput && this._element.value) {\n this._parseInputValue()\n }\n\n // Populate input/display with preselected dates\n this._updateDisplayWithSelectedDates()\n }\n\n _updateDisplayWithSelectedDates() {\n const { selectedDates } = this._config\n if (!selectedDates || selectedDates.length === 0) {\n return\n }\n\n const formattedDate = this._formatDateForInput(selectedDates)\n\n if (this._isInput) {\n this._element.value = formattedDate\n }\n\n if (this._boundInput) {\n this._boundInput.value = selectedDates.join(',')\n }\n\n if (this._displayElement) {\n this._displayElement.textContent = formattedDate\n }\n }\n\n _resolvePositionElement() {\n let { positionElement } = this._config\n\n if (typeof positionElement === 'string') {\n positionElement = document.querySelector(positionElement)\n }\n\n // Use input's parent if in form-adorn\n if (!positionElement && this._isInput && !this._isInline) {\n const parent = this._element.closest('.form-adorn')\n if (parent) {\n positionElement = parent\n }\n }\n\n return positionElement || this._element\n }\n\n _resolveDisplayElement() {\n const { displayElement } = this._config\n\n if (typeof displayElement === 'string') {\n return document.querySelector(displayElement)\n }\n\n // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n return displayChild || this._element\n }\n\n return displayElement\n }\n\n _getThemeAncestor() {\n return this._element.closest('[data-bs-theme]')\n }\n\n _getEffectiveTheme() {\n // Priority: explicit datepickerTheme config > inherited from ancestor > none\n const { datepickerTheme } = this._config\n if (datepickerTheme) {\n return datepickerTheme\n }\n\n const ancestor = this._getThemeAncestor()\n return ancestor?.getAttribute('data-bs-theme') || null\n }\n\n _syncThemeAttribute(element) {\n if (!element) {\n return\n }\n\n const theme = this._getEffectiveTheme()\n\n if (theme) {\n // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n element.setAttribute('data-bs-theme', theme)\n } else {\n // No theme - remove attribute to allow natural inheritance\n element.removeAttribute('data-bs-theme')\n }\n }\n\n _setupThemeObserver() {\n // Watch for theme changes on ancestor elements\n const ancestor = this._getThemeAncestor()\n if (!ancestor || this._config.datepickerTheme) {\n // No ancestor to watch, or explicit datepickerTheme overrides\n return\n }\n\n this._themeObserver = new MutationObserver(() => {\n this._syncThemeAttribute(this._calendar?.context?.mainElement)\n })\n\n this._themeObserver.observe(ancestor, {\n attributes: true,\n attributeFilter: ['data-bs-theme']\n })\n }\n\n _buildCalendarOptions() {\n // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n const theme = this._getEffectiveTheme()\n // VCP uses 'system' for auto, Bootstrap uses 'auto'\n const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n const calendarOptions = {\n ...this._config.vcpOptions,\n inputMode: !this._isInline,\n positionToInput: this._config.placement,\n firstWeekday: this._config.firstWeekday,\n locale: this._config.locale,\n selectionDatesMode: this._config.selectionMode,\n selectedDates: this._config.selectedDates,\n displayMonthsCount: this._config.displayMonthsCount,\n type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n selectedTheme: vcpTheme,\n themeAttrDetect: '[data-bs-theme]',\n onClickDate: (self, event) => this._handleDateClick(self, event),\n onInit: self => {\n this._syncThemeAttribute(self.context.mainElement)\n },\n onShow: () => {\n this._isShown = true\n this._syncThemeAttribute(this._calendar.context.mainElement)\n },\n onHide: () => {\n this._isShown = false\n }\n }\n\n // Navigate to the month of the first selected date\n if (this._config.selectedDates.length > 0) {\n const firstDate = this._parseDate(this._config.selectedDates[0])\n calendarOptions.selectedMonth = firstDate.getMonth()\n calendarOptions.selectedYear = firstDate.getFullYear()\n }\n\n if (this._config.dateMin) {\n calendarOptions.dateMin = this._config.dateMin\n }\n\n if (this._config.dateMax) {\n calendarOptions.dateMax = this._config.dateMax\n }\n\n return calendarOptions\n }\n\n _handleDateClick(self, event) {\n const selectedDates = [...self.context.selectedDates]\n\n if (selectedDates.length > 0) {\n const formattedDate = this._formatDateForInput(selectedDates)\n\n if (this._isInput) {\n this._element.value = formattedDate\n }\n\n if (this._boundInput) {\n this._boundInput.value = selectedDates.join(',')\n }\n\n if (this._displayElement) {\n this._displayElement.textContent = formattedDate\n }\n }\n\n EventHandler.trigger(this._element, EVENT_CHANGE, {\n dates: selectedDates,\n event\n })\n\n this._maybeHideAfterSelection(selectedDates)\n }\n\n _maybeHideAfterSelection(selectedDates) {\n if (this._isInline) {\n return\n }\n\n const shouldHide =\n (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n if (shouldHide) {\n setTimeout(() => this.hide(), HIDE_DELAY)\n }\n }\n\n _parseDate(dateStr) {\n const [year, month, day] = dateStr.split('-')\n return new Date(year, month - 1, day)\n }\n\n _formatDate(dateStr) {\n const date = this._parseDate(dateStr)\n const locale = this._config.locale === 'default' ? undefined : this._config.locale\n const { dateFormat } = this._config\n\n // Custom function formatter\n if (typeof dateFormat === 'function') {\n return dateFormat(date, locale)\n }\n\n // Intl.DateTimeFormat options object\n if (dateFormat && typeof dateFormat === 'object') {\n return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n }\n\n // Default: locale-aware formatting\n return date.toLocaleDateString(locale)\n }\n\n _formatDateForInput(dates) {\n if (dates.length === 0) {\n return ''\n }\n\n if (dates.length === 1) {\n return this._formatDate(dates[0])\n }\n\n // For date ranges, use en-dash; for multiple dates, use comma\n const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n return dates.map(d => this._formatDate(d)).join(separator)\n }\n\n _parseInputValue() {\n // Try to parse the input value as a date\n const value = this._element.value.trim()\n if (!value) {\n return\n }\n\n const date = new Date(value)\n if (!Number.isNaN(date.getTime())) {\n const year = date.getFullYear()\n const month = String(date.getMonth() + 1).padStart(2, '0')\n const day = String(date.getDate()).padStart(2, '0')\n const formatted = `${year}-${month}-${day}`\n this._calendar.set({ selectedDates: [formatted] })\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // Only handle if not an input (inputs use focus)\n // Skip inline datepickers (they're always visible)\n if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n return\n }\n\n event.preventDefault()\n Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n // Handle focus for input elements\n if (this.tagName !== 'INPUT') {\n return\n }\n\n Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n Datepicker.getOrCreateInstance(element)\n }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n keyboard: true,\n modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._element.open ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._element.open || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isTransitioning = true\n\n if (this._config.modal) {\n // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n this._element.showModal()\n // Prevent body scroll for modal dialogs\n document.body.classList.add(CLASS_NAME_OPEN)\n } else {\n // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n this._element.classList.add(CLASS_NAME_NONMODAL)\n this._element.show()\n }\n\n this._queueCallback(() => {\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }, this._element, this._isAnimated())\n }\n\n hide() {\n if (!this._element.open || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isTransitioning = true\n\n this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n super.dispose()\n }\n\n handleUpdate() {\n // Provided for API consistency with Modal.\n // Native dialogs handle their own positioning.\n }\n\n // Private\n _hideDialog() {\n this._element.close()\n this._element.classList.remove(CLASS_NAME_NONMODAL)\n this._isTransitioning = false\n\n // Only restore body scroll if no other modal dialogs are open\n if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n document.body.classList.remove(CLASS_NAME_OPEN)\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n _isAnimated() {\n return this._element.classList.contains('fade')\n }\n\n _triggerBackdropTransition() {\n const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hidePreventedEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n }, this._element)\n }\n\n _addEventListeners() {\n // Handle native cancel event (Escape key) - only fires for modal dialogs\n EventHandler.on(this._element, 'cancel', event => {\n // Prevent native close behavior - we'll handle it\n event.preventDefault()\n\n if (!this._config.keyboard) {\n this._triggerBackdropTransition()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_CANCEL)\n this.hide()\n })\n\n // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n EventHandler.on(this._element, 'keydown', event => {\n if (event.key !== 'Escape' || this._config.modal) {\n return\n }\n\n event.preventDefault()\n\n if (!this._config.keyboard) {\n return\n }\n\n EventHandler.trigger(this._element, EVENT_CANCEL)\n this.hide()\n })\n\n // Handle backdrop clicks (only applies to modal dialogs)\n // Native <dialog> fires click on the dialog element when backdrop is clicked\n EventHandler.on(this._element, 'click', event => {\n // Only handle clicks directly on the dialog (backdrop area)\n // Non-modal dialogs don't have a backdrop\n if (event.target !== this._element || !this._config.modal) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n // Default: click backdrop to dismiss\n this.hide()\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // Get config from trigger's data attributes\n const config = Manipulator.getDataAttributes(this)\n\n // Check if trigger is inside an open dialog\n const currentDialog = this.closest('dialog[open]')\n const shouldSwap = currentDialog && currentDialog !== target\n\n if (shouldSwap) {\n // Open new dialog first (its backdrop appears over current)\n const newDialog = Dialog.getOrCreateInstance(target, config)\n newDialog.show(this)\n\n // Close the current dialog (no backdrop flash since new one is already open)\n const currentInstance = Dialog.getInstance(currentDialog)\n if (currentInstance) {\n currentInstance.hide()\n }\n\n return\n }\n\n const data = Dialog.getOrCreateInstance(target, config)\n data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap nav-overflow.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'navoverflow'\nconst DATA_KEY = 'bs.navoverflow'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_UPDATE = `update${EVENT_KEY}`\nconst EVENT_OVERFLOW = `overflow${EVENT_KEY}`\n\nconst CLASS_NAME_OVERFLOW = 'nav-overflow'\nconst CLASS_NAME_OVERFLOW_MENU = 'nav-overflow-menu'\nconst CLASS_NAME_HIDDEN = 'd-none'\n\nconst SELECTOR_NAV_ITEM = '.nav-item'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle'\nconst SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu'\nconst CLASS_NAME_KEEP = 'nav-overflow-keep'\n\nconst Default = {\n moreText: 'More',\n moreIcon: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"><path d=\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3\"/></svg>',\n threshold: 0 // Minimum items to keep visible before showing overflow\n}\n\nconst DefaultType = {\n moreText: 'string',\n moreIcon: 'string',\n threshold: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass NavOverflow extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._items = []\n this._overflowItems = []\n this._overflowMenu = null\n this._overflowToggle = null\n this._resizeObserver = null\n this._isInitialized = false\n\n this._init()\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 update() {\n this._calculateOverflow()\n EventHandler.trigger(this._element, EVENT_UPDATE)\n }\n\n dispose() {\n if (this._resizeObserver) {\n this._resizeObserver.disconnect()\n }\n\n // Move items back to original positions\n this._restoreItems()\n\n // Remove overflow menu\n if (this._overflowToggle && this._overflowToggle.parentElement) {\n this._overflowToggle.parentElement.remove()\n }\n\n super.dispose()\n }\n\n // Private\n _init() {\n // Add overflow class to nav\n this._element.classList.add(CLASS_NAME_OVERFLOW)\n\n // Get all nav items\n this._items = [...SelectorEngine.find(SELECTOR_NAV_ITEM, this._element)]\n\n // Store original order data\n for (const [index, item] of this._items.entries()) {\n item.dataset.bsNavOrder = index\n }\n\n // Create overflow menu if it doesn't exist\n this._createOverflowMenu()\n\n // Setup resize observer\n this._setupResizeObserver()\n\n // Initial calculation\n this._calculateOverflow()\n\n this._isInitialized = true\n }\n\n _createOverflowMenu() {\n // Check if overflow menu already exists\n this._overflowToggle = SelectorEngine.findOne(SELECTOR_OVERFLOW_TOGGLE, this._element)\n\n if (this._overflowToggle) {\n this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element)\n return\n }\n\n const overflowItem = document.createElement('li')\n overflowItem.className = 'nav-item nav-overflow-item'\n overflowItem.innerHTML = `\n <button class=\"nav-link nav-overflow-toggle\" type=\"button\" data-bs-toggle=\"menu\" data-bs-placement=\"bottom-end\" aria-expanded=\"false\">\n <span class=\"nav-overflow-icon\">${this._config.moreIcon}</span>\n <span class=\"nav-overflow-text\">${this._config.moreText}</span>\n </button>\n <div class=\"${CLASS_NAME_OVERFLOW_MENU} menu\"></div>\n `\n\n this._element.append(overflowItem)\n this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE)\n this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU)\n }\n\n _setupResizeObserver() {\n if (typeof ResizeObserver === 'undefined') {\n // Fallback for older browsers\n EventHandler.on(window, 'resize', () => this._calculateOverflow())\n return\n }\n\n this._resizeObserver = new ResizeObserver(() => {\n this._calculateOverflow()\n })\n\n this._resizeObserver.observe(this._element)\n }\n\n _calculateOverflow() {\n // First, restore all items to measure properly\n this._restoreItems()\n\n const navWidth = this._element.offsetWidth\n const overflowItem = this._overflowToggle?.closest('.nav-item')\n const overflowWidth = overflowItem?.offsetWidth || 0\n\n let usedWidth = 0\n const itemsToOverflow = []\n const overflowThreshold = navWidth - overflowWidth - 10 // 10px buffer\n\n // Calculate which items need to overflow (skip items with keep class)\n for (const item of this._items) {\n const itemWidth = item.offsetWidth\n usedWidth += itemWidth\n\n // Never overflow items with the keep class\n if (item.classList.contains(CLASS_NAME_KEEP)) {\n continue\n }\n\n if (usedWidth > overflowThreshold) {\n itemsToOverflow.push(item)\n }\n }\n\n // Check if we need threshold minimum visible\n const visibleCount = this._items.length - itemsToOverflow.length\n if (visibleCount < this._config.threshold && this._items.length > this._config.threshold) {\n // Add more items to overflow until we reach threshold (but not keep items)\n const toMove = this._items.slice(this._config.threshold).filter(item => !item.classList.contains(CLASS_NAME_KEEP))\n itemsToOverflow.length = 0\n itemsToOverflow.push(...toMove)\n }\n\n // Move items to overflow menu\n this._moveToOverflow(itemsToOverflow)\n\n // Show/hide overflow toggle\n if (overflowItem) {\n if (itemsToOverflow.length > 0) {\n overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n } else {\n overflowItem.classList.add(CLASS_NAME_HIDDEN)\n }\n }\n\n // Trigger overflow event if items changed\n if (itemsToOverflow.length > 0) {\n EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n overflowCount: itemsToOverflow.length,\n visibleCount: this._items.length - itemsToOverflow.length\n })\n }\n }\n\n _moveToOverflow(items) {\n if (!this._overflowMenu) {\n return\n }\n\n // Clear existing overflow items\n this._overflowMenu.innerHTML = ''\n this._overflowItems = []\n\n for (const item of items) {\n const link = SelectorEngine.findOne(SELECTOR_NAV_LINK, item)\n if (!link) {\n continue\n }\n\n const clonedLink = link.cloneNode(true)\n clonedLink.className = 'menu-item'\n\n if (link.classList.contains('active')) {\n clonedLink.classList.add('active')\n }\n\n if (link.classList.contains('disabled') || link.hasAttribute('disabled')) {\n clonedLink.classList.add('disabled')\n }\n\n this._overflowMenu.append(clonedLink)\n\n // Hide original item\n item.classList.add(CLASS_NAME_HIDDEN)\n item.dataset.bsNavOverflow = 'true'\n\n this._overflowItems.push(item)\n }\n }\n\n _restoreItems() {\n for (const item of this._items) {\n item.classList.remove(CLASS_NAME_HIDDEN)\n delete item.dataset.bsNavOverflow\n }\n\n if (this._overflowMenu) {\n this._overflowMenu.innerHTML = ''\n }\n\n this._overflowItems = []\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n for (const element of SelectorEngine.find('[data-bs-toggle=\"nav-overflow\"]')) {\n NavOverflow.getOrCreateInstance(element)\n }\n})\n\nexport default NavOverflow\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n autofocus: 'boolean',\n trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n input: null, // Selector or element for password input\n minLength: 8,\n messages: {\n weak: 'Weak',\n fair: 'Fair',\n good: 'Good',\n strong: 'Strong'\n },\n weights: {\n minLength: 1,\n extraLength: 1,\n lowercase: 1,\n uppercase: 1,\n numbers: 1,\n special: 1,\n multipleSpecial: 1,\n longPassword: 1\n },\n thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n input: '(string|element|null)',\n minLength: 'number',\n messages: 'object',\n weights: 'object',\n thresholds: 'array',\n scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._input = this._getInput()\n this._segments = SelectorEngine.find('.strength-segment', this._element)\n this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n this._currentStrength = null\n\n if (this._input) {\n this._addEventListeners()\n // Check initial value\n this._evaluate()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getStrength() {\n return this._currentStrength\n }\n\n evaluate() {\n this._evaluate()\n }\n\n // Private\n _getInput() {\n if (this._config.input) {\n return typeof this._config.input === 'string' ?\n SelectorEngine.findOne(this._config.input) :\n this._config.input\n }\n\n // Look for preceding password input\n const parent = this._element.parentElement\n return SelectorEngine.findOne('input[type=\"password\"]', parent)\n }\n\n _addEventListeners() {\n EventHandler.on(this._input, 'input', () => this._evaluate())\n EventHandler.on(this._input, 'change', () => this._evaluate())\n }\n\n _evaluate() {\n const password = this._input.value\n const score = this._calculateScore(password)\n const strength = this._scoreToStrength(score)\n\n if (strength !== this._currentStrength) {\n this._currentStrength = strength\n this._updateUI(strength, score)\n\n EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n strength,\n score,\n password: password.length > 0 ? '***' : '' // Don't expose actual password\n })\n }\n }\n\n _calculateScore(password) {\n if (!password) {\n return 0\n }\n\n // Use custom scorer if provided\n if (typeof this._config.scorer === 'function') {\n return this._config.scorer(password)\n }\n\n const { weights } = this._config\n let score = 0\n\n // Length scoring\n if (password.length >= this._config.minLength) {\n score += weights.minLength\n }\n\n if (password.length >= this._config.minLength + 4) {\n score += weights.extraLength\n }\n\n // Character variety\n if (/[a-z]/.test(password)) {\n score += weights.lowercase\n }\n\n if (/[A-Z]/.test(password)) {\n score += weights.uppercase\n }\n\n if (/\\d/.test(password)) {\n score += weights.numbers\n }\n\n // Special characters\n if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n score += weights.special\n }\n\n // Extra points for more special chars or length\n if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n score += weights.multipleSpecial\n }\n\n if (password.length >= 16) {\n score += weights.longPassword\n }\n\n return score\n }\n\n _scoreToStrength(score) {\n if (score === 0) {\n return null\n }\n\n const [weak, fair, good] = this._config.thresholds\n\n if (score <= weak) {\n return 'weak'\n }\n\n if (score <= fair) {\n return 'fair'\n }\n\n if (score <= good) {\n return 'good'\n }\n\n return 'strong'\n }\n\n _updateUI(strength) {\n // Update data attribute on element\n if (strength) {\n this._element.dataset.bsStrength = strength\n } else {\n delete this._element.dataset.bsStrength\n }\n\n // Update segmented meter\n const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n for (const [index, segment] of this._segments.entries()) {\n if (index <= strengthIndex) {\n segment.classList.add('active')\n } else {\n segment.classList.remove('active')\n }\n }\n\n // Update text feedback\n if (this._textElement) {\n if (strength && this._config.messages[strength]) {\n this._textElement.textContent = this._config.messages[strength]\n this._textElement.dataset.bsStrength = strength\n\n // Also set the color via inheriting from parent or using CSS variable\n const colorMap = {\n weak: 'danger',\n fair: 'warning',\n good: 'info',\n strong: 'success'\n }\n this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n } else {\n this._textElement.textContent = ''\n delete this._textElement.dataset.bsStrength\n }\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n Strength.getOrCreateInstance(element)\n }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n length: 6,\n mask: false\n}\n\nconst DefaultType = {\n length: 'number',\n mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n this._setupInputs()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getValue() {\n return this._inputs.map(input => input.value).join('')\n }\n\n setValue(value) {\n const chars = String(value).split('')\n for (const [index, input] of this._inputs.entries()) {\n input.value = chars[index] || ''\n }\n\n this._checkComplete()\n }\n\n clear() {\n for (const input of this._inputs) {\n input.value = ''\n }\n\n this._inputs[0]?.focus()\n }\n\n focus() {\n // Focus first empty input, or last input if all filled\n const emptyInput = this._inputs.find(input => !input.value)\n if (emptyInput) {\n emptyInput.focus()\n } else {\n this._inputs.at(-1)?.focus()\n }\n }\n\n // Private\n _setupInputs() {\n for (const input of this._inputs) {\n // Set attributes for proper OTP handling\n input.setAttribute('maxlength', '1')\n input.setAttribute('inputmode', 'numeric')\n input.setAttribute('pattern', '\\\\d*')\n\n // First input gets autocomplete for browser OTP autofill\n if (input === this._inputs[0]) {\n input.setAttribute('autocomplete', 'one-time-code')\n } else {\n input.setAttribute('autocomplete', 'off')\n }\n\n // Mask input if configured\n if (this._config.mask) {\n input.setAttribute('type', 'password')\n }\n }\n }\n\n _addEventListeners() {\n for (const [index, input] of this._inputs.entries()) {\n EventHandler.on(input, 'input', event => this._handleInput(event, index))\n EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n EventHandler.on(input, 'paste', event => this._handlePaste(event))\n EventHandler.on(input, 'focus', event => this._handleFocus(event))\n }\n }\n\n _handleInput(event, index) {\n const input = event.target\n\n // Only allow digits\n if (!/^\\d*$/.test(input.value)) {\n input.value = input.value.replace(/\\D/g, '')\n }\n\n const { value } = input\n\n // Handle multi-character input (some browsers/autofill)\n if (value.length > 1) {\n // Distribute characters across inputs\n const chars = value.split('')\n input.value = chars[0] || ''\n\n for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n this._inputs[index + i].value = chars[i]\n }\n\n // Focus appropriate input\n const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n this._inputs[nextIndex].focus()\n } else if (value && index < this._inputs.length - 1) {\n // Auto-advance to next input\n this._inputs[index + 1].focus()\n }\n\n EventHandler.trigger(this._element, EVENT_INPUT, {\n value: this.getValue(),\n index\n })\n\n this._checkComplete()\n }\n\n _handleKeydown(event, index) {\n const { key } = event\n\n switch (key) {\n case 'Backspace': {\n if (!this._inputs[index].value && index > 0) {\n // Move to previous input and clear it\n event.preventDefault()\n this._inputs[index - 1].value = ''\n this._inputs[index - 1].focus()\n }\n\n break\n }\n\n case 'Delete': {\n // Clear current and shift remaining values left\n event.preventDefault()\n for (let i = index; i < this._inputs.length - 1; i++) {\n this._inputs[i].value = this._inputs[i + 1].value\n }\n\n this._inputs.at(-1).value = ''\n break\n }\n\n case 'ArrowLeft': {\n if (index > 0) {\n event.preventDefault()\n this._inputs[index - 1].focus()\n }\n\n break\n }\n\n case 'ArrowRight': {\n if (index < this._inputs.length - 1) {\n event.preventDefault()\n this._inputs[index + 1].focus()\n }\n\n break\n }\n\n // No default\n }\n }\n\n _handlePaste(event) {\n event.preventDefault()\n const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n if (digits) {\n this.setValue(digits)\n\n // Focus last filled input or last input\n const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n this._inputs[lastIndex].focus()\n }\n }\n\n _handleFocus(event) {\n // Select the content on focus for easy replacement\n event.target.select()\n }\n\n _checkComplete() {\n const value = this.getValue()\n const isComplete = value.length === this._inputs.length &&\n this._inputs.every(input => input.value !== '')\n\n if (isComplete) {\n EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n OtpInput.getOrCreateInstance(element)\n }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n dd: [],\n div: [],\n dl: [],\n dt: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n allowList: DefaultAllowlist,\n content: {}, // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '<div></div>'\n}\n\nconst DefaultType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [undefined, this])\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n computePosition,\n flip,\n shift,\n offset,\n arrow,\n autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n parseResponsivePlacement,\n getResponsivePlacement,\n createBreakpointListeners,\n disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n floatingConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div>' +\n '</div>',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n floatingConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof computePosition === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n }\n\n super(element, config)\n\n // Private\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._floatingCleanup = null\n this._templateFactory = null\n this._newContent = null\n this._mediaQueryListeners = []\n this._responsivePlacements = null\n\n // Protected\n this.tip = null\n\n this._parseResponsivePlacements()\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle() {\n if (!this._isEnabled) {\n return\n }\n\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n }\n\n this._disposeFloating()\n this._disposeMediaQueryListeners()\n super.dispose()\n }\n\n async show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n this._disposeFloating()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n }\n\n await this._createFloating(tip)\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposeFloating()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n update() {\n if (this._floatingCleanup && this.tip) {\n this._updateFloatingPosition()\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle())\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml()\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n this._newContent = content\n if (this._isShown()) {\n this._disposeFloating()\n this.show()\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement(tip) {\n // If we have responsive placements, get the one for current viewport\n if (this._responsivePlacements) {\n const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n return AttachmentMap[placement.toUpperCase()] || placement\n }\n\n // Execute placement (can be a function)\n const placement = execute(this._config.placement, [this, tip, this._element])\n return AttachmentMap[placement.toUpperCase()] || placement\n }\n\n _parseResponsivePlacements() {\n // Only parse if placement is a string (not a function)\n if (typeof this._config.placement !== 'string') {\n this._responsivePlacements = null\n return\n }\n\n this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n if (this._responsivePlacements) {\n this._setupMediaQueryListeners()\n }\n }\n\n _setupMediaQueryListeners() {\n this._disposeMediaQueryListeners()\n this._mediaQueryListeners = createBreakpointListeners(() => {\n if (this._isShown()) {\n this._updateFloatingPosition()\n }\n })\n }\n\n _disposeMediaQueryListeners() {\n disposeBreakpointListeners(this._mediaQueryListeners)\n this._mediaQueryListeners = []\n }\n\n async _createFloating(tip) {\n const placement = this._getPlacement(tip)\n const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n // Initial position update\n await this._updateFloatingPosition(tip, placement, arrowElement)\n\n // Set up auto-update for scroll/resize\n this._floatingCleanup = autoUpdate(\n this._element,\n tip,\n () => this._updateFloatingPosition(tip, null, arrowElement)\n )\n }\n\n async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n if (!tip) {\n return\n }\n\n if (!placement) {\n placement = this._getPlacement(tip)\n }\n\n if (!arrowElement) {\n arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n }\n\n const middleware = this._getFloatingMiddleware(arrowElement)\n const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n this._element,\n tip,\n floatingConfig\n )\n\n // Apply position to tooltip\n Object.assign(tip.style, {\n position: 'absolute',\n left: `${x}px`,\n top: `${y}px`\n })\n\n // Ensure arrow is absolutely positioned within tooltip\n if (arrowElement) {\n arrowElement.style.position = 'absolute'\n }\n\n // Set placement attribute for CSS arrow styling\n Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n // Position arrow along the edge (center it) if present\n // The CSS handles which edge to place it on via data-bs-placement\n if (arrowElement && middlewareData.arrow) {\n const { x: arrowX, y: arrowY } = middlewareData.arrow\n const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n // Only set the cross-axis position (centering along the edge)\n // The main-axis position (which edge) is handled by CSS\n Object.assign(arrowElement.style, {\n left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n // Reset the other axis to let CSS handle it\n right: '',\n bottom: ''\n })\n }\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n // Floating UI passes different args, adapt the interface for offset function callbacks\n return ({ placement, rects }) => {\n const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n return result\n }\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element, this._element])\n }\n\n _getFloatingMiddleware(arrowElement) {\n const offsetValue = this._getOffset()\n\n const middleware = [\n // Offset middleware - handles distance from reference\n offset(\n typeof offsetValue === 'function' ?\n offsetValue :\n { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n ),\n // Flip middleware - handles fallback placements\n flip({\n fallbackPlacements: this._config.fallbackPlacements\n }),\n // Shift middleware - prevents overflow\n shift({\n boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n })\n ]\n\n // Arrow middleware - positions the arrow element\n if (arrowElement) {\n middleware.push(arrow({ element: arrowElement }))\n }\n\n return middleware\n }\n\n _getFloatingConfig(placement, middleware) {\n const defaultConfig = {\n placement,\n middleware\n }\n\n return {\n ...defaultConfig,\n ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n }\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSEENTER) :\n this.constructor.eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSELEAVE) :\n this.constructor.eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title')\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _disposeFloating() {\n if (this._floatingCleanup) {\n this._floatingCleanup()\n this._floatingCleanup = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n if (!target) {\n return\n }\n\n // Get or create instance and trigger the appropriate action\n const tooltip = Tooltip.getOrCreateInstance(target)\n\n // For focus events, manually trigger enter to show\n if (event.type === 'focusin') {\n tooltip._activeTrigger.focus = true\n tooltip._enter()\n }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div>' +\n '</div>',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n if (!target) {\n return\n }\n\n // Prevent default for click events to avoid navigation\n if (event.type === 'click') {\n event.preventDefault()\n }\n\n // Get or create instance\n const popover = Popover.getOrCreateInstance(target)\n\n // Trigger the appropriate action based on event type\n if (event.type === 'click') {\n popover.toggle()\n } else if (event.type === 'focusin') {\n popover._activeTrigger.focus = true\n popover._enter()\n }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_MENU_ITEM = 'menu-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_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\n\nconst Default = {\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh() // initialize\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose() {\n this._observer.disconnect()\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.target = getElement(config.target) || document.body\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK)\n\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if (root.scrollTo) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height\n }\n })\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n this._process(targetElement(entry))\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry))\n\n continue\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor)\n this._observableSections.set(anchor.hash, observableSection)\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target) {\n // Activate menu parents\n if (target.classList.contains(CLASS_NAME_MENU_ITEM)) {\n const menuToggle = target.closest('.menu')?.previousElementSibling\n if (menuToggle?.matches(SELECTOR_MENU_TOGGLE)) {\n menuToggle.classList.add(CLASS_NAME_ACTIVE)\n }\n\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 SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\nconst SELECTOR_MENU = '.menu'\nconst NOT_SELECTOR_MENU_TOGGLE = `:not(${SELECTOR_MENU_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_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_MENU_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n constructor(element) {\n super(element)\n this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n if (!this._parent) {\n return\n // TODO: should throw exception in v6\n // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n }\n\n // Set up initial aria attributes\n this._setInitialAttributes(this._parent, this._getChildren())\n\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n show() { // Shows this elem and deactivate the active sibling if exists\n const innerElem = this._element\n if (this._elemIsActive(innerElem)) {\n return\n }\n\n // Search for active tab on same parent to deactivate it\n const active = this._getActiveElem()\n\n const hideEvent = active ?\n EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n null\n\n const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n return\n }\n\n this._deactivate(active, innerElem)\n this._activate(innerElem, active)\n }\n\n // Private\n _activate(element, relatedElem) {\n if (!element) {\n return\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n\n this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n const complete = () => {\n if (element.getAttribute('role') !== 'tab') {\n element.classList.add(CLASS_NAME_SHOW)\n return\n }\n\n element.removeAttribute('tabindex')\n element.setAttribute('aria-selected', true)\n this._toggleMenu(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._toggleMenu(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 _toggleMenu(element, open) {\n const outerElem = this._getOuterElement(element)\n const menuToggle = SelectorEngine.findOne(SELECTOR_MENU_TOGGLE, outerElem)\n if (!menuToggle) {\n return\n }\n\n const menu = SelectorEngine.findOne(SELECTOR_MENU, outerElem)\n\n menuToggle.classList.toggle(CLASS_NAME_ACTIVE, open)\n if (menu) {\n menu.classList.toggle(CLASS_NAME_SHOW, open)\n }\n\n menuToggle.setAttribute('aria-expanded', open)\n }\n\n _setAttributeIfNotExists(element, attribute, value) {\n if (!element.hasAttribute(attribute)) {\n element.setAttribute(attribute, value)\n }\n }\n\n _elemIsActive(elem) {\n return elem.classList.contains(CLASS_NAME_ACTIVE)\n }\n\n // Try to get the inner element (usually the .nav-link)\n _getInnerElement(elem) {\n return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n }\n\n // Try to get the outer element (usually the .nav-item)\n _getOuterElement(elem) {\n return elem.closest(SELECTOR_OUTER) || elem\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n Tab.getOrCreateInstance(element)\n }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._timeout = null\n this._hasMouseInteraction = false\n this._hasKeyboardInteraction = false\n this._setListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._maybeScheduleHide()\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n hide() {\n if (!this.isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.add(CLASS_NAME_SHOWING)\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this.isShown()) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n super.dispose()\n }\n\n isShown() {\n return this._element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _maybeScheduleHide() {\n if (!this._config.autohide) {\n return\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return\n }\n\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n\n _onInteraction(event, isInteracting) {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout': {\n this._hasMouseInteraction = isInteracting\n break\n }\n\n case 'focusin':\n case 'focusout': {\n this._hasKeyboardInteraction = isInteracting\n break\n }\n\n default: {\n break\n }\n }\n\n if (isInteracting) {\n this._clearTimeout()\n return\n }\n\n const nextElement = event.relatedTarget\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return\n }\n\n this._maybeScheduleHide()\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n attribute: 'string',\n value: '(string|number|boolean)'\n}\n\nconst Default = {\n attribute: 'class',\n value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n if (toggleEvent.defaultPrevented) {\n return\n }\n\n this._execute()\n\n EventHandler.trigger(this._element, EVENT_TOGGLED)\n }\n\n // Private\n _execute() {\n const { attribute, value } = this._config\n\n if (attribute === 'id') {\n return // You have to be kidding\n }\n\n if (attribute === 'class') {\n this._element.classList.toggle(value)\n return\n }\n\n // Compare as strings since getAttribute() always returns a string\n if (this._element.getAttribute(attribute) === String(value)) {\n this._element.removeAttribute(attribute)\n return\n }\n\n this._element.setAttribute(attribute, value)\n }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
})
EventHandler.on(window, EVENT_RESIZE, () => {
- for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {
+ for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=\\:offcanvas]')) {
if (getComputedStyle(element).position !== 'fixed') {
Offcanvas.getOrCreateInstance(element).hide()
}
fixtureEl.innerHTML = [
'<div id="accordion">',
' <div class="row">',
- ' <div class="col-lg-6">',
+ ' <div class="lg:col-6">',
' <div class="item">',
' <a id="linkTrigger" data-bs-toggle="collapse" href="#collapseOne" aria-expanded="false" aria-controls="collapseOne"></a>',
' <div id="collapseOne" class="collapse" role="tabpanel" data-bs-parent="#accordion"></div>',
' </div>',
' </div>',
- ' <div class="col-lg-6">',
+ ' <div class="lg:col-6">',
' <div class="item">',
' <a id="linkTriggerTwo" data-bs-toggle="collapse" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo"></a>',
' <div id="collapseTwo" class="collapse show" role="tabpanel" data-bs-parent="#accordion"></div>',
it('should use Floating UI positioning in navbar', () => {
return new Promise(resolve => {
fixtureEl.innerHTML = [
- '<nav class="navbar navbar-expand-md bg-light">',
+ '<nav class="navbar md:navbar-expand bg-light">',
' <div>',
' <button class="btn" data-bs-toggle="menu" aria-expanded="false">Menu</button>',
' <div class="menu">',
it('should call `hide` on resize, if element\'s position is not fixed any more', () => {
return new Promise(resolve => {
- fixtureEl.innerHTML = '<div class="offcanvas-lg"></div>'
+ fixtureEl.innerHTML = '<div class="lg:offcanvas"></div>'
const offCanvasEl = fixtureEl.querySelector('div')
const offCanvas = new Offcanvas(offCanvasEl)
<h2>Basic Input Datepicker</h2>
<div class="row mb-4">
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="basicDatepicker" class="form-label">Select a date</label>
<input type="text" class="form-control" id="basicDatepicker" data-bs-toggle="datepicker" placeholder="Click to select">
</div>
<h2>With Min/Max Dates</h2>
<div class="row mb-4">
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="minMaxDatepicker" class="form-label">Only dates in 2026</label>
<input type="text" class="form-control" id="minMaxDatepicker" data-bs-toggle="datepicker" data-bs-date-min="2026-01-01" data-bs-date-max="2026-12-31" placeholder="Select a date in 2026">
</div>
<h2>Multiple Selection</h2>
<div class="row mb-4">
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="multipleDatepicker" class="form-label">Select multiple dates</label>
<input type="text" class="form-control" id="multipleDatepicker" data-bs-toggle="datepicker" data-bs-selection-mode="multiple" placeholder="Click to select multiple">
</div>
<h2>Range Selection</h2>
<div class="row mb-4">
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="rangeDatepicker" class="form-label">Select a date range</label>
<input type="text" class="form-control" id="rangeDatepicker" data-bs-toggle="datepicker" data-bs-selection-mode="multiple-ranged" placeholder="Select start and end">
</div>
<h2>Week Numbers</h2>
<div class="row mb-4">
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="weekNumbersDatepicker" class="form-label">With week numbers</label>
<input type="text" class="form-control" id="weekNumbersDatepicker" data-bs-toggle="datepicker" data-bs-show-week-numbers="true" placeholder="Select a date">
</div>
<h2>Sunday First</h2>
<div class="row mb-4">
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="sundayFirstDatepicker" class="form-label">Week starts on Sunday</label>
<input type="text" class="form-control" id="sundayFirstDatepicker" data-bs-toggle="datepicker" data-bs-first-weekday="0" placeholder="Select a date">
</div>
<h2>Dark Mode</h2>
<div class="row mb-4" data-bs-theme="dark">
- <div class="col-md-6">
+ <div class="md:col-6">
<div class="p-4 bg-dark rounded">
<label for="darkDatepicker" class="form-label text-light">Dark mode datepicker</label>
<input type="text" class="form-control" id="darkDatepicker" data-bs-toggle="datepicker" placeholder="Select a date">
<h2>JavaScript Initialization</h2>
<div class="row mb-4">
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="jsDatepicker" class="form-label">Initialized via JavaScript</label>
<input type="text" class="form-control" id="jsDatepicker" placeholder="Click to select">
<div class="mt-2">
<h2>Events Test</h2>
<div class="row mb-4">
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="eventsDatepicker" class="form-label">Events datepicker</label>
<input type="text" class="form-control" id="eventsDatepicker" data-bs-toggle="datepicker" placeholder="Select a date">
<div id="eventsLog" class="mt-2 p-2 bg-light border rounded" style="min-height: 100px; font-family: monospace; font-size: 12px; white-space: pre-wrap;"></div>
<h2>Navbar Integration</h2>
<p class="text-body-secondary">Submenus work within navbar menus.</p>
- <nav class="navbar navbar-expand-lg bg-body-tertiary rounded">
+ <nav class="navbar lg:navbar-expand bg-body-tertiary rounded">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSubmenu" aria-controls="navbarSubmenu" aria-expanded="false" aria-label="Toggle navigation">
<div class="container">
<h1>Menu <small>Bootstrap Visual Test</small></h1>
- <nav class="navbar navbar-expand-md bg-light">
+ <nav class="navbar md:navbar-expand bg-light">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</style>
</head>
<body data-bs-spy="scroll" data-bs-target=".navbar" data-bs-offset="70">
- <nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
+ <nav class="navbar md:navbar-expand navbar-dark bg-dark fixed-top">
<a class="navbar-brand" href="#">Scrollspy test</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
<h1>Toast <small>Bootstrap Visual Test</small></h1>
<div class="row mt-3">
- <div class="col-md-12">
+ <div class="md:col-12">
<button id="btnShowToast" class="btn-solid theme-primary">Show toast</button>
<button id="btnHideToast" class="btn-solid theme-primary">Hide toast</button>
</div>
</p>
</div>
<div class="row">
- <div class="col-sm-3">
+ <div class="sm:col-3">
<div id="target" title="Test tooltip on transformed element"></div>
</div>
<div id="shadow" class="pt-5"></div>
// Responsive fullscreen dialogs
@each $breakpoint in map.keys($breakpoints) {
- $infix: breakpoint-infix($breakpoint, $breakpoints);
- // stylelint-disable-next-line scss/at-function-named-arguments
- $postfix: if(sass($infix != ""): #{$infix}-down; else: "");
+ $prefix: breakpoint-prefix($breakpoint, $breakpoints);
- @if $postfix != "" {
+ @if $prefix != "" {
@include media-breakpoint-down($breakpoint) {
- .dialog-fullscreen#{$postfix} {
+ .#{css-escape-ident($breakpoint)}-down\:dialog-fullscreen {
--dialog-width: 100vw;
--dialog-margin: 0;
--dialog-border-radius: 0;
@each $breakpoint in map.keys($breakpoints) {
@include media-breakpoint-up($breakpoint) {
- $infix: breakpoint-infix($breakpoint, $breakpoints);
+ $prefix: breakpoint-prefix($breakpoint, $breakpoints);
- .list-group-horizontal#{$infix} {
+ .#{$prefix}list-group-horizontal {
flex-direction: row;
> .list-group-item {
}
@each $breakpoint, $container-max-width in $container-max-widths {
- > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {
+ > .#{breakpoint-prefix($breakpoint, $container-max-widths)}container {
@extend %container-flex-properties;
}
}
}
// scss-docs-start navbar-expand-loop
- // Generate series of `.navbar-expand-*` responsive classes for configuring
+ // Generate series of responsive `.navbar-expand` classes for configuring
// where your navbar collapses and expands. Uses container queries so the
// navbar responds to its own width, not the viewport width.
}
// Responsive navbar expand classes using container queries
- @include loop-breakpoints-down($navbar-breakpoints) using ($breakpoint, $next, $infix) {
+ @include loop-breakpoints-down($navbar-breakpoints) using ($breakpoint, $next, $prefix) {
@if $next {
- .navbar-expand#{$infix} {
+ .#{$prefix}navbar-expand {
@include container-breakpoint-up($next) {
@include navbar-expanded();
}
@layer components {
// Apply CSS vars to all offcanvas responsive variants
- @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {
- .offcanvas#{$infix} {
+ @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {
+ .#{$prefix}offcanvas {
@extend %offcanvas-css-vars;
}
}
// Responsive offcanvas styles
- @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {
- .offcanvas#{$infix} {
+ @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {
+ .#{$prefix}offcanvas {
@include media-breakpoint-down($next) {
position: fixed;
z-index: var(--offcanvas-zindex);
}
// Above breakpoint - show content inline (for responsive offcanvas)
- @if not ($infix == "") {
+ @if not ($prefix == "") {
@include media-breakpoint-up($next) {
--offcanvas-height: auto;
--offcanvas-border-width: 0;
@include stepper-horizontal();
}
- @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {
+ @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {
@if $next {
- .stepper-horizontal#{$infix} {
+ .#{$prefix}stepper-horizontal {
@include container-breakpoint-up($next) {
@include stepper-horizontal();
}
// Responsive tables
//
- // Generate series of `.table-responsive-*` classes for configuring the screen
- // size of where your table will overflow.
+ // Generate series of responsive `.table-responsive` classes for configuring
+ // the screen size of where your table will overflow.
@each $breakpoint in map.keys($breakpoints) {
- $infix: breakpoint-infix($breakpoint, $breakpoints);
+ $prefix: breakpoint-prefix($breakpoint, $breakpoints);
@include media-breakpoint-down($breakpoint) {
- .table-responsive#{$infix} {
+ .#{$prefix}table-responsive {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
// Responsive sticky top and bottom
@each $breakpoint in map.keys($breakpoints) {
@include media-breakpoint-up($breakpoint) {
- $infix: breakpoint-infix($breakpoint, $breakpoints);
+ $prefix: breakpoint-prefix($breakpoint, $breakpoints);
- .sticky#{$infix}-top {
+ .#{$prefix}sticky-top {
position: sticky;
top: 0;
z-index: $zindex-sticky;
}
- .sticky#{$infix}-bottom {
+ .#{$prefix}sticky-bottom {
position: sticky;
bottom: 0;
z-index: $zindex-sticky;
align-self: var(--stack-align-self, stretch);
}
- @include loop-breakpoints-up() using ($breakpoint, $infix) {
- .vstack#{$infix} {
+ @include loop-breakpoints-up() using ($breakpoint, $prefix) {
+ .#{$prefix}vstack {
@include container-breakpoint-up($breakpoint) {
--stack-direction: column;
--stack-align-items: stretch;
}
}
- .hstack#{$infix} {
+ .#{$prefix}hstack {
@include container-breakpoint-up($breakpoint) {
--stack-direction: row;
--stack-align-items: flex-start;
@use "sass:list";
@use "sass:map";
+@use "sass:string";
@use "../config" as *;
// Breakpoint viewport sizes and media queries.
@return if(sass($max and $max > 0): $max; else: null);
}
-// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.
-// Useful for making responsive utilities.
+// Escape a name for use at the start of a CSS identifier.
+// Leading digits are hex-escaped (e.g., 2xl becomes \32 xl).
+@function css-escape-ident($name) {
+ $name-str: "#{$name}";
+ $digits: "0", "1", "2", "3", "4", "5", "6", "7", "8", "9";
+ $first: string.slice($name-str, 1, 1);
+
+ @if list.index($digits, $first) {
+ @return "\\3#{$first} #{string.slice($name-str, 2)}";
+ }
+
+ @return $name-str;
+}
+
+// Returns a blank string if smallest breakpoint, otherwise returns the name
+// with an escaped colon as a Tailwind-style prefix for responsive class names.
+// Leading digits are CSS-escaped (e.g., 2xl becomes \32 xl) for valid identifiers.
//
-// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))
+// >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))
// "" (Returns a blank string)
-// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))
-// "-sm"
-@function breakpoint-infix($name, $breakpoints: $breakpoints) {
- @return if(sass(breakpoint-min($name, $breakpoints) == null): ""; else: "-#{$name}");
+// >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))
+// "sm\:"
+// >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))
+// "\32 xl\:"
+@function breakpoint-prefix($name, $breakpoints: $breakpoints) {
+ @if breakpoint-min($name, $breakpoints) == null {
+ @return "";
+ }
+
+ @return "#{css-escape-ident($name)}\\:";
}
-// Iterate all breakpoints and provide the current name and infix.
+// Iterate all breakpoints and provide the current name and prefix.
//
-// @include loop-breakpoints-up() using ($breakpoint, $infix) {
+// @include loop-breakpoints-up() using ($breakpoint, $prefix) {
// // ...
// }
@mixin loop-breakpoints-up($breakpoints: $breakpoints) {
@each $breakpoint in map.keys($breakpoints) {
- $infix: breakpoint-infix($breakpoint, $breakpoints);
- @content($breakpoint, $infix);
+ $prefix: breakpoint-prefix($breakpoint, $breakpoints);
+ @content($breakpoint, $prefix);
}
}
-// Iterate all breakpoints and provide the current name, next name, and next infix.
+// Iterate all breakpoints and provide the current name, next name, and next prefix.
//
-// @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {
+// @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {
// // ...
// }
@mixin loop-breakpoints-down($breakpoints: $breakpoints) {
@each $breakpoint in map.keys($breakpoints) {
$next: breakpoint-next($breakpoint, $breakpoints);
- $infix: breakpoint-infix($next, $breakpoints);
- @content($breakpoint, $next, $infix);
+ $prefix: breakpoint-prefix($next, $breakpoints);
+ @content($breakpoint, $next, $prefix);
}
}
// Backwards-compatible alias for next/down breakpoint loops.
@mixin loop-breakpoints($breakpoints: $breakpoints) {
- @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $infix) {
- @content($breakpoint, $next, $infix);
+ @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {
+ @content($breakpoint, $next, $prefix);
}
}
// Responsive containers that are 100% wide until a breakpoint
@each $breakpoint, $container-max-width in $container-max-widths {
- .container-#{$breakpoint} {
+ .#{breakpoint-prefix($breakpoint, $breakpoints)}container {
@extend .container-fluid;
}
@each $name, $width in $breakpoints {
@if ($extend-breakpoint) {
- .container#{breakpoint-infix($name, $breakpoints)} {
+ .#{breakpoint-prefix($name, $breakpoints)}container {
@extend %responsive-container-#{$breakpoint};
}
@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {
@each $breakpoint in map.keys($breakpoints) {
- $infix: breakpoint-infix($breakpoint, $breakpoints);
+ $prefix: breakpoint-prefix($breakpoint, $breakpoints);
@include media-breakpoint-up($breakpoint, $breakpoints) {
- // Provide basic `.col-{bp}` classes for equal-width flexbox columns
- .col#{$infix} {
+ .#{$prefix}col {
flex: 1 0 0;
}
- .row-cols#{$infix}-auto > * {
+ .#{$prefix}row-cols-auto > * {
@include make-col-auto();
}
@if $grid-row-columns > 0 {
@for $i from 1 through $grid-row-columns {
- .row-cols#{$infix}-#{$i} {
+ .#{$prefix}row-cols-#{$i} {
@include row-cols($i);
}
}
}
- .col#{$infix}-auto {
+ .#{$prefix}col-auto {
@include make-col-auto();
}
@if $columns > 0 {
@for $i from 1 through $columns {
- .col#{$infix}-#{$i} {
+ .#{$prefix}col-#{$i} {
@include make-col($i, $columns);
}
}
// `$columns - 1` because offsetting by the width of an entire row isn't possible
@for $i from 0 through ($columns - 1) {
- @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0
- .offset#{$infix}-#{$i} {
+ @if not ($prefix == "" and $i == 0) { // Avoid emitting useless .offset-0
+ .#{$prefix}offset-#{$i} {
@include make-col-offset($i, $columns);
}
}
//
// Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.
@each $key, $value in $gutters {
- .g#{$infix}-#{$key},
- .gx#{$infix}-#{$key} {
+ .#{$prefix}g-#{$key},
+ .#{$prefix}gx-#{$key} {
--gutter-x: #{$value};
}
- .g#{$infix}-#{$key},
- .gy#{$infix}-#{$key} {
+ .#{$prefix}g-#{$key},
+ .#{$prefix}gy-#{$key} {
--gutter-y: #{$value};
}
}
@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {
@each $breakpoint in map.keys($breakpoints) {
- $infix: breakpoint-infix($breakpoint, $breakpoints);
+ $prefix: breakpoint-prefix($breakpoint, $breakpoints);
@include media-breakpoint-up($breakpoint, $breakpoints) {
@if $columns > 0 {
@for $i from 1 through $columns {
- .g-col#{$infix}-#{$i} {
+ .#{$prefix}g-col-#{$i} {
grid-column: auto / span $i;
}
}
// Start with `1` because `0` is an invalid value.
// Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.
@for $i from 1 through ($columns - 1) {
- .g-start#{$infix}-#{$i} {
+ .#{$prefix}g-start-#{$i} {
grid-column-start: $i;
}
}
}
}
-@mixin generate-utility($utility, $infix: "") {
+@mixin generate-utility($utility, $prefix: "") {
// Validate required keys
@if not map.has-key($utility, property) {
@error "Utility is missing required `property` key: #{$utility}";
}
}
- // Calculate infix once, before the loop
- // Note: $infix already includes the leading dash from breakpoint-infix()
- // $infix: if($infix == "", "", "-" + $infix);
-
@each $key, $value in $values {
$properties: map.get($utility, property);
$propertyMap: null;
$customClass: "";
// Check if property is a map (new Property-Value Mapping approach)
- // @debug "Properties type: #{meta.type-of($properties)}";
- // @debug "Properties: #{$properties}";
@if meta.type-of($properties) == "map" {
$propertyMap: $properties;
- // For property maps, we need to determine the class from the utility definition
$customClass: "";
@if map.has-key($utility, class) {
$customClass: map.get($utility, class);
}
}
- // Use custom CSS variable name if present, otherwise default to `class`
- // mdo-do: restore?
- // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));
-
// State params to generate state variants
$state: ();
@if map.has-key($utility, state) {
$state: map.get($utility, state);
}
- // $infix: if($customClass == "" and str-slice($infix, 1, 1) == "-", str-slice($infix, 2), $infix);
-
- // Don't prefix if value key is null (e.g. with shadow class)
+ // Don't add a dash before value key if value key is null (e.g. with shadow class)
$customClassModifier: "";
@if $key {
- @if $customClass == "" and $infix == "" {
+ @if $customClass == "" {
$customClassModifier: $key;
} @else {
$customClassModifier: "-" + $key;
$selector: "";
@if $selectorType == "class" {
- // Use the fallback of the first property if no `class` key is used
@if $customClass != "" {
- $selector: ".#{$customClass + $infix + $customClassModifier}";
+ $selector: ".#{$prefix + $customClass + $customClassModifier}";
+ } @else if $selectorClass != null and $selectorClass != "" {
+ $selector: ".#{$prefix + $selectorClass + $customClassModifier}";
} @else {
- $selector: ".#{$selectorClass + $infix + $customClassModifier}";
+ $selector: ".#{$prefix + $customClassModifier}";
}
} @else if $selectorType == "attr-starts" {
$selector: "[class^=\"#{$selectorClass}\"]";
// }
}
- // @include describe("$infix") {
- // @include it("inserts the given infix") {
- // @include test-generate-utility(
- // (
- // property: "padding",
- // values: (null: 1rem, small: .5rem, large: 2rem)
- // ),
- // $infix: -sm
- // ) {
- // .padding-sm {
- // padding: 1rem;
- // }
-
- // .padding-sm-small {
- // padding: .5rem;
- // }
-
- // .padding-sm-large {
- // padding: 2rem;
- // }
- // }
- // }
-
- // @include it("strips leading - if class is null") {
- // @include test-generate-utility(
- // (
- // property: visibility,
- // class: null,
- // values: (
- // visible: visible,
- // invisible: hidden,
- // )
- // ),
- // -sm
- // ) {
- // .sm-visible {
- // visibility: visible;
- // }
-
- // .sm-invisible {
- // visibility: hidden;
- // }
- // }
- // }
- // }
+ @include describe("$prefix") {
+ @include it("prepends the given prefix") {
+ @include test-generate-utility(
+ (
+ property: "padding",
+ values: (null: 1rem, small: .5rem, large: 2rem)
+ ),
+ $prefix: "sm\\:"
+ ) {
+ .sm\:padding {
+ padding: 1rem;
+ }
+
+ .sm\:padding-small {
+ padding: .5rem;
+ }
+
+ .sm\:padding-large {
+ padding: 2rem;
+ }
+ }
+ }
+
+ @include it("works with null class") {
+ @include test-generate-utility(
+ (
+ property: visibility,
+ class: null,
+ values: (
+ visible: visible,
+ invisible: hidden,
+ )
+ ),
+ "sm\\:"
+ ) {
+ .sm\:visible {
+ visibility: visible;
+ }
+
+ .sm\:invisible {
+ visibility: hidden;
+ }
+ }
+ }
+ }
}
}
@media (width >= 333px) {
- .padding-sm-1rem {
+ .sm\:padding-1rem {
padding: 1rem !important;
}
}
@media (width >= 666px) {
- .padding-md-1rem {
+ .md\:padding-1rem {
padding: 1rem !important;
}
}
@media print {
- .font-size-print-large {
+ .print\:font-size-large {
font-size: 1.25rem !important;
}
}
// Generate media query if needed
@include media-breakpoint-up($breakpoint) {
- $infix: breakpoint-infix($breakpoint, $breakpoints);
+ $prefix: breakpoint-prefix($breakpoint, $breakpoints);
// Loop over each utility property
@each $key, $utility in $utilities {
// The utility can be disabled with `false`, thus check if the utility is a map first
// Only proceed if responsive media queries are enabled or if it's the base media query
- @if meta.type-of($utility) == "map" and (map.get($utility, responsive) or $infix == "") {
- @include generate-utility($utility, $infix);
+ @if meta.type-of($utility) == "map" and (map.get($utility, responsive) or $prefix == "") {
+ @include generate-utility($utility, $prefix);
}
}
}
// The utility can be disabled with `false`, thus check if the utility is a map first
// Then check if the utility needs print styles
@if meta.type-of($utility) == "map" and map.get($utility, print) == true {
- @include generate-utility($utility, "-print");
+ @include generate-utility($utility, "print\\:");
}
}
}
<div class="collapse text-bg-dark" id="navbarHeader">
<div class="container">
<div class="row">
- <div class="col-sm-8 col-md-7 py-4">
+ <div class="sm:col-8 md:col-7 py-4">
<h4>About</h4>
<p class="text-body-secondary">Add some information about the album below, the author, or any other background context. Make it a few sentences long so folks can pick up some informative tidbits. Then, link them off to some social networking sites or contact information.</p>
</div>
- <div class="col-sm-4 offset-md-1 py-4">
+ <div class="sm:col-4 md:offset-1 py-4">
<h4>Contact</h4>
<ul class="list-unstyled">
<li><a href="#" class="text-white">Follow on X</a></li>
<main>
<section class="py-5 text-center container">
- <div class="row py-lg-5">
- <div class="col-lg-6 col-md-8 mx-auto">
+ <div class="row lg:py-5">
+ <div class="lg:col-6 md:col-8 mx-auto">
<h1 class="fw-light">Album example</h1>
<p class="lead text-body-secondary">Something short and leading about the collection below—its contents, the creator, etc. Make it short and sweet, but not too short so folks don’t simply skip over it entirely.</p>
<p>
<div class="album py-5 bg-body-tertiary">
<div class="container">
- <div class="row row-cols-1 row-cols-sm-2 row-cols-md-3 g-3">
+ <div class="row row-cols-1 sm:row-cols-2 md:row-cols-3 g-3">
<div class="col">
<div class="card shadow-sm">
<Placeholder width="100%" height="225" background="#55595c" color="#eceeef" class="card-img-top" text="Thumbnail" />
</div>
<main class="container">
- <div class="p-4 p-md-5 mb-4 rounded text-body-emphasis bg-body-secondary">
- <div class="col-lg-6 px-0">
+ <div class="p-4 md:p-5 mb-4 rounded text-body-emphasis bg-body-secondary">
+ <div class="lg:col-6 px-0">
<h1 class="display-4 fst-italic">Title of a longer featured blog post</h1>
<p class="lead my-3">Multiple lines of text that form the lede, informing new readers quickly and efficiently about what’s most interesting in this post’s contents.</p>
<p class="lead mb-0"><a href="#" class="text-body-emphasis fw-bold">Continue reading...</a></p>
</div>
<div class="row mb-2">
- <div class="col-md-6">
- <div class="row g-0 border rounded overflow-hidden flex-md-row mb-4 shadow-sm h-md-250 position-relative">
+ <div class="md:col-6">
+ <div class="row g-0 border rounded overflow-hidden md:flex-row mb-4 shadow-sm h-md-250 position-relative">
<div class="col p-4 d-flex flex-column position-static">
<strong class="d-inline-block mb-2 text-primary-emphasis">World</strong>
<h3 class="mb-0">Featured post</h3>
<svg class="bi" aria-hidden="true"><use href="#chevron-right"/></svg>
</a>
</div>
- <div class="col-auto d-none d-lg-block">
+ <div class="col-auto d-none lg:d-block">
<Placeholder width="200" height="250" background="#55595c" color="#eceeef" text="Thumbnail" />
</div>
</div>
</div>
- <div class="col-md-6">
- <div class="row g-0 border rounded overflow-hidden flex-md-row mb-4 shadow-sm h-md-250 position-relative">
+ <div class="md:col-6">
+ <div class="row g-0 border rounded overflow-hidden md:flex-row mb-4 shadow-sm h-md-250 position-relative">
<div class="col p-4 d-flex flex-column position-static">
<strong class="d-inline-block mb-2 text-success-emphasis">Design</strong>
<h3 class="mb-0">Post title</h3>
<svg class="bi" aria-hidden="true"><use href="#chevron-right"/></svg>
</a>
</div>
- <div class="col-auto d-none d-lg-block">
+ <div class="col-auto d-none lg:d-block">
<Placeholder width="200" height="250" background="#55595c" color="#eceeef" text="Thumbnail" />
</div>
</div>
</div>
<div class="row g-5">
- <div class="col-md-8">
+ <div class="md:col-8">
<h3 class="pb-4 mb-4 fst-italic border-bottom">
From the Firehose
</h3>
</div>
- <div class="col-md-4">
+ <div class="md:col-4">
<div class="position-sticky" style="top: 2rem;">
<div class="p-4 mb-3 bg-body-tertiary rounded">
<h4 class="fst-italic">About</h4>
<h4 class="fst-italic">Recent posts</h4>
<ul class="list-unstyled">
<li>
- <a class="d-flex flex-column flex-lg-row gap-3 align-items-start align-items-lg-center py-3 link-body-emphasis text-decoration-none border-top" href="#">
+ <a class="d-flex flex-column lg:flex-row gap-3 align-items-start lg:align-items-center py-3 link-body-emphasis text-decoration-none border-top" href="#">
<Placeholder width="100%" height="96" background="#777" color="#777" text={false} title={false} />
- <div class="col-lg-8">
+ <div class="lg:col-8">
<h6 class="mb-0">Example blog post title</h6>
<small class="text-body-secondary">January 15, 2024</small>
</div>
</a>
</li>
<li>
- <a class="d-flex flex-column flex-lg-row gap-3 align-items-start align-items-lg-center py-3 link-body-emphasis text-decoration-none border-top" href="#">
+ <a class="d-flex flex-column lg:flex-row gap-3 align-items-start lg:align-items-center py-3 link-body-emphasis text-decoration-none border-top" href="#">
<Placeholder width="100%" height="96" background="#777" color="#777" text={false} title={false} />
- <div class="col-lg-8">
+ <div class="lg:col-8">
<h6 class="mb-0">This is another blog post title</h6>
<small class="text-body-secondary">January 14, 2024</small>
</div>
</a>
</li>
<li>
- <a class="d-flex flex-column flex-lg-row gap-3 align-items-start align-items-lg-center py-3 link-body-emphasis text-decoration-none border-top" href="#">
+ <a class="d-flex flex-column lg:flex-row gap-3 align-items-start lg:align-items-center py-3 link-body-emphasis text-decoration-none border-top" href="#">
<Placeholder width="100%" height="96" background="#777" color="#777" text={false} title={false} />
- <div class="col-lg-8">
+ <div class="lg:col-8">
<h6 class="mb-0">Longer blog post title: This one has multiple lines!</h6>
<small class="text-body-secondary">January 13, 2024</small>
</div>
<div class="b-example-divider"></div>
-<div class="col-lg-6 col-2xl-4 my-5 mx-auto">
+<div class="lg:col-6 2xl:col-4 my-5 mx-auto">
<div class="d-grid gap-2">
<button class="btn-solid theme-outline-secondary" type="button">Secondary action</button>
<button class="btn-solid theme-primary" type="button">Primary action</button>
-------------------------------------------------- */
/* Center align the text within the three columns below the carousel */
-.marketing .col-lg-4 {
+.marketing .lg\:col-4 {
margin-bottom: 1.5rem;
text-align: center;
}
/* rtl:begin:ignore */
-.marketing .col-lg-4 p {
+.marketing .lg\:col-4 p {
margin-right: .75rem;
margin-left: .75rem;
}
---
<header data-bs-theme="dark">
- <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
+ <nav class="navbar md:navbar-expand navbar-dark fixed-top bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">Carousel</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<svg class="navbar-toggler-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round"><path d="M1 3.5h14M1 8h14M1 12.5h14"/></svg>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
- <ul class="navbar-nav me-auto mb-2 mb-md-0">
+ <ul class="navbar-nav me-auto mb-2 md:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
<!-- Three columns of text below the carousel -->
<div class="row">
- <div class="col-lg-4">
+ <div class="lg:col-4">
<Placeholder width="140" height="140" background="var(--bs-secondary-color)" text={false} class="rounded-circle" />
<h2 class="fw-normal">Heading</h2>
<p>Some representative placeholder content for the three columns of text below the carousel. This is the first column.</p>
<p><a class="btn-solid theme-secondary" href="#">View details »</a></p>
- </div><!-- /.col-lg-4 -->
- <div class="col-lg-4">
+ </div><!-- /.lg:col-4 -->
+ <div class="lg:col-4">
<Placeholder width="140" height="140" background="var(--bs-secondary-color)" text={false} class="rounded-circle" />
<h2 class="fw-normal">Heading</h2>
<p>Another exciting bit of representative placeholder content. This time, we've moved on to the second column.</p>
<p><a class="btn-solid theme-secondary" href="#">View details »</a></p>
- </div><!-- /.col-lg-4 -->
- <div class="col-lg-4">
+ </div><!-- /.lg:col-4 -->
+ <div class="lg:col-4">
<Placeholder width="140" height="140" background="var(--bs-secondary-color)" text={false} class="rounded-circle" />
<h2 class="fw-normal">Heading</h2>
<p>And lastly this, the third column of representative placeholder content.</p>
<p><a class="btn-solid theme-secondary" href="#">View details »</a></p>
- </div><!-- /.col-lg-4 -->
+ </div><!-- /.lg:col-4 -->
</div><!-- /.row -->
<hr class="featurette-divider">
<div class="row featurette">
- <div class="col-md-7">
+ <div class="md:col-7">
<h2 class="featurette-heading fw-normal lh-1">First featurette heading. <span class="text-body-secondary">It’ll blow your mind.</span></h2>
<p class="lead">Some great placeholder content for the first featurette here. Imagine some exciting prose here.</p>
</div>
- <div class="col-md-5">
+ <div class="md:col-5">
<Placeholder width="500" height="500" background="var(--bs-secondary-bg)" color="var(--bs-secondary-color)" class="bd-placeholder-img-lg featurette-image img-fluid mx-auto" />
</div>
</div>
<hr class="featurette-divider">
<div class="row featurette">
- <div class="col-md-7 order-md-2">
+ <div class="md:col-7 md:order-2">
<h2 class="featurette-heading fw-normal lh-1">Oh yeah, it’s that good. <span class="text-body-secondary">See for yourself.</span></h2>
<p class="lead">Another featurette? Of course. More placeholder content here to give you an idea of how this layout would work with some actual real-world content in place.</p>
</div>
- <div class="col-md-5 order-md-1">
+ <div class="md:col-5 md:order-1">
<Placeholder width="500" height="500" background="var(--bs-secondary-bg)" color="var(--bs-secondary-color)" class="bd-placeholder-img-lg featurette-image img-fluid mx-auto" />
</div>
</div>
<hr class="featurette-divider">
<div class="row featurette">
- <div class="col-md-7">
+ <div class="md:col-7">
<h2 class="featurette-heading fw-normal lh-1">And lastly, this one. <span class="text-body-secondary">Checkmate.</span></h2>
<p class="lead">And yes, this is the last block of representative placeholder content. Again, not really intended to be actually read, simply here to give you a better view of what this would look like with some actual content. Your content.</p>
</div>
- <div class="col-md-5">
+ <div class="md:col-5">
<Placeholder width="500" height="500" background="var(--bs-secondary-bg)" color="var(--bs-secondary-color)" class="bd-placeholder-img-lg featurette-image img-fluid mx-auto" />
</div>
</div>
</h1>
</div>
</header>
-<aside class="bd-aside sticky-xl-top text-body-secondary align-self-start mb-3 mb-xl-5 px-2">
+<aside class="bd-aside xl:sticky-top text-body-secondary align-self-start mb-3 xl:mb-5 px-2">
<h2 class="h6 pt-4 pb-3 mb-4 border-bottom">On this page</h2>
<nav class="small" id="toc">
<ul class="list-unstyled">
</aside>
<main class="bd-cheatsheet container-fluid bg-body">
<section id="content">
- <h2 class="sticky-xl-top fw-bold pt-3 pt-xl-5 pb-2 pb-xl-3">Contents</h2>
+ <h2 class="xl:sticky-top fw-bold pt-3 xl:pt-5 pb-2 xl:pb-3">Contents</h2>
<article class="my-3" id="typography">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Typography</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('content/typography')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="images">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Images</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('content/images')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="tables">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Tables</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('content/tables')}>Documentation</a>
</div>
</article>
<article class="my-3" id="figures">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Figures</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('content/images#figures')}>Documentation</a>
</div>
</section>
<section id="forms">
- <h2 class="sticky-xl-top fw-bold pt-3 pt-xl-5 pb-2 pb-xl-3">Forms</h2>
+ <h2 class="xl:sticky-top fw-bold pt-3 xl:pt-5 pb-2 xl:pb-3">Forms</h2>
<article class="my-3" id="overview">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Overview</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('forms/overview/')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="disabled-forms">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Disabled forms</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('forms/overview/#disabled-forms')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="sizing">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Sizing</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('forms/form-control#sizing')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="input-group">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Input group</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('forms/input-group')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="floating-labels">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Floating labels</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('forms/floating-labels')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="validation">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Validation</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('forms/validation')}>Documentation</a>
</div>
<div>
<Example showMarkup={false} code={`
<form class="row g-3">
- <div class="col-md-4">
+ <div class="md:col-4">
<label for="validationServer01" class="form-label">First name</label>
<input type="text" class="form-control is-valid" id="validationServer01" value="Mark" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
- <div class="col-md-4">
+ <div class="md:col-4">
<label for="validationServer02" class="form-label">Last name</label>
<input type="text" class="form-control is-valid" id="validationServer02" value="Otto" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
- <div class="col-md-4">
+ <div class="md:col-4">
<label for="validationServerUsername" class="form-label">Username</label>
<div class="input-group has-validation">
<span class="input-group-text" id="inputGroupPrepend3">@</span>
</div>
</div>
</div>
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="validationServer03" class="form-label">City</label>
<input type="text" class="form-control is-invalid" id="validationServer03" required>
<div class="invalid-feedback">
Please provide a valid city.
</div>
</div>
- <div class="col-md-3">
+ <div class="md:col-3">
<label for="validationServer04" class="form-label">State</label>
<select class="form-select is-invalid" id="validationServer04" required>
<option selected disabled value="">Choose...</option>
Please select a valid state.
</div>
</div>
- <div class="col-md-3">
+ <div class="md:col-3">
<label for="validationServer05" class="form-label">Zip</label>
<input type="text" class="form-control is-invalid" id="validationServer05" required>
<div class="invalid-feedback">
</section>
<section id="components">
- <h2 class="sticky-xl-top fw-bold pt-3 pt-xl-5 pb-2 pb-xl-3">Components</h2>
+ <h2 class="xl:sticky-top fw-bold pt-3 xl:pt-5 pb-2 xl:pb-3">Components</h2>
<article class="my-3" id="accordion">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Accordion</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/accordion')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="alerts">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Alerts</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/alerts')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="badge">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Badge</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/badge')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="breadcrumb">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Breadcrumb</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/breadcrumb')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="buttons">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Buttons</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/buttons')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="button-group">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Button group</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/button-group')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="card">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Card</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/card')}>Documentation</a>
</div>
<div>
<Example showMarkup={false} code={`
- <div class="row row-cols-1 row-cols-md-2 g-4">
+ <div class="row row-cols-1 md:row-cols-2 g-4">
<div class="col">
<div class="card">
<Placeholder width="100%" height="180" class="card-img-top" text="Image cap" />
<div class="col">
<div class="card">
<div class="row g-0">
- <div class="col-md-4">
+ <div class="md:col-4">
<Placeholder width="100%" height="250" text="Image" />
</div>
- <div class="col-md-8">
+ <div class="md:col-8">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
</div>
</article>
<article class="my-3" id="carousel">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Carousel</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/carousel')}>Documentation</a>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<Placeholder width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#555" background="#777" text="First slide" />
- <div class="carousel-caption d-none d-md-block">
+ <div class="carousel-caption d-none md:d-block">
<h5>First slide label</h5>
<p>Some representative placeholder content for the first slide.</p>
</div>
</div>
<div class="carousel-item">
<Placeholder width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#444" background="#666" text="Second slide" />
- <div class="carousel-caption d-none d-md-block">
+ <div class="carousel-caption d-none md:d-block">
<h5>Second slide label</h5>
<p>Some representative placeholder content for the second slide.</p>
</div>
</div>
<div class="carousel-item">
<Placeholder width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#333" background="#555" text="Third slide" />
- <div class="carousel-caption d-none d-md-block">
+ <div class="carousel-caption d-none md:d-block">
<h5>Third slide label</h5>
<p>Some representative placeholder content for the third slide.</p>
</div>
</div>
</article>
<article class="my-3" id="dialog">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Dialog</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/dialog')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="menus">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Menus</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/menus')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="list-group">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>List group</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/list-group')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="navs">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Navs</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/nav')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="navbar">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Navbar</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/navbar')}>Documentation</a>
</div>
<div>
<Example showMarkup={false} code={`
- <nav class="navbar navbar-expand-lg bg-body-tertiary">
+ <nav class="navbar lg:navbar-expand bg-body-tertiary">
<div class="container-fluid">
<a class="navbar-brand" href="#">
<img src="${getVersionedDocsPath('/assets/brand/bootstrap-logo-white.svg')}" width="38" height="30" class="d-inline-block align-top" alt="Bootstrap" loading="lazy" style="filter: invert(1) grayscale(100%) brightness(200%);">
<svg class="navbar-toggler-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round"><path d="M1 3.5h14M1 8h14M1 12.5h14"/></svg>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
- <ul class="navbar-nav me-auto mb-2 mb-lg-0">
+ <ul class="navbar-nav me-auto mb-2 lg:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</div>
</nav>
- <nav class="navbar navbar-expand-lg navbar-dark bg-primary mt-5">
+ <nav class="navbar lg:navbar-expand navbar-dark bg-primary mt-5">
<div class="container-fluid">
<a class="navbar-brand" href="#">
<img src="${getVersionedDocsPath('/assets/brand/bootstrap-logo-white.svg')}" width="38" height="30" class="d-inline-block align-top" alt="Bootstrap" loading="lazy">
<svg class="navbar-toggler-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round"><path d="M1 3.5h14M1 8h14M1 12.5h14"/></svg>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent2">
- <ul class="navbar-nav me-auto mb-2 mb-lg-0">
+ <ul class="navbar-nav me-auto mb-2 lg:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</div>
</article>
<article class="my-3" id="pagination">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Pagination</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/pagination')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="popovers">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Popovers</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/popovers')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="progress">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Progress</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/progress')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="scrollspy">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Scrollspy</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/scrollspy')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="spinners">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Spinners</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/spinners')}>Documentation</a>
</div>
</div>
</article>
<article class="my-3" id="toasts">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Toasts</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/toasts')}>Documentation</a>
</div>
</div>
</article>
<article class="mt-3 mb-5 pb-5" id="tooltips">
- <div class="bd-heading sticky-xl-top align-self-start mt-5 mb-3 mt-xl-0 mb-xl-2">
+ <div class="bd-heading xl:sticky-top align-self-start mt-5 mb-3 xl:mt-0 xl:mb-2">
<h3>Tooltips</h3>
<a class="d-flex align-items-center" href={getVersionedDocsPath('components/tooltip')}>Documentation</a>
</div>
</div>
<div class="row g-5">
- <div class="col-md-5 col-lg-4 order-md-last">
+ <div class="md:col-5 lg:col-4 md:order-last">
<h4 class="d-flex justify-content-between align-items-center mb-3">
<span class="text-primary">Your cart</span>
<span class="badge bg-primary rounded-pill">3</span>
</div>
</form>
</div>
- <div class="col-md-7 col-lg-8">
+ <div class="md:col-7 lg:col-8">
<h4 class="mb-3">Billing address</h4>
<form class="needs-validation" novalidate>
<div class="row g-3">
- <div class="col-sm-6">
+ <div class="sm:col-6">
<label for="firstName" class="form-label">First name</label>
<input type="text" class="form-control" id="firstName" placeholder="" value="" required>
<div class="invalid-feedback">
</div>
</div>
- <div class="col-sm-6">
+ <div class="sm:col-6">
<label for="lastName" class="form-label">Last name</label>
<input type="text" class="form-control" id="lastName" placeholder="" value="" required>
<div class="invalid-feedback">
<input type="text" class="form-control" id="address2" placeholder="Apartment or suite">
</div>
- <div class="col-md-5">
+ <div class="md:col-5">
<label for="country" class="form-label">Country</label>
<select class="form-select" id="country" required>
<option value="">Choose...</option>
</div>
</div>
- <div class="col-md-4">
+ <div class="md:col-4">
<label for="state" class="form-label">State</label>
<select class="form-select" id="state" required>
<option value="">Choose...</option>
</div>
</div>
- <div class="col-md-3">
+ <div class="md:col-3">
<label for="zip" class="form-label">Zip</label>
<input type="text" class="form-control" id="zip" placeholder="" required>
<div class="invalid-feedback">
</div>
<div class="row gy-3">
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="cc-name" class="form-label">Name on card</label>
<input type="text" class="form-control" id="cc-name" placeholder="" required>
<small class="text-body-secondary">Full name as displayed on card</small>
</div>
</div>
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="cc-number" class="form-label">Credit card number</label>
<input type="text" class="form-control" id="cc-number" placeholder="" required>
<div class="invalid-feedback">
</div>
</div>
- <div class="col-md-3">
+ <div class="md:col-3">
<label for="cc-expiration" class="form-label">Expiration</label>
<input type="text" class="form-control" id="cc-expiration" placeholder="" required>
<div class="invalid-feedback">
</div>
</div>
- <div class="col-md-3">
+ <div class="md:col-3">
<label for="cc-cvv" class="form-label">CVV</label>
<input type="text" class="form-control" id="cc-cvv" placeholder="" required>
<div class="invalid-feedback">
<div class="cover-container d-flex w-100 h-100 p-3 mx-auto flex-column">
<header class="mb-auto">
<div>
- <h3 class="float-md-start mb-0">Cover</h3>
- <nav class="nav nav-masthead justify-content-center float-md-end">
+ <h3 class="md:float-start mb-0">Cover</h3>
+ <nav class="nav nav-masthead justify-content-center md:float-end">
<a class="nav-link fw-bold py-1 px-0 active" aria-current="page" href="#">Home</a>
<a class="nav-link fw-bold py-1 px-0" href="#">Features</a>
<a class="nav-link fw-bold py-1 px-0" href="#">Contact</a>
*/
@media (min-width: 768px) {
- .sidebar .offcanvas-lg {
+ .sidebar .lg\:offcanvas {
position: sticky;
top: 48px;
}
</symbol>
</svg>
-<header class="navbar sticky-top bg-dark flex-md-nowrap p-0 shadow" data-bs-theme="dark">
- <a class="navbar-brand col-md-3 col-lg-2 me-0 px-3 fs-6 text-white" href="#">Company name</a>
+<header class="navbar sticky-top bg-dark md:flex-nowrap p-0 shadow" data-bs-theme="dark">
+ <a class="navbar-brand md:col-3 lg:col-2 me-0 px-3 fs-6 text-white" href="#">Company name</a>
- <ul class="navbar-nav flex-row d-md-none">
+ <ul class="navbar-nav flex-row md:d-none">
<li class="nav-item text-nowrap">
<button class="nav-link px-3 text-white" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSearch" aria-controls="navbarSearch" aria-expanded="false" aria-label="Toggle search">
<svg class="bi" aria-hidden="true"><use href="#search"/></svg>
<div class="container-fluid">
<div class="row">
- <div class="sidebar border border-right col-md-3 col-lg-2 p-0 bg-body-tertiary">
- <div class="offcanvas-md offcanvas-end bg-body-tertiary" tabindex="-1" id="sidebarMenu" aria-labelledby="sidebarMenuLabel">
+ <div class="sidebar border border-right md:col-3 lg:col-2 p-0 bg-body-tertiary">
+ <div class="md:offcanvas offcanvas-end bg-body-tertiary" tabindex="-1" id="sidebarMenu" aria-labelledby="sidebarMenuLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="sidebarMenuLabel">Company name</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#sidebarMenu" aria-label="Close"></button>
</div>
- <div class="offcanvas-body d-md-flex flex-column p-0 pt-lg-3 overflow-y-auto">
+ <div class="offcanvas-body md:d-flex flex-column p-0 lg:pt-3 overflow-y-auto">
<ul class="nav flex-column">
<li class="nav-item">
<a class="nav-link d-flex align-items-center gap-2 active" aria-current="page" href="#">
</div>
</div>
- <main class="col-md-9 ms-sm-auto col-lg-10 px-md-4">
- <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
+ <main class="md:col-9 sm:ms-auto lg:col-10 md:px-4">
+ <div class="d-flex justify-content-between flex-wrap md:flex-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
<h1 class="h2">Dashboard</h1>
- <div class="btn-toolbar mb-2 mb-md-0">
+ <div class="btn-toolbar mb-2 md:mb-0">
<div class="btn-group me-2">
<button type="button" class="btn-outline theme-secondary btn-sm">Share</button>
<button type="button" class="btn-outline theme-secondary btn-sm">Export</button>
</svg>
<!-- Modal sheet style -->
-<div class="d-flex flex-column p-4 gap-4 py-md-5 align-items-center justify-content-center">
+<div class="d-flex flex-column p-4 gap-4 md:py-5 align-items-center justify-content-center">
<dialog class="dialog dialog-example rounded-4 shadow w-340px" open data-bs-theme="light">
<div class="dialog-header border-0">
<h1 class="dialog-title">Modal title</h1>
<div class="b-example-divider"></div>
<!-- Confirmation dialog -->
-<div class="d-flex flex-column p-4 gap-4 py-md-5 align-items-center justify-content-center">
+<div class="d-flex flex-column p-4 gap-4 md:py-5 align-items-center justify-content-center">
<dialog class="dialog dialog-example rounded-4 shadow w-340px" open data-bs-theme="light">
<div class="dialog-body text-center py-4">
<h5 class="fw-bold mb-2">Enable this setting?</h5>
<div class="b-example-divider"></div>
<!-- What's new dialog -->
-<div class="d-flex flex-column p-4 gap-4 py-md-5 align-items-center justify-content-center">
+<div class="d-flex flex-column p-4 gap-4 md:py-5 align-items-center justify-content-center">
<dialog class="dialog dialog-example rounded-4 shadow w-340px" open data-bs-theme="light">
<div class="dialog-header border-0 pt-4">
<h1 class="dialog-title fs-2 fw-bold">What's new</h1>
<div class="b-example-divider"></div>
<!-- Sign up dialog -->
-<div class="d-flex flex-column p-4 gap-4 py-md-5 align-items-center justify-content-center">
+<div class="d-flex flex-column p-4 gap-4 md:py-5 align-items-center justify-content-center">
<dialog class="dialog dialog-example rounded-4 shadow w-340px" open data-bs-theme="light">
<div class="dialog-header border-0">
<h1 class="dialog-title">Sign up for free</h1>
<div class="container px-4 py-5" id="featured-3">
<h2 class="pb-2 border-bottom">Columns with icons</h2>
- <div class="row g-4 py-5 row-cols-1 row-cols-lg-3">
+ <div class="row g-4 py-5 row-cols-1 lg:row-cols-3">
<div class="feature col">
<div class="feature-icon d-inline-flex align-items-center justify-content-center text-bg-primary bg-gradient fs-2 mb-3">
<svg class="bi" width="1em" height="1em" aria-hidden="true"><use href="#collection"/></svg>
<div class="container px-4 py-5" id="hanging-icons">
<h2 class="pb-2 border-bottom">Hanging icons</h2>
- <div class="row g-4 py-5 row-cols-1 row-cols-lg-3">
+ <div class="row g-4 py-5 row-cols-1 lg:row-cols-3">
<div class="col d-flex align-items-start">
<div class="icon-square text-body-emphasis bg-body-secondary d-inline-flex align-items-center justify-content-center fs-4 flex-shrink-0 me-3">
<svg class="bi" width="1em" height="1em" aria-hidden="true"><use href="#toggles2"/></svg>
<div class="container px-4 py-5" id="custom-cards">
<h2 class="pb-2 border-bottom">Custom cards</h2>
- <div class="row row-cols-1 row-cols-lg-3 align-items-stretch g-4 py-5">
+ <div class="row row-cols-1 lg:row-cols-3 align-items-stretch g-4 py-5">
<div class="col">
<div class="card card-cover h-100 overflow-hidden text-bg-dark rounded-4 shadow-lg" style="background-image: url('unsplash-photo-1.jpg');">
<div class="d-flex flex-column h-100 p-5 pb-3 text-white text-shadow-1">
<div class="container px-4 py-5" id="icon-grid">
<h2 class="pb-2 border-bottom">Icon grid</h2>
- <div class="row row-cols-1 row-cols-sm-2 row-cols-md-3 row-cols-lg-4 g-4 py-5">
+ <div class="row row-cols-1 sm:row-cols-2 md:row-cols-3 lg:row-cols-4 g-4 py-5">
<div class="col d-flex align-items-start">
<svg class="bi text-body-secondary flex-shrink-0 me-3" width="1.75em" height="1.75em" aria-hidden="true"><use href="#bootstrap"/></svg>
<div>
<div class="container px-4 py-5">
<h2 class="pb-2 border-bottom">Features with title</h2>
- <div class="row row-cols-1 row-cols-md-2 align-items-md-center g-5 py-5">
+ <div class="row row-cols-1 md:row-cols-2 md:align-items-center g-5 py-5">
<div class="col d-flex flex-column align-items-start gap-2">
<h2 class="fw-bold text-body-emphasis">Left-aligned title explaining these awesome features</h2>
<p class="text-body-secondary">Paragraph of text beneath the heading to explain the heading. We'll add onto it with another sentence and probably just keep going until we run out of words.</p>
</div>
<div class="col">
- <div class="row row-cols-1 row-cols-sm-2 g-4">
+ <div class="row row-cols-1 sm:row-cols-2 g-4">
<div class="col d-flex flex-column gap-2">
<div class="feature-icon-small d-inline-flex align-items-center justify-content-center text-bg-primary bg-gradient fs-4 rounded-3">
<svg class="bi" width="1em" height="1em" aria-hidden="true">
<div class="container">
<footer class="d-flex flex-wrap justify-content-between align-items-center py-3 my-4 border-top">
- <p class="col-md-4 mb-0 text-body-secondary">© {new Date().getFullYear()} Company, Inc</p>
+ <p class="md:col-4 mb-0 text-body-secondary">© {new Date().getFullYear()} Company, Inc</p>
- <a href="/" class="col-md-4 d-flex align-items-center justify-content-center mb-3 mb-md-0 me-md-auto link-body-emphasis text-decoration-none" aria-label="Bootstrap">
+ <a href="/" class="md:col-4 d-flex align-items-center justify-content-center mb-3 md:mb-0 md:me-auto link-body-emphasis text-decoration-none" aria-label="Bootstrap">
<svg class="bi me-2" width="40" height="32" aria-hidden="true"><use href="#bootstrap"/></svg>
</a>
- <ul class="nav col-md-4 justify-content-end">
+ <ul class="nav md:col-4 justify-content-end">
<li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Home</a></li>
<li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Features</a></li>
<li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Pricing</a></li>
<div class="container">
<footer class="d-flex flex-wrap justify-content-between align-items-center py-3 my-4 border-top">
- <div class="col-md-4 d-flex align-items-center">
- <a href="/" class="mb-3 me-2 mb-md-0 text-body-secondary text-decoration-none lh-1" aria-label="Bootstrap">
+ <div class="md:col-4 d-flex align-items-center">
+ <a href="/" class="mb-3 me-2 md:mb-0 text-body-secondary text-decoration-none lh-1" aria-label="Bootstrap">
<svg class="bi" width="30" height="24" aria-hidden="true"><use href="#bootstrap"/></svg>
</a>
- <span class="mb-3 mb-md-0 text-body-secondary">© {new Date().getFullYear()} Company, Inc</span>
+ <span class="mb-3 md:mb-0 text-body-secondary">© {new Date().getFullYear()} Company, Inc</span>
</div>
- <ul class="nav col-md-4 justify-content-end list-unstyled d-flex">
+ <ul class="nav md:col-4 justify-content-end list-unstyled d-flex">
<li class="ms-3"><a class="text-body-secondary" href="#" aria-label="Instagram"><svg class="bi" width="24" height="24" aria-hidden="true"><use href="#instagram"/></svg></a></li>
<li class="ms-3"><a class="text-body-secondary" href="#" aria-label="Facebook"><svg class="bi" width="24" height="24"><use href="#facebook"/></svg></a></li>
</ul>
<div class="b-example-divider"></div>
<div class="container">
- <footer class="row row-cols-1 row-cols-sm-2 row-cols-md-5 py-5 my-5 border-top">
+ <footer class="row row-cols-1 sm:row-cols-2 md:row-cols-5 py-5 my-5 border-top">
<div class="col mb-3">
<a href="/" class="d-flex align-items-center mb-3 link-body-emphasis text-decoration-none" aria-label="Bootstrap">
<svg class="bi me-2" width="40" height="32" aria-hidden="true"><use href="#bootstrap"/></svg>
<div class="container">
<footer class="py-5">
<div class="row">
- <div class="col-6 col-md-2 mb-3">
+ <div class="col-6 md:col-2 mb-3">
<h5>Section</h5>
<ul class="nav flex-column">
<li class="nav-item mb-2"><a href="#" class="nav-link p-0 text-body-secondary">Home</a></li>
</ul>
</div>
- <div class="col-6 col-md-2 mb-3">
+ <div class="col-6 md:col-2 mb-3">
<h5>Section</h5>
<ul class="nav flex-column">
<li class="nav-item mb-2"><a href="#" class="nav-link p-0 text-body-secondary">Home</a></li>
</ul>
</div>
- <div class="col-6 col-md-2 mb-3">
+ <div class="col-6 md:col-2 mb-3">
<h5>Section</h5>
<ul class="nav flex-column">
<li class="nav-item mb-2"><a href="#" class="nav-link p-0 text-body-secondary">Home</a></li>
</ul>
</div>
- <div class="col-md-5 offset-md-1 mb-3">
+ <div class="md:col-5 md:offset-1 mb-3">
<form>
<h5>Subscribe to our newsletter</h5>
<p>Monthly digest of what's new and exciting from us.</p>
- <div class="d-flex flex-column flex-sm-row w-100 gap-2">
+ <div class="d-flex flex-column sm:flex-row w-100 gap-2">
<label for="newsletter1" class="visually-hidden">Email address</label>
<input id="newsletter1" type="email" class="form-control" placeholder="Email address">
<button class="btn-solid theme-primary" type="button">Subscribe</button>
</div>
</div>
- <div class="d-flex flex-column flex-sm-row justify-content-between py-4 my-4 border-top">
+ <div class="d-flex flex-column sm:flex-row justify-content-between py-4 my-4 border-top">
<p>© {new Date().getFullYear()} Company, Inc. All rights reserved.</p>
<ul class="list-unstyled d-flex">
<li class="ms-3"><a class="link-body-emphasis" href="#" aria-label="Instagram"><svg class="bi" width="24" height="24"><use href="#instagram"/></svg></a></li>
</div>
<div class="row mb-3 text-center">
- <div class="col-sm-4 themed-grid-col">.col-sm-4</div>
- <div class="col-sm-4 themed-grid-col">.col-sm-4</div>
- <div class="col-sm-4 themed-grid-col">.col-sm-4</div>
+ <div class="sm:col-4 themed-grid-col">.sm:col-4</div>
+ <div class="sm:col-4 themed-grid-col">.sm:col-4</div>
+ <div class="sm:col-4 themed-grid-col">.sm:col-4</div>
</div>
<div class="row mb-3 text-center">
- <div class="col-md-4 themed-grid-col">.col-md-4</div>
- <div class="col-md-4 themed-grid-col">.col-md-4</div>
- <div class="col-md-4 themed-grid-col">.col-md-4</div>
+ <div class="md:col-4 themed-grid-col">.md:col-4</div>
+ <div class="md:col-4 themed-grid-col">.md:col-4</div>
+ <div class="md:col-4 themed-grid-col">.md:col-4</div>
</div>
<div class="row mb-3 text-center">
- <div class="col-lg-4 themed-grid-col">.col-lg-4</div>
- <div class="col-lg-4 themed-grid-col">.col-lg-4</div>
- <div class="col-lg-4 themed-grid-col">.col-lg-4</div>
+ <div class="lg:col-4 themed-grid-col">.lg:col-4</div>
+ <div class="lg:col-4 themed-grid-col">.lg:col-4</div>
+ <div class="lg:col-4 themed-grid-col">.lg:col-4</div>
</div>
<div class="row mb-3 text-center">
- <div class="col-xl-4 themed-grid-col">.col-xl-4</div>
- <div class="col-xl-4 themed-grid-col">.col-xl-4</div>
- <div class="col-xl-4 themed-grid-col">.col-xl-4</div>
+ <div class="xl:col-4 themed-grid-col">.xl:col-4</div>
+ <div class="xl:col-4 themed-grid-col">.xl:col-4</div>
+ <div class="xl:col-4 themed-grid-col">.xl:col-4</div>
</div>
<div class="row mb-3 text-center">
- <div class="col-2xl-4 themed-grid-col">.col-2xl-4</div>
- <div class="col-2xl-4 themed-grid-col">.col-2xl-4</div>
- <div class="col-2xl-4 themed-grid-col">.col-2xl-4</div>
+ <div class="2xl:col-4 themed-grid-col">.2xl:col-4</div>
+ <div class="2xl:col-4 themed-grid-col">.2xl:col-4</div>
+ <div class="2xl:col-4 themed-grid-col">.2xl:col-4</div>
</div>
<h2 class="mt-4">Three equal columns</h2>
<p>Get three equal-width columns <strong>starting at desktops and scaling to large desktops</strong>. On mobile devices, tablets and below, the columns will automatically stack.</p>
<div class="row mb-3 text-center">
- <div class="col-md-4 themed-grid-col">.col-md-4</div>
- <div class="col-md-4 themed-grid-col">.col-md-4</div>
- <div class="col-md-4 themed-grid-col">.col-md-4</div>
+ <div class="md:col-4 themed-grid-col">.md:col-4</div>
+ <div class="md:col-4 themed-grid-col">.md:col-4</div>
+ <div class="md:col-4 themed-grid-col">.md:col-4</div>
</div>
<h2 class="mt-4">Three equal columns alternative</h2>
<p>By using the <code>.row-cols-*</code> classes, you can easily create a grid with equal columns.</p>
- <div class="row row-cols-md-3 mb-3 text-center">
- <div class="col themed-grid-col"><code>.col</code> child of <code>.row-cols-md-3</code></div>
- <div class="col themed-grid-col"><code>.col</code> child of <code>.row-cols-md-3</code></div>
- <div class="col themed-grid-col"><code>.col</code> child of <code>.row-cols-md-3</code></div>
+ <div class="row md:row-cols-3 mb-3 text-center">
+ <div class="col themed-grid-col"><code>.col</code> child of <code>.md:row-cols-3</code></div>
+ <div class="col themed-grid-col"><code>.col</code> child of <code>.md:row-cols-3</code></div>
+ <div class="col themed-grid-col"><code>.col</code> child of <code>.md:row-cols-3</code></div>
</div>
<h2 class="mt-4">Three unequal columns</h2>
<p>Get three columns <strong>starting at desktops and scaling to large desktops</strong> of various widths. Remember, grid columns should add up to twelve for a single horizontal block. More than that, and columns start stacking no matter the viewport.</p>
<div class="row mb-3 text-center">
- <div class="col-md-3 themed-grid-col">.col-md-3</div>
- <div class="col-md-6 themed-grid-col">.col-md-6</div>
- <div class="col-md-3 themed-grid-col">.col-md-3</div>
+ <div class="md:col-3 themed-grid-col">.md:col-3</div>
+ <div class="md:col-6 themed-grid-col">.md:col-6</div>
+ <div class="md:col-3 themed-grid-col">.md:col-3</div>
</div>
<h2 class="mt-4">Two columns</h2>
<p>Get two columns <strong>starting at desktops and scaling to large desktops</strong>.</p>
<div class="row mb-3 text-center">
- <div class="col-md-8 themed-grid-col">.col-md-8</div>
- <div class="col-md-4 themed-grid-col">.col-md-4</div>
+ <div class="md:col-8 themed-grid-col">.md:col-8</div>
+ <div class="md:col-4 themed-grid-col">.md:col-4</div>
</div>
<h2 class="mt-4">Full width, single column</h2>
<p>Per the documentation, nesting is easy—just put a row of columns within an existing column. This gives you two columns <strong>starting at desktops and scaling to large desktops</strong>, with another two (equal widths) within the larger column.</p>
<p>At mobile device sizes, tablets and down, these columns and their nested columns will stack.</p>
<div class="row mb-3 text-center">
- <div class="col-md-8 themed-grid-col">
+ <div class="md:col-8 themed-grid-col">
<div class="pb-3">
- .col-md-8
+ .md:col-8
</div>
<div class="row">
- <div class="col-md-6 themed-grid-col">.col-md-6</div>
- <div class="col-md-6 themed-grid-col">.col-md-6</div>
+ <div class="md:col-6 themed-grid-col">.md:col-6</div>
+ <div class="md:col-6 themed-grid-col">.md:col-6</div>
</div>
</div>
- <div class="col-md-4 themed-grid-col">.col-md-4</div>
+ <div class="md:col-4 themed-grid-col">.md:col-4</div>
</div>
<hr class="my-4">
<p>The Bootstrap v5 grid system has six tiers of classes: xs (extra small, this class infix is not used), sm (small), md (medium), lg (large), xl (x-large), and 2xl (xx-large). You can use nearly any combination of these classes to create more dynamic and flexible layouts.</p>
<p>Each tier of classes scales up, meaning if you plan on setting the same widths for md, lg, xl and 2xl, you only need to specify md.</p>
<div class="row mb-3 text-center">
- <div class="col-md-8 themed-grid-col">.col-md-8</div>
- <div class="col-6 col-md-4 themed-grid-col">.col-6 .col-md-4</div>
+ <div class="md:col-8 themed-grid-col">.md:col-8</div>
+ <div class="col-6 md:col-4 themed-grid-col">.col-6 .md:col-4</div>
</div>
<div class="row mb-3 text-center">
- <div class="col-6 col-md-4 themed-grid-col">.col-6 .col-md-4</div>
- <div class="col-6 col-md-4 themed-grid-col">.col-6 .col-md-4</div>
- <div class="col-6 col-md-4 themed-grid-col">.col-6 .col-md-4</div>
+ <div class="col-6 md:col-4 themed-grid-col">.col-6 .md:col-4</div>
+ <div class="col-6 md:col-4 themed-grid-col">.col-6 .md:col-4</div>
+ <div class="col-6 md:col-4 themed-grid-col">.col-6 .md:col-4</div>
</div>
<div class="row mb-3 text-center">
<div class="col-6 themed-grid-col">.col-6</div>
<h2 class="mt-4">Mixed: mobile, tablet, and desktop</h2>
<div class="row mb-3 text-center">
- <div class="col-sm-6 col-lg-8 themed-grid-col">.col-sm-6 .col-lg-8</div>
- <div class="col-6 col-lg-4 themed-grid-col">.col-6 .col-lg-4</div>
+ <div class="sm:col-6 lg:col-8 themed-grid-col">.sm:col-6 .lg:col-8</div>
+ <div class="col-6 lg:col-4 themed-grid-col">.col-6 .lg:col-4</div>
</div>
<div class="row mb-3 text-center">
- <div class="col-6 col-sm-4 themed-grid-col">.col-6 .col-sm-4</div>
- <div class="col-6 col-sm-4 themed-grid-col">.col-6 .col-sm-4</div>
- <div class="col-6 col-sm-4 themed-grid-col">.col-6 .col-sm-4</div>
+ <div class="col-6 sm:col-4 themed-grid-col">.col-6 .sm:col-4</div>
+ <div class="col-6 sm:col-4 themed-grid-col">.col-6 .sm:col-4</div>
+ <div class="col-6 sm:col-4 themed-grid-col">.col-6 .sm:col-4</div>
</div>
<hr class="my-4">
<h2 class="mt-4">Gutters</h2>
<p>With <code>.gx-*</code> classes, the horizontal gutters can be adjusted.</p>
- <div class="row row-cols-1 row-cols-md-3 gx-4 text-center">
+ <div class="row row-cols-1 md:row-cols-3 gx-4 text-center">
<div class="col themed-grid-col"><code>.col</code> with <code>.gx-4</code> gutters</div>
<div class="col themed-grid-col"><code>.col</code> with <code>.gx-4</code> gutters</div>
<div class="col themed-grid-col"><code>.col</code> with <code>.gx-4</code> gutters</div>
<div class="col themed-grid-col"><code>.col</code> with <code>.gx-4</code> gutters</div>
</div>
<p class="mt-4">Use the <code>.gy-*</code> classes to control the vertical gutters.</p>
- <div class="row row-cols-1 row-cols-md-3 gy-4 text-center">
+ <div class="row row-cols-1 md:row-cols-3 gy-4 text-center">
<div class="col themed-grid-col"><code>.col</code> with <code>.gy-4</code> gutters</div>
<div class="col themed-grid-col"><code>.col</code> with <code>.gy-4</code> gutters</div>
<div class="col themed-grid-col"><code>.col</code> with <code>.gy-4</code> gutters</div>
<div class="col themed-grid-col"><code>.col</code> with <code>.gy-4</code> gutters</div>
</div>
<p class="mt-4">With <code>.g-*</code> classes, the gutters in both directions can be adjusted.</p>
- <div class="row row-cols-1 row-cols-md-3 g-3 text-center">
+ <div class="row row-cols-1 md:row-cols-3 g-3 text-center">
<div class="col themed-grid-col"><code>.col</code> with <code>.g-3</code> gutters</div>
<div class="col themed-grid-col"><code>.col</code> with <code>.g-3</code> gutters</div>
<div class="col themed-grid-col"><code>.col</code> with <code>.g-3</code> gutters</div>
</div>
<div class="container themed-container text-center">.container</div>
- <div class="container-sm themed-container text-center">.container-sm</div>
- <div class="container-md themed-container text-center">.container-md</div>
- <div class="container-lg themed-container text-center">.container-lg</div>
- <div class="container-xl themed-container text-center">.container-xl</div>
- <div class="container-2xl themed-container text-center">.container-2xl</div>
+ <div class="sm:container themed-container text-center">.sm:container</div>
+ <div class="md:container themed-container text-center">.md:container</div>
+ <div class="lg:container themed-container text-center">.lg:container</div>
+ <div class="xl:container themed-container text-center">.xl:container</div>
+ <div class="2xl:container themed-container text-center">.2xl:container</div>
<div class="container-fluid themed-container text-center">.container-fluid</div>
</main>
<div class="container">
<header class="d-flex flex-wrap justify-content-center py-3 mb-4 border-bottom">
- <a href="/" class="d-flex align-items-center mb-3 mb-md-0 me-md-auto link-body-emphasis text-decoration-none">
+ <a href="/" class="d-flex align-items-center mb-3 md:mb-0 md:me-auto link-body-emphasis text-decoration-none">
<svg class="bi me-2" width="40" height="32" aria-hidden="true"><use href="#bootstrap"/></svg>
<span class="fs-4">Simple header</span>
</a>
<div class="b-example-divider"></div>
<div class="container">
- <header class="d-flex flex-wrap align-items-center justify-content-center justify-content-md-between py-3 mb-4 border-bottom">
- <div class="col-md-3 mb-2 mb-md-0">
+ <header class="d-flex flex-wrap align-items-center justify-content-center md:justify-content-between py-3 mb-4 border-bottom">
+ <div class="md:col-3 mb-2 md:mb-0">
<a href="/" class="d-inline-flex link-body-emphasis text-decoration-none">
<svg class="bi" width="40" height="32" role="img" aria-label="Bootstrap"><use href="#bootstrap"/></svg>
</a>
</div>
- <ul class="nav col-12 col-md-auto mb-2 justify-content-center mb-md-0">
+ <ul class="nav col-12 md:col-auto mb-2 justify-content-center md:mb-0">
<li><a href="#" class="nav-link px-2 link-secondary">Home</a></li>
<li><a href="#" class="nav-link px-2">Features</a></li>
<li><a href="#" class="nav-link px-2">Pricing</a></li>
<li><a href="#" class="nav-link px-2">About</a></li>
</ul>
- <div class="col-md-3 text-end">
+ <div class="md:col-3 text-end">
<button type="button" class="btn-outline theme-primary me-2">Login</button>
<button type="button" class="btn-solid theme-primary">Sign up</button>
</div>
<header class="p-3 bg-body fg-body" data-bs-theme="dark">
<div class="container">
- <div class="d-flex flex-wrap align-items-center justify-content-center justify-content-lg-start">
- <a href="/" class="d-flex align-items-center mb-2 mb-lg-0 text-white text-decoration-none">
+ <div class="d-flex flex-wrap align-items-center justify-content-center lg:justify-content-start">
+ <a href="/" class="d-flex align-items-center mb-2 lg:mb-0 text-white text-decoration-none">
<svg class="bi me-2" width="40" height="32" role="img" aria-label="Bootstrap"><use href="#bootstrap"/></svg>
</a>
- <ul class="nav col-12 col-lg-auto me-lg-auto mb-2 justify-content-center mb-md-0">
+ <ul class="nav col-12 lg:col-auto lg:me-auto mb-2 justify-content-center md:mb-0">
<li><a href="#" class="nav-link px-2 text-secondary">Home</a></li>
<li><a href="#" class="nav-link px-2 text-white">Features</a></li>
<li><a href="#" class="nav-link px-2 text-white">Pricing</a></li>
<li><a href="#" class="nav-link px-2 text-white">About</a></li>
</ul>
- <form class="col-12 col-lg-auto mb-3 mb-lg-0 me-lg-3" role="search">
+ <form class="col-12 lg:col-auto mb-3 lg:mb-0 lg:me-3" role="search">
<input type="search" class="form-control" placeholder="Search..." aria-label="Search">
</form>
<header class="p-3 mb-3 border-bottom">
<div class="container">
- <div class="d-flex flex-wrap align-items-center justify-content-center justify-content-lg-start">
- <a href="/" class="d-flex align-items-center mb-2 mb-lg-0 link-body-emphasis text-decoration-none">
+ <div class="d-flex flex-wrap align-items-center justify-content-center lg:justify-content-start">
+ <a href="/" class="d-flex align-items-center mb-2 lg:mb-0 link-body-emphasis text-decoration-none">
<svg class="bi me-2" width="40" height="32" role="img" aria-label="Bootstrap"><use href="#bootstrap"/></svg>
</a>
- <ul class="nav col-12 col-lg-auto me-lg-auto mb-2 justify-content-center mb-md-0">
+ <ul class="nav col-12 lg:col-auto lg:me-auto mb-2 justify-content-center md:mb-0">
<li><a href="#" class="nav-link px-2 link-secondary">Overview</a></li>
<li><a href="#" class="nav-link px-2 link-body-emphasis">Inventory</a></li>
<li><a href="#" class="nav-link px-2 link-body-emphasis">Customers</a></li>
<li><a href="#" class="nav-link px-2 link-body-emphasis">Products</a></li>
</ul>
- <form class="col-12 col-lg-auto mb-3 mb-lg-0 me-lg-3" role="search">
+ <form class="col-12 lg:col-auto mb-3 lg:mb-0 lg:me-3" role="search">
<input type="search" class="form-control" placeholder="Search..." aria-label="Search">
</form>
<header class="py-3 mb-3 border-bottom">
<div class="container-fluid d-grid gap-3 align-items-center" style="grid-template-columns: 1fr 2fr;">
<div>
- <a href="#" class="d-flex align-items-center col-lg-4 mb-2 mb-lg-0 link-body-emphasis text-decoration-none" data-bs-toggle="menu" aria-expanded="false" aria-label="Bootstrap menu">
+ <a href="#" class="d-flex align-items-center lg:col-4 mb-2 lg:mb-0 link-body-emphasis text-decoration-none" data-bs-toggle="menu" aria-expanded="false" aria-label="Bootstrap menu">
<svg class="bi me-2" width="40" height="32" aria-hidden="true"><use href="#bootstrap"/></svg>
</a>
<div class="menu text-small shadow">
</nav>
<header class="py-3 mb-4 border-bottom">
<div class="container d-flex flex-wrap justify-content-center">
- <a href="/" class="d-flex align-items-center mb-3 mb-lg-0 me-lg-auto link-body-emphasis text-decoration-none">
+ <a href="/" class="d-flex align-items-center mb-3 lg:mb-0 lg:me-auto link-body-emphasis text-decoration-none">
<svg class="bi me-2" width="40" height="32" aria-hidden="true"><use href="#bootstrap"/></svg>
<span class="fs-4">Double header</span>
</a>
- <form class="col-12 col-lg-auto mb-3 mb-lg-0" role="search">
+ <form class="col-12 lg:col-auto mb-3 lg:mb-0" role="search">
<input type="search" class="form-control" placeholder="Search..." aria-label="Search">
</form>
</div>
<header>
<div class="px-3 py-2 text-bg-dark border-bottom">
<div class="container">
- <div class="d-flex flex-wrap align-items-center justify-content-center justify-content-lg-start">
- <a href="/" class="d-flex align-items-center my-2 my-lg-0 me-lg-auto text-white text-decoration-none">
+ <div class="d-flex flex-wrap align-items-center justify-content-center lg:justify-content-start">
+ <a href="/" class="d-flex align-items-center my-2 lg:my-0 lg:me-auto text-white text-decoration-none">
<svg class="bi me-2" width="40" height="32" role="img" aria-label="Bootstrap"><use href="#bootstrap"/></svg>
</a>
- <ul class="nav col-12 col-lg-auto my-2 justify-content-center my-md-0 text-small">
+ <ul class="nav col-12 lg:col-auto my-2 justify-content-center md:my-0 text-small">
<li>
<a href="#" class="nav-link text-secondary">
<svg class="bi d-block mx-auto mb-1" width="24" height="24" aria-hidden="true"><use href="#home"/></svg>
</div>
<div class="px-3 py-2 border-bottom mb-3">
<div class="container d-flex flex-wrap justify-content-center">
- <form class="col-12 col-lg-auto mb-2 mb-lg-0 me-lg-auto" role="search">
+ <form class="col-12 lg:col-auto mb-2 lg:mb-0 lg:me-auto" role="search">
<input type="search" class="form-control" placeholder="Search..." aria-label="Search">
</form>
<div class="px-4 py-5 my-5 text-center">
<img class="d-block mx-auto mb-4" src={getVersionedDocsPath('/assets/brand/bootstrap-logo.svg')} alt="" width="72" height="57">
<h1 class="display-5 fw-bold text-body-emphasis">Centered hero</h1>
- <div class="col-lg-6 mx-auto">
+ <div class="lg:col-6 mx-auto">
<p class="lead mb-4">Quickly design and customize responsive mobile-first sites with Bootstrap, the world’s most popular front-end open source toolkit, featuring Sass variables and mixins, responsive grid system, extensive prebuilt components, and powerful JavaScript plugins.</p>
- <div class="d-grid gap-2 d-sm-flex justify-content-sm-center">
+ <div class="d-grid gap-2 sm:d-flex sm:justify-content-center">
<button type="button" class="btn-solid theme-primary btn-lg px-4">Primary button</button>
<button type="button" class="btn-outline theme-secondary btn-lg px-4">Secondary</button>
</div>
<div class="px-4 pt-5 my-5 text-center border-bottom">
<h1 class="display-4 fw-bold text-body-emphasis">Centered screenshot</h1>
- <div class="col-lg-6 mx-auto">
+ <div class="lg:col-6 mx-auto">
<p class="lead mb-4">Quickly design and customize responsive mobile-first sites with Bootstrap, the world’s most popular front-end open source toolkit, featuring Sass variables and mixins, responsive grid system, extensive prebuilt components, and powerful JavaScript plugins.</p>
- <div class="d-grid gap-2 d-sm-flex justify-content-sm-center mb-5">
- <button type="button" class="btn-solid theme-primary btn-lg px-4 me-sm-3">Primary button</button>
+ <div class="d-grid gap-2 sm:d-flex sm:justify-content-center mb-5">
+ <button type="button" class="btn-solid theme-primary btn-lg px-4 sm:me-3">Primary button</button>
<button type="button" class="btn-outline theme-secondary btn-lg px-4">Secondary</button>
</div>
</div>
<div class="b-example-divider"></div>
- <div class="container col-2xl-8 px-4 py-5">
- <div class="row flex-lg-row-reverse align-items-center g-5 py-5">
- <div class="col-10 col-sm-8 col-lg-6">
- <img src="bootstrap-themes.png" class="d-block mx-lg-auto img-fluid" alt="Bootstrap Themes" width="700" height="500" loading="lazy">
+ <div class="container 2xl:col-8 px-4 py-5">
+ <div class="row lg:flex-row-reverse align-items-center g-5 py-5">
+ <div class="col-10 sm:col-8 lg:col-6">
+ <img src="bootstrap-themes.png" class="d-block lg:mx-auto img-fluid" alt="Bootstrap Themes" width="700" height="500" loading="lazy">
</div>
- <div class="col-lg-6">
+ <div class="lg:col-6">
<h1 class="display-5 fw-bold text-body-emphasis lh-1 mb-3">Responsive left-aligned hero with image</h1>
<p class="lead">Quickly design and customize responsive mobile-first sites with Bootstrap, the world’s most popular front-end open source toolkit, featuring Sass variables and mixins, responsive grid system, extensive prebuilt components, and powerful JavaScript plugins.</p>
- <div class="d-grid gap-2 d-md-flex justify-content-md-start">
- <button type="button" class="btn-solid theme-primary btn-lg px-4 me-md-2">Primary</button>
+ <div class="d-grid gap-2 md:d-flex md:justify-content-start">
+ <button type="button" class="btn-solid theme-primary btn-lg px-4 md:me-2">Primary</button>
<button type="button" class="btn-outline theme-secondary btn-lg px-4">Default</button>
</div>
</div>
<div class="b-example-divider"></div>
- <div class="container col-xl-10 col-2xl-8 px-4 py-5">
- <div class="row align-items-center g-lg-5 py-5">
- <div class="col-lg-7 text-center text-lg-start">
+ <div class="container xl:col-10 2xl:col-8 px-4 py-5">
+ <div class="row align-items-center lg:g-5 py-5">
+ <div class="lg:col-7 text-center lg:text-start">
<h1 class="display-4 fw-bold lh-1 text-body-emphasis mb-3">Vertically centered hero sign-up form</h1>
- <p class="col-lg-10 fs-4">Below is an example form built entirely with Bootstrap’s form controls. Each required form group has a validation state that can be triggered by attempting to submit the form without completing it.</p>
+ <p class="lg:col-10 fs-4">Below is an example form built entirely with Bootstrap’s form controls. Each required form group has a validation state that can be triggered by attempting to submit the form without completing it.</p>
</div>
- <div class="col-md-10 mx-auto col-lg-5">
- <form class="p-4 p-md-5 border rounded-3 bg-body-tertiary">
+ <div class="md:col-10 mx-auto lg:col-5">
+ <form class="p-4 md:p-5 border rounded-3 bg-body-tertiary">
<div class="form-floating mb-3">
<input type="email" class="form-control" id="floatingInput" placeholder="name@example.com">
<label for="floatingInput">Email address</label>
<div class="b-example-divider"></div>
<div class="container my-5">
- <div class="row p-4 pb-0 pe-lg-0 pt-lg-5 align-items-center rounded-3 border shadow-lg">
- <div class="col-lg-7 p-3 p-lg-5 pt-lg-3">
+ <div class="row p-4 pb-0 lg:pe-0 lg:pt-5 align-items-center rounded-3 border shadow-lg">
+ <div class="lg:col-7 p-3 lg:p-5 lg:pt-3">
<h1 class="display-4 fw-bold lh-1 text-body-emphasis">Border hero with cropped image and shadows</h1>
<p class="lead">Quickly design and customize responsive mobile-first sites with Bootstrap, the world’s most popular front-end open source toolkit, featuring Sass variables and mixins, responsive grid system, extensive prebuilt components, and powerful JavaScript plugins.</p>
- <div class="d-grid gap-2 d-md-flex justify-content-md-start mb-4 mb-lg-3">
- <button type="button" class="btn-solid theme-primary btn-lg px-4 me-md-2">Primary</button>
+ <div class="d-grid gap-2 md:d-flex md:justify-content-start mb-4 lg:mb-3">
+ <button type="button" class="btn-solid theme-primary btn-lg px-4 md:me-2">Primary</button>
<button type="button" class="btn-outline theme-secondary btn-lg px-4">Default</button>
</div>
</div>
- <div class="col-lg-4 offset-lg-1 p-0 overflow-hidden shadow-lg">
+ <div class="lg:col-4 lg:offset-1 p-0 overflow-hidden shadow-lg">
<img class="rounded-lg-3" src="bootstrap-docs.png" alt="" width="720">
</div>
</div>
<div class="bg-dark text-secondary px-4 py-5 text-center">
<div class="py-5">
<h1 class="display-5 fw-bold text-white">Dark color hero</h1>
- <div class="col-lg-6 mx-auto">
+ <div class="lg:col-6 mx-auto">
<p class="fs-5 mb-4">Quickly design and customize responsive mobile-first sites with Bootstrap, the world’s most popular front-end open source toolkit, featuring Sass variables and mixins, responsive grid system, extensive prebuilt components, and powerful JavaScript plugins.</p>
- <div class="d-grid gap-2 d-sm-flex justify-content-sm-center">
- <button type="button" class="btn-outline theme-info btn-lg px-4 me-sm-3">Custom button</button>
+ <div class="d-grid gap-2 sm:d-flex sm:justify-content-center">
+ <button type="button" class="btn-outline theme-info btn-lg px-4 sm:me-3">Custom button</button>
<button type="button" class="btn-outline theme-secondary btn-lg px-4">Secondary</button>
</div>
</div>
<div class="p-5 mb-4 bg-body-tertiary rounded-3">
<div class="container-fluid py-5">
<h1 class="display-5 fw-bold">Custom jumbotron</h1>
- <p class="col-md-8 fs-4">Using a series of utilities, you can create this jumbotron, just like the one in previous versions of Bootstrap. Check out the examples below for how you can remix and restyle it to your liking.</p>
+ <p class="md:col-8 fs-4">Using a series of utilities, you can create this jumbotron, just like the one in previous versions of Bootstrap. Check out the examples below for how you can remix and restyle it to your liking.</p>
<button class="btn-solid theme-primary btn-lg" type="button">Example button</button>
</div>
</div>
- <div class="row align-items-md-stretch">
- <div class="col-md-6">
+ <div class="row md:align-items-stretch">
+ <div class="md:col-6">
<div class="h-100 p-5 text-bg-dark rounded-3">
<h2>Change the background</h2>
<p>Swap the background-color utility and add a `.text-*` color utility to mix up the jumbotron look. Then, mix and match with additional component themes and more.</p>
<button class="btn-outline theme-secondary" type="button">Example button</button>
</div>
</div>
- <div class="col-md-6">
+ <div class="md:col-6">
<div class="h-100 p-5 bg-body-tertiary border rounded-3">
<h2>Add borders</h2>
<p>Or, keep it light and add a border for some added definition to the boundaries of your content. Be sure to look under the hood at the source HTML here as we've adjusted the alignment and sizing of both column's content for equal-height.</p>
<div class="p-5 text-center bg-body-tertiary rounded-3">
<svg class="bi mt-4 mb-3" style="color: var(--bs-indigo);" width="100" height="100" aria-hidden="true"><use href="#bootstrap"/></svg>
<h1 class="text-body-emphasis">Jumbotron with icon</h1>
- <p class="col-lg-8 mx-auto fs-5 text-muted">
+ <p class="lg:col-8 mx-auto fs-5 text-muted">
This is a custom jumbotron featuring an SVG image at the top, some longer text that wraps early thanks to a responsive <code>.col-*</code> class, and a customized call to action.
</p>
<div class="d-inline-flex gap-2 mb-5">
<button type="button" class="position-absolute top-0 end-0 p-3 m-3 btn-close bg-secondary bg-opacity-10 rounded-pill" aria-label="Close"></button>
<svg class="bi mt-5 mb-3" width="48" height="48" aria-hidden="true"><use href="#check2-circle"/></svg>
<h1 class="text-body-emphasis">Placeholder jumbotron</h1>
- <p class="col-lg-6 mx-auto mb-4">
+ <p class="lg:col-6 mx-auto mb-4">
This faded back jumbotron is useful for placeholder content. It's also a great way to add a bit of context to a page or section when no content is available and to encourage visitors to take a specific action.
</p>
<button class="btn-solid theme-primary px-4 mb-5" type="button">
<div class="p-5 text-center bg-body-tertiary">
<div class="container py-5">
<h1 class="text-body-emphasis">Full-width jumbotron</h1>
- <p class="col-lg-8 mx-auto lead">
+ <p class="lg:col-8 mx-auto lead">
This takes the basic jumbotron above and makes its background edge-to-edge with a <code>.container</code> inside to align content. Similar to above, it's been recreated with built-in grid and utility classes.
</p>
</div>
</symbol>
</svg>
-<div class="d-flex flex-column flex-md-row p-4 gap-4 py-md-5 align-items-center justify-content-center">
+<div class="d-flex flex-column md:flex-row p-4 gap-4 md:py-5 align-items-center justify-content-center">
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action d-flex gap-3 py-3" aria-current="true">
<img src="https://github.com/twbs.png" alt="" width="32" height="32" class="rounded-circle flex-shrink-0">
<div class="b-example-divider"></div>
-<div class="d-flex flex-column flex-md-row p-4 gap-4 py-md-5 align-items-center justify-content-center">
+<div class="d-flex flex-column md:flex-row p-4 gap-4 md:py-5 align-items-center justify-content-center">
<div class="list-group">
<label class="list-group-item d-flex gap-2">
<input class="form-check-input flex-shrink-0" type="checkbox" value="" checked>
<div class="b-example-divider"></div>
-<div class="d-flex flex-column flex-md-row p-4 gap-4 py-md-5 align-items-center justify-content-center">
+<div class="d-flex flex-column md:flex-row p-4 gap-4 md:py-5 align-items-center justify-content-center">
<div class="list-group">
<label class="list-group-item d-flex gap-3">
<input class="form-check-input flex-shrink-0" type="checkbox" value="" checked style="font-size: 1.375em;">
<div class="b-example-divider"></div>
-<div class="d-flex flex-column flex-md-row p-4 gap-4 py-md-5 align-items-center justify-content-center">
+<div class="d-flex flex-column md:flex-row p-4 gap-4 md:py-5 align-items-center justify-content-center">
<div class="list-group list-group-checkable d-grid gap-2 border-0">
<input class="list-group-item-check pe-none" type="radio" name="listGroupCheckableRadios" id="listGroupCheckableRadios1" value="" checked>
<label class="list-group-item rounded-3 py-3" for="listGroupCheckableRadios1">
<div class="b-example-divider"></div>
-<div class="d-flex flex-column flex-md-row p-4 gap-4 py-md-5 align-items-center justify-content-center">
+<div class="d-flex flex-column md:flex-row p-4 gap-4 md:py-5 align-items-center justify-content-center">
<div class="list-group list-group-radio d-grid gap-2 border-0">
<div class="position-relative">
<input class="form-check-input position-absolute top-50 end-0 me-3 fs-5" type="radio" name="listGroupRadioGrid" id="listGroupRadioGrid1" value="" checked>
<hr class="my-5">
<div class="row" data-masonry='{"percentPosition": true }'>
- <div class="col-sm-6 col-lg-4 mb-4">
+ <div class="sm:col-6 lg:col-4 mb-4">
<div class="card">
<Placeholder width="100%" height="200" class="card-img-top" text="Image cap" />
<div class="card-body">
</div>
</div>
</div>
- <div class="col-sm-6 col-lg-4 mb-4">
+ <div class="sm:col-6 lg:col-4 mb-4">
<div class="card p-3">
<figure class="p-3 mb-0">
<blockquote class="blockquote">
</figure>
</div>
</div>
- <div class="col-sm-6 col-lg-4 mb-4">
+ <div class="sm:col-6 lg:col-4 mb-4">
<div class="card">
<Placeholder width="100%" height="200" class="card-img-top" text="Image cap" />
<div class="card-body">
</div>
</div>
</div>
- <div class="col-sm-6 col-lg-4 mb-4">
+ <div class="sm:col-6 lg:col-4 mb-4">
<div class="card text-bg-primary text-center p-3">
<figure class="mb-0">
<blockquote class="blockquote">
</figure>
</div>
</div>
- <div class="col-sm-6 col-lg-4 mb-4">
+ <div class="sm:col-6 lg:col-4 mb-4">
<div class="card text-center">
<div class="card-body">
<h5 class="card-title">Card title</h5>
</div>
</div>
</div>
- <div class="col-sm-6 col-lg-4 mb-4">
+ <div class="sm:col-6 lg:col-4 mb-4">
<div class="card">
<Placeholder width="100%" height="260" class="card-img" text="Card image" />
</div>
</div>
- <div class="col-sm-6 col-lg-4 mb-4">
+ <div class="sm:col-6 lg:col-4 mb-4">
<div class="card p-3 text-end">
<figure class="mb-0">
<blockquote class="blockquote">
</figure>
</div>
</div>
- <div class="col-sm-6 col-lg-4 mb-4">
+ <div class="sm:col-6 lg:col-4 mb-4">
<div class="card">
<div class="card-body">
<h5 class="card-title">Card title</h5>
</symbol>
</svg>
-<div class="d-flex flex-column flex-md-row p-4 gap-4 py-md-5 align-items-center justify-content-center">
+<div class="d-flex flex-column md:flex-row p-4 gap-4 md:py-5 align-items-center justify-content-center">
<div class="menu position-static d-grid gap-1 p-2 rounded-3 mx-0 shadow w-220px" data-bs-theme="light">
<a class="menu-item rounded-2 active" href="#">Action</a>
<a class="menu-item rounded-2" href="#">Another action</a>
<div class="b-example-divider"></div>
-<div class="d-flex flex-column flex-md-row p-4 gap-4 py-md-5 align-items-center justify-content-center">
+<div class="d-flex flex-column md:flex-row p-4 gap-4 md:py-5 align-items-center justify-content-center">
<div class="menu d-block position-static pt-0 mx-0 rounded-3 shadow overflow-hidden w-280px" data-bs-theme="light">
<form class="p-2 mb-2 bg-body-tertiary border-bottom">
<input type="search" class="form-control" autocomplete="false" placeholder="Type to filter...">
<div class="b-example-divider"></div>
-<div class="d-flex flex-column flex-md-row p-4 gap-4 py-md-5 align-items-center justify-content-center">
+<div class="d-flex flex-column md:flex-row p-4 gap-4 md:py-5 align-items-center justify-content-center">
<div class="menu d-block position-static mx-0 shadow w-220px" data-bs-theme="light">
<a class="menu-item d-flex gap-2 align-items-center" href="#">
<svg class="bi" width="16" height="16" aria-hidden="true"><use href="#files"/></svg>
<div class="b-example-divider"></div>
-<div class="d-flex flex-column flex-md-row p-4 gap-4 py-md-5 align-items-center justify-content-center">
+<div class="d-flex flex-column md:flex-row p-4 gap-4 md:py-5 align-items-center justify-content-center">
<div class="menu d-block position-static p-2 mx-0 shadow rounded-3 w-340px" data-bs-theme="light">
<div class="d-grid gap-1">
<div class="cal">
<div class="b-example-divider"></div>
-<div class="d-flex flex-column flex-md-row p-4 gap-4 py-md-5 align-items-center justify-content-center">
- <div class="menu position-static d-flex flex-column flex-lg-row align-items-stretch justify-content-start p-3 rounded-3 shadow-lg" data-bs-theme="light">
- <nav class="col-lg-8">
+<div class="d-flex flex-column md:flex-row p-4 gap-4 md:py-5 align-items-center justify-content-center">
+ <div class="menu position-static d-flex flex-column lg:flex-row align-items-stretch justify-content-start p-3 rounded-3 shadow-lg" data-bs-theme="light">
+ <nav class="lg:col-8">
<ul class="list-unstyled d-flex flex-column gap-2">
<li>
<a href="#" class="btn btn-hover-light rounded-2 d-flex align-items-start gap-2 py-2 px-3 lh-sm text-start">
</li>
</ul>
</nav>
- <div class="d-none d-lg-block vr mx-4 opacity-10"> </div>
- <hr class="d-lg-none">
- <div class="col-lg-auto pe-3">
+ <div class="d-none lg:d-block vr mx-4 opacity-10"> </div>
+ <hr class="lg:d-none">
+ <div class="lg:col-auto pe-3">
<nav>
<ul class="d-flex flex-column gap-2 list-unstyled small">
<li><a href="#" class="link-offset-2 link-underline link-underline-opacity-25 link-underline-opacity-75-hover">Documentation</a></li>
</div>
</div>
- <div class="menu position-static d-flex flex-column flex-lg-row align-items-stretch justify-content-start p-3 rounded-3 shadow-lg" data-bs-theme="dark">
- <nav class="col-lg-8">
+ <div class="menu position-static d-flex flex-column lg:flex-row align-items-stretch justify-content-start p-3 rounded-3 shadow-lg" data-bs-theme="dark">
+ <nav class="lg:col-8">
<ul class="list-unstyled d-flex flex-column gap-2">
<li>
<a href="#" class="btn btn-hover-light rounded-2 d-flex align-items-start gap-2 py-2 px-3 lh-sm text-start">
</li>
</ul>
</nav>
- <div class="d-none d-lg-block vr mx-4 opacity-10"> </div>
- <hr class="d-lg-none">
- <div class="col-lg-auto pe-3">
+ <div class="d-none lg:d-block vr mx-4 opacity-10"> </div>
+ <hr class="lg:d-none">
+ <div class="lg:col-auto pe-3">
<nav>
<ul class="d-flex flex-column gap-2 list-unstyled small">
<li><a href="#" class="link-offset-2 link-underline link-underline-opacity-25 link-underline-opacity-75-hover">Documentation</a></li>
<a class="btn-solid theme-primary btn-lg" href={getVersionedDocsPath('/components/navbar')} role="button">View navbar docs »</a>
</div>
</main>
-<nav class="navbar fixed-bottom navbar-expand-sm navbar-dark bg-dark">
+<nav class="navbar fixed-bottom sm:navbar-expand navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">Bottom navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
export const extra_css = ['navbar-fixed.css']
---
-<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
+<nav class="navbar md:navbar-expand navbar-dark fixed-top bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">Fixed navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<svg class="navbar-toggler-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round"><path d="M1 3.5h14M1 8h14M1 12.5h14"/></svg>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
- <ul class="navbar-nav me-auto mb-2 mb-md-0">
+ <ul class="navbar-nav me-auto mb-2 md:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
export const extra_css = ['navbar-static.css']
---
-<nav class="navbar navbar-expand-md navbar-dark bg-dark mb-4">
+<nav class="navbar md:navbar-expand navbar-dark bg-dark mb-4">
<div class="container-fluid">
<a class="navbar-brand" href="#">Top navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<svg class="navbar-toggler-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round"><path d="M1 3.5h14M1 8h14M1 12.5h14"/></svg>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
- <ul class="navbar-nav me-auto mb-2 mb-md-0">
+ <ul class="navbar-nav me-auto mb-2 md:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</div>
</nav>
- <nav class="navbar navbar-expand-lg navbar-dark bg-dark" aria-label="Offcanvas navbar large">
+ <nav class="navbar lg:navbar-expand navbar-dark bg-dark" aria-label="Offcanvas navbar large">
<div class="container-fluid">
<a class="navbar-brand" href="#">Responsive offcanvas navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasNavbar2" aria-controls="offcanvasNavbar2" aria-label="Toggle navigation">
</div>
</li>
</ul>
- <form class="d-flex mt-3 mt-lg-0" role="search">
+ <form class="d-flex mt-3 lg:mt-0" role="search">
<input class="form-control me-2" type="search" placeholder="Search" aria-label="Search">
<button class="btn-outline theme-success" type="submit">Search</button>
</form>
<div class="container my-5">
<div class="bg-body-tertiary p-5 rounded">
- <div class="col-sm-8 py-5 mx-auto">
+ <div class="sm:col-8 py-5 mx-auto">
<h1 class="display-5 fw-normal">Navbar with offcanvas examples</h1>
<p class="fs-5">This example shows how responsive offcanvas menus work within the navbar. For positioning of navbars, checkout the <a href={getVersionedDocsPath('/examples/navbar-static/')}>top</a> and <a href={getVersionedDocsPath('/examples/navbar-fixed/')}>fixed top</a> examples.</p>
<p>From the top down, you'll see a dark navbar, light navbar and a responsive navbar—each with offcanvases built in. Resize your browser window to the large breakpoint to see the toggle for the offcanvas.</p>
</div>
</nav>
- <nav class="navbar navbar-expand-sm navbar-dark bg-dark" aria-label="Third navbar example">
+ <nav class="navbar sm:navbar-expand navbar-dark bg-dark" aria-label="Third navbar example">
<div class="container-fluid">
<a class="navbar-brand" href="#">Expand at sm</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample03" aria-controls="navbarsExample03" aria-expanded="false" aria-label="Toggle navigation">
</button>
<div class="collapse navbar-collapse" id="navbarsExample03">
- <ul class="navbar-nav me-auto mb-2 mb-sm-0">
+ <ul class="navbar-nav me-auto mb-2 sm:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</div>
</nav>
- <nav class="navbar navbar-expand-md navbar-dark bg-dark" aria-label="Fourth navbar example">
+ <nav class="navbar md:navbar-expand navbar-dark bg-dark" aria-label="Fourth navbar example">
<div class="container-fluid">
<a class="navbar-brand" href="#">Expand at md</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample04" aria-controls="navbarsExample04" aria-expanded="false" aria-label="Toggle navigation">
</button>
<div class="collapse navbar-collapse" id="navbarsExample04">
- <ul class="navbar-nav me-auto mb-2 mb-md-0">
+ <ul class="navbar-nav me-auto mb-2 md:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</div>
</nav>
- <nav class="navbar navbar-expand-lg navbar-dark bg-dark" aria-label="Fifth navbar example">
+ <nav class="navbar lg:navbar-expand navbar-dark bg-dark" aria-label="Fifth navbar example">
<div class="container-fluid">
<a class="navbar-brand" href="#">Expand at lg</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample05" aria-controls="navbarsExample05" aria-expanded="false" aria-label="Toggle navigation">
</button>
<div class="collapse navbar-collapse" id="navbarsExample05">
- <ul class="navbar-nav me-auto mb-2 mb-lg-0">
+ <ul class="navbar-nav me-auto mb-2 lg:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</div>
</nav>
- <nav class="navbar navbar-expand-xl navbar-dark bg-dark" aria-label="Sixth navbar example">
+ <nav class="navbar xl:navbar-expand navbar-dark bg-dark" aria-label="Sixth navbar example">
<div class="container-fluid">
<a class="navbar-brand" href="#">Expand at xl</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample06" aria-controls="navbarsExample06" aria-expanded="false" aria-label="Toggle navigation">
</button>
<div class="collapse navbar-collapse" id="navbarsExample06">
- <ul class="navbar-nav me-auto mb-2 mb-xl-0">
+ <ul class="navbar-nav me-auto mb-2 xl:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</div>
</nav>
- <nav class="navbar navbar-expand-2xl navbar-dark bg-dark" aria-label="Seventh navbar example">
+ <nav class="navbar 2xl:navbar-expand navbar-dark bg-dark" aria-label="Seventh navbar example">
<div class="container-fluid">
<a class="navbar-brand" href="#">Expand at 2xl</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample2xl" aria-controls="navbarsExample2xl" aria-expanded="false" aria-label="Toggle navigation">
</button>
<div class="collapse navbar-collapse" id="navbarsExample2xl">
- <ul class="navbar-nav me-auto mb-2 mb-xl-0">
+ <ul class="navbar-nav me-auto mb-2 xl:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</div>
</nav>
- <nav class="navbar navbar-expand-lg navbar-dark bg-dark" aria-label="Eighth navbar example">
+ <nav class="navbar lg:navbar-expand navbar-dark bg-dark" aria-label="Eighth navbar example">
<div class="container">
<a class="navbar-brand" href="#">Container</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample07" aria-controls="navbarsExample07" aria-expanded="false" aria-label="Toggle navigation">
</button>
<div class="collapse navbar-collapse" id="navbarsExample07">
- <ul class="navbar-nav me-auto mb-2 mb-lg-0">
+ <ul class="navbar-nav me-auto mb-2 lg:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</div>
</nav>
- <nav class="navbar navbar-expand-lg navbar-dark bg-dark" aria-label="Ninth navbar example">
- <div class="container-xl">
+ <nav class="navbar lg:navbar-expand navbar-dark bg-dark" aria-label="Ninth navbar example">
+ <div class="xl:container">
<a class="navbar-brand" href="#">Container XL</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample07XL" aria-controls="navbarsExample07XL" aria-expanded="false" aria-label="Toggle navigation">
<svg class="navbar-toggler-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round"><path d="M1 3.5h14M1 8h14M1 12.5h14"/></svg>
</button>
<div class="collapse navbar-collapse" id="navbarsExample07XL">
- <ul class="navbar-nav me-auto mb-2 mb-lg-0">
+ <ul class="navbar-nav me-auto mb-2 lg:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</div>
</nav>
- <div class="container-xl mb-4">
- <p>Matching .container-xl...</p>
+ <div class="xl:container mb-4">
+ <p>Matching .xl:container...</p>
</div>
- <nav class="navbar navbar-expand-lg navbar-dark bg-dark" aria-label="Tenth navbar example">
+ <nav class="navbar lg:navbar-expand navbar-dark bg-dark" aria-label="Tenth navbar example">
<div class="container-fluid">
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample08" aria-controls="navbarsExample08" aria-expanded="false" aria-label="Toggle navigation">
<svg class="navbar-toggler-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round"><path d="M1 3.5h14M1 8h14M1 12.5h14"/></svg>
</button>
- <div class="collapse navbar-collapse justify-content-md-center" id="navbarsExample08">
+ <div class="collapse navbar-collapse md:justify-content-center" id="navbarsExample08">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Centered nav only</a>
</nav>
<div class="container">
- <nav class="navbar navbar-expand-lg bg-body-tertiary rounded" aria-label="Eleventh navbar example">
+ <nav class="navbar lg:navbar-expand bg-body-tertiary rounded" aria-label="Eleventh navbar example">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample09" aria-controls="navbarsExample09" aria-expanded="false" aria-label="Toggle navigation">
</button>
<div class="collapse navbar-collapse" id="navbarsExample09">
- <ul class="navbar-nav me-auto mb-2 mb-lg-0">
+ <ul class="navbar-nav me-auto mb-2 lg:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</div>
</nav>
- <nav class="navbar navbar-expand-lg bg-body-tertiary rounded" aria-label="Twelfth navbar example">
+ <nav class="navbar lg:navbar-expand bg-body-tertiary rounded" aria-label="Twelfth navbar example">
<div class="container-fluid">
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample10" aria-controls="navbarsExample10" aria-expanded="false" aria-label="Toggle navigation">
<svg class="navbar-toggler-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round"><path d="M1 3.5h14M1 8h14M1 12.5h14"/></svg>
</button>
- <div class="collapse navbar-collapse justify-content-md-center" id="navbarsExample10">
+ <div class="collapse navbar-collapse md:justify-content-center" id="navbarsExample10">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Centered nav only</a>
</div>
</nav>
- <nav class="navbar navbar-expand-lg bg-body-tertiary rounded" aria-label="Thirteenth navbar example">
+ <nav class="navbar lg:navbar-expand bg-body-tertiary rounded" aria-label="Thirteenth navbar example">
<div class="container-fluid">
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample11" aria-controls="navbarsExample11" aria-expanded="false" aria-label="Toggle navigation">
<svg class="navbar-toggler-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round"><path d="M1 3.5h14M1 8h14M1 12.5h14"/></svg>
</button>
- <div class="collapse navbar-collapse d-lg-flex" id="navbarsExample11">
- <a class="navbar-brand col-lg-3 me-0" href="#">Centered nav</a>
- <ul class="navbar-nav col-lg-6 justify-content-lg-center">
+ <div class="collapse navbar-collapse lg:d-flex" id="navbarsExample11">
+ <a class="navbar-brand lg:col-3 me-0" href="#">Centered nav</a>
+ <ul class="navbar-nav lg:col-6 lg:justify-content-center">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</div>
</li>
</ul>
- <div class="d-lg-flex col-lg-3 justify-content-lg-end">
+ <div class="lg:d-flex lg:col-3 lg:justify-content-end">
<button class="btn-solid theme-primary">Button</button>
</div>
</div>
<div>
<div class="bg-body-tertiary p-5 rounded">
- <div class="col-sm-8 mx-auto">
+ <div class="sm:col-8 mx-auto">
<h1>Navbar examples</h1>
<p>This example is a quick exercise to illustrate how the navbar and its contents work. Some navbars extend the width of the viewport, others are confined within a <code>.container</code>. For positioning of navbars, checkout the <a href={getVersionedDocsPath('/examples/navbar-static/')}>top</a> and <a href={getVersionedDocsPath('/examples/navbar-fixed/')}>fixed top</a> examples.</p>
<p>At the smallest breakpoint, the collapse plugin is used to hide the links and show a menu button to toggle the collapsed content.</p>
import Placeholder from "@shortcodes/Placeholder.astro"
---
-<nav class="navbar navbar-expand-lg fixed-top navbar-dark bg-dark" aria-label="Main navigation">
+<nav class="navbar lg:navbar-expand fixed-top navbar-dark bg-dark" aria-label="Main navigation">
<div class="container-fluid">
<a class="navbar-brand" href="#">Offcanvas navbar</a>
<button class="navbar-toggler p-0 border-0" type="button" id="navbarSideCollapse" aria-label="Toggle navigation">
</button>
<div class="navbar-collapse offcanvas-collapse" id="navbarsExampleDefault">
- <ul class="navbar-nav me-auto mb-2 mb-lg-0">
+ <ul class="navbar-nav me-auto mb-2 lg:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Dashboard</a>
</li>
<div class="container py-3">
<header>
- <div class="d-flex flex-column flex-md-row align-items-center pb-3 mb-4 border-bottom">
+ <div class="d-flex flex-column md:flex-row align-items-center pb-3 mb-4 border-bottom">
<a href="/" class="d-flex align-items-center link-body-emphasis text-decoration-none">
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="32" class="me-2" viewBox="0 0 118 94" role="img"><title>Bootstrap</title><path fill-rule="evenodd" clip-rule="evenodd" d="M24.509 0c-6.733 0-11.715 5.893-11.492 12.284.214 6.14-.064 14.092-2.066 20.577C8.943 39.365 5.547 43.485 0 44.014v5.972c5.547.529 8.943 4.649 10.951 11.153 2.002 6.485 2.28 14.437 2.066 20.577C12.794 88.106 17.776 94 24.51 94H93.5c6.733 0 11.714-5.893 11.491-12.284-.214-6.14.064-14.092 2.066-20.577 2.009-6.504 5.396-10.624 10.943-11.153v-5.972c-5.547-.529-8.934-4.649-10.943-11.153-2.002-6.484-2.28-14.437-2.066-20.577C105.214 5.894 100.233 0 93.5 0H24.508zM80 57.863C80 66.663 73.436 72 62.543 72H44a2 2 0 01-2-2V24a2 2 0 012-2h18.437c9.083 0 15.044 4.92 15.044 12.474 0 5.302-4.01 10.049-9.119 10.88v.277C75.317 46.394 80 51.21 80 57.863zM60.521 28.34H49.948v14.934h8.905c6.884 0 10.68-2.772 10.68-7.727 0-4.643-3.264-7.207-9.012-7.207zM49.948 49.2v16.458H60.91c7.167 0 10.964-2.876 10.964-8.281 0-5.406-3.903-8.178-11.425-8.178H49.948z" fill="currentColor"></path></svg>
<span class="fs-4">Pricing example</span>
</a>
- <nav class="d-inline-flex mt-2 mt-md-0 ms-md-auto">
+ <nav class="d-inline-flex mt-2 md:mt-0 md:ms-auto">
<a class="me-3 py-2 link-body-emphasis text-decoration-none" href="#">Features</a>
<a class="me-3 py-2 link-body-emphasis text-decoration-none" href="#">Enterprise</a>
<a class="me-3 py-2 link-body-emphasis text-decoration-none" href="#">Support</a>
</nav>
</div>
- <div class="pricing-header p-3 pb-md-4 mx-auto text-center">
+ <div class="pricing-header p-3 md:pb-4 mx-auto text-center">
<h1 class="display-4 fw-normal text-body-emphasis">Pricing</h1>
<p class="fs-5 text-body-secondary">Quickly build an effective pricing table for your potential customers with this Bootstrap example. It’s built with default Bootstrap components and utilities with little customization.</p>
</div>
</header>
<main>
- <div class="row row-cols-1 row-cols-md-3 mb-3 text-center">
+ <div class="row row-cols-1 md:row-cols-3 mb-3 text-center">
<div class="col">
<div class="card mb-4 rounded-3 shadow-sm">
<div class="card-header py-3">
</div>
</main>
- <footer class="pt-4 my-md-5 pt-md-5 border-top">
+ <footer class="pt-4 md:my-5 md:pt-5 border-top">
<div class="row">
- <div class="col-12 col-md">
+ <div class="col-12 md:col">
<img class="mb-2" src={getVersionedDocsPath('/assets/brand/bootstrap-logo.svg')} alt="" width="24" height="19">
<small class="d-block mb-3 text-body-secondary">© 2017–{new Date().getFullYear()}</small>
</div>
- <div class="col-6 col-md">
+ <div class="col-6 md:col">
<h5>Features</h5>
<ul class="list-unstyled text-small">
<li class="mb-1"><a class="link-secondary text-decoration-none" href="#">Cool stuff</a></li>
<li class="mb-1"><a class="link-secondary text-decoration-none" href="#">Last time</a></li>
</ul>
</div>
- <div class="col-6 col-md">
+ <div class="col-6 md:col">
<h5>Resources</h5>
<ul class="list-unstyled text-small">
<li class="mb-1"><a class="link-secondary text-decoration-none" href="#">Resource</a></li>
<li class="mb-1"><a class="link-secondary text-decoration-none" href="#">Final resource</a></li>
</ul>
</div>
- <div class="col-6 col-md">
+ <div class="col-6 md:col">
<h5>About</h5>
<ul class="list-unstyled text-small">
<li class="mb-1"><a class="link-secondary text-decoration-none" href="#">Team</a></li>
</symbol>
</svg>
-<nav class="navbar navbar-expand-md bg-dark sticky-top border-bottom" data-bs-theme="dark">
+<nav class="navbar md:navbar-expand bg-dark sticky-top border-bottom" data-bs-theme="dark">
<div class="container">
- <a class="navbar-brand d-md-none" href="#">
+ <a class="navbar-brand md:d-none" href="#">
<svg class="bi" width="24" height="24" aria-hidden="true"><use href="#aperture"/></svg>
Aperture
</a>
</nav>
<main>
- <div class="position-relative overflow-hidden p-3 p-md-5 m-md-3 text-center bg-body-tertiary">
- <div class="col-md-6 p-lg-5 mx-auto my-5">
+ <div class="position-relative overflow-hidden p-3 md:p-5 md:m-3 text-center bg-body-tertiary">
+ <div class="md:col-6 lg:p-5 mx-auto my-5">
<h1 class="display-3 fw-bold">Designed for engineers</h1>
<h3 class="fw-normal text-muted mb-3">Build anything you want with Aperture</h3>
<div class="d-flex gap-3 justify-content-center lead fw-normal">
</a>
</div>
</div>
- <div class="product-device shadow-sm d-none d-md-block"></div>
- <div class="product-device product-device-2 shadow-sm d-none d-md-block"></div>
+ <div class="product-device shadow-sm d-none md:d-block"></div>
+ <div class="product-device product-device-2 shadow-sm d-none md:d-block"></div>
</div>
- <div class="d-md-flex flex-md-equal w-100 my-md-3 ps-md-3">
- <div class="text-bg-dark me-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
+ <div class="md:d-flex md:flex-equal w-100 md:my-3 md:ps-3">
+ <div class="text-bg-dark md:me-3 pt-3 px-3 md:pt-5 md:px-5 text-center overflow-hidden">
<div class="my-3 py-3">
<h2 class="display-5">Another headline</h2>
<p class="lead">And an even wittier subheading.</p>
</div>
<div class="bg-body-tertiary shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
</div>
- <div class="bg-body-tertiary me-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
+ <div class="bg-body-tertiary md:me-3 pt-3 px-3 md:pt-5 md:px-5 text-center overflow-hidden">
<div class="my-3 p-3">
<h2 class="display-5">Another headline</h2>
<p class="lead">And an even wittier subheading.</p>
</div>
</div>
- <div class="d-md-flex flex-md-equal w-100 my-md-3 ps-md-3">
- <div class="bg-body-tertiary me-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
+ <div class="md:d-flex md:flex-equal w-100 md:my-3 md:ps-3">
+ <div class="bg-body-tertiary md:me-3 pt-3 px-3 md:pt-5 md:px-5 text-center overflow-hidden">
<div class="my-3 p-3">
<h2 class="display-5">Another headline</h2>
<p class="lead">And an even wittier subheading.</p>
</div>
<div class="bg-dark shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
</div>
- <div class="text-bg-primary me-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
+ <div class="text-bg-primary md:me-3 pt-3 px-3 md:pt-5 md:px-5 text-center overflow-hidden">
<div class="my-3 py-3">
<h2 class="display-5">Another headline</h2>
<p class="lead">And an even wittier subheading.</p>
</div>
</div>
- <div class="d-md-flex flex-md-equal w-100 my-md-3 ps-md-3">
- <div class="bg-body-tertiary me-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
+ <div class="md:d-flex md:flex-equal w-100 md:my-3 md:ps-3">
+ <div class="bg-body-tertiary md:me-3 pt-3 px-3 md:pt-5 md:px-5 text-center overflow-hidden">
<div class="my-3 p-3">
<h2 class="display-5">Another headline</h2>
<p class="lead">And an even wittier subheading.</p>
</div>
<div class="bg-body shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
</div>
- <div class="bg-body-tertiary me-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
+ <div class="bg-body-tertiary md:me-3 pt-3 px-3 md:pt-5 md:px-5 text-center overflow-hidden">
<div class="my-3 py-3">
<h2 class="display-5">Another headline</h2>
<p class="lead">And an even wittier subheading.</p>
</div>
</div>
- <div class="d-md-flex flex-md-equal w-100 my-md-3 ps-md-3">
- <div class="bg-body-tertiary me-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
+ <div class="md:d-flex md:flex-equal w-100 md:my-3 md:ps-3">
+ <div class="bg-body-tertiary md:me-3 pt-3 px-3 md:pt-5 md:px-5 text-center overflow-hidden">
<div class="my-3 p-3">
<h2 class="display-5">Another headline</h2>
<p class="lead">And an even wittier subheading.</p>
</div>
<div class="bg-body shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
</div>
- <div class="bg-body-tertiary me-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
+ <div class="bg-body-tertiary md:me-3 pt-3 px-3 md:pt-5 md:px-5 text-center overflow-hidden">
<div class="my-3 py-3">
<h2 class="display-5">Another headline</h2>
<p class="lead">And an even wittier subheading.</p>
<footer class="container py-5">
<div class="row">
- <div class="col-12 col-md">
+ <div class="col-12 md:col">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="d-block mb-2" role="img" viewBox="0 0 24 24"><title>Product</title><circle cx="12" cy="12" r="10"/><path d="M14.31 8l5.74 9.94M9.69 8h11.48M7.38 12l5.74-9.94M9.69 16L3.95 6.06M14.31 16H2.83m13.79-4l-5.74 9.94"/></svg>
<small class="d-block mb-3 text-body-secondary">© 2017–{new Date().getFullYear()}</small>
</div>
- <div class="col-6 col-md">
+ <div class="col-6 md:col">
<h5>Features</h5>
<ul class="list-unstyled text-small">
<li><a class="link-secondary text-decoration-none" href="#">Cool stuff</a></li>
<li><a class="link-secondary text-decoration-none" href="#">Last time</a></li>
</ul>
</div>
- <div class="col-6 col-md">
+ <div class="col-6 md:col">
<h5>Resources</h5>
<ul class="list-unstyled text-small">
<li><a class="link-secondary text-decoration-none" href="#">Resource name</a></li>
<li><a class="link-secondary text-decoration-none" href="#">Final resource</a></li>
</ul>
</div>
- <div class="col-6 col-md">
+ <div class="col-6 md:col">
<h5>Resources</h5>
<ul class="list-unstyled text-small">
<li><a class="link-secondary text-decoration-none" href="#">Business</a></li>
<li><a class="link-secondary text-decoration-none" href="#">Gaming</a></li>
</ul>
</div>
- <div class="col-6 col-md">
+ <div class="col-6 md:col">
<h5>About</h5>
<ul class="list-unstyled text-small">
<li><a class="link-secondary text-decoration-none" href="#">Team</a></li>
flex: 1;
}
@media (min-width: 768px) {
- .flex-md-equal > * {
+ .md\:flex-equal > * {
flex: 1;
}
}
<h1 class="visually-hidden">Sidebars examples</h1>
<div class="d-flex flex-column flex-shrink-0 p-3 text-bg-dark" style="width: 280px;">
- <a href="/" class="d-flex align-items-center mb-3 mb-md-0 me-md-auto text-white text-decoration-none">
+ <a href="/" class="d-flex align-items-center mb-3 md:mb-0 md:me-auto text-white text-decoration-none">
<svg class="bi pe-none me-2" width="40" height="32" aria-hidden="true"><use href="#bootstrap"/></svg>
<span class="fs-4">Sidebar</span>
</a>
<div class="b-example-divider b-example-vr"></div>
<div class="d-flex flex-column flex-shrink-0 p-3 bg-body-tertiary" style="width: 280px;">
- <a href="/" class="d-flex align-items-center mb-3 mb-md-0 me-md-auto link-body-emphasis text-decoration-none">
+ <a href="/" class="d-flex align-items-center mb-3 md:mb-0 md:me-auto link-body-emphasis text-decoration-none">
<svg class="bi pe-none me-2" width="40" height="32" aria-hidden="true"><use href="#bootstrap"/></svg>
<span class="fs-4">Sidebar</span>
</a>
</symbol>
</svg>
-<div class="col-lg-8 mx-auto p-4 py-md-5">
+<div class="lg:col-8 mx-auto p-4 md:py-5">
<header class="d-flex align-items-center pb-3 mb-5 border-bottom">
<a href="/" class="d-flex align-items-center text-body-emphasis text-decoration-none">
<svg class="bi me-2" width="40" height="32" role="img" aria-label="Bootstrap"><use href="#bootstrap"/></svg>
<main>
<h1 class="text-body-emphasis">Get started with Bootstrap</h1>
- <p class="fs-5 col-md-8">Quickly and easily get started with Bootstrap's compiled, production-ready files with this barebones example featuring some basic HTML and helpful links. Download all our examples to get started.</p>
+ <p class="fs-5 md:col-8">Quickly and easily get started with Bootstrap's compiled, production-ready files with this barebones example featuring some basic HTML and helpful links. Download all our examples to get started.</p>
<div class="mb-5">
<a href={getVersionedDocsPath('/examples')} class="btn-solid theme-primary btn-lg px-4">Download examples</a>
</div>
- <hr class="col-3 col-md-2 mb-5">
+ <hr class="col-3 md:col-2 mb-5">
<div class="row g-5">
- <div class="col-md-6">
+ <div class="md:col-6">
<h2 class="text-body-emphasis">Starter projects</h2>
<p>Ready to go beyond the starter template? Check out these open source projects that you can quickly duplicate to a new GitHub repository.</p>
<ul class="list-unstyled ps-0">
</ul>
</div>
- <div class="col-md-6">
+ <div class="md:col-6">
<h2 class="text-body-emphasis">Guides</h2>
<p>Read more detailed instructions and documentation on using or contributing to Bootstrap.</p>
<ul class="list-unstyled ps-0">
<header>
<!-- Fixed navbar -->
- <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
+ <nav class="navbar md:navbar-expand navbar-dark fixed-top bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">Fixed navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<svg class="navbar-toggler-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round"><path d="M1 3.5h14M1 8h14M1 12.5h14"/></svg>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
- <ul class="navbar-nav me-auto mb-2 mb-md-0">
+ <ul class="navbar-nav me-auto mb-2 md:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
const sidebar = getData('sidebar')
---
-<nav class="nav vstack bd-links w-100 pb-3 pb-md-2 pe-lg-2" id="bd-docs-nav" aria-label="Docs navigation">
+<nav class="nav vstack bd-links w-100 pb-3 md:pb-2 lg:pe-2" id="bd-docs-nav" aria-label="Docs navigation">
{
sidebar.map((group) => {
const groupSlug = getSlug(group.title)
import { getVersionedDocsPath } from '@libs/path'
---
-<footer class="bd-footer py-4 py-md-5 mt-5 bg-body-tertiary">
- <div class="container py-4 py-md-5 px-4 px-md-3 text-body-secondary">
+<footer class="bd-footer py-4 md:py-5 mt-5 bg-body-tertiary">
+ <div class="container py-4 md:py-5 px-4 md:px-3 text-body-secondary">
<div class="row">
- <div class="col-lg-3 mb-3">
+ <div class="lg:col-3 mb-3">
<a
class="d-inline-flex align-items-center mb-2 text-body-emphasis text-decoration-none"
href="/"
<li class="mb-2">Currently v{getConfig().current_version}.</li>
</ul>
</div>
- <div class="col-6 col-lg-2 offset-lg-1 mb-3">
+ <div class="col-6 lg:col-2 lg:offset-1 mb-3">
<h5>Links</h5>
<ul class="list-unstyled">
<li class="mb-2"><a href="/">Home</a></li>
<li class="mb-2"><a href={getConfig().swag} target="_blank" rel="noopener">Swag Store</a></li>
</ul>
</div>
- <div class="col-6 col-lg-2 mb-3">
+ <div class="col-6 lg:col-2 mb-3">
<h5>Guides</h5>
<ul class="list-unstyled">
<li class="mb-2"><a href={getVersionedDocsPath('getting-started')}>Getting started</a></li>
<li class="mb-2"><a href={getVersionedDocsPath('guides/vite')}>Vite</a></li>
</ul>
</div>
- <div class="col-6 col-lg-2 mb-3">
+ <div class="col-6 lg:col-2 mb-3">
<h5>Projects</h5>
<ul class="list-unstyled">
<li class="mb-2">
</li>
</ul>
</div>
- <div class="col-6 col-lg-2 mb-3">
+ <div class="col-6 lg:col-2 mb-3">
<h5>Community</h5>
<ul class="list-unstyled">
<li class="mb-2">
const content = await Astro.slots.render('default')
---
-<li class="nav-item col-6 col-lg-auto">
+<li class="nav-item col-6 lg:col-auto">
<a
aria-current={active ? true : undefined}
- class:list={['nav-link py-2 px-0 px-lg-2', className, { active }]}
+ class:list={['nav-link py-2 px-0 lg:px-2', className, { active }]}
{...props}
>
<slot />
const { addedIn, layout, title } = Astro.props
---
-<header class="navbar navbar-translucent navbar-expand-lg bd-navbar border-bottom sticky-top bd-sticky-navbar">
- <nav class="container-2xl bd-gutter flex-wrap flex-lg-nowrap" aria-label="Main navigation">
+<header class="navbar navbar-translucent lg:navbar-expand bd-navbar border-bottom sticky-top bd-sticky-navbar">
+ <nav class="2xl:container bd-gutter flex-wrap lg:flex-nowrap" aria-label="Main navigation">
{/* Docs sidebar toggle - only shown on docs pages */}
{
layout === 'docs' && (
<button
- class="btn-icon navbar-btn-icon d-lg-none ms--2"
+ class="btn-icon navbar-btn-icon lg:d-none ms--2"
type="button"
data-bs-toggle="offcanvas"
data-bs-target="#bdSidebar"
</button>
)
}
- {layout !== 'docs' && <div class="d-lg-none" style="width: 4.25rem;" />}
+ {layout !== 'docs' && <div class="lg:d-none" style="width: 4.25rem;" />}
- <a class="navbar-brand p-0 me-0 me-lg-2" href="/" aria-label="Bootstrap" style="color: var(--bs-indigo-500);">
+ <a class="navbar-brand p-0 me-0 lg:me-2" href="/" aria-label="Bootstrap" style="color: var(--bs-indigo-500);">
<BootstrapWhiteFillIcon class="d-block my-1" height={32} width={40} />
</a>
<div class="bd-search" id="docsearch" data-bd-docs-version={getConfig().docs_version}></div>
<button
- class="btn-icon navbar-btn-icon d-lg-none order-3 me--2"
+ class="btn-icon navbar-btn-icon lg:d-none order-3 me--2"
type="button"
data-bs-toggle="offcanvas"
data-bs-target="#bdNavbar"
{/* Main navigation - offcanvas on mobile, inline on desktop */}
<div
- class="offcanvas-lg offcanvas-end flex-grow-1 offcanvas-fit-content"
+ class="lg:offcanvas offcanvas-end flex-grow-1 offcanvas-fit-content"
tabindex="-1"
id="bdNavbar"
aria-labelledby="bdNavbarOffcanvasLabel"
<CloseButton dismiss="offcanvas" target="#bdNavbar" />
</div>
- <div class="offcanvas-body p-4 pt-0 p-lg-0">
- <hr class="d-lg-none mb-0" />
+ <div class="offcanvas-body p-4 pt-0 lg:p-0">
+ <hr class="lg:d-none mb-0" />
<ul class="nav navbar-nav flex-row flex-wrap bd-navbar-nav">
<LinkItem active={layout === 'docs'} href={getVersionedDocsPath('getting-started/install/')} track>
Docs
<LinkItem href={getConfig().blog} target="_blank" rel="noopener" track>Blog</LinkItem>
</ul>
- <hr class="d-lg-none my-0" />
+ <hr class="lg:d-none my-0" />
- <ul class="nav navbar-nav ms-md-auto">
- <LinkItem class="nav-link py-2 px-0 px-lg-2" href={getConfig().github_org} target="_blank" rel="noopener">
+ <ul class="nav navbar-nav md:ms-auto">
+ <LinkItem class="nav-link py-2 px-0 lg:px-2" href={getConfig().github_org} target="_blank" rel="noopener">
<GitHubIcon class="navbar-nav-svg" height={16} width={16} />
- <small class="d-lg-none">GitHub</small>
+ <small class="lg:d-none">GitHub</small>
</LinkItem>
<LinkItem
- class="nav-link py-2 px-0 px-lg-2"
+ class="nav-link py-2 px-0 lg:px-2"
href={`https://x.com/${getConfig().x}`}
target="_blank"
rel="noopener"
>
<XIcon class="navbar-nav-svg" height={16} width={16} />
- <small class="d-lg-none">X</small>
+ <small class="lg:d-none">X</small>
</LinkItem>
- <LinkItem class="nav-link py-2 px-0 px-lg-2" href={getConfig().opencollective} target="_blank" rel="noopener">
+ <LinkItem class="nav-link py-2 px-0 lg:px-2" href={getConfig().opencollective} target="_blank" rel="noopener">
<OpenCollectiveIcon class="navbar-nav-svg" height={16} width={16} />
- <small class="d-lg-none">Open Collective</small>
+ <small class="lg:d-none">Open Collective</small>
</LinkItem>
<Versions layout={layout} addedIn={addedIn} />
---
<div class="skippy visually-hidden-focusable overflow-hidden">
- <div class="container-xl">
+ <div class="xl:container">
<a class="d-inline-flex p-2 m-1" href="#content">Skip to main content</a>
{
layout === 'docs' && (
- <a class="d-none d-md-inline-flex p-2 m-1" href="#bd-docs-nav">
+ <a class="d-none md:d-inline-flex p-2 m-1" href="#bd-docs-nav">
Skip to docs navigation
</a>
)
<li class="nav-item">
<button
type="button"
- class="btn btn-link nav-link py-2 px-0 px-lg-2"
+ class="btn btn-link nav-link py-2 px-0 lg:px-2"
data-bs-toggle="menu"
data-bs-placement="bottom-end"
aria-expanded="false"
>
<svg class="bi" aria-hidden="true"><use href="#stack"></use></svg>
- <span class="d-lg-none" aria-hidden="true">
+ <span class="lg:d-none" aria-hidden="true">
Bootstrap v{
getConfig().docs_version
}
</span>
- <svg class="bi bi-sm ms-lg--1" aria-hidden="true"><use href="#chevron-expand"></use></svg>
+ <svg class="bi bi-sm lg:ms--1" aria-hidden="true"><use href="#chevron-expand"></use></svg>
</button>
<div class="menu" id="bd-versions-menu">
<h6 class="menu-header">v6 releases</h6>
import Code from '@shortcodes/Code.astro'
---
-<section class="row g-md-5 pb-md-5 mb-5 align-items-center">
- <div class="col-lg-8 mb-5">
+<section class="row md:g-5 md:pb-5 mb-5 align-items-center">
+ <div class="lg:col-8 mb-5">
<div class="masthead-followup-icon d-inline-block mb-3" style="--bg-rgb: var(--bd-pink-rgb);">
<svg class="bi fs-1" aria-hidden="true"><use href="#braces"></use></svg>
</div>
</a>
</p>
</div>
- <div class="row gx-md-5">
- <div class="col-lg-6 mb-3">
+ <div class="row md:gx-5">
+ <div class="lg:col-6 mb-3">
<h3 class="fw-semibold">Using CSS variables</h3>
<p>
Use any of our <a href={getVersionedDocsPath('customize/css-variables/#root-variables')}
lang="scss"
/>
</div>
- <div class="col-lg-6 mb-3">
+ <div class="lg:col-6 mb-3">
<h3 class="fw-semibold">Customizing via CSS variables</h3>
<p>
Override global, component, or utility class variables to customize Bootstrap just how you like. No need to
import Code from '@shortcodes/Code.astro'
---
-<section class="pb-md-5 mb-5">
- <div class="col-lg-8 mb-5">
+<section class="md:pb-5 mb-5">
+ <div class="lg:col-8 mb-5">
<div class="masthead-followup-icon d-inline-block mb-3 me-2" style="--bg-rgb: var(--bs-danger-rgb);">
<svg class="bi fs-1" aria-hidden="true"><use href="#menu-button-wide-fill"></use></svg>
</div>
custom names.
</p>
</div>
- <div class="row gx-md-5">
- <div class="col-lg-6">
+ <div class="row md:gx-5">
+ <div class="lg:col-6">
<h3 class="fw-semibold">Quickly customize components</h3>
<p>
Apply any of our included utility classes to our components to customize their appearance, like the navigation
</ul>`}
lang="html"
/>
- <p class="d-flex mb-md-0">
+ <p class="d-flex md:mb-0">
<a href={getVersionedDocsPath('examples/#snippets')} class="icon-link icon-link-hover fw-semibold">
Explore customized components
<svg class="bi" aria-hidden="true"><use href="#arrow-right"></use></svg>
</a>
</p>
</div>
- <div class="col-lg-6">
+ <div class="lg:col-6">
<h3 class="fw-semibold">Create and extend utilities</h3>
<p>
Use Bootstrap's utility API to modify any of our included utilities or create your own custom utilities for any
);`}
lang="scss"
/>
- <p class="d-flex mb-md-0">
+ <p class="d-flex md:mb-0">
<a href={getVersionedDocsPath('utilities/api/')} class="icon-link icon-link-hover fw-semibold mb-3">
Explore the utility API
<svg class="bi" aria-hidden="true"><use href="#arrow-right"></use></svg>
import Code from '@shortcodes/Code.astro'
---
-<section class="col-lg-7 mb-5">
+<section class="lg:col-7 mb-5">
<div class="masthead-followup-icon d-inline-block mb-3" style="--bg-rgb: var(--bs-primary-rgb);">
<svg class="bi fs-1" aria-hidden="true"><use href="#palette2"></use></svg>
</div>
</p>
</section>
-<section class="row g-md-5 mb-5 pb-md-5">
- <div class="col-lg-6">
+<section class="row md:g-5 mb-5 md:pb-5">
+ <div class="lg:col-6">
<h3>Include all of Bootstrap’s Sass</h3>
<p>Import one stylesheet and you're off to the races with every feature of our CSS.</p>
<Code
/>
<p>Learn more about our <a href={getVersionedDocsPath('customize/sass')}>Sass customization options</a>.</p>
</div>
- <div class="col-lg-6">
+ <div class="lg:col-6">
<h3>Include what you need</h3>
<p>The easiest way to customize Bootstrap—include only the CSS you need.</p>
<Code
import Code from '@shortcodes/Code.astro'
---
-<div class="col-lg-7 mx-auto pb-3 mb-3 mb-md-5 text-md-center">
+<div class="lg:col-7 mx-auto pb-3 mb-3 md:mb-5 md:text-center">
<div class="masthead-followup-icon d-inline-block mb-3" style="--bg-rgb: var(--bd-violet-rgb);">
<svg class="bi fs-1" aria-hidden="true"><use href="#code"></use></svg>
</div>
<p class="lead fw-normal">
Jump right into building with Bootstrap—use the CDN, install it via package manager, or download the source code.
</p>
- <p class="d-flex justify-content-md-center lead fw-normal">
- <a href={getVersionedDocsPath('getting-started/install/')} class="icon-link icon-link-hover fw-semibold ps-md-4">
+ <p class="d-flex md:justify-content-center lead fw-normal">
+ <a href={getVersionedDocsPath('getting-started/install/')} class="icon-link icon-link-hover fw-semibold md:ps-4">
Read installation docs
<svg class="bi" aria-hidden="true"><use href="#arrow-right"></use></svg>
</a>
</p>
</div>
-<section class="row g-3 g-md-5 mb-5 pb-5 justify-content-center">
- <div class="col-lg-6 py-lg-4 pe-lg-5">
+<section class="row g-3 md:g-5 mb-5 pb-5 justify-content-center">
+ <div class="lg:col-6 lg:py-4 lg:pe-5">
<svg class="bi mb-2 fs-2 fg-3" aria-hidden="true"><use href="#box-seam"></use></svg>
<h3 class="fw-semibold">Install via package manager</h3>
- <p class="pe-lg-5">
+ <p class="lg:pe-5">
Install Bootstrap’s source Sass and JavaScript files via npm, RubyGems, Composer, or Meteor. Package-managed
installs don’t include documentation or our full build scripts. You can also <a
href="https://github.com/twbs/examples/">use any demo from our Examples repo</a
package managers.
</p>
</div>
- <div class="col-lg-6 py-lg-4 ps-lg-5 border-lg-start">
+ <div class="lg:col-6 lg:py-4 lg:ps-5 border-lg-start">
<svg class="bi mb-2 fs-2 fg-3" aria-hidden="true"><use href="#globe2"></use></svg>
<h3 class="fw-semibold">Include via CDN</h3>
- <p class="pe-lg-5">
+ <p class="lg:pe-5">
When you only need to include Bootstrap’s compiled CSS or JS, you can use <a
href="https://www.jsdelivr.com/package/npm/bootstrap">jsDelivr</a
>. See it in action with our simple <a href={getVersionedDocsPath('guides/quickstart/')}
/>
</div>
- <div class="col-md-8 mx-auto text-center">
+ <div class="md:col-8 mx-auto text-center">
<h4 class="fw-semibold">Read our getting started guides</h4>
<p>Get a jump on including Bootstrap's source files in a new project with our official guides.</p>
<div class="d-flex flex-wrap align-items-center justify-content-center gap-4 mt-4">
import ResponsiveImage from '@layouts/partials/ResponsiveImage.astro'
---
-<section class="row g-3 g-md-5 pb-md-5 mb-5 align-items-center">
- <div class="col-lg-6">
+<section class="row g-3 md:g-5 md:pb-5 mb-5 align-items-center">
+ <div class="lg:col-6">
<div class="masthead-followup-icon d-inline-block mb-3" style="--bg-rgb: var(--bd-teal-rgb);">
<CircleSquareIcon height={32} width={32} />
</div>
more added every release. They're designed to work in any project, whether you use Bootstrap itself or not. Use them
as SVGs or icon fonts—both options give you vector scaling and easy customization via CSS.
</p>
- <p class="d-flex lead fw-normal mb-md-0">
+ <p class="d-flex lead fw-normal md:mb-0">
<a href={getConfig().icons} class="icon-link icon-link-hover fw-semibold">
Get Bootstrap Icons
<svg class="bi" aria-hidden="true"><use href="#arrow-right"></use></svg>
</a>
</p>
</div>
- <div class="col-lg-6">
+ <div class="lg:col-6">
<ResponsiveImage imgPath="/assets/img/bootstrap-icons.png" alt="Bootstrap Icons" classes="mx-auto d-block mt-3" />
</div>
</section>
---
<div class="bd-masthead mb-3" id="content">
- <div class="container-2xl bd-gutter">
- <div class="col-md-8 mx-auto text-center">
+ <div class="2xl:container bd-gutter">
+ <div class="md:col-8 mx-auto text-center">
<a
- class="d-flex flex-column flex-lg-row justify-content-center align-items-center mb-4 lh-sm text-decoration-none fs-sm"
+ class="d-flex flex-column lg:flex-row justify-content-center align-items-center mb-4 lh-sm text-decoration-none fs-sm"
href="https://www.herodevs.com/support/nes-bootstrap?utm_source=Bootstrap_site&utm_medium=Banner&utm_campaign=v3and4_eol"
rel="noopener"
target="_blank"
>
- <span class="d-sm-inline-flex align-items-center gap-1 py-2 px-3 me-2 mb-2 mb-lg-0 rounded-5 masthead-notice theme-subtle theme-warning ">
+ <span class="sm:d-inline-flex align-items-center gap-1 py-2 px-3 me-2 mb-2 lg:mb-0 rounded-5 masthead-notice theme-subtle theme-warning ">
Get Security Updates for Bootstrap 3 & 4
<svg class="bi" style="width: 20px; height: 20px; margin-block: -2px;" aria-hidden="true"
><use href="#arrow-right-short"></use></svg
alt="Bootstrap"
width={200}
height={165}
- classes="d-none d-sm-block mx-auto mb-3"
+ classes="d-none sm:d-block mx-auto mb-3"
lazyload={false}
/>
<h1 class="mb-3 fw-semibold lh-1">Build fast, responsive sites with Bootstrap</h1>
Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid
system and components, and bring projects to life with powerful JavaScript plugins.
</p>
- <div class="d-flex flex-column flex-lg-row align-items-md-stretch justify-content-md-center gap-3 mb-4">
+ <div class="d-flex flex-column lg:flex-row md:align-items-stretch md:justify-content-center gap-3 mb-4">
<CodeCopy code={`npm i bootstrap@${getConfig().current_version}`} />
<a
href={getVersionedDocsPath('getting-started/install')}
const plugins = getData('plugins')
---
-<section class="pb-md-5 mb-5">
- <div class="col-lg-8 mb-5">
+<section class="md:pb-5 mb-5">
+ <div class="lg:col-8 mb-5">
<div class="masthead-followup-icon d-inline-block mb-3" style="--bg-rgb: var(--bs-warning-rgb);">
<svg class="bi fs-1" aria-hidden="true"><use href="#plugin"></use></svg>
</div>
jQuery. Bootstrap's JavaScript is HTML-first, meaning most plugins are added with <code>data</code> attributes in your
HTML. Need more control? Include individual plugins programmatically.
</p>
- <p class="d-flex lead fw-normal mb-md-0">
+ <p class="d-flex lead fw-normal md:mb-0">
<a href={getVersionedDocsPath('getting-started/javascript')} class="icon-link icon-link-hover fw-semibold">
Learn more about Bootstrap JavaScript
<svg class="bi" aria-hidden="true"><use href="#arrow-right"></use></svg>
</a>
</p>
</div>
- <div class="row gx-md-5">
- <div class="col-lg-6 mb-3">
+ <div class="row md:gx-5">
+ <div class="lg:col-6 mb-3">
<h3 class="fw-semibold">Data attribute API</h3>
<p>
Why write more JavaScript when you can write HTML? Nearly all of Bootstrap's JavaScript plugins feature a
>.
</p>
</div>
- <div class="col-lg-6 mb-3">
+ <div class="lg:col-6 mb-3">
<h3 class="fw-semibold">Comprehensive set of plugins</h3>
<p>
Bootstrap features a dozen plugins that you can drop into any project. Drop them in all at once, or choose just
{
plugins.map((plugin) => {
return (
- <div class="col-sm-6 mb-2">
- <a class="d-block pe-lg-4 text-decoration-none lh-sm" href={getVersionedDocsPath(plugin.link)}>
+ <div class="sm:col-6 mb-2">
+ <a class="d-block lg:pe-4 text-decoration-none lh-sm" href={getVersionedDocsPath(plugin.link)}>
<h4 class="mb-0 fs-5 fw-semibold">{plugin.name}</h4>
<small class="text-body-secondary">{plugin.description}</small>
</a>
Our logo mark is also available in black and white. All rules for our primary logo apply to these as well.
-<div class="bd-brand-logos d-sm-flex text-center bg-light rounded-3 overflow-hidden w-100 mb-3">
+<div class="bd-brand-logos sm:d-flex text-center bg-light rounded-3 overflow-hidden w-100 mb-3">
<div class="bd-brand-item w-100 px-2 py-5">
<img src="/docs/[[config:docs_version]]/assets/brand/bootstrap-logo-black.svg" alt="Bootstrap" width="128" height="102" loading="lazy" />
</div>
Bootstrap should always be referred to as just **Bootstrap**. No capital _s_.
-<div class="bd-brand-logos d-sm-flex text-center border rounded-3 overflow-hidden w-100 mb-3">
+<div class="bd-brand-logos sm:d-flex text-center border rounded-3 overflow-hidden w-100 mb-3">
<div class="bd-brand-item w-100 px-2 py-5">
<div class="h3">Bootstrap</div>
<strong class="text-success">Correct</strong>
<button class="btn-solid theme-primary" type="button">Button</button>
</div>`} />
-Here we create a responsive variation, starting with vertically stacked buttons until the `md` breakpoint, where `.d-md-block` replaces the `.d-grid` class, thus nullifying the `gap-2` utility. Resize your browser to see them change.
+Here we create a responsive variation, starting with vertically stacked buttons until the `md` breakpoint, where `.md:d-block` replaces the `.d-grid` class, thus nullifying the `gap-2` utility. Resize your browser to see them change.
-<Example code={`<div class="d-grid gap-2 d-md-block">
+<Example code={`<div class="d-grid gap-2 md:d-block">
<button class="btn-solid theme-primary" type="button">Button</button>
<button class="btn-solid theme-primary" type="button">Button</button>
</div>`} />
Additional utilities can be used to adjust the alignment of buttons when horizontal. Here we’ve taken our previous responsive example and added some flex utilities and a margin utility on the button to right-align the buttons when they’re no longer stacked.
-<Example code={`<div class="d-grid gap-2 d-md-flex justify-content-md-end">
- <button class="btn-solid theme-primary me-md-2" type="button">Button</button>
+<Example code={`<div class="d-grid gap-2 md:d-flex md:justify-content-end">
+ <button class="btn-solid theme-primary md:me-2" type="button">Button</button>
<button class="btn-solid theme-primary" type="button">Button</button>
</div>`} />
Using the grid, wrap cards in columns and rows as needed.
<Example code={`<div class="row">
- <div class="col-sm-6 mb-3 mb-sm-0">
+ <div class="sm:col-6 mb-3 sm:mb-0">
<div class="card">
<div class="card-body">
<h4 class="card-title">Card title</h4>
</div>
</div>
</div>
- <div class="col-sm-6">
+ <div class="sm:col-6">
<div class="card">
<div class="card-body">
<h4 class="card-title">Card title</h4>
### Grid cards
-Use the Bootstrap grid system and its [`.row-cols` classes]([[docsref:/layout/grid#row-columns]]) to control how many grid columns (wrapped around your cards) you show per row. For example, here’s `.row-cols-1` laying out the cards on one column, and `.row-cols-md-2` splitting four cards to equal width across multiple rows, from the medium breakpoint up.
+Use the Bootstrap grid system and its [`.row-cols` classes]([[docsref:/layout/grid#row-columns]]) to control how many grid columns (wrapped around your cards) you show per row. For example, here’s `.row-cols-1` laying out the cards on one column, and `.md:row-cols-2` splitting four cards to equal width across multiple rows, from the medium breakpoint up.
-<Example code={`<div class="row row-cols-1 row-cols-md-2 g-4">
+<Example code={`<div class="row row-cols-1 md:row-cols-2 g-4">
<div class="col">
<div class="card">
<Placeholder width="100%" height="140" class="card-img-top" text="Image cap" />
Change it to `.row-cols-3` and you’ll see the fourth card wrap.
-<Example code={`<div class="row row-cols-1 row-cols-md-3 g-4">
+<Example code={`<div class="row row-cols-1 md:row-cols-3 g-4">
<div class="col">
<div class="card">
<Placeholder width="100%" height="140" class="card-img-top" text="Image cap" />
When you need equal height, add `.h-100` to the cards. If you want equal heights by default, you can set `$card-height: 100%` in Sass.
-<Example code={`<div class="row row-cols-1 row-cols-md-3 g-4">
+<Example code={`<div class="row row-cols-1 md:row-cols-3 g-4">
<div class="col">
<div class="card h-100">
<Placeholder width="100%" height="140" class="card-img-top" text="Image cap" />
Just like with card groups, card footers will automatically line up.
-<Example code={`<div class="row row-cols-1 row-cols-md-3 g-4">
+<Example code={`<div class="row row-cols-1 md:row-cols-3 g-4">
<div class="col">
<div class="card h-100">
<Placeholder width="100%" height="180" class="card-img-top" text="Image cap" />
### Captions
-You can add captions to your slides with the `.carousel-caption` element within any `.carousel-item`. They can be easily hidden on smaller viewports, as shown below, with optional [display utilities]([[docsref:/utilities/display]]). We hide them initially with `.d-none` and bring them back on medium-sized devices with `.d-md-block`.
+You can add captions to your slides with the `.carousel-caption` element within any `.carousel-item`. They can be easily hidden on smaller viewports, as shown below, with optional [display utilities]([[docsref:/utilities/display]]). We hide them initially with `.d-none` and bring them back on medium-sized devices with `.md:d-block`.
<Example code={`<div id="carouselExampleCaptions" class="carousel slide">
<div class="carousel-indicators">
<div class="carousel-inner">
<div class="carousel-item active">
<Placeholder width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#555" background="#777" text="First slide" />
- <div class="carousel-caption d-none d-md-block">
+ <div class="carousel-caption d-none md:d-block">
<h5>First slide label</h5>
<p>Some representative placeholder content for the first slide.</p>
</div>
</div>
<div class="carousel-item">
<Placeholder width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#444" background="#666" text="Second slide" />
- <div class="carousel-caption d-none d-md-block">
+ <div class="carousel-caption d-none md:d-block">
<h5>Second slide label</h5>
<p>Some representative placeholder content for the second slide.</p>
</div>
</div>
<div class="carousel-item">
<Placeholder width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#333" background="#555" text="Third slide" />
- <div class="carousel-caption d-none d-md-block">
+ <div class="carousel-caption d-none md:d-block">
<h5>Third slide label</h5>
<p>Some representative placeholder content for the third slide.</p>
</div>
<div class="carousel-inner">
<div class="carousel-item active" data-bs-interval="10000">
<Placeholder width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#aaa" background="#f5f5f5" text="First slide" />
- <div class="carousel-caption d-none d-md-block">
+ <div class="carousel-caption d-none md:d-block">
<h5>First slide label</h5>
<p>Some representative placeholder content for the first slide.</p>
</div>
</div>
<div class="carousel-item" data-bs-interval="2000">
<Placeholder width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#bbb" background="#eee" text="Second slide" />
- <div class="carousel-caption d-none d-md-block">
+ <div class="carousel-caption d-none md:d-block">
<h5>Second slide label</h5>
<p>Some representative placeholder content for the second slide.</p>
</div>
</div>
<div class="carousel-item">
<Placeholder width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#999" background="#e5e5e5" text="Third slide" />
- <div class="carousel-caption d-none d-md-block">
+ <div class="carousel-caption d-none md:d-block">
<h5>Third slide label</h5>
<p>Some representative placeholder content for the third slide.</p>
</div>
| Class | Fullscreen below |
| --- | --- |
| `.dialog-fullscreen` | Always |
-| `.dialog-fullscreen-sm-down` | `576px` |
-| `.dialog-fullscreen-md-down` | `768px` |
-| `.dialog-fullscreen-lg-down` | `1024px` |
-| `.dialog-fullscreen-xl-down` | `1280px` |
-| `.dialog-fullscreen-2xl-down` | `1536px` |
+| `.sm-down:dialog-fullscreen` | `576px` |
+| `.md-down:dialog-fullscreen` | `768px` |
+| `.lg-down:dialog-fullscreen` | `1024px` |
+| `.xl-down:dialog-fullscreen` | `1280px` |
+| `.2xl-down:dialog-fullscreen` | `1536px` |
-<dialog class="dialog dialog-fullscreen-lg-down" id="exampleDialogFullscreenLg">
+<dialog class="dialog lg-down:dialog-fullscreen" id="exampleDialogFullscreenLg">
<div class="dialog-header">
<h1 class="dialog-title">Fullscreen below lg</h1>
<CloseButton dismiss="dialog" />
</button>`} />
```html
-<dialog class="dialog dialog-fullscreen-lg-down">...</dialog>
+<dialog class="dialog lg-down:dialog-fullscreen">...</dialog>
```
## CSS
### Vertical
-Stack your navigation by changing the flex item direction with the `.flex-column` utility. Need to stack them on some viewports but not others? Use the responsive versions (e.g., `.flex-sm-column`).
+Stack your navigation by changing the flex item direction with the `.flex-column` utility. Need to stack them on some viewports but not others? Use the responsive versions (e.g., `.sm:flex-column`).
<Example code={`<ul class="nav flex-column">
<li class="nav-item">
If you need responsive nav variations, consider using a series of [flexbox utilities]([[docsref:/utilities/flex]]). While more verbose, these utilities offer greater customization across responsive breakpoints. In the example below, our nav will be stacked on the lowest breakpoint, then adapt to a horizontal layout that fills the available width starting from the small breakpoint.
-<Example code={`<nav class="nav nav-pills flex-column flex-sm-row">
- <a class="flex-sm-fill text-sm-center nav-link active" aria-current="page" href="#">Active</a>
- <a class="flex-sm-fill text-sm-center nav-link" href="#">Longer nav link</a>
- <a class="flex-sm-fill text-sm-center nav-link" href="#">Link</a>
- <a class="flex-sm-fill text-sm-center nav-link disabled" aria-disabled="true">Disabled</a>
+<Example code={`<nav class="nav nav-pills flex-column sm:flex-row">
+ <a class="sm:flex-fill sm:text-center nav-link active" aria-current="page" href="#">Active</a>
+ <a class="sm:flex-fill sm:text-center nav-link" href="#">Longer nav link</a>
+ <a class="sm:flex-fill sm:text-center nav-link" href="#">Link</a>
+ <a class="sm:flex-fill sm:text-center nav-link disabled" aria-disabled="true">Disabled</a>
</nav>`} />
## Regarding accessibility
Here's a navbar that includes most supported sub-components and a responsive right drawer with [our Offcanvas plugin]([[docsref:/components/offcanvas]]). Use the lower-right corner grip to resize to preview responsive behavior.
-<ResizableExample code={`<nav class="navbar navbar-expand-md bg-1">
+<ResizableExample code={`<nav class="navbar md:navbar-expand bg-1">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<button class="btn-icon navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarOffcanvas" aria-controls="navbarOffcanvas" aria-expanded="false" aria-label="Toggle navigation">
<h5 class="offcanvas-title" id="navbarOffcanvasLabel">Menu</h5>
<CloseButton dismiss="offcanvas" />
</div>
- <div class="offcanvas-body mb-2 mb-md-0">
+ <div class="offcanvas-body mb-2 md:mb-0">
<ul class="nav navbar-nav me-auto">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
Please note that you should also add the `aria-current` attribute on the active `.nav-link`.
-<ResizableExample code={`<nav class="navbar navbar-expand-sm bg-1 fg-2">
+<ResizableExample code={`<nav class="navbar sm:navbar-expand bg-1 fg-2">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<button class="btn-icon navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
And because we use classes for our navs, you can avoid the list-based approach entirely if you like.
-<ResizableExample code={`<nav class="navbar navbar-expand-sm bg-1 fg-2">
+<ResizableExample code={`<nav class="navbar sm:navbar-expand bg-1 fg-2">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<button class="btn-icon navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
You can also use menus in your navbar. Menus require a wrapping element for positioning, so be sure to use separate and nested elements for `.nav-item` and `.nav-link` as shown below.
-<ResizableExample code={`<nav class="navbar navbar-expand-lg bg-1 fg-2">
+<ResizableExample code={`<nav class="navbar lg:navbar-expand bg-1 fg-2">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<button class="btn-icon navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarNavMenu" aria-controls="navbarNavMenu" aria-expanded="false" aria-label="Toggle navigation">
Mix and match with other components and utilities as needed.
-<ResizableExample code={`<nav class="navbar navbar-expand-md bg-1 fg-2">
+<ResizableExample code={`<nav class="navbar md:navbar-expand bg-1 fg-2">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar w/ text</a>
<button class="btn-icon navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
<CloseButton dismiss="offcanvas" />
</div>
<div class="offcanvas-body">
- <ul class="navbar-nav me-auto mb-2 mb-md-0">
+ <ul class="navbar-nav me-auto mb-2 md:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
To make a navbar dark, add `data-bs-theme="dark"` to the `.navbar` element.
-<ResizableExample code={`<nav class="navbar navbar-expand-md bg-1" data-bs-theme="dark">
+<ResizableExample code={`<nav class="navbar md:navbar-expand bg-1" data-bs-theme="dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">Dark navbar</a>
<button class="btn-icon navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarDarkOffcanvas" aria-controls="navbarDarkOffcanvas" aria-expanded="false" aria-label="Toggle navigation">
<h5 class="offcanvas-title" id="navbarDarkOffcanvasLabel">Menu</h5>
<CloseButton dismiss="offcanvas" />
</div>
- <div class="offcanvas-body mb-2 mb-md-0">
+ <div class="offcanvas-body mb-2 md:mb-0">
<ul class="nav navbar-nav me-auto">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
Add `.navbar-translucent` to blur and saturate the background of a navbar. This works well for navbars positioned over content, such as fixed or sticky navbars.
-<Example code={`<nav class="navbar navbar-translucent navbar-expand-md" data-bs-theme="dark">
+<Example code={`<nav class="navbar navbar-translucent md:navbar-expand" data-bs-theme="dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<ul class="navbar-nav">
Navbar themes are easier than ever thanks to Bootstrap's combination of Sass and CSS variables. The default is our "light navbar" for use with light background colors, but you can also apply `data-bs-theme="dark"` to the `.navbar` parent for dark background colors. Then, customize with `.bg-*` and additional utilities.
<ResizableExample className="d-flex flex-column gap-2" showMarkup={false} code={`
-<nav class="navbar navbar-expand-md" data-bs-theme="dark">
+<nav class="navbar md:navbar-expand" data-bs-theme="dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<button class="btn-icon navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarColor01" aria-controls="navbarColor01" aria-expanded="false" aria-label="Toggle navigation">
<CloseButton dismiss="offcanvas" />
</div>
<div class="offcanvas-body">
- <ul class="navbar-nav me-auto mb-2 mb-md-0">
+ <ul class="navbar-nav me-auto mb-2 md:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</div>
</nav>
-<nav class="navbar navbar-expand-md bg-primary" data-bs-theme="dark">
+<nav class="navbar md:navbar-expand bg-primary" data-bs-theme="dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<button class="btn-icon navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarColor02" aria-controls="navbarColor02" aria-expanded="false" aria-label="Toggle navigation">
<CloseButton dismiss="offcanvas" />
</div>
<div class="offcanvas-body">
- <ul class="navbar-nav me-auto mb-2 mb-md-0">
+ <ul class="navbar-nav me-auto mb-2 md:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</div>
</nav>
-<nav class="navbar navbar-expand-md bg-1" data-bs-theme="light">
+<nav class="navbar md:navbar-expand bg-1" data-bs-theme="light">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<button class="btn-icon navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarColor03" aria-controls="navbarColor03" aria-expanded="false" aria-label="Toggle navigation">
<CloseButton dismiss="offcanvas" />
</div>
<div class="offcanvas-body">
- <ul class="navbar-nav me-auto mb-2 mb-md-0">
+ <ul class="navbar-nav me-auto mb-2 md:mb-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
Although it's not required, you can wrap a navbar in a `.container` to center it on a page–though note that an inner container is still required. Or you can add a container inside the `.navbar` to only center the contents of a [fixed or static top navbar](#placement).
<Example code={`<div class="container">
- <nav class="navbar navbar-expand-lg bg-1 fg-2">
+ <nav class="navbar lg:navbar-expand bg-1 fg-2">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
</div>
Use any of the responsive containers to change how wide the content in your navbar is presented.
-<Example code={`<nav class="navbar navbar-expand-lg bg-1 fg-2">
- <div class="container-md">
+<Example code={`<nav class="navbar lg:navbar-expand bg-1 fg-2">
+ <div class="md:container">
<a class="navbar-brand" href="#">Navbar</a>
</div>
</nav>`} />
## Responsive behaviors
-Navbars can use `.navbar-toggler`, and `.navbar-expand-lg{-sm|-md|-lg|-xl|-2xl}` classes to determine when their content appears in an offcanvas drawer or inline. In combination with other utilities, you can easily choose when to show or hide particular elements.
+Navbars can use `.navbar-toggler`, and `.lg:navbar-expand{-sm|-md|-lg|-xl|-2xl}` classes to determine when their content appears in an offcanvas drawer or inline. In combination with other utilities, you can easily choose when to show or hide particular elements.
-For navbars that never collapse, add the `.navbar-expand-lg` class on the navbar. For navbars that always show the offcanvas drawer, don't add any `.navbar-expand-lg` class.
+For navbars that never collapse, add the `.lg:navbar-expand` class on the navbar. For navbars that always show the offcanvas drawer, don't add any `.lg:navbar-expand` class.
### Offcanvas drawer
- `.offcanvas-top` - slides in from the top
- `.offcanvas-bottom` - slides in from the bottom
-These examples omit the `.navbar-expand-lg-*` class to always show the drawer behavior. Click the toggler to see the drawer slide in from different directions.
+These examples omit the `.lg:navbar-expand` class to always show the drawer behavior. Click the toggler to see the drawer slide in from different directions.
-<ResizableExample code={`<nav class="navbar navbar-expand-md bg-1 fg-2">
+<ResizableExample code={`<nav class="navbar md:navbar-expand bg-1 fg-2">
<div class="container-fluid">
<a class="navbar-brand" href="#">Left Drawer</a>
<button class="btn-icon navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarLeftDrawer" aria-controls="navbarLeftDrawer" aria-expanded="false" aria-label="Toggle navigation">
<CloseButton dismiss="offcanvas" />
</div>
<div class="offcanvas-body">
- <ul class="navbar-nav me-auto mb-2 mb-md-0">
+ <ul class="navbar-nav me-auto mb-2 md:mb-0">
<li class="nav-item"><a class="nav-link active" aria-current="page" href="#">Home</a></li>
<li class="nav-item"><a class="nav-link" href="#">Link</a></li>
<li class="nav-item"><a class="nav-link disabled" aria-disabled="true">Disabled</a></li>
</div>
</nav>`} />
-<ResizableExample code={`<nav class="navbar navbar-expand-md bg-1 fg-2">
+<ResizableExample code={`<nav class="navbar md:navbar-expand bg-1 fg-2">
<div class="container-fluid">
<a class="navbar-brand" href="#">Top Drawer</a>
<button class="btn-icon navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarTopDrawer" aria-controls="navbarTopDrawer" aria-expanded="false" aria-label="Toggle navigation">
<CloseButton dismiss="offcanvas" />
</div>
<div class="offcanvas-body">
- <ul class="navbar-nav me-auto mb-2 mb-md-0">
+ <ul class="navbar-nav me-auto mb-2 md:mb-0">
<li class="nav-item"><a class="nav-link active" aria-current="page" href="#">Home</a></li>
<li class="nav-item"><a class="nav-link" href="#">Link</a></li>
<li class="nav-item"><a class="nav-link disabled" aria-disabled="true">Disabled</a></li>
Navbar togglers are left-aligned by default, but should they follow a sibling element like a `.navbar-brand`, they'll automatically be aligned to the far right. Reversing your markup will reverse the placement of the toggler.
-These examples omit the `.navbar-expand-lg-*` class to always show the collapsed state with the toggler visible. Click the toggler to open the offcanvas drawer.
+These examples omit the `.lg:navbar-expand` class to always show the collapsed state with the toggler visible. Click the toggler to open the offcanvas drawer.
With no `.navbar-brand` shown (hidden inside the drawer):
-<ResizableExample code={`<nav class="navbar navbar-expand-md bg-1 fg-2">
+<ResizableExample code={`<nav class="navbar md:navbar-expand bg-1 fg-2">
<div class="container-fluid">
<button class="btn-icon navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarTogglerDemo01" aria-controls="navbarTogglerDemo01" aria-expanded="false" aria-label="Toggle navigation">
<svg class="navbar-toggler-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round"><path d="M1 3.5h14M1 8h14M1 12.5h14"/></svg>
</div>
<div class="offcanvas-body">
<a class="navbar-brand" href="#">Hidden brand</a>
- <ul class="navbar-nav me-auto mb-2 mb-md-0">
+ <ul class="navbar-nav me-auto mb-2 md:mb-0">
<li class="nav-item"><a class="nav-link active" aria-current="page" href="#">Home</a></li>
<li class="nav-item"><a class="nav-link" href="#">Link</a></li>
<li class="nav-item"><a class="nav-link disabled" aria-disabled="true">Disabled</a></li>
### Sass loops
-[Responsive navbar expand/collapse classes](#responsive-behaviors) (e.g., `.navbar-expand-lg`) are combined with the `$navbar-breakpoints` map and generated through a loop in `scss/_navbar.scss`.
+[Responsive navbar expand/collapse classes](#responsive-behaviors) (e.g., `.lg:navbar-expand`) are combined with the `$navbar-breakpoints` map and generated through a loop in `scss/_navbar.scss`.
<ScssDocs name="navbar-expand-loop" file="scss/_navbar.scss" />
## Responsive
-Responsive offcanvas classes hide content outside the viewport from a specified breakpoint and down. Above that breakpoint, the contents within will behave as usual. For example, `.offcanvas-lg` hides content in an offcanvas below the `lg` breakpoint, but shows the content above the `lg` breakpoint. Responsive offcanvas classes are available for each breakpoint.
+Responsive offcanvas classes hide content outside the viewport from a specified breakpoint and down. Above that breakpoint, the contents within will behave as usual. For example, `.lg:offcanvas` hides content in an offcanvas below the `lg` breakpoint, but shows the content above the `lg` breakpoint. Responsive offcanvas classes are available for each breakpoint.
- `.offcanvas`
-- `.offcanvas-sm`
-- `.offcanvas-md`
-- `.offcanvas-lg`
-- `.offcanvas-xl`
-- `.offcanvas-2xl`
+- `.sm:offcanvas`
+- `.md:offcanvas`
+- `.lg:offcanvas`
+- `.xl:offcanvas`
+- `.2xl:offcanvas`
To make a responsive offcanvas, replace the `.offcanvas` base class with a responsive variant and ensure your close button has an explicit `data-bs-target`.
-<Example code={`<button class="btn-solid theme-primary d-lg-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasResponsive" aria-controls="offcanvasResponsive">Toggle offcanvas</button>
+<Example code={`<button class="btn-solid theme-primary lg:d-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasResponsive" aria-controls="offcanvasResponsive">Toggle offcanvas</button>
- <div class="alert theme-info d-none d-lg-block"><p>Resize your browser to show the responsive offcanvas toggle.</p></div>
+ <div class="alert theme-info d-none lg:d-block"><p>Resize your browser to show the responsive offcanvas toggle.</p></div>
- <div class="offcanvas-lg offcanvas-end" tabindex="-1" id="offcanvasResponsive" aria-labelledby="offcanvasResponsiveLabel">
+ <div class="lg:offcanvas offcanvas-end" tabindex="-1" id="offcanvasResponsive" aria-labelledby="offcanvasResponsiveLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasResponsiveLabel">Responsive offcanvas</h5>
<CloseButton dismiss="offcanvas" />
</div>
<div class="offcanvas-body">
- <p class="mb-0">This is content within an <code>.offcanvas-lg</code>.</p>
+ <p class="mb-0">This is content within an <code>.lg:offcanvas</code>.</p>
</div>
</div>`} />
Steppers can be made horizontal at specific breakpoints using the `contains-inline` utility on a parent element and by adding the responsive `.stepper-horizontal-{breakpoint}` modifier classes on the stepper. The extra parent element is required when using container queries.
<ResizableExample code={`<div class="contains-inline">
- <ol class="stepper stepper-horizontal-sm">
+ <ol class="stepper sm:stepper-horizontal">
<li class="stepper-item active">Create account</li>
<li class="stepper-item active">Confirm email</li>
<li class="stepper-item">Update profile</li>
Below is an example of Markdown demonstrating several types of HTML content supported in the `.prose` class.
-<div class="prose border rounded-3 p-3 p-lg-5 max-w-100">
+<div class="prose border rounded-3 p-3 lg:p-5 max-w-100">
# Getting started with documentation
Writing clear and effective documentation is essential for any project. When you create content that others will read and use, [proper formatting](#) makes all the difference. *Good documentation* helps users understand complex concepts quickly and efficiently.
Align terms and descriptions horizontally by using our grid system’s predefined classes (or semantic mixins). For longer terms, you can optionally add a `.text-truncate` class to truncate the text with an ellipsis.
<Example code={`<dl class="row">
- <dt class="col-sm-3">Description lists</dt>
- <dd class="col-sm-9">A description list is perfect for defining terms.</dd>
+ <dt class="sm:col-3">Description lists</dt>
+ <dd class="sm:col-9">A description list is perfect for defining terms.</dd>
- <dt class="col-sm-3">Term</dt>
- <dd class="col-sm-9">
+ <dt class="sm:col-3">Term</dt>
+ <dd class="sm:col-9">
<p>Definition for the term.</p>
<p>And some more placeholder definition text.</p>
</dd>
- <dt class="col-sm-3">Another term</dt>
- <dd class="col-sm-9">This definition is short, so no extra paragraphs or anything.</dd>
+ <dt class="sm:col-3">Another term</dt>
+ <dd class="sm:col-9">This definition is short, so no extra paragraphs or anything.</dd>
- <dt class="col-sm-3 text-truncate">Truncated term is truncated</dt>
- <dd class="col-sm-9">This can be useful when space is tight. Adds an ellipsis at the end.</dd>
+ <dt class="sm:col-3 text-truncate">Truncated term is truncated</dt>
+ <dd class="sm:col-9">This can be useful when space is tight. Adds an ellipsis at the end.</dd>
- <dt class="col-sm-3">Nesting</dt>
- <dd class="col-sm-9">
+ <dt class="sm:col-3">Nesting</dt>
+ <dd class="sm:col-9">
<dl class="row">
- <dt class="col-sm-4">Nested definition list</dt>
- <dd class="col-sm-8">I heard you like definition lists. Let me put a definition list inside your definition list.</dd>
+ <dt class="sm:col-4">Nested definition list</dt>
+ <dd class="sm:col-8">I heard you like definition lists. Let me put a definition list inside your definition list.</dd>
</dl>
</dd>
</dl>`} />
| `$enable-gradients` | `true` or `false` (default) | Enables predefined gradients via `background-image` styles on various components. |
| `$enable-transitions` | `true` (default) or `false` | Enables predefined `transition`s on various components. |
| `$enable-reduced-motion` | `true` (default) or `false` | Enables the [`prefers-reduced-motion` media query]([[docsref:/getting-started/accessibility#reduced-motion]]), which suppresses certain animations/transitions based on the users’ browser/operating system preferences. |
-| `$enable-grid-classes` | `true` (default) or `false` | Enables the generation of CSS classes for the grid system (e.g. `.row`, `.col-md-1`, etc.). |
-| `$enable-cssgrid` | `true` or `false` (default) | Enables the experimental CSS Grid system (e.g. `.grid`, `.g-col-md-1`, etc.). |
+| `$enable-grid-classes` | `true` (default) or `false` | Enables the generation of CSS classes for the grid system (e.g. `.row`, `.md:col-1`, etc.). |
+| `$enable-cssgrid` | `true` or `false` (default) | Enables the experimental CSS Grid system (e.g. `.grid`, `.md:g-col-1`, etc.). |
| `$enable-container-classes` | `true` (default) or `false` | Enables the generation of CSS classes for layout containers. (New in v5.2.0) |
| `$enable-caret` | `true` (default) or `false` | Enables pseudo element caret on `[data-bs-toggle="menu"]`. |
| `$enable-button-pointers` | `true` (default) or `false` | Add “hand” cursor to non-disabled button elements. |
Here's the same set of components rendered in both light and dark modes side by side. Note the use of `.bg-body` for the backgrounds. Without it, the light mode demo wouldn’t have a white background—just light mode components on a dark background.
<Example class="p-0 overflow-hidden" code={`<div class="row g-0">
- <div class="col-md-6 vstack gap-3 p-4 bg-body" data-bs-theme="light">
+ <div class="md:col-6 vstack gap-3 p-4 bg-body" data-bs-theme="light">
<h6 class="fw-semibold">Light mode</h6>
<div class="card">
<div class="card-body">
<button type="button" class="btn-subtle theme-secondary">Secondary</button>
</div>
</div>
- <div class="col-md-6 vstack gap-3 p-4 bg-body" data-bs-theme="dark">
+ <div class="md:col-6 vstack gap-3 p-4 bg-body" data-bs-theme="dark">
<h6 class="fw-semibold">Dark mode</h6>
<div class="card">
<div class="card-body">
When working with the Bootstrap grid system, be sure to place form elements within column classes.
<Example code={`<div class="row g-2">
- <div class="col-md">
+ <div class="md:col">
<div class="form-floating">
<input type="email" class="form-control" id="floatingInputGrid" placeholder="name@example.com" value="mdo@example.com">
<label for="floatingInputGrid">Email address</label>
</div>
</div>
- <div class="col-md">
+ <div class="md:col">
<div class="form-floating">
<select class="form-control" id="floatingSelectGrid">
<option selected>Open this select menu</option>
If you want to have `<input readonly>` elements in your form styled as plain text, replace `.form-control` with `.form-control-plaintext` to remove the default form field styling and preserve the correct `margin` and `padding`.
<Example code={`<div class="mb-3 row">
- <label for="staticEmail" class="col-sm-2 col-form-label">Email</label>
- <div class="col-sm-10">
+ <label for="staticEmail" class="sm:col-2 col-form-label">Email</label>
+ <div class="sm:col-10">
<input type="text" readonly class="form-control-plaintext" id="staticEmail" value="email@example.com">
</div>
</div>
<div class="mb-3 row">
- <label for="inputPassword" class="col-sm-2 col-form-label">Password</label>
- <div class="col-sm-10">
+ <label for="inputPassword" class="sm:col-2 col-form-label">Password</label>
+ <div class="sm:col-10">
<input type="password" class="form-control" id="inputPassword">
</div>
</div>`} />
More complex layouts can also be created with the grid system.
<Example code={`<form class="row g-3">
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="inputEmail4" class="form-label">Email</label>
<input type="email" class="form-control" id="inputEmail4">
</div>
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="inputPassword4" class="form-label">Password</label>
<input type="password" class="form-control" id="inputPassword4">
</div>
<label for="inputAddress2" class="form-label">Address 2</label>
<input type="text" class="form-control" id="inputAddress2" placeholder="Apartment, studio, or floor">
</div>
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="inputCity" class="form-label">City</label>
<input type="text" class="form-control" id="inputCity">
</div>
- <div class="col-md-4">
+ <div class="md:col-4">
<label for="inputState" class="form-label">State</label>
<select id="inputState" class="form-select">
<option selected>Choose...</option>
<option>...</option>
</select>
</div>
- <div class="col-md-2">
+ <div class="md:col-2">
<label for="inputZip" class="form-label">Zip</label>
<input type="text" class="form-control" id="inputZip">
</div>
<Example code={`<form>
<div class="row mb-3">
- <label for="inputEmail3" class="col-sm-2 col-form-label">Email</label>
- <div class="col-sm-10">
+ <label for="inputEmail3" class="sm:col-2 col-form-label">Email</label>
+ <div class="sm:col-10">
<input type="email" class="form-control" id="inputEmail3">
</div>
</div>
<div class="row mb-3">
- <label for="inputPassword3" class="col-sm-2 col-form-label">Password</label>
- <div class="col-sm-10">
+ <label for="inputPassword3" class="sm:col-2 col-form-label">Password</label>
+ <div class="sm:col-10">
<input type="password" class="form-control" id="inputPassword3">
</div>
</div>
<fieldset class="row mb-3">
- <legend class="col-form-label col-sm-2 pt-0">Radios</legend>
- <div class="col-sm-10">
+ <legend class="col-form-label sm:col-2 pt-0">Radios</legend>
+ <div class="sm:col-10">
<div class="form-check">
<input class="form-check-input" type="radio" name="gridRadios" id="gridRadios1" value="option1" checked>
<label class="form-check-label" for="gridRadios1">
</div>
</fieldset>
<div class="row mb-3">
- <div class="col-sm-10 offset-sm-2">
+ <div class="sm:col-10 sm:offset-2">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="gridCheck1">
<label class="form-check-label" for="gridCheck1">
Be sure to use `.col-form-label-sm` or `.col-form-label-lg` to your `<label>`s or `<legend>`s to correctly follow the size of `.form-control-lg` and `.form-control-sm`.
<Example code={`<div class="row mb-3">
- <label for="colFormLabelSm" class="col-sm-2 col-form-label col-form-label-sm">Email</label>
- <div class="col-sm-10">
+ <label for="colFormLabelSm" class="sm:col-2 col-form-label col-form-label-sm">Email</label>
+ <div class="sm:col-10">
<input type="email" class="form-control form-control-sm" id="colFormLabelSm" placeholder="col-form-label-sm">
</div>
</div>
<div class="row mb-3">
- <label for="colFormLabel" class="col-sm-2 col-form-label">Email</label>
- <div class="col-sm-10">
+ <label for="colFormLabel" class="sm:col-2 col-form-label">Email</label>
+ <div class="sm:col-10">
<input type="email" class="form-control" id="colFormLabel" placeholder="col-form-label">
</div>
</div>
<div class="row">
- <label for="colFormLabelLg" class="col-sm-2 col-form-label col-form-label-lg">Email</label>
- <div class="col-sm-10">
+ <label for="colFormLabelLg" class="sm:col-2 col-form-label col-form-label-lg">Email</label>
+ <div class="sm:col-10">
<input type="email" class="form-control form-control-lg" id="colFormLabelLg" placeholder="col-form-label-lg">
</div>
</div>`} />
## Column sizing
-As shown in the previous examples, our grid system allows you to place any number of `.col`s within a `.row`. They’ll split the available width equally between them. You may also pick a subset of your columns to take up more or less space, while the remaining `.col`s equally split the rest, with specific column classes like `.col-sm-7`.
+As shown in the previous examples, our grid system allows you to place any number of `.col`s within a `.row`. They’ll split the available width equally between them. You may also pick a subset of your columns to take up more or less space, while the remaining `.col`s equally split the rest, with specific column classes like `.sm:col-7`.
<Example code={`<div class="row g-3">
- <div class="col-sm-7">
+ <div class="sm:col-7">
<input type="text" class="form-control" placeholder="City" aria-label="City">
</div>
- <div class="col-sm">
+ <div class="sm:col">
<input type="text" class="form-control" placeholder="State" aria-label="State">
</div>
- <div class="col-sm">
+ <div class="sm:col">
<input type="text" class="form-control" placeholder="Zip" aria-label="Zip">
</div>
</div>`} />
You can then remix that once again with size-specific column classes.
<Example code={`<form class="row gx-3 gy-2 align-items-center">
- <div class="col-sm-3">
+ <div class="sm:col-3">
<label class="visually-hidden" for="specificSizeInputName">Name</label>
<input type="text" class="form-control" id="specificSizeInputName" placeholder="Jane Doe">
</div>
- <div class="col-sm-3">
+ <div class="sm:col-3">
<label class="visually-hidden" for="specificSizeInputGroupUsername">Username</label>
<div class="input-group">
<div class="input-group-text">@</div>
<input type="text" class="form-control" id="specificSizeInputGroupUsername" placeholder="Username">
</div>
</div>
- <div class="col-sm-3">
+ <div class="sm:col-3">
<label class="visually-hidden" for="specificSizeSelect">Preference</label>
<select class="form-select" id="specificSizeSelect">
<option selected>Choose...</option>
Use the `.row-cols-*` classes to create responsive horizontal layouts. By adding [gutter modifier classes]([[docsref:/layout/gutters]]), we'll have gutters in horizontal and vertical directions. On narrow mobile viewports, the `.col-12` helps stack the form controls and more. The `.align-items-center` aligns the form elements to the middle, making the `.form-check` align properly.
-<Example code={`<form class="row row-cols-lg-auto g-3 align-items-center">
+<Example code={`<form class="row lg:row-cols-auto g-3 align-items-center">
<div class="col-12">
<label class="visually-hidden" for="inlineFormInputGroupUsername">Username</label>
<div class="input-group">
Custom feedback styles apply custom colors, borders, focus styles, and background icons to better communicate feedback. Background icons for `<select>`s are only available with `.form-control`, and not `.form-control`.
<Example code={`<form class="row g-3 needs-validation" novalidate>
- <div class="col-md-4">
+ <div class="md:col-4">
<label for="validationCustom01" class="form-label">First name</label>
<input type="text" class="form-control" id="validationCustom01" value="Mark" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
- <div class="col-md-4">
+ <div class="md:col-4">
<label for="validationCustom02" class="form-label">Last name</label>
<input type="text" class="form-control" id="validationCustom02" value="Otto" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
- <div class="col-md-4">
+ <div class="md:col-4">
<label for="validationCustomUsername" class="form-label">Username</label>
<div class="input-group has-validation">
<span class="input-group-text" id="inputGroupPrepend">@</span>
</div>
</div>
</div>
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="validationCustom03" class="form-label">City</label>
<input type="text" class="form-control" id="validationCustom03" required>
<div class="invalid-feedback">
Please provide a valid city.
</div>
</div>
- <div class="col-md-3">
+ <div class="md:col-3">
<label for="validationCustom04" class="form-label">State</label>
<select class="form-control" id="validationCustom04" required>
<option selected disabled value="">Choose...</option>
Please select a valid state.
</div>
</div>
- <div class="col-md-3">
+ <div class="md:col-3">
<label for="validationCustom05" class="form-label">Zip</label>
<input type="text" class="form-control" id="validationCustom05" required>
<div class="invalid-feedback">
Please provide a valid zip.
</div>
</div>
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="validationCustom06" class="form-label">Notes</label>
<textarea class="form-control" id="validationCustom06" required></textarea>
</div>
While these feedback styles cannot be styled with CSS, you can still customize the feedback text through JavaScript.
<Example code={`<form class="row g-3">
- <div class="col-md-4">
+ <div class="md:col-4">
<label for="validationDefault01" class="form-label">First name</label>
<input type="text" class="form-control" id="validationDefault01" value="Mark" required>
</div>
- <div class="col-md-4">
+ <div class="md:col-4">
<label for="validationDefault02" class="form-label">Last name</label>
<input type="text" class="form-control" id="validationDefault02" value="Otto" required>
</div>
- <div class="col-md-4">
+ <div class="md:col-4">
<label for="validationDefaultUsername" class="form-label">Username</label>
<div class="input-group">
<span class="input-group-text" id="inputGroupPrepend2">@</span>
<input type="text" class="form-control" id="validationDefaultUsername" aria-describedby="inputGroupPrepend2" required>
</div>
</div>
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="validationDefault03" class="form-label">City</label>
<input type="text" class="form-control" id="validationDefault03" required>
</div>
- <div class="col-md-3">
+ <div class="md:col-3">
<label for="validationDefault04" class="form-label">State</label>
<select class="form-control" id="validationDefault04" required>
<option selected disabled value="">Choose...</option>
<option>...</option>
</select>
</div>
- <div class="col-md-3">
+ <div class="md:col-3">
<label for="validationDefault05" class="form-label">Zip</label>
<input type="text" class="form-control" id="validationDefault05" required>
</div>
To fix [issues with border radius](https://github.com/twbs/bootstrap/issues/25110), input groups require an additional `.has-validation` class.
<Example code={`<form class="row g-3">
- <div class="col-md-4">
+ <div class="md:col-4">
<label for="validationServer01" class="form-label">First name</label>
<input type="text" class="form-control is-valid" id="validationServer01" value="Mark" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
- <div class="col-md-4">
+ <div class="md:col-4">
<label for="validationServer02" class="form-label">Last name</label>
<input type="text" class="form-control is-valid" id="validationServer02" value="Otto" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
- <div class="col-md-4">
+ <div class="md:col-4">
<label for="validationServerUsername" class="form-label">Username</label>
<div class="input-group has-validation">
<span class="input-group-text" id="inputGroupPrepend3">@</span>
</div>
</div>
</div>
- <div class="col-md-6">
+ <div class="md:col-6">
<label for="validationServer03" class="form-label">City</label>
<input type="text" class="form-control is-invalid" id="validationServer03" aria-describedby="validationServer03Feedback" required>
<div id="validationServer03Feedback" class="invalid-feedback">
Please provide a valid city.
</div>
</div>
- <div class="col-md-3">
+ <div class="md:col-3">
<label for="validationServer04" class="form-label">State</label>
<select class="form-control is-invalid" id="validationServer04" aria-describedby="validationServer04Feedback" required>
<option selected disabled value="">Choose...</option>
Please select a valid state.
</div>
</div>
- <div class="col-md-3">
+ <div class="md:col-3">
<label for="validationServer05" class="form-label">Zip</label>
<input type="text" class="form-control is-invalid" id="validationServer05" aria-describedby="validationServer05Feedback" required>
<div id="validationServer05Feedback" class="invalid-feedback">
If your form layout allows it, you can swap the `.{valid|invalid}-feedback` classes for `.{valid|invalid}-tooltip` classes to display validation feedback in a styled tooltip. Be sure to have a parent with `position: relative` on it for tooltip positioning. In the example below, our column classes have this already, but your project may require an alternative setup.
<Example code={`<form class="row g-3 needs-validation" novalidate>
- <div class="col-md-4 position-relative">
+ <div class="md:col-4 position-relative">
<label for="validationTooltip01" class="form-label">First name</label>
<input type="text" class="form-control" id="validationTooltip01" value="Mark" required>
<div class="valid-tooltip">
Looks good!
</div>
</div>
- <div class="col-md-4 position-relative">
+ <div class="md:col-4 position-relative">
<label for="validationTooltip02" class="form-label">Last name</label>
<input type="text" class="form-control" id="validationTooltip02" value="Otto" required>
<div class="valid-tooltip">
Looks good!
</div>
</div>
- <div class="col-md-4 position-relative">
+ <div class="md:col-4 position-relative">
<label for="validationTooltipUsername" class="form-label">Username</label>
<div class="input-group has-validation">
<span class="input-group-text" id="validationTooltipUsernamePrepend">@</span>
</div>
</div>
</div>
- <div class="col-md-6 position-relative">
+ <div class="md:col-6 position-relative">
<label for="validationTooltip03" class="form-label">City</label>
<input type="text" class="form-control" id="validationTooltip03" required>
<div class="invalid-tooltip">
Please provide a valid city.
</div>
</div>
- <div class="col-md-3 position-relative">
+ <div class="md:col-3 position-relative">
<label for="validationTooltip04" class="form-label">State</label>
<select class="form-control" id="validationTooltip04" required>
<option selected disabled value="">Choose...</option>
Please select a valid state.
</div>
</div>
- <div class="col-md-3 position-relative">
+ <div class="md:col-3 position-relative">
<label for="validationTooltip05" class="form-label">Zip</label>
<input type="text" class="form-control" id="validationTooltip05" required>
<div class="invalid-tooltip">
Bootstrap's styles are mobile-first—we add styles as the viewport grows rather than overriding them as it shrinks. Not every component must be fully responsive, but this approach reduces CSS overrides.
-We use range media queries (`width >= 768px`, for example) to apply styles at a specific breakpoint and carry up through the larger breakpoints. For example, a `.d-none` applies from `min-width: 0` to infinity. On the other hand, a `.d-md-none` applies from the medium breakpoint and up.
+We use range media queries (`width >= 768px`, for example) to apply styles at a specific breakpoint and carry up through the larger breakpoints. For example, a `.d-none` applies from `min-width: 0` to infinity. On the other hand, a `.md:d-none` applies from the medium breakpoint and up.
### Classes
Responsive variations also exist for `.sticky-top` utility.
```html
-<div class="sticky-sm-top">Stick to the top on viewports sized SM (small) or wider</div>
-<div class="sticky-md-top">Stick to the top on viewports sized MD (medium) or wider</div>
-<div class="sticky-lg-top">Stick to the top on viewports sized LG (large) or wider</div>
-<div class="sticky-xl-top">Stick to the top on viewports sized XL (extra-large) or wider</div>
-<div class="sticky-2xl-top">Stick to the top on viewports sized 2XL (extra-extra-large) or wider</div>
+<div class="sm:sticky-top">Stick to the top on viewports sized SM (small) or wider</div>
+<div class="md:sticky-top">Stick to the top on viewports sized MD (medium) or wider</div>
+<div class="lg:sticky-top">Stick to the top on viewports sized LG (large) or wider</div>
+<div class="xl:sticky-top">Stick to the top on viewports sized XL (extra-large) or wider</div>
+<div class="2xl:sticky-top">Stick to the top on viewports sized 2XL (extra-extra-large) or wider</div>
```
## Sticky bottom
Responsive variations also exist for `.sticky-bottom` utility.
```html
-<div class="sticky-sm-bottom">Stick to the bottom on viewports sized SM (small) or wider</div>
-<div class="sticky-md-bottom">Stick to the bottom on viewports sized MD (medium) or wider</div>
-<div class="sticky-lg-bottom">Stick to the bottom on viewports sized LG (large) or wider</div>
-<div class="sticky-xl-bottom">Stick to the bottom on viewports sized XL (extra-large) or wider</div>
-<div class="sticky-2xl-bottom">Stick to the bottom on viewports sized 2XL (extra-extra-large) or wider</div>
+<div class="sm:sticky-bottom">Stick to the bottom on viewports sized SM (small) or wider</div>
+<div class="md:sticky-bottom">Stick to the bottom on viewports sized MD (medium) or wider</div>
+<div class="lg:sticky-bottom">Stick to the bottom on viewports sized LG (large) or wider</div>
+<div class="xl:sticky-bottom">Stick to the bottom on viewports sized XL (extra-large) or wider</div>
+<div class="2xl:sticky-bottom">Stick to the bottom on viewports sized 2XL (extra-extra-large) or wider</div>
```
Consider this example of stacking buttons on narrow mobile devices, and making them horizontal on larger devices.
-<Example code={`<div class="vstack gap-2 col-md-5 mx-auto">
+<Example code={`<div class="vstack gap-2 md:col-5 mx-auto">
<button type="button" class="btn-solid theme-primary">Save changes</button>
<button type="button" class="btn-outline theme-secondary">Cancel</button>
</div>`} />
Here's how you'd do it with responsive stacks, which are based on a container media queries. Wrap the stack in an extra element or add `.stack-container` to an existing parent to give the stack a "container" to adapt its layout from.
<ResizableExample code={`<div class="stack-container">
- <div class="vstack gap-2 hstack-sm">
+ <div class="vstack gap-2 sm:hstack">
<button type="button" class="btn-solid theme-primary">Save changes</button>
<button type="button" class="btn-outline theme-secondary">Cancel</button>
</div>
</div>`} />
<Example code={`<div class="row g-0 bg-1 position-relative">
- <div class="col-md-6 mb-md-0 p-md-4">
+ <div class="md:col-6 md:mb-0 md:p-4">
<Placeholder width="100%" height="200" class="w-100" text={false} title="Generic placeholder image" />
</div>
- <div class="col-md-6 p-4 ps-md-0">
+ <div class="md:col-6 p-4 md:ps-0">
<h5 class="mt-0">Columns with stretched link</h5>
<p>Another instance of placeholder content for this other custom component. It is intended to mimic what some real-world content would look like, and we’re using it here to give the component a bit of body and size.</p>
<a href="#" class="stretched-link">Go somewhere</a>
The following components use container queries:
-- **[Navbar]([[docsref:/components/navbar]])** — Uses container queries for its responsive expand behavior. The `.navbar` element is set as a query container, and the `.navbar-expand-*` classes use `@container` queries instead of `@media` queries. This means the navbar responds to its own width rather than the viewport width, making it more adaptable when placed in different layout contexts (e.g., within a sidebar or constrained container).
+- **[Navbar]([[docsref:/components/navbar]])** — Uses container queries for its responsive expand behavior. The `.navbar` element is set as a query container, and the `.*:navbar-expand` classes use `@container` queries instead of `@media` queries. This means the navbar responds to its own width rather than the viewport width, making it more adaptable when placed in different layout contexts (e.g., within a sidebar or constrained container).
- **[Stepper]([[docsref:/components/stepper]])** — The `.stepper-overflow` wrapper uses `container-type: inline-size` to establish a containment context for the horizontally scrolling stepper pattern.
}
// Responsive classes use container queries
-.navbar-expand-lg {
+.lg\:navbar-expand {
@container (min-width: 1024px) {
// Expanded navbar styles...
}
<Example class="bd-example-row" code={`<div class="container text-center">
<div class="row">
- <div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
- <div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
+ <div class="col-6 sm:col-3">.col-6 .sm:col-3</div>
+ <div class="col-6 sm:col-3">.col-6 .sm:col-3</div>
<!-- Force next columns to break to new line -->
<div class="w-100"></div>
- <div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
- <div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
+ <div class="col-6 sm:col-3">.col-6 .sm:col-3</div>
+ <div class="col-6 sm:col-3">.col-6 .sm:col-3</div>
</div>
</div>`} />
<Example class="bd-example-row" code={`<div class="container text-center">
<div class="row">
- <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
- <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
+ <div class="col-6 sm:col-4">.col-6 .sm:col-4</div>
+ <div class="col-6 sm:col-4">.col-6 .sm:col-4</div>
<!-- Force next columns to break to new line at md breakpoint and up -->
- <div class="w-100 d-none d-md-block"></div>
+ <div class="w-100 d-none md:d-block"></div>
- <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
- <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
+ <div class="col-6 sm:col-4">.col-6 .sm:col-4</div>
+ <div class="col-6 sm:col-4">.col-6 .sm:col-4</div>
</div>
</div>`} />
### Order classes
-Use `.order-` classes for controlling the **visual order** of your content. These classes are responsive, so you can set the `order` by breakpoint (e.g., `.order-1.order-md-2`). Includes support for `1` through `5` across all six grid tiers.
+Use `.order-` classes for controlling the **visual order** of your content. These classes are responsive, so you can set the `order` by breakpoint (e.g., `.order-1.md:order-2`). Includes support for `1` through `5` across all six grid tiers.
<Example class="bd-example-row" code={`<div class="container text-center">
<div class="row">
values: map-merge(
map-get(map-get($utilities, "order"), "values"),
(
- 6: 6, // Add a new `.order-{breakpoint}-6` utility
- last: 7 // Change the `.order-{breakpoint}-last` utility to use the next number
+ 6: 6, // Add a new `.{breakpoint}:order-6` utility
+ last: 7 // Change the `.{breakpoint}:order-last` utility to use the next number
)
),
),
#### Offset classes
-Move columns to the right using `.offset-md-*` classes. These classes increase the left margin of a column by `*` columns. For example, `.offset-md-4` moves `.col-md-4` over four columns.
+Move columns to the right using `.md:offset-*` classes. These classes increase the left margin of a column by `*` columns. For example, `.md:offset-4` moves `.md:col-4` over four columns.
<Example class="bd-example-row" code={`<div class="container text-center">
<div class="row">
- <div class="col-md-4">.col-md-4</div>
- <div class="col-md-4 offset-md-4">.col-md-4 .offset-md-4</div>
+ <div class="md:col-4">.md:col-4</div>
+ <div class="md:col-4 md:offset-4">.md:col-4 .md:offset-4</div>
</div>
<div class="row">
- <div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
- <div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
+ <div class="md:col-3 md:offset-3">.md:col-3 .md:offset-3</div>
+ <div class="md:col-3 md:offset-3">.md:col-3 .md:offset-3</div>
</div>
<div class="row">
- <div class="col-md-6 offset-md-3">.col-md-6 .offset-md-3</div>
+ <div class="md:col-6 md:offset-3">.md:col-6 .md:offset-3</div>
</div>
</div>`} />
<Example class="bd-example-row" code={`<div class="container text-center">
<div class="row">
- <div class="col-sm-5 col-md-6">.col-sm-5 .col-md-6</div>
- <div class="col-sm-5 offset-sm-2 col-md-6 offset-md-0">.col-sm-5 .offset-sm-2 .col-md-6 .offset-md-0</div>
+ <div class="sm:col-5 md:col-6">.sm:col-5 .md:col-6</div>
+ <div class="sm:col-5 sm:offset-2 md:col-6 md:offset-0">.sm:col-5 .sm:offset-2 .md:col-6 .md:offset-0</div>
</div>
<div class="row">
- <div class="col-sm-6 col-md-5 col-lg-6">.col-sm-6 .col-md-5 .col-lg-6</div>
- <div class="col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0">.col-sm-6 .col-md-5 .offset-md-2 .col-lg-6 .offset-lg-0</div>
+ <div class="sm:col-6 md:col-5 lg:col-6">.sm:col-6 .md:col-5 .lg:col-6</div>
+ <div class="sm:col-6 md:col-5 md:offset-2 lg:col-6 lg:offset-0">.sm:col-6 .md:col-5 .md:offset-2 .lg:col-6 .lg:offset-0</div>
</div>
</div>`} />
<Example class="bd-example-row" code={`<div class="container text-center">
<div class="row">
- <div class="col-md-4">.col-md-4</div>
- <div class="col-md-4 ms-auto">.col-md-4 .ms-auto</div>
+ <div class="md:col-4">.md:col-4</div>
+ <div class="md:col-4 ms-auto">.md:col-4 .ms-auto</div>
</div>
<div class="row">
- <div class="col-md-3 ms-md-auto">.col-md-3 .ms-md-auto</div>
- <div class="col-md-3 ms-md-auto">.col-md-3 .ms-md-auto</div>
+ <div class="md:col-3 md:ms-auto">.md:col-3 .md:ms-auto</div>
+ <div class="md:col-3 md:ms-auto">.md:col-3 .md:ms-auto</div>
</div>
<div class="row">
<div class="col-auto me-auto">.col-auto .me-auto</div>
.col-3: width of 25%
</div>
- <div class="col-sm-9 p-3">
- .col-sm-9: width of 75% above sm breakpoint
+ <div class="sm:col-9 p-3">
+ .sm:col-9: width of 75% above sm breakpoint
</div>`} />
The classes can be used together with utilities to create responsive floated images. Make sure to wrap the content in a [`.d-flow-root`]([[docsref:/utilities/display#clearfix]]) wrapper to clear the float if the text is shorter.
<Example code={`<div class="d-flow-root">
- <Placeholder width="100%" height="210" class="col-md-6 float-md-end mb-3 ms-md-3" text="Responsive floated image" />
+ <Placeholder width="100%" height="210" class="md:col-6 md:float-end mb-3 md:ms-3" text="Responsive floated image" />
<p>
A paragraph of placeholder text. We’re using it here to show the use of the clearfix class. We’re adding quite a few meaningless phrases here to demonstrate how the columns interact here with the floated image.
Bootstrap comes with three different containers:
- `.container`, which sets a `max-width` at each responsive breakpoint
-- `.container-{breakpoint}`, which is `width: 100%` until the specified breakpoint
+- `.{breakpoint}:container`, which is `width: 100%` until the specified breakpoint
- `.container-fluid`, which is `width: 100%` at all breakpoints
The table below illustrates how each container’s `max-width` compares to the original `.container` and `.container-fluid` across each breakpoint.
| | Extra small<div class="fw-normal"><576px</div> | Small<div class="fw-normal">≥576px</div> | Medium<div class="fw-normal">≥768px</div> | Large<div class="fw-normal">≥1024px</div> | X-Large<div class="fw-normal">≥1280px</div> | 2X-Large<div class="fw-normal">≥1536px</div> |
| --- | --- | --- | --- | --- | --- | --- |
| `.container` | <span class="text-body-secondary">100%</span> | 540px | 720px | 960px | 1140px | 1440px |
-| `.container-sm` | <span class="text-body-secondary">100%</span> | 540px | 720px | 960px | 1140px | 1440px |
-| `.container-md` | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | 720px | 960px | 1140px | 1440px |
-| `.container-lg` | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | 960px | 1140px | 1440px |
-| `.container-xl` | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | 1140px | 1440px |
-| `.container-2xl` | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | 1440px |
+| `.sm:container` | <span class="text-body-secondary">100%</span> | 540px | 720px | 960px | 1140px | 1440px |
+| `.md:container` | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | 720px | 960px | 1140px | 1440px |
+| `.lg:container` | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | 960px | 1140px | 1440px |
+| `.xl:container` | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | 1140px | 1440px |
+| `.2xl:container` | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | 1440px |
| `.container-fluid` | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> | <span class="text-body-secondary">100%</span> |
</BsTable>
## Responsive containers
-Responsive containers allow you to specify a class that is 100% wide until the specified breakpoint is reached, after which we apply `max-width`s for each of the higher breakpoints. For example, `.container-sm` is 100% wide to start until the `sm` breakpoint is reached, where it will scale up with `md`, `lg`, `xl`, and `2xl`.
+Responsive containers allow you to specify a class that is 100% wide until the specified breakpoint is reached, after which we apply `max-width`s for each of the higher breakpoints. For example, `.sm:container` is 100% wide to start until the `sm` breakpoint is reached, where it will scale up with `md`, `lg`, `xl`, and `2xl`.
```html
-<div class="container-sm">100% wide until small breakpoint</div>
-<div class="container-md">100% wide until medium breakpoint</div>
-<div class="container-lg">100% wide until large breakpoint</div>
-<div class="container-xl">100% wide until extra large breakpoint</div>
-<div class="container-2xl">100% wide until extra extra large breakpoint</div>
+<div class="sm:container">100% wide until small breakpoint</div>
+<div class="md:container">100% wide until medium breakpoint</div>
+<div class="lg:container">100% wide until large breakpoint</div>
+<div class="xl:container">100% wide until extra large breakpoint</div>
+<div class="2xl:container">100% wide until extra extra large breakpoint</div>
```
## Fluid containers
Use responsive classes to adjust your layout across viewports. Here we start with two columns on the narrowest viewports, and then grow to three columns on medium viewports and above.
<Example class="bd-example-cssgrid" code={`<div class="grid text-center">
- <div class="g-col-6 g-col-md-4">.g-col-6 .g-col-md-4</div>
- <div class="g-col-6 g-col-md-4">.g-col-6 .g-col-md-4</div>
- <div class="g-col-6 g-col-md-4">.g-col-6 .g-col-md-4</div>
+ <div class="g-col-6 md:g-col-4">.g-col-6 .md:g-col-4</div>
+ <div class="g-col-6 md:g-col-4">.g-col-6 .md:g-col-4</div>
+ <div class="g-col-6 md:g-col-4">.g-col-6 .md:g-col-4</div>
</div>`} />
Compare that to this two column layout at all viewports.
Breaking it down, here’s how the grid system comes together:
-- **Our grid supports [six responsive breakpoints]([[docsref:/layout/breakpoints]]).** Breakpoints are based on `min-width` media queries, meaning they affect that breakpoint and all those above it (e.g., `.col-sm-4` applies to `sm`, `md`, `lg`, `xl`, and `2xl`). This means you can control container and column sizing and behavior by each breakpoint.
+- **Our grid supports [six responsive breakpoints]([[docsref:/layout/breakpoints]]).** Breakpoints are based on `min-width` media queries, meaning they affect that breakpoint and all those above it (e.g., `.sm:col-4` applies to `sm`, `md`, `lg`, `xl`, and `2xl`). This means you can control container and column sizing and behavior by each breakpoint.
-- **Containers center and horizontally pad your content.** Use `.container` for a responsive pixel width, `.container-fluid` for `width: 100%` across all viewports and devices, or a responsive container (e.g., `.container-md`) for a combination of fluid and pixel widths.
+- **Containers center and horizontally pad your content.** Use `.container` for a responsive pixel width, `.container-fluid` for `width: 100%` across all viewports and devices, or a responsive container (e.g., `.md:container`) for a combination of fluid and pixel widths.
- **Rows are wrappers for columns.** Each column has horizontal `padding` (called a gutter) for controlling the space between them. This `padding` is then counteracted on the rows with negative margins to ensure the content in your columns is visually aligned down the left side. Rows also support modifier classes to [uniformly apply column sizing](#row-columns) and [gutter classes]([[docsref:/layout/gutters]]) to change the spacing of your content.
<tr>
<th class="text-nowrap" scope="row">Class prefix</th>
<td><code>.col-</code></td>
- <td><code>.col-sm-</code></td>
- <td><code>.col-md-</code></td>
- <td><code>.col-lg-</code></td>
- <td><code>.col-xl-</code></td>
- <td><code>.col-2xl-</code></td>
+ <td><code>.sm:col-</code></td>
+ <td><code>.md:col-</code></td>
+ <td><code>.lg:col-</code></td>
+ <td><code>.xl:col-</code></td>
+ <td><code>.2xl:col-</code></td>
</tr>
<tr>
<th class="text-nowrap" scope="row"># of columns</th>
## Auto-layout columns
-Utilize breakpoint-specific column classes for easy column sizing without an explicit numbered class like `.col-sm-6`.
+Utilize breakpoint-specific column classes for easy column sizing without an explicit numbered class like `.sm:col-6`.
### Equal-width
### Variable width content
-Use `col-{breakpoint}-auto` classes to size columns based on the natural width of their content.
+Use `{breakpoint}:col-auto` classes to size columns based on the natural width of their content.
<Example class="bd-example-row" code={`<div class="container text-center">
- <div class="row justify-content-md-center">
- <div class="col col-lg-2">
+ <div class="row md:justify-content-center">
+ <div class="col lg:col-2">
1 of 3
</div>
- <div class="col-md-auto">
+ <div class="md:col-auto">
Variable width content
</div>
- <div class="col col-lg-2">
+ <div class="col lg:col-2">
3 of 3
</div>
</div>
<div class="col">
1 of 3
</div>
- <div class="col-md-auto">
+ <div class="md:col-auto">
Variable width content
</div>
- <div class="col col-lg-2">
+ <div class="col lg:col-2">
3 of 3
</div>
</div>
### Stacked to horizontal
-Using a single set of `.col-sm-*` classes, you can create a basic grid system that starts out stacked and becomes horizontal at the small breakpoint (`sm`).
+Using a single set of `.sm:col-*` classes, you can create a basic grid system that starts out stacked and becomes horizontal at the small breakpoint (`sm`).
<Example class="bd-example-row" code={`<div class="container text-center">
<div class="row">
- <div class="col-sm-8">col-sm-8</div>
- <div class="col-sm-4">col-sm-4</div>
+ <div class="sm:col-8">sm:col-8</div>
+ <div class="sm:col-4">sm:col-4</div>
</div>
<div class="row">
- <div class="col-sm">col-sm</div>
- <div class="col-sm">col-sm</div>
- <div class="col-sm">col-sm</div>
+ <div class="sm:col">sm:col</div>
+ <div class="sm:col">sm:col</div>
+ <div class="sm:col">sm:col</div>
</div>
</div>`} />
<Example class="bd-example-row" code={`<div class="container text-center">
<!-- Stack the columns on mobile by making one full-width and the other half-width -->
<div class="row">
- <div class="col-md-8">.col-md-8</div>
- <div class="col-6 col-md-4">.col-6 .col-md-4</div>
+ <div class="md:col-8">.md:col-8</div>
+ <div class="col-6 md:col-4">.col-6 .md:col-4</div>
</div>
<!-- Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop -->
<div class="row">
- <div class="col-6 col-md-4">.col-6 .col-md-4</div>
- <div class="col-6 col-md-4">.col-6 .col-md-4</div>
- <div class="col-6 col-md-4">.col-6 .col-md-4</div>
+ <div class="col-6 md:col-4">.col-6 .md:col-4</div>
+ <div class="col-6 md:col-4">.col-6 .md:col-4</div>
+ <div class="col-6 md:col-4">.col-6 .md:col-4</div>
</div>
<!-- Columns are always 50% wide, on mobile and desktop -->
### Row columns
-Use the responsive `.row-cols-*` classes to quickly set the number of columns that best render your content and layout. Whereas normal `.col-*` classes apply to the individual columns (e.g., `.col-md-4`), the row columns classes are set on the parent `.row` as a shortcut. With `.row-cols-auto` you can give the columns their natural width.
+Use the responsive `.row-cols-*` classes to quickly set the number of columns that best render your content and layout. Whereas normal `.col-*` classes apply to the individual columns (e.g., `.md:col-4`), the row columns classes are set on the parent `.row` as a shortcut. With `.row-cols-auto` you can give the columns their natural width.
Use these row columns classes to quickly create basic grid layouts or to control your card layouts.
</div>`} />
<Example class="bd-example-row" code={`<div class="container text-center">
- <div class="row row-cols-1 row-cols-sm-2 row-cols-md-4">
+ <div class="row row-cols-1 sm:row-cols-2 md:row-cols-4">
<div class="col">Column</div>
<div class="col">Column</div>
<div class="col">Column</div>
## Nesting
-To nest your content with the default grid, add a new `.row` and set of `.col-sm-*` columns within an existing `.col-sm-*` column. Nested rows should include a set of columns that add up to 12 or fewer (it is not required that you use all 12 available columns).
+To nest your content with the default grid, add a new `.row` and set of `.sm:col-*` columns within an existing `.sm:col-*` column. Nested rows should include a set of columns that add up to 12 or fewer (it is not required that you use all 12 available columns).
<Example class="bd-example-row" code={`<div class="container text-center">
<div class="row">
- <div class="col-sm-3">
- Level 1: .col-sm-3
+ <div class="sm:col-3">
+ Level 1: .sm:col-3
</div>
- <div class="col-sm-9">
+ <div class="sm:col-9">
<div class="row">
- <div class="col-8 col-sm-6">
- Level 2: .col-8 .col-sm-6
+ <div class="col-8 sm:col-6">
+ Level 2: .col-8 .sm:col-6
</div>
- <div class="col-4 col-sm-6">
- Level 2: .col-4 .col-sm-6
+ <div class="col-4 sm:col-6">
+ Level 2: .col-4 .sm:col-6
</div>
</div>
</div>
Gutter classes can also be added to [row columns]([[docsref:/layout/grid#row-columns]]). In the following example, we use responsive row columns and responsive gutter classes.
<Example class="bd-example-cols" code={`<div class="container text-center">
- <div class="row row-cols-2 row-cols-lg-5 g-2 g-lg-3">
+ <div class="row row-cols-2 lg:row-cols-5 g-2 lg:g-3">
<div class="col">
<div class="p-3">Row column</div>
</div>
In practice, here’s how it looks. Note that you can continue to use this with all other predefined grid classes (including column widths, responsive tiers, reorders, and more).
<Example class="bd-example-row" code={`<div class="row g-0 text-center">
- <div class="col-sm-6 col-md-8">.col-sm-6 .col-md-8</div>
- <div class="col-6 col-md-4">.col-6 .col-md-4</div>
+ <div class="sm:col-6 md:col-8">.sm:col-6 .md:col-8</div>
+ <div class="col-6 md:col-4">.col-6 .md:col-4</div>
</div>`} />
## Change the gutters
Bootstrap is built with flexbox, but not every element’s `display` has been changed to `display: flex` as this would add many unnecessary overrides and unexpectedly change key browser behaviors. Most of [our components]([[docsref:/components/alerts]]) are built with flexbox enabled.
-Should you need to add `display: flex` to an element, do so with `.d-flex` or one of the responsive variants (e.g., `.d-sm-flex`). You’ll need this class or `display` value to allow the use of our extra [flexbox utilities]([[docsref:/utilities/flex]]) for sizing, alignment, spacing, and more.
+Should you need to add `display: flex` to an element, do so with `.d-flex` or one of the responsive variants (e.g., `.sm:d-flex`). You’ll need this class or `display` value to allow the use of our extra [flexbox utilities]([[docsref:/utilities/flex]]) for sizing, alignment, spacing, and more.
## Margin and padding
-Use the [margin]([[docsref:/utilities/margin]]) and [padding]([[docsref:/utilities/padding]]) utilities to control how elements and components are spaced and sized. Bootstrap includes a six-level scale for spacing utilities, based on a `1rem` value default `$spacer` variable. Choose values for all viewports (e.g., `.me-3` for `margin-right: 1rem` in LTR), or pick responsive variants to target specific viewports (e.g., `.me-md-3` for `margin-right: 1rem` —in LTR— starting at the `md` breakpoint).
+Use the [margin]([[docsref:/utilities/margin]]) and [padding]([[docsref:/utilities/padding]]) utilities to control how elements and components are spaced and sized. Bootstrap includes a six-level scale for spacing utilities, based on a `1rem` value default `$spacer` variable. Choose values for all viewports (e.g., `.me-3` for `margin-right: 1rem` in LTR), or pick responsive variants to target specific viewports (e.g., `.md:me-3` for `margin-right: 1rem` —in LTR— starting at the `md` breakpoint).
## Toggle `visibility`
- Increased the `xl` breakpoint from 1200px to 1280px, and it's container from 1140px to 1200px.
- Renamed `xxl` to `2xl` for better scaling with additional custom breakpoints
- Increased the `2xl` breakpoint from 1400px to 1536px, and it's container from 1320px to 1440px.
+- **Responsive classes now use a breakpoint prefix instead of an infix.** Class names follow the Tailwind-style `breakpoint:class` pattern (e.g., `md:d-none` instead of `d-md-none`). In HTML, use the unescaped colon: `class="md:d-none"`. This applies to utilities, grid, and all responsive components.
+
+<BsTable>
+| Category | Before (v5) | After (v6) |
+|---|---|---|
+| Utilities | `.d-md-none`, `.p-lg-3` | `.md:d-none`, `.lg:p-3` |
+| Grid columns | `.col-md-6` | `.md:col-6` |
+| Row columns | `.row-cols-md-3` | `.md:row-cols-3` |
+| Offsets | `.offset-md-2` | `.md:offset-2` |
+| Gutters | `.g-md-3`, `.gx-md-3` | `.md:g-3`, `.md:gx-3` |
+| CSS Grid | `.g-col-md-4` | `.md:g-col-4` |
+| Containers | `.container-sm` | `.sm:container` |
+| Navbar | `.navbar-expand-md` | `.md:navbar-expand` |
+| Offcanvas | `.offcanvas-md` | `.md:offcanvas` |
+| Tables | `.table-responsive-md` | `.md:table-responsive` |
+| List group | `.list-group-horizontal-md` | `.md:list-group-horizontal` |
+| Sticky | `.sticky-md-top` | `.md:sticky-top` |
+| Stacks | `.vstack-md` | `.md:vstack` |
+| Stepper | `.stepper-horizontal-md` | `.md:stepper-horizontal` |
+| Dialog | `.dialog-fullscreen-sm-down` | `.sm-down:dialog-fullscreen` |
+| Print | `.d-print-none` | `.print:d-none` |
+</BsTable>
### Sass
- Rearranged several Sass files in the process.
- Removed `add()` and `subtract()` functions. Use `calc()` instead.
- Removed `create-css-vars()` mixin (unused).
+- **Renamed `breakpoint-infix()` to `breakpoint-prefix()`.** The function now returns a prefix string (e.g., `"md\:"`) instead of an infix (e.g., `"-md"`). The `loop-breakpoints-up` and `loop-breakpoints-down` mixins now expose `$prefix` instead of `$infix`. Update any custom Sass that calls these functions or mixins.
- **CSS variable prefixing now handled by PostCSS.** The `$prefix` Sass variable has been removed. CSS custom properties are now written without a prefix in the Sass source and prefixed automatically via `postcss-prefix-custom-properties` during the build. To customize the prefix, update your PostCSS configuration instead of Sass.
- **Removes all deprecated Sass variables and values:**
- Removed `$nested-kbd-font-weight`, no replacement.
.border-0 { ... }
@media (min-width: 576px) {
- .border-sm { ... }
- .border-sm-0 { ... }
+ .sm\:border { ... }
+ .sm\:border-0 { ... }
}
@media (min-width: 768px) {
- .border-md { ... }
- .border-md-0 { ... }
+ .md\:border { ... }
+ .md\:border-0 { ... }
}
@media (min-width: 1024px) {
- .border-lg { ... }
- .border-lg-0 { ... }
+ .lg\:border { ... }
+ .lg\:border-0 { ... }
}
@media (min-width: 1280px) {
- .border-xl { ... }
- .border-xl-0 { ... }
+ .xl\:border { ... }
+ .xl\:border-0 { ... }
}
@media (min-width: 1536px) {
- .border-2xl { ... }
- .border-2xl-0 { ... }
+ .2xl\:border { ... }
+ .2xl\:border-0 { ... }
}
```
The display values can be altered by changing the `display` values defined in `$utilities` and recompiling the SCSS.
-The media queries affect screen widths with the given breakpoint *or larger*. For example, `.d-lg-none` sets `display: none;` on `lg`, `xl`, and `2xl` screens.
+The media queries affect screen widths with the given breakpoint *or larger*. For example, `.lg:d-none` sets `display: none;` on `lg`, `xl`, and `2xl` screens.
## Clearfix
To hide elements simply use the `.d-none` class or one of the `.d-{sm,md,lg,xl,2xl}-none` classes for any responsive screen variation.
-To show an element only on a given interval of screen sizes you can combine one `.d-*-none` class with a `.d-*-*` class, for example `.d-none .d-md-block .d-xl-none` will hide the element for all screen sizes except on medium and large devices.
+To show an element only on a given interval of screen sizes you can combine one `.d-*-none` class with a `.d-*-*` class, for example `.d-none .md:d-block .xl:d-none` will hide the element for all screen sizes except on medium and large devices.
<BsTable>
| Screen size | Class |
| --- | --- |
| Hidden on all | `.d-none` |
-| Hidden only on xs | `.d-none .d-sm-block` |
-| Hidden only on sm | `.d-sm-none .d-md-block` |
-| Hidden only on md | `.d-md-none .d-lg-block` |
-| Hidden only on lg | `.d-lg-none .d-xl-block` |
-| Hidden only on xl | `.d-xl-none .d-2xl-block` |
-| Hidden only on 2xl | `.d-2xl-none` |
+| Hidden only on xs | `.d-none .sm:d-block` |
+| Hidden only on sm | `.sm:d-none .md:d-block` |
+| Hidden only on md | `.md:d-none .lg:d-block` |
+| Hidden only on lg | `.lg:d-none .xl:d-block` |
+| Hidden only on xl | `.xl:d-none .2xl:d-block` |
+| Hidden only on 2xl | `.2xl:d-none` |
| Visible on all | `.d-block` |
-| Visible only on xs | `.d-block .d-sm-none` |
-| Visible only on sm | `.d-none .d-sm-block .d-md-none` |
-| Visible only on md | `.d-none .d-md-block .d-lg-none` |
-| Visible only on lg | `.d-none .d-lg-block .d-xl-none` |
-| Visible only on xl | `.d-none .d-xl-block .d-2xl-none` |
-| Visible only on 2xl | `.d-none .d-2xl-block` |
+| Visible only on xs | `.d-block .sm:d-none` |
+| Visible only on sm | `.d-none .sm:d-block .md:d-none` |
+| Visible only on md | `.d-none .md:d-block .lg:d-none` |
+| Visible only on lg | `.d-none .lg:d-block .xl:d-none` |
+| Visible only on xl | `.d-none .xl:d-block .2xl:d-none` |
+| Visible only on 2xl | `.d-none .2xl:d-block` |
</BsTable>
-<Example code={`<div class="d-lg-none">hide on lg and wider screens</div>
-<div class="d-none d-lg-block">hide on screens smaller than lg</div>`} />
+<Example code={`<div class="lg:d-none">hide on lg and wider screens</div>
+<div class="d-none lg:d-block">hide on screens smaller than lg</div>`} />
## CSS
Responsive variations also exist for each `float` value.
-<Example code={`<div class="float-sm-end">Float end on viewports sized SM (small) or wider</div><br>
-<div class="float-md-end">Float end on viewports sized MD (medium) or wider</div><br>
-<div class="float-lg-end">Float end on viewports sized LG (large) or wider</div><br>
-<div class="float-xl-end">Float end on viewports sized XL (extra large) or wider</div><br>
-<div class="float-2xl-end">Float end on viewports sized 2XL (extra extra large) or wider</div><br>`} />
+<Example code={`<div class="sm:float-end">Float end on viewports sized SM (small) or wider</div><br>
+<div class="md:float-end">Float end on viewports sized MD (medium) or wider</div><br>
+<div class="lg:float-end">Float end on viewports sized LG (large) or wider</div><br>
+<div class="xl:float-end">Float end on viewports sized XL (extra large) or wider</div><br>
+<div class="2xl:float-end">Float end on viewports sized 2XL (extra extra large) or wider</div><br>`} />
Here are all the support classes:
Set the `opacity` of an element using `.opacity-{value}` utilities.
-<div class="bd-example d-sm-flex">
+<div class="bd-example sm:d-flex">
<div class="opacity-100 p-3 m-2 bg-primary text-light fw-bold rounded">100%</div>
<div class="opacity-75 p-3 m-2 bg-primary text-light fw-bold rounded">75%</div>
<div class="opacity-50 p-3 m-2 bg-primary text-light fw-bold rounded">50%</div>
Adjust the `overflow` property on the fly with four default values and classes. These classes are not responsive by default.
-<div class="bd-example d-md-flex">
- <div class="overflow-auto p-3 mb-3 mb-md-0 me-md-3 bg-body-tertiary" style="max-width: 260px; max-height: 100px;">
+<div class="bd-example md:d-flex">
+ <div class="overflow-auto p-3 mb-3 md:mb-0 md:me-3 bg-body-tertiary" style="max-width: 260px; max-height: 100px;">
This is an example of using <code>.overflow-auto</code> on an element with set width and height dimensions. By design, this content will vertically scroll.
</div>
- <div class="overflow-hidden p-3 mb-3 mb-md-0 me-md-3 bg-body-tertiary" style="max-width: 260px; max-height: 100px;">
+ <div class="overflow-hidden p-3 mb-3 md:mb-0 md:me-3 bg-body-tertiary" style="max-width: 260px; max-height: 100px;">
This is an example of using <code>.overflow-hidden</code> on an element with set width and height dimensions.
</div>
- <div class="overflow-visible p-3 mb-3 mb-md-0 me-md-3 bg-body-tertiary" style="max-width: 260px; max-height: 100px;">
+ <div class="overflow-visible p-3 mb-3 md:mb-0 md:me-3 bg-body-tertiary" style="max-width: 260px; max-height: 100px;">
This is an example of using <code>.overflow-visible</code> on an element with set width and height dimensions.
</div>
<div class="overflow-scroll p-3 bg-body-tertiary" style="max-width: 260px; max-height: 100px;">
Adjust the `overflow-x` property to affect the overflow of content horizontally.
-<div class="bd-example d-md-flex">
- <div class="overflow-x-auto p-3 mb-3 mb-md-0 me-md-3 bg-1 w-100" style="max-width: 200px; max-height: 100px; white-space: nowrap;">
+<div class="bd-example md:d-flex">
+ <div class="overflow-x-auto p-3 mb-3 md:mb-0 md:me-3 bg-1 w-100" style="max-width: 200px; max-height: 100px; white-space: nowrap;">
<div><code>.overflow-x-auto</code> example on an element</div>
<div> with set width and height dimensions.</div>
</div>
- <div class="overflow-x-hidden p-3 mb-3 mb-md-0 me-md-3 bg-1 w-100" style="max-width: 200px; max-height: 100px;white-space: nowrap;">
+ <div class="overflow-x-hidden p-3 mb-3 md:mb-0 md:me-3 bg-1 w-100" style="max-width: 200px; max-height: 100px;white-space: nowrap;">
<div><code>.overflow-x-hidden</code> example</div>
<div>on an element with set width and height dimensions.</div>
</div>
- <div class="overflow-x-visible p-3 mb-3 mb-md-0 me-md-3 bg-1 w-100" style="max-width: 200px; max-height: 100px;white-space: nowrap;">
+ <div class="overflow-x-visible p-3 mb-3 md:mb-0 md:me-3 bg-1 w-100" style="max-width: 200px; max-height: 100px;white-space: nowrap;">
<div><code>.overflow-x-visible</code> example </div>
<div>on an element with set width and height dimensions.</div>
</div>
Adjust the `overflow-y` property to affect the overflow of content vertically.
-<div class="bd-example d-md-flex">
- <div class="overflow-y-auto p-3 mb-3 mb-md-0 me-md-3 bg-1 w-100" style="max-width: 200px; max-height: 100px;">
+<div class="bd-example md:d-flex">
+ <div class="overflow-y-auto p-3 mb-3 md:mb-0 md:me-3 bg-1 w-100" style="max-width: 200px; max-height: 100px;">
<code>.overflow-y-auto</code> example on an element with set width and height dimensions.
</div>
- <div class="overflow-y-hidden p-3 mb-3 mb-md-0 me-md-3 bg-1 w-100" style="max-width: 200px; max-height: 100px;">
+ <div class="overflow-y-hidden p-3 mb-3 md:mb-0 md:me-3 bg-1 w-100" style="max-width: 200px; max-height: 100px;">
<code>.overflow-y-hidden</code> example on an element with set width and height dimensions.
</div>
- <div class="overflow-y-visible p-3 mb-3 mb-md-0 me-md-3 bg-1 w-100" style="max-width: 200px; max-height: 100px;">
+ <div class="overflow-y-visible p-3 mb-3 md:mb-0 md:me-3 bg-1 w-100" style="max-width: 200px; max-height: 100px;">
<code>.overflow-y-visible</code> example on an element with set width and height dimensions.
</div>
<div class="overflow-y-scroll p-3 bg-1 w-100" style="max-width: 200px; max-height: 100px;">
<p class="text-center">Center aligned text on all viewport sizes.</p>
<p class="text-end">End aligned text on all viewport sizes.</p>
-<p class="text-sm-end">End aligned text on viewports sized SM (small) or wider.</p>
-<p class="text-md-end">End aligned text on viewports sized MD (medium) or wider.</p>
-<p class="text-lg-end">End aligned text on viewports sized LG (large) or wider.</p>
-<p class="text-xl-end">End aligned text on viewports sized XL (extra large) or wider.</p>
-<p class="text-2xl-end">End aligned text on viewports sized 2xl (extra extra large) or wider.</p>`} />
+<p class="sm:text-end">End aligned text on viewports sized SM (small) or wider.</p>
+<p class="md:text-end">End aligned text on viewports sized MD (medium) or wider.</p>
+<p class="lg:text-end">End aligned text on viewports sized LG (large) or wider.</p>
+<p class="xl:text-end">End aligned text on viewports sized XL (extra large) or wider.</p>
+<p class="2xl:text-end">End aligned text on viewports sized 2xl (extra extra large) or wider.</p>`} />
<Callout>
Note that we don't provide utility classes for justified text. While, aesthetically, justified text might look more appealing, it does make word-spacing more random and therefore harder to read.
---
<BaseLayout {...Astro.props} layout="docs" overrides={{ body: bodyProps }}>
- <div slot="main" class="container-2xl bd-gutter mt-3 my-md-4 bd-layout">
+ <div slot="main" class="2xl:container bd-gutter mt-3 md:my-4 bd-layout">
<aside class="bd-sidebar">
- <div class="offcanvas-lg offcanvas-start" tabindex="-1" id="bdSidebar" aria-labelledby="bdSidebarOffcanvasLabel">
+ <div class="lg:offcanvas offcanvas-start" tabindex="-1" id="bdSidebar" aria-labelledby="bdSidebarOffcanvasLabel">
<div class="offcanvas-header border-bottom">
<h5 class="offcanvas-title" id="bdSidebarOffcanvasLabel">Browse docs</h5>
<CloseButton dismiss="offcanvas" target="#bdSidebar" />
</aside>
<main class="bd-main order-1">
- <div class="bd-intro pt-2 ps-lg-2">
+ <div class="bd-intro pt-2 lg:ps-2">
<h1 class="bd-title mb-0" id="content">{frontmatter.title}</h1>
<div class="bd-subtitle">
{frontmatter.description && <Fragment set:html={processMarkdownToHtml(frontmatter.description)} />}
</div>
- <div class="mb-3 mb-md-0 d-flex gap-2 text-nowrap">
+ <div class="mb-3 md:mb-0 d-flex gap-2 text-nowrap">
{
frontmatter.added &&
((frontmatter.added.show_badge !== undefined && frontmatter.added.show_badge === true) ||
</div>
- <div class="vstack bd-toc mt-3 mb-5 my-lg-0 mb-lg-5 px-sm-1 fg-3">
+ <div class="vstack bd-toc mt-3 mb-5 lg:my-0 lg:mb-5 sm:px-1 fg-3">
<div class="overflow-y-auto">
{
frontmatter.toc && headings && (
<button
- class="btn-sm btn-subtle mb-2 bd-toc-toggle d-lg-none"
+ class="btn-sm btn-subtle mb-2 bd-toc-toggle lg:d-none"
type="button"
data-bs-toggle="collapse"
data-bs-target="#tocContents"
aria-controls="tocContents"
>
On this page
- <svg class="bi d-lg-none ms-2" aria-hidden="true">
+ <svg class="bi lg:d-none ms-2" aria-hidden="true">
<use href="#chevron-expand" />
</svg>
</button>
<Ads />
</div>
- <div class="bd-content prose ps-lg-2">
+ <div class="bd-content prose lg:ps-2">
{
frontmatter.sections && (
<div class="grid grid-cols-3 mb-5">
<slot />
<nav class="bd-links-nav py-5 mt-5 border-top">
- <div class="d-flex flex-column flex-md-row justify-content-stretch gap-3 gap-md-5">
+ <div class="d-flex flex-column md:flex-row justify-content-stretch gap-3 md:gap-5">
{
prevPage && (
<a href={prevPage.url} class="d-block p-3 text-decoration-none border rounded-3 flex-grow-1">
<BaseLayout {...Astro.props} layout="single">
<Fragment slot="main">
<header class="py-5 border-bottom">
- <div class="container-2xl bd-gutter pt-md-1 pb-md-4">
+ <div class="2xl:container bd-gutter md:pt-1 md:pb-4">
<div class="row">
- <div class="col-xl-8">
+ <div class="xl:col-8">
<h1 class="bd-title mt-0">{title}</h1>
<p class="bd-subtitle">{description}</p>
<slot name="header-content" />
</div>
- <div class="col-xl-4 d-lg-flex justify-content-xl-end">
+ <div class="xl:col-4 lg:d-flex xl:justify-content-end">
<Ads />
</div>
</div>
</header>
<main class="bd-content order-1 py-5" id="content">
- <div class="container-2xl bd-gutter">
+ <div class="2xl:container bd-gutter">
<slot />
<slot name="main-content" />
</div>
{examples.map((example, index) => {
if (external) {
return (
- <article class="col-md-6 col-lg-4 mb-3 d-flex gap-3">
+ <article class="md:col-6 lg:col-4 mb-3 d-flex gap-3">
<svg class="bi fs-5 flex-shrink-0 mt-1" aria-hidden="true">
<use href="#box-seam" />
</svg>
}
return (
- <article class="col-sm-6 col-md-3 mb-3">
+ <article class="sm:col-6 md:col-3 mb-3">
<a
class="d-block link-offset-1"
href={`/docs/${getConfig().docs_version}/examples/${getSlug(example.name)}/`}
---
<button
- class=`btn ${layout === 'examples' ? 'btn-solid theme-accent' : 'btn-link nav-link px-0 px-lg-2'} py-2`
+ class=`btn ${layout === 'examples' ? 'btn-solid theme-accent' : 'btn-link nav-link px-0 lg:px-2'} py-2`
id="bd-theme"
type="button"
aria-expanded="false"
aria-label="Toggle theme (auto)"
>
<svg class="bi theme-icon-active" aria-hidden="true"><use href="#circle-half"></use></svg>
- <span class=`${layout === 'examples' ? 'visually-hidden' : 'd-lg-none'}` id="bd-theme-text">Toggle theme</span>
- <svg class="bi bi-sm ms-lg--1" aria-hidden="true"><use href="#chevron-expand"></use></svg>
+ <span class=`${layout === 'examples' ? 'visually-hidden' : 'lg:d-none'}` id="bd-theme-text">Toggle theme</span>
+ <svg class="bi bi-sm lg:ms--1" aria-hidden="true"><use href="#chevron-expand"></use></svg>
</button>
<div class="menu" id="bd-theme-menu" aria-labelledby="bd-theme-text" style="--bs-menu-min-width: 8rem;">
<button
title="Examples"
description="Quickly get a project started with any of our examples ranging from using parts of the framework to custom components and layouts."
>
- <div class="d-flex flex-column flex-md-row gap-3" slot="header-content">
+ <div class="d-flex flex-column md:flex-row gap-3" slot="header-content">
<a
href={getConfig().download.dist_examples}
class="btn-lg btn-solid theme-accent d-flex align-items-center justify-content-center fw-semibold"
{
getVersionsSortedDesc(getData('docs-versions'), 'group').map((docsVersion) => {
return (
- <div class="col-md-6 col-lg-4 col-xl mb-4">
+ <div class="md:col-6 lg:col-4 xl:col mb-4">
<h2>{docsVersion.group}</h2>
<p>{docsVersion.description}</p>
<div class="list-group">
<BaseLayout>
<MastHead />
- <div class="container-2xl bd-gutter masthead-followup">
+ <div class="2xl:container bd-gutter masthead-followup">
<GetStarted />
<Customize />
<CSSVariables />
}
@include media-breakpoint-down(lg) {
- .offcanvas-lg {
+ .lg\:offcanvas {
border-inline-end-color: var(--bs-border-color);
box-shadow: var(--bs-box-shadow-lg);
}